/* Bongodhara base styles — SPEC §4, §13.2 (plain CSS, no build step), §15.3.
   Colours, type and spacing reference theme.json presets only. No hex values here (§4.1.4). */

/* §4.4.6 (v2.39) — global border-box. Without it, width:100% plus padding or a border overflows its
   container, which is how .bd-photo-slot pushed three pages into horizontal scroll (§15.4.6a). Set
   once here so the fault class cannot recur, rather than remembered per class. */
*, *::before, *::after { box-sizing: border-box; }

/* §4.4.4 (v2.40) — one control height, declared once. Every button, outline button, input, select
   and the journey icon button is exactly `control.height`; there are no per-class control heights.
   Under the §4.4.6 border-box reset `height` is the whole box, so this is exact rather than a floor.
   Exceptions, both deliberate: a textarea is multi-line by definition, and a gallery thumbnail is an
   image target, not a text control. 44px stays the floor for non-control targets (§15.3). */
button,
input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
select,
.wp-element-button, .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.bd-btn, .bd-pcard__journey--icon {
	height: var(--wp--custom--control--height);
}
textarea, .bd-gallery__thumb { height: auto; }

html { -webkit-text-size-adjust: 100%; }
body { margin: 0; overflow-wrap: anywhere; }
img, video { max-width: 100%; height: auto; }

/* English-language content: switch family, tighten line-height (§4.2.2, §4.2.7) */
:lang(en), .bd-en { font-family: var(--wp--preset--font-family--body-en); line-height: var(--wp--custom--line-height--en); }
h1:lang(en), h2:lang(en), h3:lang(en), .bd-en-display,
:lang(en) h1, :lang(en) h2, :lang(en) h3 { font-family: var(--wp--preset--font-family--display-en); line-height: 1.2; }
.has-hero-font-size { font-weight: 600; line-height: 1.25; }
.has-hero-font-size:lang(en), .bd-en .has-hero-font-size { font-weight: 700; }

/* Focus is always visible (§15.3) */
:focus-visible { outline: var(--wp--custom--focus-ring); outline-offset: 2px; border-radius: 2px; }
:focus:not(:focus-visible) { outline: none; }
.skip-link { position: absolute; left: 0; top: -100px; z-index: 1000; padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
  background: var(--wp--preset--color--deep-green); color: var(--wp--preset--color--white); }
.skip-link:focus { top: 0; }

/* Motion only confirms an action (§4.6.4); none at all for people who ask (§15.3) */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
}

/* Touch targets (§4.4.4) */
.wp-block-button__link, .wp-element-button, button, input[type="submit"], .bd-tap { min-height: var(--wp--custom--touch-target); display: inline-flex; align-items: center; justify-content: center; }
.wp-block-navigation a, .bd-header__util a { min-height: 44px; display: inline-flex; align-items: center; }

/* Forms: visible labels, visible validation, clear required marks (§4.4.5) */
label { display: block; font-weight: 500; color: var(--wp--preset--color--forest-green); margin-bottom: var(--wp--preset--spacing--10); }
label .required { color: var(--wp--preset--color--forest-green); margin-inline-start: 2px; }
input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]), select, textarea {
  width: 100%; min-height: var(--wp--custom--touch-target); padding: 0.625rem 0.875rem;
  font: inherit; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--white);
  border: 1px solid var(--wp--preset--color--forest-green); border-radius: var(--wp--custom--radius--sm); }
textarea { min-height: 7rem; line-height: var(--wp--custom--line-height--body); }
.bd-field-error { color: var(--wp--preset--color--forest-green); font-size: var(--wp--preset--font-size--small); margin-top: var(--wp--preset--spacing--10); }
[aria-invalid="true"] { border-width: 2px; }

/* Cards and rules (§4.4.3, §4.6) */
.bd-card { background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--md); padding: var(--wp--preset--spacing--30); }
.bd-rule { border: 0; border-top: var(--wp--custom--rule); margin: var(--wp--preset--spacing--40) 0; }

/* Header (§5.1.3) */
.bd-header { background: var(--wp--preset--color--white); border-bottom: var(--wp--custom--rule); }
.bd-header__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--wp--preset--spacing--20); min-height: 72px; }
.bd-header__logo img { display: block; width: clamp(140px, 18vw, 200px); height: auto; } /* never below 120px (§4.5.1) */
.bd-header__util { display: flex; align-items: center; gap: var(--wp--preset--spacing--20); }
.bd-header__phone { text-decoration: none; font-weight: 500; color: var(--wp--preset--color--forest-green); gap: 0.35em; }

.bd-phone-icon { display: none; width: 24px; height: 24px; fill: currentColor; }
.bd-phone-number { white-space: nowrap; }
@media (max-width: 599px) {
  .bd-header__phone { width: 44px; justify-content: center; }
  .bd-header__phone .bd-phone-icon { display: block; }
  .bd-header__phone .bd-phone-number { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}
@media (max-width: 781px) {
  .bd-header__phone-label { display: none; }
  .bd-header__nav { order: 3; }   /* logo · cart · hamburger */
  .bd-header__util { order: 2; }
}


/* Floating WhatsApp (§12.1) — rendered only when a number exists (§13.4.2) */
.bd-whatsapp { position: fixed; right: var(--wp--preset--spacing--20); bottom: var(--wp--preset--spacing--20); z-index: 900;
  width: 56px; height: 56px; border-radius: 50%; background: var(--wp--preset--color--fresh-green); color: var(--wp--preset--color--white);
  display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px rgba(0,0,0,0.2); text-decoration: none; }
.bd-whatsapp svg { width: 30px; height: 30px; fill: currentColor; }
.bd-whatsapp:hover { background: var(--wp--preset--color--deep-green); }

/* Announcement bar (§13.4) */
.bd-announce { background: var(--wp--preset--color--sun-gold); color: var(--wp--preset--color--ink); text-align: center; padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20); font-weight: 500; }

/* Utilities */
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal; }
.bd-num { font-variant-numeric: tabular-nums; }

/* ===================================================================== WooCommerce (§6.4, §4.4) */
.woocommerce-notices-wrapper .woocommerce-message, .woocommerce-error, .woocommerce-info, .woocommerce-message {
  border: 1px solid var(--wp--preset--color--fresh-green); border-radius: var(--wp--custom--radius--sm); background: var(--wp--preset--color--white);
  color: var(--wp--preset--color--ink); padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); margin-bottom: var(--wp--preset--spacing--30); list-style: none; }
.woocommerce-error { border-color: var(--wp--preset--color--earth-gold); border-width: 2px; }
.woocommerce-error li + li { margin-top: var(--wp--preset--spacing--10); }

/* Shop grid (§4.4.1: 4-col mobile → 2 cards, 12-col desktop → 3 cards) */
.bd-shop ul.products { list-style: none; padding: 0; margin: var(--wp--preset--spacing--30) 0; display: grid; gap: var(--wp--preset--spacing--30); grid-template-columns: repeat(2, 1fr); }
@media (min-width: 782px) { .bd-shop ul.products { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .bd-shop ul.products { grid-template-columns: repeat(4, 1fr); } }
.bd-shop ul.products li.product { background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--md); padding: var(--wp--preset--spacing--20); margin: 0; display: flex; flex-direction: column; }
.bd-shop ul.products li.product { position: relative; padding: 0 0 var(--wp--preset--spacing--20); background: transparent; }
.bd-shop ul.products li.product > a.woocommerce-LoopProduct-link { display: block; text-decoration: none; }
.bd-shop ul.products li.product img { border-radius: var(--wp--custom--radius--sm); aspect-ratio: 3/4; object-fit: cover; width: 100%; display: block; }
.bd-shop ul.products .woocommerce-loop-product__title { font-size: var(--wp--preset--font-size--medium); font-weight: 500; color: var(--wp--preset--color--forest-green); margin: 0 0 var(--wp--preset--spacing--10); line-height: 1.4; min-height: 2.8em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bd-shop ul.products .star-rating { margin: 0 0 var(--wp--preset--spacing--10); }
.bd-shop ul.products .button { margin-top: var(--wp--preset--spacing--10); }
.bd-shop ul.products .price, .bd-product .price { color: var(--wp--preset--color--deep-green); font-weight: 600; font-variant-numeric: tabular-nums; }
.bd-shop ul.products .price { margin: var(--wp--preset--spacing--10) 0; }
.bd-shop ul.products .button { margin-top: auto; width: 100%; }
.bd-shop .woocommerce-result-count { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--forest-green); }
.woocommerce-breadcrumb { font-size: var(--wp--preset--font-size--small); margin-bottom: var(--wp--preset--spacing--20); }

/* Single product — gallery stacked, no slider (§15.1.5) */
.bd-product div.product { display: grid; gap: var(--wp--preset--spacing--40); }
@media (min-width: 782px) { .bd-product div.product { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .bd-product .woocommerce-tabs, .bd-product .related, .bd-product .up-sells { grid-column: 1 / -1; } }
.bd-product .woocommerce-product-gallery img { border-radius: var(--wp--custom--radius--md); width: 100%; height: auto; }
.bd-product .woocommerce-product-gallery .flex-control-thumbs { list-style: none; padding: 0; margin: var(--wp--preset--spacing--10) 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--wp--preset--spacing--10); }
.bd-product .woocommerce-product-gallery__trigger { display: none; }
.bd-product .product_title { font-size: var(--wp--preset--font-size--xx-large); margin-top: 0; }
.bd-product .price { font-size: var(--wp--preset--font-size--x-large); }
.bd-product .woocommerce-product-details__short-description { margin: var(--wp--preset--spacing--20) 0; }
.bd-product table.variations { width: 100%; border-collapse: collapse; margin-bottom: var(--wp--preset--spacing--20); }
.bd-product table.variations th { text-align: start; padding: var(--wp--preset--spacing--10) 0; font-weight: 500; color: var(--wp--preset--color--forest-green); }
.bd-product table.variations td { padding: var(--wp--preset--spacing--10) 0; }
.bd-product .reset_variations { font-size: var(--wp--preset--font-size--small); margin-inline-start: var(--wp--preset--spacing--10); }
.bd-product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--20); margin: var(--wp--preset--spacing--20) 0; }
.bd-product form.cart.variations_form { display: block; }
.bd-product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--20); }
.bd-product .quantity input.qty { width: 5.5rem; text-align: center; }
.bd-product .single_add_to_cart_button { flex: 1 1 12rem; }
.bd-badges { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--10); }
.bd-badge { display: inline-block; padding: 0.25rem 0.75rem; border-radius: var(--wp--custom--radius--sm); background: var(--wp--preset--color--warm-white); color: var(--wp--preset--color--forest-green); border: 1px solid var(--wp--preset--color--fresh-green); font-size: var(--wp--preset--font-size--small); font-weight: 500; }
.bd-badge--pre-order { border-color: var(--wp--preset--color--earth-gold); }
.bd-badge-note { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--forest-green); }
.bd-product-facts { margin: var(--wp--preset--spacing--20) 0; padding: var(--wp--preset--spacing--20); background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--sm); }
.bd-product-facts > div { display: grid; grid-template-columns: 5.5rem 1fr; gap: var(--wp--preset--spacing--10); }
.bd-product-facts > div + div { margin-top: var(--wp--preset--spacing--10); }
.bd-product-facts dt { font-weight: 500; color: var(--wp--preset--color--forest-green); }
.bd-product-facts dd { margin: 0; }
.bd-delivery-note { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--forest-green); }

/* Accordion (§6.4.8) — native <details>, motion only on open */
.bd-accordion { margin-top: var(--wp--preset--spacing--40); border-top: var(--wp--custom--rule); }
.bd-accordion__item { border-bottom: var(--wp--custom--rule); }
.bd-accordion__summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; min-height: var(--wp--custom--touch-target); padding: var(--wp--preset--spacing--20) 0; font-weight: 600; color: var(--wp--preset--color--forest-green); font-size: var(--wp--preset--font-size--large); line-height: var(--wp--custom--line-height--heading); }
.bd-accordion__summary::-webkit-details-marker { display: none; }
.bd-accordion__summary::after { content: "+"; font-weight: 400; color: var(--wp--preset--color--deep-green); }
.bd-accordion__item[open] .bd-accordion__summary::after { content: "–"; }
.bd-accordion__panel { padding: 0 0 var(--wp--preset--spacing--30); }
.bd-accordion__panel > h2:first-child { display: none; } /* WC prints the tab title again inside the panel */

/* Cart & checkout (§4.4.5 visible labels; §4.4.4 touch heights) */
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--md); overflow: hidden; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: var(--wp--preset--spacing--20); border-bottom: 1px solid var(--wp--preset--color--warm-white); text-align: start; vertical-align: middle; }
.woocommerce table.shop_table th { color: var(--wp--preset--color--forest-green); font-weight: 500; }
.woocommerce table.shop_table img { width: 64px; height: 64px; object-fit: cover; border-radius: var(--wp--custom--radius--sm); }
.woocommerce .cart-collaterals, .woocommerce-checkout-review-order { background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--md); padding: var(--wp--preset--spacing--30); margin-top: var(--wp--preset--spacing--30); }
.woocommerce form .form-row { margin-bottom: var(--wp--preset--spacing--20); }
.woocommerce form .form-row label { margin-bottom: var(--wp--preset--spacing--10); }
.woocommerce form .form-row .required { color: var(--wp--preset--color--forest-green); text-decoration: none; }
.woocommerce form .form-row.woocommerce-invalid input, .woocommerce form .form-row.woocommerce-invalid select { border-width: 2px; border-color: var(--wp--preset--color--earth-gold); }
.woocommerce-checkout .col2-set { display: grid; gap: var(--wp--preset--spacing--30); }
.woocommerce-checkout #order_review_heading { margin-top: var(--wp--preset--spacing--40); }
.woocommerce-checkout #payment ul.wc_payment_methods { list-style: none; padding: 0; margin: 0 0 var(--wp--preset--spacing--20); }
.woocommerce-checkout #payment li.wc_payment_method { padding: var(--wp--preset--spacing--20); border: 1px solid var(--wp--preset--color--fresh-green); border-radius: var(--wp--custom--radius--sm); margin-bottom: var(--wp--preset--spacing--10); }
.woocommerce-checkout #payment li.wc_payment_method > label { display: inline; font-weight: 500; }
.woocommerce-checkout #payment .payment_box { margin-top: var(--wp--preset--spacing--10); font-size: var(--wp--preset--font-size--small); }
.woocommerce #payment #place_order, .woocommerce .checkout-button, .woocommerce .wc-proceed-to-checkout a { width: 100%; }
.woocommerce ul#shipping_method { list-style: none; padding: 0; margin: 0; }
.woocommerce ul#shipping_method li { display: flex; gap: var(--wp--preset--spacing--10); align-items: center; min-height: 44px; }
.woocommerce .quantity input.qty { width: 4.5rem; text-align: center; min-height: 44px; }
.woocommerce .woocommerce-privacy-policy-text, .woocommerce .woocommerce-terms-and-conditions-wrapper { font-size: var(--wp--preset--font-size--small); }
.woocommerce-order .woocommerce-order-overview { list-style: none; padding: var(--wp--preset--spacing--30); margin: 0 0 var(--wp--preset--spacing--30); background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--md); display: grid; gap: var(--wp--preset--spacing--10); }
.woocommerce-order .woocommerce-order-overview strong { display: block; color: var(--wp--preset--color--deep-green); }
.woocommerce .amount, .woocommerce-Price-amount { font-variant-numeric: tabular-nums; }
.woocommerce a.remove { color: var(--wp--preset--color--forest-green) !important; font-size: 1.25rem; display: inline-flex; width: 44px; height: 44px; align-items: center; justify-content: center; text-decoration: none; }
.woocommerce a.remove:hover { background: var(--wp--preset--color--warm-white) !important; color: var(--wp--preset--color--forest-green) !important; border-radius: 50%; }

/* Base WooCommerce layout formerly supplied by its own stylesheets (now disabled, §15.1.1) */
.woocommerce .col2-set::after, .woocommerce form .form-row::after, .woocommerce .woocommerce-columns::after { content: ""; display: table; clear: both; }
@media (min-width: 782px) {
  .woocommerce form .form-row-first, .woocommerce form .form-row-last { width: calc(50% - var(--wp--preset--spacing--10)); float: left; }
  .woocommerce form .form-row-last { float: right; }
  .woocommerce-checkout .col2-set { grid-template-columns: 1fr 1fr; }
  .woocommerce .cart-collaterals .cart_totals { max-width: 480px; margin-inline-start: auto; }
}
.woocommerce form .form-row-wide { clear: both; }
.woocommerce form .form-row label.checkbox { display: inline; font-weight: 400; }
.woocommerce form .form-row input[type="checkbox"], .woocommerce form .form-row input[type="radio"] { width: 1.25rem; height: 1.25rem; min-height: 0; vertical-align: middle; margin-inline-end: 0.5rem; }
.woocommerce .woocommerce-product-gallery { position: relative; }
.woocommerce .woocommerce-product-gallery figure { margin: 0; }
.woocommerce .woocommerce-product-gallery .woocommerce-product-gallery__wrapper { display: grid; gap: var(--wp--preset--spacing--10); }
.woocommerce .woocommerce-product-gallery .woocommerce-product-gallery__image a { display: block; }
.woocommerce .woocommerce-product-gallery .woocommerce-product-gallery__image:not(:first-child) img { aspect-ratio: 1; object-fit: cover; }
.woocommerce .woocommerce-product-gallery .woocommerce-product-gallery__wrapper > div:not(:first-child) { display: inline-block; width: calc(25% - var(--wp--preset--spacing--10)); }
.woocommerce span.onsale { position: absolute; top: var(--wp--preset--spacing--20); inset-inline-start: var(--wp--preset--spacing--20); background: var(--wp--preset--color--sun-gold); color: var(--wp--preset--color--ink); padding: 0.25rem 0.75rem; border-radius: var(--wp--custom--radius--sm); font-weight: 600; font-size: var(--wp--preset--font-size--small); z-index: 2; }
.woocommerce .price del { opacity: 0.6; font-weight: 400; margin-inline-end: 0.5rem; }
.woocommerce .price ins { text-decoration: none; }
.star-rating { display: inline-block; position: relative; line-height: 1; font-size: 1rem; letter-spacing: 0.1em; width: 5.5em; overflow: hidden; white-space: nowrap; color: var(--wp--preset--color--sun-gold); }
.star-rating::before { content: "☆☆☆☆☆"; color: var(--wp--preset--color--earth-gold); }
.star-rating span { position: absolute; top: 0; inset-inline-start: 0; overflow: hidden; padding-top: 1.5em; }
.star-rating span::before { content: "★★★★★"; position: absolute; top: 0; inset-inline-start: 0; }
p.stars a { display: inline-block; width: 44px; height: 44px; line-height: 44px; text-align: center; text-decoration: none; font-size: 1.5rem; color: var(--wp--preset--color--sun-gold); }
p.stars a::before { content: "☆"; }
p.stars:hover a::before, p.stars.selected a.active::before, p.stars.selected a:not(.active)::before { content: "★"; }
p.stars a:hover ~ a::before, p.stars.selected a.active ~ a::before { content: "☆"; }
.woocommerce .commentlist { list-style: none; padding: 0; }
.woocommerce .commentlist li { background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--sm); padding: var(--wp--preset--spacing--20); margin-bottom: var(--wp--preset--spacing--20); }
.woocommerce .commentlist img.avatar { border-radius: 50%; float: left; margin-inline-end: var(--wp--preset--spacing--20); width: 48px; height: 48px; }
.woocommerce .products .button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { display: inline-flex; align-items: center; justify-content: center; min-height: var(--wp--custom--touch-target); padding: 0.75rem 1.5rem; background: var(--wp--preset--color--deep-green); color: var(--wp--preset--color--white); border: 2px solid var(--wp--preset--color--deep-green); border-radius: var(--wp--custom--radius--sm); font: inherit; font-weight: 500; text-decoration: none; cursor: pointer; }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--wp--preset--color--forest-green); border-color: var(--wp--preset--color--forest-green); color: var(--wp--preset--color--white); }
.woocommerce button.button:disabled, .woocommerce button.button.disabled { background: var(--wp--preset--color--warm-white); color: var(--wp--preset--color--forest-green); border-color: var(--wp--preset--color--forest-green); cursor: not-allowed; }
.woocommerce .added_to_cart { margin-inline-start: var(--wp--preset--spacing--10); }
.woocommerce .blockUI.blockOverlay { border-radius: var(--wp--custom--radius--md); }
.woocommerce table.shop_table .product-thumbnail { width: 80px; }
.woocommerce table.shop_table td.actions { text-align: end; }
.woocommerce table.shop_table td.actions .coupon { float: left; }
.woocommerce .woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--10); }
.woocommerce .woocommerce-MyAccount-navigation a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 var(--wp--preset--spacing--20); background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--sm); text-decoration: none; }
.woocommerce .woocommerce-MyAccount-navigation .is-active a { background: var(--wp--preset--color--deep-green); color: var(--wp--preset--color--white); }
.woocommerce .woocommerce-MyAccount-content { margin-top: var(--wp--preset--spacing--30); }
.woocommerce .select2-container .select2-selection--single { min-height: var(--wp--custom--touch-target); border: 1px solid var(--wp--preset--color--forest-green); border-radius: var(--wp--custom--radius--sm); }
.woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: var(--wp--custom--touch-target); color: var(--wp--preset--color--ink); padding-inline-start: 0.875rem; }
.woocommerce .select2-container .select2-selection--single .select2-selection__arrow { height: var(--wp--custom--touch-target); }
.woocommerce-checkout .woocommerce-shipping-methods label { display: inline; font-weight: 400; }
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th { font-weight: 500; }
.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th, .woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td { font-weight: 600; font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--deep-green); }

/* Header cart link (§5.1.3) */
.bd-cart { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; color: var(--wp--preset--color--forest-green); text-decoration: none; }
.bd-cart svg { width: 26px; height: 26px; fill: currentColor; }
.bd-cart__count { position: absolute; top: 2px; right: 0; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--wp--preset--color--deep-green); color: var(--wp--preset--color--white); font-size: 12px; line-height: 18px; text-align: center; font-variant-numeric: tabular-nums; }

/* Daily milk signup (§7.2) */
.bd-signup { background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--md); padding: var(--wp--preset--spacing--30); display: grid; gap: var(--wp--preset--spacing--30); }
.bd-signup fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.bd-signup legend { font-weight: 600; color: var(--wp--preset--color--forest-green); font-size: var(--wp--preset--font-size--large); margin-bottom: var(--wp--preset--spacing--20); line-height: var(--wp--custom--line-height--heading); }
.bd-signup .bd-field { margin: 0 0 var(--wp--preset--spacing--20); }
.bd-signup .bd-field--row { display: grid; gap: var(--wp--preset--spacing--20); grid-template-columns: 1fr; }
@media (min-width: 600px) { .bd-signup .bd-field--row { grid-template-columns: 1fr 1fr 1fr; } }
.bd-signup .bd-help { display: block; font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--forest-green); margin-top: var(--wp--preset--spacing--10); }
.bd-signup .bd-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.bd-signup button[type=submit] { width: 100%; }
.bd-notice { padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); border-radius: var(--wp--custom--radius--sm); border: 1px solid var(--wp--preset--color--fresh-green); background: var(--wp--preset--color--white); margin-bottom: var(--wp--preset--spacing--30); }
.bd-notice--error { border-color: var(--wp--preset--color--earth-gold); border-width: 2px; }
.bd-notice--info { border-color: var(--wp--preset--color--sun-gold); }

/* Real estate treatment (§8.2): calmer, wider whitespace, Forest Green, restrained Sun Gold rule */
.bd-re h1, .bd-re h2, .bd-re h3 { color: var(--wp--preset--color--forest-green); }
.bd-re > h1, .bd-re > .wp-block-post-title { margin-bottom: var(--wp--preset--spacing--30); }
.bd-re .wp-block-post-title::after, .bd-re > h1::after { content: ""; display: block; width: 64px; height: 3px; background: var(--wp--preset--color--sun-gold); margin-top: var(--wp--preset--spacing--20); }
.bd-re .bd-lead { font-size: var(--wp--preset--font-size--large); max-width: 760px; }
.bd-services__grid, .bd-packages__grid, .bd-projects__grid { display: grid; gap: var(--wp--preset--spacing--30); grid-template-columns: 1fr; margin: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--50); }
@media (min-width: 782px) { .bd-services__grid, .bd-projects__grid { grid-template-columns: repeat(3, 1fr); } .bd-packages__grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); } }
.bd-service-card img, .bd-project img { border-radius: var(--wp--custom--radius--sm); aspect-ratio: 3/2; object-fit: cover; width: 100%; margin-bottom: var(--wp--preset--spacing--20); }
.bd-service-card h2, .bd-project .bd-project__title { font-size: var(--wp--preset--font-size--large); margin: 0 0 var(--wp--preset--spacing--10); }
.bd-service-card a, .bd-project a { text-decoration: none; }
.bd-packages { margin-top: var(--wp--preset--spacing--60); }
.bd-packages--prominent .bd-package { border: 2px solid var(--wp--preset--color--sun-gold); }
.bd-package { display: flex; flex-direction: column; }
.bd-package h3 { margin: 0 0 var(--wp--preset--spacing--10); font-size: var(--wp--preset--font-size--large); }
.bd-package h4 { font-size: var(--wp--preset--font-size--small); text-transform: none; letter-spacing: 0; margin: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--10); color: var(--wp--preset--color--forest-green); }
.bd-package ul { margin: 0; padding-inline-start: 1.2em; }
.bd-package__price { font-size: var(--wp--preset--font-size--x-large); font-weight: 600; color: var(--wp--preset--color--deep-green); margin: 0; font-variant-numeric: tabular-nums; }
.bd-package__time { color: var(--wp--preset--color--forest-green); }
.bd-package details { margin-top: var(--wp--preset--spacing--10); font-size: var(--wp--preset--font-size--small); }
.bd-package summary { cursor: pointer; color: var(--wp--preset--color--deep-green); }
.bd-package > p:last-child { margin-top: auto; padding-top: var(--wp--preset--spacing--20); }
.bd-package .wp-element-button { display: inline-flex; align-items: center; justify-content: center; min-height: var(--wp--custom--touch-target); padding: 0.75rem 1.5rem; background: var(--wp--preset--color--deep-green); color: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--sm); text-decoration: none; width: 100%; }
.bd-coi { background: var(--wp--preset--color--forest-green); color: var(--wp--preset--color--white); padding: var(--wp--preset--spacing--40); border-radius: var(--wp--custom--radius--md); margin: var(--wp--preset--spacing--50) 0; border-inline-start: 6px solid var(--wp--preset--color--sun-gold); }
.bd-coi h3 { color: var(--wp--preset--color--white); margin-top: 0; }
.bd-coi p { font-size: var(--wp--preset--font-size--large); margin: 0; }
.bd-guarantee { background: var(--wp--preset--color--white); padding: var(--wp--preset--spacing--30); border-radius: var(--wp--custom--radius--md); margin: var(--wp--preset--spacing--40) 0; border: 1px solid var(--wp--preset--color--fresh-green); }
.bd-guarantee h3 { margin-top: 0; }
.bd-verify-notice { padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); background: var(--wp--preset--color--warm-white); border-inline-start: 4px solid var(--wp--preset--color--earth-gold); border-radius: var(--wp--custom--radius--sm); margin: var(--wp--preset--spacing--30) 0; }
.bd-changing-note { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--forest-green); border: 1px dashed var(--wp--preset--color--earth-gold); display: inline-block; padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20); border-radius: var(--wp--custom--radius--sm); }
.bd-badge--sold { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); border-color: var(--wp--preset--color--ink); }
.bd-badge--available { background: var(--wp--preset--color--deep-green); color: var(--wp--preset--color--white); border-color: var(--wp--preset--color--deep-green); } /* AA: white on Deep Green */
.bd-project--sold img { filter: grayscale(1); opacity: 0.7; }
.bd-map { margin: var(--wp--preset--spacing--30) 0; }
.bd-map img { border-radius: var(--wp--custom--radius--md); width: 100%; height: auto; }
.bd-map figcaption { font-size: var(--wp--preset--font-size--small); margin-top: var(--wp--preset--spacing--10); }
.bd-enquiry { margin-top: var(--wp--preset--spacing--60); scroll-margin-top: var(--wp--preset--spacing--40); }
.bd-form .wp-element-button.is-style-outline { background: var(--wp--preset--color--white); color: var(--wp--preset--color--deep-green); }

/* Guides (§10) */
/* Single scrollable row: its height never depends on how wide the fallback font renders, so the grid below cannot shift when Hind Siliguri arrives (CLS). */
.bd-topics { display: flex; flex-wrap: nowrap; gap: var(--wp--preset--spacing--10); margin: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--40); overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.bd-topics .bd-badge { flex: 0 0 auto; white-space: nowrap; }
.bd-topics .bd-badge { text-decoration: none; min-width: 44px; justify-content: center; min-height: var(--wp--custom--touch-target); display: inline-flex; align-items: center; gap: 0.35em; } /* §4.4.6 — was 40px, which under content-box happened to paint 50px once padding and border were added.    Under border-box 40px means 40px, below the §15.3 floor, so the requirement is now stated rather than implied. */
.bd-topics .bd-badge.is-current { background: var(--wp--preset--color--deep-green); color: var(--wp--preset--color--white); border-color: var(--wp--preset--color--deep-green); }
.bd-guide-card .wp-block-post-terms { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--forest-green); }
.bd-guide-card .wp-block-post-terms a { text-decoration: none; }
.bd-guide-card .bd-guide-meta { font-size: var(--wp--preset--font-size--small); margin: var(--wp--preset--spacing--10) 0 0; }
.bd-guide-card .bd-guide-meta .bd-badge { display: none; }
.bd-guide-meta { color: var(--wp--preset--color--forest-green); font-size: var(--wp--preset--font-size--small); }
.bd-guide-meta .bd-badge { text-decoration: none; margin-inline-end: var(--wp--preset--spacing--10); }
.bd-guide .wp-block-post-content > * + * { margin-top: var(--wp--preset--spacing--30); }
.bd-guide .wp-block-post-content h2 { margin-top: var(--wp--preset--spacing--50); }
.bd-guide .wp-block-details { border: 1px solid var(--wp--preset--color--fresh-green); border-radius: var(--wp--custom--radius--sm); padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); background: var(--wp--preset--color--white); }
/* §4.4.4 — 44px floor for every details summary; the guide-only rule below left the FAQ at 32px. */
.wp-block-details summary { min-height: 44px; display: flex; align-items: center; }
.bd-guide .wp-block-details summary { cursor: pointer; font-weight: 600; color: var(--wp--preset--color--forest-green); min-height: 44px; display: flex; align-items: center; }
.bd-guide-notice { margin-top: var(--wp--preset--spacing--50); }
.bd-guide-cta { margin-top: var(--wp--preset--spacing--40); padding: var(--wp--preset--spacing--30); background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--md); border-inline-start: 4px solid var(--wp--preset--color--sun-gold); }
.bd-guide-cta p { margin: 0 0 var(--wp--preset--spacing--20); font-weight: 500; color: var(--wp--preset--color--forest-green); }
.bd-guide-cta .wp-element-button { display: inline-flex; align-items: center; min-height: var(--wp--custom--touch-target); padding: 0.75rem 1.5rem; border: 2px solid var(--wp--preset--color--deep-green); border-radius: var(--wp--custom--radius--sm); color: var(--wp--preset--color--deep-green); background: var(--wp--preset--color--white); text-decoration: none; }

/* Phase 16.6: placeholders, photo slots, homepage sections, trust grid, team */
.bd-placeholder { border: 2px dashed var(--wp--preset--color--earth-gold); border-radius: var(--wp--custom--radius--sm); padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink); margin: var(--wp--preset--spacing--20) 0; }
.bd-placeholder__tag { display: inline-block; font-size: var(--wp--preset--font-size--small); font-weight: 600; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--sun-gold); padding: 0 8px; border-radius: 4px; margin-inline-end: 6px; } /* AA: Ink on Sun Gold */
.bd-photo-slot { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; text-align: center; width: 100%; border: 2px dashed var(--wp--preset--color--fresh-green); border-radius: var(--wp--custom--radius--md); background: var(--wp--preset--color--white); color: var(--wp--preset--color--forest-green); padding: var(--wp--preset--spacing--20); }
.bd-photo-slot small { color: var(--wp--preset--color--ink); opacity: .8; }
.bd-photo img { border-radius: var(--wp--custom--radius--md); width: 100%; height: auto; }
.bd-section { padding: var(--wp--preset--spacing--50) 0; }
.bd-section + .bd-section { border-top: var(--wp--custom--rule); }
.bd-hero .has-hero-font-size { max-width: 20ch; }
.bd-pillar { height: 100%; }
.bd-pillar--re { border-inline-start: 6px solid var(--wp--preset--color--sun-gold); }
.bd-pillar--agro { border-inline-start: 6px solid var(--wp--preset--color--fresh-green); }
.bd-trust__grid { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--wp--preset--spacing--20); grid-template-columns: 1fr; }
@media (min-width: 600px) { .bd-trust__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .bd-trust__grid { grid-template-columns: repeat(3, 1fr); } }
.bd-trust__item { background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--md); padding: var(--wp--preset--spacing--30); border-top: 3px solid var(--wp--preset--color--fresh-green); }
.bd-trust__item h3 { margin: 0 0 var(--wp--preset--spacing--10); font-size: var(--wp--preset--font-size--medium); }
.bd-trust__item p { margin: 0 0 var(--wp--preset--spacing--10); font-size: var(--wp--preset--font-size--small); }
.bd-steps li { margin-bottom: var(--wp--preset--spacing--20); }
.bd-steps li::marker { color: var(--wp--preset--color--deep-green); font-weight: 600; }
.bd-contact-cta { text-align: center; }
.bd-cta-phone { display: inline-flex !important; gap: .4em; padding: .75rem 1.5rem; background: var(--wp--preset--color--deep-green); color: var(--wp--preset--color--white) !important; border-radius: var(--wp--custom--radius--sm); text-decoration: none; margin-bottom: var(--wp--preset--spacing--20); }
.bd-cta-phone .bd-phone-icon { display: block; }
.bd-status-line { padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30); background: var(--wp--preset--color--white); border-inline-start: 4px solid var(--wp--preset--color--sun-gold); border-radius: var(--wp--custom--radius--sm); }
.bd-team h3 { margin: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--10); }
.bd-areas { margin-bottom: var(--wp--preset--spacing--40); }
.bd-areas__list { list-style: none; padding: 0; display: grid; gap: var(--wp--preset--spacing--10); grid-template-columns: 1fr; }
@media (min-width: 600px) { .bd-areas__list { grid-template-columns: repeat(2, 1fr); } }
.bd-areas__list li { background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--sm); padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20); display: flex; justify-content: space-between; align-items: center; gap: var(--wp--preset--spacing--10); flex-wrap: wrap; }
.bd-contact-phone { display: inline-flex; gap: .4em; font-size: var(--wp--preset--font-size--large); }
.bd-contact-phone .bd-phone-icon { display: block; }


/* ================================================================== Footer (§5.1.4, §16.11.2–16.11.3) */
.bd-footer { background: var(--bd-footer-bg); color: var(--bd-footer-fg); border-top: 3px solid var(--wp--preset--color--sun-gold); }
.bd-footer a { color: var(--bd-footer-link); }
.bd-footer .wp-block-heading { color: var(--bd-footer-heading); font-size: var(--wp--preset--font-size--medium); margin: 0 0 var(--wp--preset--spacing--20); }
.bd-footer__brand { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wp--preset--spacing--30); padding-bottom: var(--wp--preset--spacing--40); margin-bottom: var(--wp--preset--spacing--40); border-bottom: 1px solid var(--bd-footer-rule); }
.bd-footer__logo img { display: block; width: min(100%, 220px); height: auto; }
.bd-footer__halal { margin: 0; max-width: 60ch; color: var(--bd-footer-muted); }
.bd-footer__links { list-style: none; padding: 0; margin: 0; }
.bd-footer__links li { margin: 0; }
.bd-footer__links a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: none; }
.bd-footer__links a:hover, .bd-footer__links a:focus { text-decoration: underline; }
.bd-footer .bd-address { font-style: normal; margin: 0 0 var(--wp--preset--spacing--10); }
.bd-footer__phone { display: inline-flex; gap: .4em; align-items: center; min-height: 44px; font-weight: 500; text-decoration: none; }
.bd-footer .bd-social { list-style: none; padding: 0; margin: var(--wp--preset--spacing--10) 0; display: flex; gap: var(--wp--preset--spacing--20); }
.bd-footer .bd-social a { min-height: 44px; display: inline-flex; align-items: center; }
.bd-footer__zones, .bd-footer__pay { font-size: var(--wp--preset--font-size--small); color: var(--bd-footer-muted); margin: var(--wp--preset--spacing--20) 0 0; }
.bd-footer__bottom { margin-top: var(--wp--preset--spacing--40); padding-top: var(--wp--preset--spacing--20); border-top: 1px solid var(--bd-footer-rule); }
.bd-footer__text { color: var(--bd-footer-muted); margin: 0 0 var(--wp--preset--spacing--10); }
.bd-footer__legal { display: flex; flex-wrap: wrap; gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30); align-items: center; justify-content: space-between; font-size: var(--wp--preset--font-size--small); }
.bd-footer__legal .bd-footer__links { display: flex; flex-wrap: wrap; gap: 0 var(--wp--preset--spacing--30); }
.bd-footer__copy { margin: 0; color: var(--bd-footer-muted); }

/* ============================================ Branded block — where a real photo is missing (§16.11.4, §4.6.3) */
.bd-brand-block { display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; width: 100%; padding: var(--wp--preset--spacing--20); border-radius: var(--wp--custom--radius--md); color: var(--wp--preset--color--white); background: var(--wp--preset--color--deep-green); overflow: hidden; }
.bd-brand-block--forest { background: var(--wp--preset--color--forest-green); }
.bd-brand-block--fresh { background: var(--wp--preset--color--fresh-green); color: var(--wp--preset--color--ink); }
.bd-brand-block--fresh .bd-brand-block__kicker, .bd-brand-block--fresh .bd-brand-block__sub { opacity: 1; } /* Ink on Fresh Green = 4.8:1 only at full opacity */
.bd-brand-block::before { content: ""; width: 40px; height: 3px; background: var(--wp--preset--color--sun-gold); margin-bottom: auto; }
.bd-brand-block__kicker { font-size: var(--wp--preset--font-size--small); opacity: .9; }
.bd-brand-block__title { font-size: var(--wp--preset--font-size--large); line-height: var(--wp--custom--line-height--heading); font-weight: 600; }
.bd-brand-block__sub { font-size: var(--wp--preset--font-size--small); opacity: .9; }

/* ======================================================= Homepage products (§16.11.1) */
.bd-milk { display: grid; gap: var(--wp--preset--spacing--30); background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--md); padding: var(--wp--preset--spacing--30); border-inline-start: 6px solid var(--wp--preset--color--fresh-green); margin: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--50); }
@media (min-width: 782px) { .bd-milk { grid-template-columns: 5fr 7fr; align-items: center; padding: var(--wp--preset--spacing--40); } }
.bd-milk__media img, .bd-milk__media .bd-photo-slot { border-radius: var(--wp--custom--radius--md); }
.bd-milk__kicker { margin: 0 0 var(--wp--preset--spacing--10); color: var(--wp--preset--color--fresh-green); font-weight: 600; font-size: var(--wp--preset--font-size--small); }
.bd-milk h3 { margin: 0 0 var(--wp--preset--spacing--20); font-size: var(--wp--preset--font-size--x-large); }
.bd-milk__facts { list-style: none; padding: 0; margin: 0 0 var(--wp--preset--spacing--30); display: grid; gap: var(--wp--preset--spacing--10); }
.bd-milk__facts li::before { content: "✓ "; color: var(--wp--preset--color--fresh-green); font-weight: 700; }
.bd-milk .wp-element-button { display: inline-flex; align-items: center; min-height: var(--wp--custom--touch-target); padding: .75rem 1.5rem; background: var(--wp--preset--color--deep-green); color: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--sm); text-decoration: none; }
.bd-milk__more { margin-inline-start: var(--wp--preset--spacing--20); }
.bd-cats { list-style: none; padding: 0; margin: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--50); display: grid; gap: var(--wp--preset--spacing--20); grid-template-columns: repeat(2, 1fr); }
@media (min-width: 600px) { .bd-cats { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .bd-cats { grid-template-columns: repeat(5, 1fr); } }
.bd-cat a { display: block; text-decoration: none; color: var(--wp--preset--color--forest-green); }
.bd-cat__media { display: block; aspect-ratio: 1; overflow: hidden; border-radius: var(--wp--custom--radius--md); }
.bd-cat__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bd-cat__media .bd-brand-block { height: 100%; }
.bd-cat__name { display: block; margin-top: var(--wp--preset--spacing--10); font-weight: 500; min-height: 2.6em; line-height: 1.3; }
.bd-cat--placeholder .bd-cat__name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } /* the branded block already carries the name */
.bd-cat--placeholder { position: relative; }

/* ============================================================= Project cards (§16.11.4) */
.bd-projects__grid { list-style: none; padding: 0; }
.bd-project { display: flex; flex-direction: column; height: 100%; margin: 0; }
.bd-project__media { position: relative; display: block; aspect-ratio: 3/2; overflow: hidden; border-radius: var(--wp--custom--radius--sm); margin: 0 0 var(--wp--preset--spacing--20); }
.bd-project__media img, .bd-project__media .bd-brand-block { width: 100%; height: 100%; object-fit: cover; display: flex; border-radius: 0; margin: 0; }
.bd-project__status { position: absolute; top: var(--wp--preset--spacing--10); inset-inline-start: var(--wp--preset--spacing--10); }
.bd-project__title { font-size: var(--wp--preset--font-size--large); margin: 0 0 var(--wp--preset--spacing--10); line-height: var(--wp--custom--line-height--heading); min-height: 2.8em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bd-project__meta { margin: 0 0 var(--wp--preset--spacing--10); color: var(--wp--preset--color--forest-green); font-size: var(--wp--preset--font-size--small); }
.bd-project__price { margin-top: auto; margin-bottom: 0; color: var(--wp--preset--color--deep-green); font-weight: 500; }
.bd-project--sold { background: var(--wp--preset--color--warm-white); border: 1px dashed var(--wp--preset--color--earth-gold); }
.bd-project--sold .bd-project__media img, .bd-project--sold .bd-brand-block { filter: grayscale(1); } /* greyscale only — text on the block must stay AA */
.bd-project--sold .bd-project__title a { color: var(--wp--preset--color--ink); text-decoration: line-through; text-decoration-thickness: 1px; }
.bd-project--sold .bd-project__price { color: var(--wp--preset--color--ink); }
.bd-projects__empty { list-style: none; grid-column: 1 / -1; }

/* ================================== Product cards — homepage row + shop loop share one anatomy (§16.11.1 v2.10) */
.bd-products { list-style: none; padding: 0; margin: var(--wp--preset--spacing--30) 0 var(--wp--preset--spacing--20); display: grid; gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--20); grid-template-columns: repeat(2, 1fr); }
@media (min-width: 782px) { .bd-products { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .bd-products { grid-template-columns: repeat(4, 1fr); gap: var(--wp--preset--spacing--30); } }
.bd-pcard { display: flex; flex-direction: column; margin: 0; }
.bd-pcard__media { position: relative; display: block; aspect-ratio: 3/4; overflow: hidden; border-radius: var(--wp--custom--radius--sm); margin-bottom: var(--wp--preset--spacing--20); }
.bd-pcard__media img, .bd-pcard__media .bd-brand-block { width: 100%; height: 100%; object-fit: cover; display: flex; border-radius: 0; }
.bd-flags, .bd-shop li.product .bd-flag { position: absolute; top: var(--wp--preset--spacing--10); inset-inline-start: var(--wp--preset--spacing--10); display: flex; flex-direction: column; gap: 6px; z-index: 2; }
.bd-flag { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; font-size: var(--wp--preset--font-size--small); font-weight: 600; text-align: center; line-height: 1.1; padding: 4px; }
.bd-flag--sale { background: var(--wp--preset--color--sun-gold); color: var(--wp--preset--color--ink); } /* AA: Ink on Sun Gold */
.bd-flag--new { background: var(--wp--preset--color--forest-green); color: var(--wp--preset--color--white); }
.bd-shop li.product:has(.onsale) .bd-flag--new { top: calc(var(--wp--preset--spacing--10) + 62px); } /* stack below ছাড়! only when a sale flag exists */
.bd-shop li.product span.onsale { position: absolute; top: var(--wp--preset--spacing--10); inset-inline-start: var(--wp--preset--spacing--10); padding: 4px; border-radius: 50%; width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; font-size: var(--wp--preset--font-size--small); font-weight: 600; background: var(--wp--preset--color--sun-gold); color: var(--wp--preset--color--ink); }
.bd-pcard__cat, .bd-shop .bd-pcard__cat { display: inline-flex; align-items: center; min-height: 24px; font-size: var(--wp--preset--font-size--small); letter-spacing: .04em; color: var(--wp--preset--color--forest-green); text-decoration: none; margin-bottom: 4px; } /* 24px target, full-contrast */
.bd-pcard__name { font-size: var(--wp--preset--font-size--medium); font-weight: 500; margin: 0 0 var(--wp--preset--spacing--10); line-height: 1.4; min-height: 2.8em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bd-pcard__name a { text-decoration: none; color: var(--wp--preset--color--forest-green); }
.bd-pcard__stars { margin: 0 0 var(--wp--preset--spacing--10); color: var(--wp--preset--color--earth-gold); }
.bd-pcard__row { margin-top: auto; display: flex; align-items: center; gap: var(--wp--preset--spacing--10); }
.bd-pcard__price { color: var(--wp--preset--color--deep-green); font-weight: 600; font-variant-numeric: tabular-nums; font-size: var(--wp--preset--font-size--large); }
.bd-pcard__price del, .bd-shop ul.products .price del { opacity: 1; color: var(--wp--preset--color--forest-green); font-weight: 400; font-size: var(--wp--preset--font-size--medium); margin-inline-end: .4em; } /* AA: no faded old price */
.bd-pcard__price ins { text-decoration: none; }
.bd-products__all { text-align: end; }

/* ===================================================================== §6.9 sourcing journey
   Native <details>: collapsed by default, content in the DOM. Horizontal stepper ≥768px, vertical
   timeline below (§6.9.7). Fixed-aspect media so expanding never shifts (§16.11.6). */
.bd-journey{margin:var(--wp--preset--spacing--40) 0 0;border:1px solid var(--wp--preset--color--deep-green);border-radius:var(--wp--custom--radius--md);background:var(--wp--preset--color--white);contain:layout}
.bd-journey__summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;min-height:48px;padding:.75rem 1.1rem;font-weight:600;color:var(--wp--preset--color--deep-green);font-size:var(--wp--preset--font-size--medium)}
.bd-journey__summary::-webkit-details-marker{display:none}
.bd-journey__summary::after{content:"";margin-inline-start:auto;width:.6em;height:.6em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s}
.bd-journey[open] .bd-journey__summary::after{transform:rotate(-135deg)}
.bd-journey__summary small{font-weight:400;color:var(--wp--preset--color--ink);opacity:.8;font-size:var(--wp--preset--font-size--small)}
.bd-journey__summary:hover,.bd-journey__summary:focus-visible{background:var(--wp--preset--color--warm-white);outline:none}
.bd-journey__summary:focus-visible{box-shadow:inset 0 0 0 3px var(--wp--preset--color--sun-gold)}
.bd-journey__icon{display:inline-flex;align-items:center;justify-content:center;width:1.6em;height:1.6em;border-radius:50%;background:var(--wp--preset--color--deep-green);color:var(--wp--preset--color--white);font-size:.9em}
.bd-journey__steps{list-style:none;margin:0;padding:var(--wp--preset--spacing--30) var(--wp--preset--spacing--30) var(--wp--preset--spacing--20);display:grid;gap:var(--wp--preset--spacing--30);position:relative}
.bd-journey__step{position:relative;padding-inline-start:3rem;min-height:2.5rem}
.bd-journey__num{position:absolute;left:0;top:0;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--wp--preset--color--deep-green);color:var(--wp--preset--color--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--wp--preset--font-family--latin);z-index:1}
.bd-journey__step:not(:last-child)::before{content:"";position:absolute;left:calc(1.125rem - 1px);top:2.25rem;bottom:calc(-1 * var(--wp--preset--spacing--30));border-left:2px dashed var(--wp--preset--color--fresh-green)}
.bd-journey__title{margin:0 0 .25rem;font-size:var(--wp--preset--font-size--medium);line-height:1.3}
.bd-journey__text{margin:0;color:var(--wp--preset--color--ink)}
.bd-journey__loc{margin:.35rem 0 0;font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--forest-green)}
.bd-journey__loc::before{content:"📍 "}
.bd-journey__img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--wp--custom--radius--sm);margin:0 0 .6rem;background:var(--wp--preset--color--warm-white)}
.bd-journey__note{margin:0;padding:0 var(--wp--preset--spacing--30) var(--wp--preset--spacing--30);font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--ink);opacity:.85}
@media (min-width:768px){
	.bd-journey__steps{grid-template-columns:repeat(var(--bd-steps,5),minmax(0,1fr));gap:var(--wp--preset--spacing--30);padding-top:var(--wp--preset--spacing--40)}
	.bd-journey__step{padding-inline-start:0;padding-top:3rem}
	.bd-journey__num{left:0;top:0}
	.bd-journey__step:not(:last-child)::before{left:2.5rem;right:calc(-1 * var(--wp--preset--spacing--30));top:calc(1.125rem - 1px);bottom:auto;border-left:0;border-top:2px dashed var(--wp--preset--color--fresh-green)}
	.bd-journey__title{font-size:var(--wp--preset--font-size--small);font-weight:700}
	.bd-journey__text,.bd-journey__loc{font-size:var(--wp--preset--font-size--small)}
}
.bd-journey[data-steps="3"]{--bd-steps:3}.bd-journey[data-steps="4"]{--bd-steps:4}.bd-journey[data-steps="5"]{--bd-steps:5}.bd-journey[data-steps="6"]{--bd-steps:6}.bd-journey[data-steps="7"]{--bd-steps:7}
@media (prefers-reduced-motion:reduce){.bd-journey__summary::after{transition:none}}

/* card indicator (§16.11.6 A) — bottom row, opposite the price; never a link, never a button */
.bd-pcard__row{justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}
.bd-pcard__journey,.bd-shop .bd-pcard__journey{display:inline-flex;align-items:center;gap:.3em;font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--forest-green);background:var(--wp--preset--color--warm-white);border:1px solid var(--wp--preset--color--leaf-green);border-radius:999px;padding:.15rem .6rem;line-height:1.4;white-space:nowrap}
.bd-shop li.product .bd-pcard__journey{margin-top:.4rem}

/* ===================================================================== §6.10 reviews */
.bd-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.bd-field label{display:block;font-weight:600;margin-bottom:.25rem}
.bd-field input{width:100%;min-height:48px;border:1px solid var(--wp--preset--color--forest-green);border-radius:var(--wp--custom--radius--sm);padding:.6rem .8rem;font:inherit}
.bd-help{font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--ink);opacity:.85;margin:.25rem 0 1rem}
.woocommerce-Reviews .comment-form-rating label{display:block;font-weight:600}
.woocommerce-Reviews .commentlist{list-style:none;margin:0;padding:0}
.woocommerce-Reviews .comment_container{display:grid;gap:.5rem;padding:1rem 0;border-bottom:1px solid var(--wp--preset--color--warm-white)}
.woocommerce-Reviews .avatar{display:none}
.woocommerce-review__author{font-weight:700}
.woocommerce-review__verified{font-style:normal;display:inline-flex;align-items:center;gap:.3em;background:var(--wp--preset--color--deep-green);color:var(--wp--preset--color--white);border-radius:999px;padding:.1rem .6rem;font-size:var(--wp--preset--font-size--small);margin-inline-start:.4rem}
.woocommerce-review__dash{display:none}
.woocommerce-review__published-date{font-size:var(--wp--preset--font-size--small);opacity:.8;margin-inline-start:.5rem}
.woocommerce-Reviews .description p{margin:.25rem 0 0}
.woocommerce-noreviews{opacity:.85}

/* ===================================================================== §16.11.6 homepage blocks A / B — one rhythm */
.bd-block__head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:var(--wp--preset--spacing--20)}
.bd-block__head h2{margin:0}
.bd-block__more{margin:0;font-weight:600}
.bd-block__more a{color:var(--wp--preset--color--deep-green);text-decoration-thickness:2px}
.bd-block--land{background:var(--wp--preset--color--warm-white);border-radius:var(--wp--custom--radius--md);padding-top:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50)}
.bd-block--land .bd-projects,.bd-block--agro .bd-products{gap:var(--wp--preset--spacing--30)}
/* review rating widget: WooCommerce's JS swaps the <select> for role=radio links — keep their text for AT, show only the glyph */
p.stars{margin:.25rem 0 0}
p.stars a{font-size:0;color:transparent;border-radius:var(--wp--custom--radius--sm)}
p.stars a::before{font-size:1.75rem;color:var(--wp--preset--color--sun-gold);line-height:44px}
p.stars a:focus-visible{outline:var(--wp--custom--focus-ring);outline-offset:2px}
.comment-form-rating label{display:block;font-weight:600}
.bd-pcard__stars .star-rating{font-size:.9rem}

/* ===================================================================== §5.2 v2.12 header: logo · search · utility · menu, then the category bar */
.bd-header{background:var(--wp--preset--color--white);border-bottom:0}
.bd-header__row{display:flex;align-items:center;justify-content:space-between;gap:var(--wp--preset--spacing--30);min-height:76px;padding-block:var(--wp--preset--spacing--10)}
.bd-header__util{display:flex;align-items:center;gap:var(--wp--preset--spacing--20)}
/* §4.4.4f (v2.41) — a collapsed disclosure panel is not merely invisible: `visibility: hidden`
   drops its contents from the tab order and the accessibility tree, so the summary is the only
   focusable control while closed. Chrome already does this for a closed <details>, but this panel is
   `position:absolute` at phone widths and that is exactly the case where UA handling varies, so the
   rule is stated rather than relied upon. Restored on open. */
.bd-search:not([open]) .bd-search__form{visibility:hidden}
.bd-search[open] .bd-search__form{visibility:visible}
.bd-search{position:relative;flex:1 1 auto;max-width:640px}
.bd-search__toggle{display:none;list-style:none;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;color:var(--wp--preset--color--forest-green)}
.bd-search__toggle::-webkit-details-marker{display:none}
.bd-search__form{display:flex;align-items:center;background:var(--wp--preset--color--warm-white);border:1px solid var(--wp--preset--color--leaf-green);border-radius:999px;padding:0 .35rem 0 1.1rem;min-height:48px}
.bd-search__form input[type=search]{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:var(--wp--preset--font-size--medium);padding:.6rem 0;color:var(--wp--preset--color--ink);outline:none}
.bd-search__form input[type=search]::placeholder{color:var(--wp--preset--color--forest-green);opacity:.75}
.bd-search__form:focus-within{border-color:var(--wp--preset--color--deep-green);box-shadow:0 0 0 3px var(--wp--preset--color--sun-gold)}
.bd-search__btn{width:44px;height:44px;border-radius:50%;border:0;background:var(--wp--preset--color--deep-green);color:var(--wp--preset--color--white);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.bd-search__btn:hover{background:var(--wp--preset--color--forest-green)}
.bd-util{display:flex;align-items:center;gap:var(--wp--preset--spacing--20)}
.bd-util__link,.bd-util .bd-cart{display:inline-flex;flex-direction:column;align-items:center;gap:.15rem;min-width:56px;min-height:48px;justify-content:center;text-decoration:none;color:var(--wp--preset--color--forest-green);font-size:var(--wp--preset--font-size--small);font-weight:500;line-height:1.2}
.bd-util__link:hover,.bd-util .bd-cart:hover{color:var(--wp--preset--color--deep-green)}
.bd-util .bd-ic{width:24px;height:24px}
.bd-util__link--phone{color:var(--wp--preset--color--deep-green);font-weight:600;font-family:var(--wp--preset--font-family--latin)}
.bd-menu{position:relative;display:none}
.bd-menu__toggle{list-style:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--wp--custom--radius--sm);cursor:pointer;color:var(--wp--preset--color--forest-green)}
.bd-menu__toggle::-webkit-details-marker{display:none}
.bd-menu__close{display:none}.bd-menu[open] .bd-menu__close{display:inline-flex}.bd-menu[open] .bd-menu__open{display:none}
.bd-menu__panel{position:absolute;right:0;top:calc(100% + 8px);width:min(92vw,360px);background:var(--wp--preset--color--white);border:1px solid var(--wp--preset--color--warm-white);border-radius:var(--wp--custom--radius--md);box-shadow:0 12px 32px rgba(0,0,0,.12);padding:var(--wp--preset--spacing--30);z-index:60;display:grid;gap:var(--wp--preset--spacing--30);max-height:calc(100vh - 120px);overflow:auto}
.bd-menu__cats ul{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}
.bd-menu__cats a{display:block;padding:.6rem .75rem;border-radius:var(--wp--custom--radius--sm);text-decoration:none;color:var(--wp--preset--color--ink);font-weight:600;background:var(--wp--preset--color--warm-white)}
.bd-menu__cats a[aria-current]{background:var(--wp--preset--color--forest-green);color:var(--wp--preset--color--white)}
.bd-menu__util .bd-util{flex-wrap:wrap;justify-content:flex-start}
.bd-menu__util .bd-util__link,.bd-menu__util .bd-cart{flex-direction:row;gap:.5rem;min-width:0}
.bd-menu__org h2{font-size:var(--wp--preset--font-size--small);text-transform:none;margin:0 0 .25rem;color:var(--wp--preset--color--forest-green)}
.bd-menu__org ul{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.bd-menu__org a{color:var(--wp--preset--color--ink)}
.bd-catbar-wrap{background:var(--wp--preset--color--forest-green)}
.bd-catbar ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0}
.bd-catbar a{display:inline-flex;align-items:center;min-height:48px;padding:0 var(--wp--preset--spacing--30);color:var(--wp--preset--color--white);text-decoration:none;font-weight:600;font-size:var(--wp--preset--font-size--medium);border-bottom:3px solid transparent}
.bd-catbar a:hover,.bd-catbar a:focus-visible{background:var(--wp--preset--color--deep-green);outline:none}
.bd-catbar a[aria-current]{border-bottom-color:var(--wp--preset--color--sun-gold)}
.bd-catbar li:nth-last-child(2) a{margin-inline-start:auto}
.bd-catbar li:nth-last-child(-n+2) a{color:var(--wp--preset--color--sun-gold)}
@media (max-width:1023px){
	.bd-header__row{min-height:64px;gap:var(--wp--preset--spacing--20)}
	.bd-search{flex:0 0 auto;max-width:none}
	.bd-search__toggle{display:flex}
	.bd-search__form{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:55;box-shadow:0 8px 24px rgba(0,0,0,.12)}
	.bd-search{position:static}
	.bd-header__inner{position:relative}
	.bd-util__link--track,.bd-util__link--account,.bd-util__link--phone{display:none}
	.bd-menu{display:block}
	.bd-menu__util .bd-util__link--track,.bd-menu__util .bd-util__link--account,.bd-menu__util .bd-util__link--phone{display:inline-flex}
	.bd-menu__util .bd-cart{display:none}
	.bd-catbar-wrap{display:none}
	.bd-header__logo img{width:clamp(120px,32vw,150px)}
}
@media (min-width:1024px){.bd-catbar li:first-child a{padding-inline-start:0}}

/* ===================================================================== §5.2.3 hero row: one static image + side banner */
.bd-hero-row{display:grid;gap:var(--wp--preset--spacing--30);grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:stretch}
.bd-hero-row>*{margin:0!important}
.bd-hero2{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--wp--preset--spacing--30);background:var(--wp--preset--color--white);border-radius:var(--wp--custom--radius--md);padding:var(--wp--preset--spacing--40);align-items:center;min-height:100%}
.bd-hero2 h1{margin:0 0 .5rem;font-size:var(--wp--preset--font-size--xx-large);line-height:1.15;color:var(--wp--preset--color--deep-green)}
.bd-hero2__sub{margin:0 0 var(--wp--preset--spacing--30);font-size:var(--wp--preset--font-size--medium)}
.bd-hero2__cta{margin:0;display:flex;align-items:center;gap:var(--wp--preset--spacing--30);flex-wrap:wrap}
.bd-hero2__link{font-weight:600;color:var(--wp--preset--color--forest-green)}
.bd-hero2__media{aspect-ratio:16/9;border-radius:var(--wp--custom--radius--md);overflow:hidden;background:var(--wp--preset--color--warm-white)}
.bd-hero2__media img,.bd-hero2__media .bd-brand-block{width:100%;height:100%;object-fit:cover;display:block}
.bd-banner{display:grid;grid-template-rows:1fr auto;text-decoration:none;color:var(--wp--preset--color--ink);background:var(--wp--preset--color--white);border-radius:var(--wp--custom--radius--md);overflow:hidden;border:1px solid var(--wp--preset--color--warm-white)}
.bd-banner__media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--wp--preset--color--warm-white)}
.bd-banner__media img,.bd-banner__media .bd-brand-block{width:100%;height:100%;object-fit:cover;display:block}
.bd-banner__copy{display:grid;gap:.3rem;padding:var(--wp--preset--spacing--30)}
.bd-banner__kicker{font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--fresh-green);font-weight:600;text-transform:none}
.bd-banner strong{font-size:var(--wp--preset--font-size--large);line-height:1.25;color:var(--wp--preset--color--deep-green)}
.bd-banner__rate{font-family:var(--wp--preset--font-family--latin);font-weight:600}
.bd-banner__cta{color:var(--wp--preset--color--forest-green);font-weight:600}
.bd-banner:hover strong,.bd-banner:hover .bd-banner__cta{text-decoration:underline}
@media (max-width:1023px){.bd-hero-row{grid-template-columns:1fr}.bd-hero2{grid-template-columns:1fr;padding:var(--wp--preset--spacing--30)}.bd-hero2__copy{order:2}.bd-hero2__media{order:1}.bd-banner{grid-template-columns:minmax(0,2fr) minmax(0,3fr);grid-template-rows:auto}.bd-banner__media{aspect-ratio:1/1;height:100%}}
@media (max-width:599px){.bd-banner{grid-template-columns:1fr}.bd-banner__media{aspect-ratio:16/9}}

/* ===================================================================== §5.2.4 six tiles */
.bd-cats{grid-template-columns:repeat(6,minmax(0,1fr))}
.bd-cat__media{aspect-ratio:1/1;display:block;overflow:hidden;border-radius:var(--wp--custom--radius--md);background:var(--wp--preset--color--white)}
.bd-cat__media img{width:100%;height:100%;object-fit:cover;display:block}
.bd-cat--land .bd-cat__media{outline:3px solid var(--wp--preset--color--sun-gold);outline-offset:-3px}
.bd-cat--land .bd-cat__name{color:var(--wp--preset--color--deep-green)}
.bd-cat--land .bd-cat__name::after{content:" ↗";color:var(--wp--preset--color--earth-gold)}
@media (max-width:1023px){.bd-cats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:399px){.bd-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===================================================================== §5.2.5 top products — large horizontal cards */
.bd-top__heading{text-align:center;margin:0 0 var(--wp--preset--spacing--30)}
.bd-top__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--wp--preset--spacing--30)}
.bd-top__card{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:var(--wp--preset--spacing--30);background:var(--wp--preset--color--white);border-radius:var(--wp--custom--radius--md);padding:var(--wp--preset--spacing--30);align-items:center;position:relative}
.bd-top__media{display:block;aspect-ratio:1/1;border-radius:var(--wp--custom--radius--sm);overflow:hidden;background:var(--wp--preset--color--warm-white);position:relative}
.bd-top__media img,.bd-top__media .bd-brand-block{width:100%;height:100%;object-fit:contain;display:block}
.bd-top__media .bd-brand-block{object-fit:cover}
.bd-top__media .bd-flags{position:absolute;top:.5rem;left:.5rem}
.bd-top__body{display:grid;gap:.4rem;align-content:center}
.bd-top__cat{font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--forest-green)}
.bd-top__name{margin:0;font-size:var(--wp--preset--font-size--large);line-height:1.25}
.bd-top__name a{text-decoration:none;color:var(--wp--preset--color--ink)}
.bd-top__name a:hover{text-decoration:underline}
.bd-top__price{margin:0;font-family:var(--wp--preset--font-family--latin);font-weight:700;font-size:var(--wp--preset--font-size--large);color:var(--wp--preset--color--deep-green)}
.bd-top__price del{color:var(--wp--preset--color--ink);opacity:.6;font-weight:400;font-size:.8em;margin-inline-end:.4em}
.bd-top__price ins{text-decoration:none}
.bd-top__body .bd-pcard__journey{justify-self:start}
.bd-top__act{margin:.25rem 0 0}
.bd-top__btn.added::after{content:" ✓"}
.bd-top__btn.loading{opacity:.7}
@media (max-width:767px){.bd-top__grid{grid-template-columns:1fr}.bd-top__card{grid-template-columns:minmax(0,1fr) minmax(0,2fr);padding:var(--wp--preset--spacing--20)}.bd-top__name{font-size:var(--wp--preset--font-size--medium)}}

/* ===================================================================== §5.2.8 trust strip · §5.2.9 reviews */
.bd-trust-strip{background:var(--wp--preset--color--white);border-radius:var(--wp--custom--radius--md);padding-top:var(--wp--preset--spacing--30)!important;padding-bottom:var(--wp--preset--spacing--30)!important}
.bd-reviews h2{text-align:center;margin-bottom:.25rem}
.bd-reviews__note{text-align:center;margin:0 0 var(--wp--preset--spacing--30);font-size:var(--wp--preset--font-size--small);opacity:.85}
.bd-reviews__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--wp--preset--spacing--30)}
.bd-review{background:var(--wp--preset--color--white);border-radius:var(--wp--custom--radius--md);padding:var(--wp--preset--spacing--30);display:grid;gap:.6rem;align-content:start}
.bd-review__text{margin:0;font-size:var(--wp--preset--font-size--medium);line-height:1.55}
.bd-review__meta{margin:0;font-size:var(--wp--preset--font-size--small)}
@media (max-width:1023px){.bd-reviews__grid{grid-template-columns:1fr}}
/* §5.2.10 footer: brand column + four link columns; facts row below */
.bd-footer__brand{display:grid;gap:.5rem;align-content:start}
.bd-footer__brand .bd-footer__logo img{width:clamp(140px,16vw,190px);height:auto}
.bd-footer__tagline{margin:.25rem 0 .5rem;font-size:var(--wp--preset--font-size--medium)}
.bd-footer__facts{margin-top:var(--wp--preset--spacing--40);padding-top:var(--wp--preset--spacing--30);border-top:1px solid var(--bd-footer-rule,rgba(0,0,0,.08));display:flex;flex-wrap:wrap;gap:var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);font-size:var(--wp--preset--font-size--small)}
.bd-footer__facts>*{margin:0;flex:1 1 260px}
@media (max-width:781px){.bd-footer__cols--brand .wp-block-column{flex-basis:100%!important}}
/* v2.12 fixes: contrast (§4.1) and the phone header row — only the cart stays in the row, everything else lives in the menu */
.bd-banner__kicker{color:var(--wp--preset--color--forest-green)}
.bd-top__price del,.bd-pcard__price del{color:var(--wp--preset--color--forest-green);opacity:1;text-decoration-color:var(--wp--preset--color--earth-gold)}
@media (max-width:1023px){.bd-header__util>.bd-util>*:not(.bd-cart){display:none!important}.bd-header__util>.bd-util{gap:0}}
/* phone menu panel spans the header width instead of hanging off the toggle */
.bd-menu{position:static}
.bd-menu__panel{left:var(--wp--preset--spacing--30,16px);right:var(--wp--preset--spacing--30,16px);top:100%;width:auto}

/* ===================================================================== §5.2.3 v2.13 — hero slider (manual) + static banner, equal height */
.bd-hero-row{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:stretch}
.bd-hero2{display:block;padding:0;position:relative;border-radius:var(--wp--custom--radius--md);overflow:hidden;background:var(--wp--preset--color--forest-green);aspect-ratio:2.25/1;min-height:0}
.bd-hero2__track{list-style:none;margin:0;padding:0;display:flex;height:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.bd-hero2__track::-webkit-scrollbar{display:none}
.bd-hero2--single .bd-hero2__track{overflow:hidden}
.bd-hero2__slide{flex:0 0 100%;position:relative;scroll-snap-align:start;scroll-snap-stop:always;height:100%;display:block}
.bd-hero2__slide .bd-hero2__img,.bd-hero2__slide .bd-brand-block{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.bd-hero2__copy{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:.5rem;padding:clamp(1.25rem,4vw,3rem);width:min(58%,560px);background:linear-gradient(90deg,color-mix(in srgb,var(--wp--preset--color--forest-green) 92%,transparent) 0%,color-mix(in srgb,var(--wp--preset--color--forest-green) 78%,transparent) 70%,transparent 100%)}
.bd-hero2 h1{margin:0;font-size:clamp(1.6rem,3.2vw,2.75rem);line-height:1.15;color:var(--wp--preset--color--white)}
.bd-hero2__sub{margin:0;color:var(--wp--preset--color--white);font-size:var(--wp--preset--font-size--medium);max-width:36ch}
.bd-hero2__cta{margin:.25rem 0 0;display:flex;align-items:center;gap:var(--wp--preset--spacing--30);flex-wrap:wrap}
.bd-hero2__cta .wp-element-button{background:var(--wp--preset--color--sun-gold);color:var(--wp--preset--color--ink)}
.bd-hero2__link{color:var(--wp--preset--color--white);font-weight:600}
.bd-hero2__nav{position:absolute;left:0;right:0;bottom:.6rem;display:flex;align-items:center;justify-content:center;gap:.5rem;pointer-events:none}
.bd-hero2__nav>*{pointer-events:auto}
.bd-hero2__arrow{width:44px;height:44px;border-radius:50%;border:0;background:color-mix(in srgb,var(--wp--preset--color--white) 85%,transparent);color:var(--wp--preset--color--forest-green);font-size:1.6rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.bd-hero2__arrow:hover,.bd-hero2__arrow:focus-visible{background:var(--wp--preset--color--white);outline:none;box-shadow:0 0 0 3px var(--wp--preset--color--sun-gold)}
.bd-hero2__dots{list-style:none;margin:0;padding:0 .5rem;display:flex;gap:.5rem}
.bd-hero2__dots a{display:block;width:44px;height:44px;position:relative}
.bd-hero2__dots a::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:color-mix(in srgb,var(--wp--preset--color--white) 70%,transparent);transition:width .2s,margin .2s}
.bd-hero2__dots a[aria-current]::before{width:26px;margin-left:-13px;border-radius:5px;background:var(--wp--preset--color--sun-gold)}
.bd-hero2__dots a:focus-visible{outline:none}.bd-hero2__dots a:focus-visible::before{box-shadow:0 0 0 3px var(--wp--preset--color--sun-gold)}
@media (prefers-reduced-motion:reduce){.bd-hero2__track{scroll-behavior:auto}.bd-hero2__dots a::before{transition:none}}
/* right banner: image fills the same height, copy on a solid panel at the bottom */
.bd-banner{position:relative;display:block;grid-template-rows:none;grid-template-columns:none;height:100%;min-height:0;border:0;background:var(--wp--preset--color--deep-green)}
.bd-banner__media{position:absolute;inset:0;aspect-ratio:auto;height:auto}
.bd-banner__media img,.bd-banner__media .bd-brand-block{width:100%;height:100%;object-fit:cover}
/* banner art is a portrait poster with the headline at the top: anchor the cover crop to the top so the headline survives at every card ratio */
.bd-banner--image .bd-banner__media img{object-position:top center}
.bd-banner__copy{position:absolute;left:0;right:0;bottom:0;padding:var(--wp--preset--spacing--30);background:color-mix(in srgb,var(--wp--preset--color--forest-green) 94%,transparent);color:var(--wp--preset--color--white)}
.bd-banner__kicker{color:var(--wp--preset--color--sun-gold)}
.bd-banner strong{color:var(--wp--preset--color--white);font-size:var(--wp--preset--font-size--medium)}
.bd-banner__rate,.bd-banner__cta{color:var(--wp--preset--color--white)}
.bd-banner__cta{color:var(--wp--preset--color--sun-gold)}
@media (max-width:1023px){
	.bd-hero-row{grid-template-columns:1fr}
	.bd-hero2{aspect-ratio:16/10}
	.bd-hero2__copy{width:100%;justify-content:flex-end;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--wp--preset--color--forest-green) 88%,transparent) 55%);padding-bottom:4rem}
	.bd-hero2 h1{font-size:var(--wp--preset--font-size--x-large)}
	.bd-banner{aspect-ratio:16/9;height:auto}
}

@media (max-width:1023px){.bd-banner{aspect-ratio:16/10}}
/* phone hero: taller card, tighter copy so the H1 always sits inside the panel */
@media (max-width:1023px){
	.bd-hero2{aspect-ratio:4/3}
	.bd-hero2__copy{gap:.35rem;padding:1rem 1rem 3.75rem;background:linear-gradient(180deg,transparent 0%,color-mix(in srgb,var(--wp--preset--color--forest-green) 90%,transparent) 45%)}
	.bd-hero2 h1{font-size:var(--wp--preset--font-size--large);line-height:1.2}
	.bd-hero2__sub{font-size:var(--wp--preset--font-size--small);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
	.bd-hero2__cta{gap:var(--wp--preset--spacing--20)}
	.bd-hero2__cta .wp-element-button{padding:.6rem 1rem}
	.bd-hero2__nav{bottom:.35rem}
}
@media (max-width:399px){.bd-hero2{aspect-ratio:3/4}.bd-hero2__sub{-webkit-line-clamp:3}}

/* ===================================================================== §4.8 colour application (v2.14) — green is an accent, never a surface */
.bd-catbar-wrap{background:var(--wp--preset--color--deep-green)}
.bd-catbar a:hover,.bd-catbar a:focus-visible{background:var(--wp--preset--color--forest-green)}
.bd-footer{border-top:1px solid var(--wp--preset--color--earth-gold)}
.bd-brand-block,.bd-brand-block--deep,.bd-brand-block--forest,.bd-brand-block--fresh{background:var(--wp--preset--color--warm-white);color:var(--wp--preset--color--forest-green);border:1px solid var(--wp--preset--color--earth-gold)}
.bd-brand-block--fresh{border-color:var(--wp--preset--color--fresh-green)}
.bd-brand-block--deep,.bd-brand-block--forest{border-color:var(--wp--preset--color--forest-green)}
.bd-brand-block__kicker,.bd-brand-block__sub{color:var(--wp--preset--color--ink);opacity:1}
/* prices: Ink on a Sun Gold highlight (§4.8.3, legible) */
.bd-pcard__price,.bd-top__price,.bd-shop ul.products .price,.bd-product .summary .price,.bd-price-chip{display:inline-flex;align-items:baseline;gap:.35em;background:var(--wp--preset--color--sun-gold);color:var(--wp--preset--color--ink);padding:.1em .55em;border-radius:6px;font-weight:700;line-height:1.3}
.bd-pcard__price del,.bd-top__price del,.bd-shop ul.products .price del,.bd-product .summary .price del{color:var(--wp--preset--color--ink);opacity:.7;font-weight:400;text-decoration-color:var(--wp--preset--color--ink)}
.bd-pcard__price ins,.bd-top__price ins{text-decoration:none}
.bd-top__price{margin:0;font-size:var(--wp--preset--font-size--medium)}
/* division accents (§4.8.4): Agro = Fresh Green, Real Estate = Forest Green + warm neutral */
.bd-block__head h2{padding-inline-start:.6rem;border-inline-start:4px solid var(--wp--preset--color--fresh-green)}
.bd-block--land .bd-block__head h2{border-inline-start-color:var(--wp--preset--color--forest-green)}
.bd-block--land{background:var(--wp--preset--color--white)}
.bd-block--land .bd-project{border:1px solid var(--wp--preset--color--warm-white)}
.bd-cat__media{border-bottom:3px solid var(--wp--preset--color--fresh-green)}
.bd-cat--land .bd-cat__media{outline:0;border-bottom-color:var(--wp--preset--color--forest-green);background:var(--wp--preset--color--warm-white)}
.bd-cat--land .bd-cat__name{color:var(--wp--preset--color--forest-green)}
/* §4.9.1 tile labels centred */
.bd-cat,.bd-cat__name{text-align:center}
.bd-cat__name{margin-top:var(--wp--preset--spacing--10)}
/* hero (§5.2.3 v2.14): image + solid white panel beside it; no overlay, no gradient */
.bd-hero2,.bd-hero2--single,.bd-hero2--slider{background:var(--wp--preset--color--white);aspect-ratio:2.25/1;border:1px solid var(--wp--preset--color--warm-white)}
.bd-hero2__slide{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);height:100%}
.bd-hero2__panel{display:flex;flex-direction:column;justify-content:center;gap:.6rem;padding:clamp(1.25rem,3vw,2.5rem) clamp(1.25rem,3vw,2.5rem) 4rem;background:var(--wp--preset--color--white)}
.bd-hero2__title{margin:0;font-size:clamp(1.5rem,2.6vw,2.4rem);line-height:1.15;color:var(--wp--preset--color--deep-green)}
.bd-hero2__sub{margin:0;color:var(--wp--preset--color--ink);font-size:var(--wp--preset--font-size--medium);max-width:36ch}
.bd-hero2__cta{margin:.25rem 0 0}
.bd-hero2__cta .wp-element-button{background:var(--wp--preset--color--deep-green);color:var(--wp--preset--color--white)}
.bd-hero2__media{position:relative;height:100%;overflow:hidden;background:var(--wp--preset--color--warm-white)}
.bd-hero2__media .bd-hero2__img,.bd-hero2__media .bd-brand-block{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.bd-hero2__nav{left:clamp(1.25rem,3vw,2.5rem);right:auto;bottom:1rem;justify-content:flex-start;gap:.25rem}
.bd-hero2__arrow{background:var(--wp--preset--color--warm-white);color:var(--wp--preset--color--forest-green);border:1px solid var(--wp--preset--color--earth-gold)}
.bd-hero2__arrow:hover,.bd-hero2__arrow:focus-visible{background:var(--wp--preset--color--white)}
.bd-hero2__dots a::before{background:color-mix(in srgb,var(--wp--preset--color--earth-gold) 45%,transparent)}
.bd-hero2__dots a[aria-current]::before{background:var(--wp--preset--color--sun-gold)}
/* side banner: image above, white copy panel below */
.bd-banner{display:grid;grid-template-rows:minmax(0,1fr) auto;background:var(--wp--preset--color--white);border:1px solid var(--wp--preset--color--warm-white);height:100%}
.bd-banner__media{position:relative;inset:auto;height:auto;min-height:0;aspect-ratio:auto;overflow:hidden;display:block}
.bd-banner__media img,.bd-banner__media .bd-brand-block{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bd-banner__copy{position:static;background:var(--wp--preset--color--white);color:var(--wp--preset--color--ink);padding:var(--wp--preset--spacing--30);display:grid;gap:.3rem}
.bd-banner__kicker{color:var(--wp--preset--color--forest-green);padding-inline-start:.5rem;border-inline-start:3px solid var(--wp--preset--color--fresh-green)}
.bd-banner strong{color:var(--wp--preset--color--deep-green)}
.bd-banner__rate{color:var(--wp--preset--color--ink);font-weight:500}
.bd-banner__cta{color:var(--wp--preset--color--deep-green);font-weight:600}
/* Healthy Living (§16.11.7) — white band, Agro accent */
.bd-healthy{background:var(--wp--preset--color--white);border-radius:var(--wp--custom--radius--md);padding:var(--wp--preset--spacing--40) var(--wp--preset--spacing--30)}
.bd-healthy__sub{margin:0 0 var(--wp--preset--spacing--30)}
.bd-healthy__feature{display:block;aspect-ratio:8/3;overflow:hidden;border-radius:var(--wp--custom--radius--md);margin-bottom:var(--wp--preset--spacing--30);background:var(--wp--preset--color--warm-white)}
.bd-healthy__feature img,.bd-healthy__feature .bd-brand-block{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
@media (max-width:1023px){
	.bd-hero2,.bd-hero2--single,.bd-hero2--slider{aspect-ratio:auto}
	.bd-hero2__track{height:auto;align-items:stretch}
	.bd-hero2__slide{grid-template-columns:1fr;grid-template-rows:auto 1fr;height:auto}
	.bd-hero2__media{aspect-ratio:16/9;height:auto;order:1}
	.bd-hero2__panel{order:2;padding:1rem 1rem 3.75rem;justify-content:flex-start;background:var(--wp--preset--color--white)}
	.bd-hero2__title{font-size:var(--wp--preset--font-size--large)}
	.bd-hero2__sub{font-size:var(--wp--preset--font-size--small);display:block;overflow:visible}
	.bd-hero2__nav{left:1rem;bottom:.6rem}
	.bd-banner{aspect-ratio:auto;height:auto}
	.bd-banner__media{aspect-ratio:16/9}
}
@media (max-width:399px){.bd-hero2,.bd-hero2--single,.bd-hero2--slider{aspect-ratio:auto}}
/* §4.8.4 real-estate accent: the COI notice is a warm neutral panel with a Forest Green rule, not a green surface */
aside.bd-coi,.bd-coi{background:var(--wp--preset--color--warm-white);color:var(--wp--preset--color--ink);border:1px solid var(--wp--preset--color--forest-green);border-inline-start-width:6px}
.bd-coi h2,.bd-coi h3,.bd-coi strong{color:var(--wp--preset--color--forest-green)}
.bd-coi a{color:var(--wp--preset--color--deep-green)}
/* v2.14 fixes: hero panel never clips; seven tiles in one row; struck price legible; one heading alignment everywhere */
.bd-hero2,.bd-hero2--single,.bd-hero2--slider{aspect-ratio:2/1}
.bd-hero2__slide{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}
.bd-hero2__panel{justify-content:flex-start;gap:.5rem;padding:clamp(1.25rem,2.6vw,2rem) clamp(1.25rem,2.6vw,2rem) 4.5rem}
.bd-hero2__title{font-size:clamp(1.35rem,2.1vw,1.9rem);line-height:1.2}
.bd-hero2__sub{font-size:var(--wp--preset--font-size--small);max-width:34ch;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bd-hero2__cta .wp-element-button{padding:.65rem 1.1rem}
.bd-hero2__nav{bottom:.75rem}
@media (max-width:1023px){.bd-hero2,.bd-hero2--single,.bd-hero2--slider{aspect-ratio:auto}.bd-hero2__sub{-webkit-line-clamp:4}.bd-hero2__panel{padding-bottom:4rem}}
.bd-cats{grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--wp--preset--spacing--20)}
@media (max-width:1023px){.bd-cats{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:599px){.bd-cats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:399px){.bd-cats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.bd-pcard__price del,.bd-top__price del,.bd-shop ul.products .price del,.bd-product .summary .price del{opacity:1;color:var(--wp--preset--color--ink)}
.bd-top__heading,.bd-section>h2.has-text-align-center,.bd-reviews h2,.bd-block>h2{text-align:start;padding-inline-start:.6rem;border-inline-start:4px solid var(--wp--preset--color--fresh-green)}
.bd-cats{margin-top:var(--wp--preset--spacing--30)}

/* ===================================================================== §4.9 pass: related products on the product page share the shop card grid */
.bd-product .related ul.products{ list-style: none; padding: 0; margin: var(--wp--preset--spacing--30) 0; display: grid; gap: var(--wp--preset--spacing--30); grid-template-columns: repeat(2, 1fr); }
.bd-product .related ul.products li.product{ background: var(--wp--preset--color--white); border-radius: var(--wp--custom--radius--md); padding: var(--wp--preset--spacing--20); margin: 0; display: flex; flex-direction: column; }
.bd-product .related ul.products li.product{ position: relative; padding: 0 0 var(--wp--preset--spacing--20); background: transparent; }
.bd-product .related ul.products li.product > a.woocommerce-LoopProduct-link{ display: block; text-decoration: none; }
.bd-product .related ul.products li.product img{ border-radius: var(--wp--custom--radius--sm); aspect-ratio: 3/4; object-fit: cover; width: 100%; display: block; }
.bd-product .related ul.products .woocommerce-loop-product__title{ font-size: var(--wp--preset--font-size--medium); font-weight: 500; color: var(--wp--preset--color--forest-green); margin: 0 0 var(--wp--preset--spacing--10); line-height: 1.4; min-height: 2.8em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bd-product .related ul.products .star-rating{ margin: 0 0 var(--wp--preset--spacing--10); }
.bd-product .related ul.products .button{ margin-top: var(--wp--preset--spacing--10); }
.bd-product .related ul.products .price{ color: var(--wp--preset--color--deep-green); font-weight: 600; font-variant-numeric: tabular-nums; }
.bd-product .related ul.products .price{ margin: var(--wp--preset--spacing--10) 0; }
.bd-product .related ul.products .button{ margin-top: auto; width: 100%; }
.bd-product .related .woocommerce-result-count{ font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--forest-green); }
.bd-product .related li.product:has(.onsale) .bd-flag--new{ top: calc(var(--wp--preset--spacing--10) + 62px); } /* stack below ছাড়! only when a sale flag exists */
.bd-product .related li.product span.onsale{ position: absolute; top: var(--wp--preset--spacing--10); inset-inline-start: var(--wp--preset--spacing--10); padding: 4px; border-radius: 50%; width: 56px; height: 56px; display: inline-flex; align-items: center; justify-content: center; font-size: var(--wp--preset--font-size--small); font-weight: 600; background: var(--wp--preset--color--sun-gold); color: var(--wp--preset--color--ink); }
.bd-product .related li.product .bd-pcard__journey{margin-top:.4rem}
.bd-product .related > h2{padding-inline-start:.6rem;border-inline-start:4px solid var(--wp--preset--color--fresh-green)}
.bd-product .related ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--wp--preset--spacing--30);list-style:none;margin:0;padding:0}
@media (max-width:1023px){.bd-product .related ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:599px){.bd-product .related ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* journey spans the product grid; price chip and loop button stay inside the card */
.bd-journey{grid-column:1/-1}
.bd-shop ul.products .price,.bd-product .related ul.products .price{align-self:flex-start}
.bd-shop li.product .button,.bd-product .related li.product .button{width:100%;max-width:100%;margin:auto 0 0;min-width:0;transform:none}


/* hero title on the white panel (the v2.13 overlay rule made it white) */
.bd-hero2 h1,.bd-hero2 h2,.bd-hero2 .bd-hero2__title{color:var(--wp--preset--color--deep-green)}
.bd-hero2 .bd-hero2__sub{color:var(--wp--preset--color--ink)}

/* ===================================================================== v2.15 — client decisions: image-only hero, no borders/bars, plain prices, two cart buttons */
/* no coloured borders, rules or bars on sections, headings, tiles, cards (§4.8.4 v2.15) */
.bd-block__head h2,.bd-block--land .bd-block__head h2,.bd-top__heading,.bd-section>h2.has-text-align-center,.bd-reviews h2,.bd-block>h2,.bd-product .related>h2{border:0;padding-inline-start:0}
.bd-cat__media,.bd-cat--land .bd-cat__media{border:0;outline:0;background:var(--wp--preset--color--white)}
.bd-cat--land .bd-cat__name::after{content:""}
.bd-trust__item{border-top:0}
.bd-hero2,.bd-hero2--single,.bd-hero2--slider,.bd-banner,.bd-block--land .bd-project,.bd-healthy__feature{border:0}
.bd-footer{border-top:0}
.bd-banner__kicker{border:0;padding-inline-start:0}
.bd-pcard,.bd-top__card,.bd-review,.bd-trust__item,.bd-healthy,.bd-shop ul.products li.product{border:0}
/* prices: Deep Green text (§4.8.3 v2.15) */
.bd-pcard__price,.bd-top__price,.bd-shop ul.products .price,.bd-product .summary .price,.bd-price-chip{background:transparent;color:var(--wp--preset--color--deep-green);padding:0;border-radius:0;font-weight:700;display:inline-flex;gap:.35em}
.bd-pcard__price del,.bd-top__price del,.bd-shop ul.products .price del,.bd-product .summary .price del{color:var(--wp--preset--color--forest-green);opacity:1;font-weight:400}
/* hero: full-bleed image slides, dots bottom-left, no text, no arrows */
.bd-hero2{aspect-ratio:2.25/1;background:var(--wp--preset--color--warm-white)}
.bd-hero2__slide{display:block;position:relative;height:100%}
.bd-hero2__slide img.bd-hero2__img,.bd-hero2__slide .bd-brand-block{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.bd-hero2__link{display:block;position:absolute;inset:0}
.bd-hero2__dots{position:absolute;left:1rem;bottom:.4rem;margin:0;padding:0;list-style:none;display:flex;gap:.25rem;z-index:2}
.bd-hero2__dots a{display:block;width:44px;height:44px;position:relative}
.bd-hero2__dots a::before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:color-mix(in srgb,var(--wp--preset--color--white) 80%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--wp--preset--color--ink) 25%,transparent)}
.bd-hero2__dots a[aria-current]::before{background:var(--wp--preset--color--sun-gold);width:9px;margin-left:-4.5px;border-radius:50%}
.bd-hero2__nav{display:none}
.bd-banner--image{display:block;position:relative;height:100%;background:var(--wp--preset--color--warm-white);overflow:hidden;border-radius:var(--wp--custom--radius--md)}
.bd-banner--image .bd-banner__media{position:absolute;inset:0;display:block}
.bd-banner--image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media (max-width:1023px){.bd-hero2{aspect-ratio:16/9}.bd-hero2__track{height:100%}.bd-banner--image{aspect-ratio:16/9;height:auto}}
/* buttons (§5.2.5/5.2.6 v2.15) — 44px, 6px radius, icon + label; outline and filled */
.bd-btns{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.bd-btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:44px;padding:.5rem 1.1rem;border-radius:6px;font-weight:600;font-size:var(--wp--preset--font-size--small);line-height:1.2;text-decoration:none;border:1px solid var(--wp--preset--color--deep-green);white-space:nowrap;cursor:pointer}
.bd-btn .bd-ic{width:18px;height:18px;flex:0 0 18px}
.bd-btn--outline{background:var(--wp--preset--color--white);color:var(--wp--preset--color--deep-green)}
.bd-btn--outline:hover,.bd-btn--outline:focus-visible{background:var(--wp--preset--color--warm-white)}
.bd-btn--fill{background:var(--wp--preset--color--deep-green);color:var(--wp--preset--color--white)}
.bd-btn--fill:hover,.bd-btn--fill:focus-visible{background:var(--wp--preset--color--forest-green)}
.bd-btn.added::after{content:" ✓"}.bd-btn.loading{opacity:.7}
.bd-top__act{margin:.35rem 0 0}
.bd-pcard__act{margin-top:.6rem}
.bd-pcard__act .bd-btn,.bd-shop li.product .bd-btn{width:100%}
.bd-shop li.product .bd-btns{margin-top:auto;padding-top:.6rem}
.bd-shop li.product a.added_to_cart{font-size:var(--wp--preset--font-size--small);margin-top:.3rem}
@media (max-width:599px){.bd-top__act .bd-btns{flex-direction:column;align-items:stretch}.bd-top__act .bd-btn{width:100%}}
/* buttons never widen a card; COI notice without a green rule */
.bd-btn{min-width:0;max-width:100%;white-space:normal;text-align:center}
@media (max-width:599px){.bd-pcard__act .bd-btn,.bd-shop li.product .bd-btn{padding:.45rem .5rem;font-size:13px;gap:.3rem}.bd-pcard__act .bd-btn .bd-ic,.bd-shop li.product .bd-btn .bd-ic{width:16px;height:16px;flex-basis:16px}}
aside.bd-coi,.bd-coi{border:1px solid var(--wp--preset--color--earth-gold);border-inline-start-width:1px}

/* closed phone menu must not take part in layout */
.bd-menu:not([open]) .bd-menu__panel{display:none}
/* v2.16: one rounded search box — the field inside the pill has no box of its own */
.bd-search__form input[type=search],.bd-search__form input[type=search]:focus{border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;min-height:0;height:auto;padding:.6rem 0!important}
.bd-search__form input[type=search]::-webkit-search-decoration,.bd-search__form input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}

/* ===================================================================== v2.17 — search without fill, badges top-right, discount tag, reviews slider */
.bd-search__form{background:var(--wp--preset--color--white);border-color:var(--wp--preset--color--earth-gold)}
.bd-search__form:focus-within{border-color:var(--wp--preset--color--deep-green);box-shadow:none}
.bd-flags,.bd-shop li.product .bd-flag,.bd-top__media .bd-flags,.bd-product .related li.product .bd-flag{inset-inline-start:auto;left:auto;right:var(--wp--preset--spacing--10);inset-inline-end:var(--wp--preset--spacing--10)}
.bd-shop li.product span.onsale,.bd-product .related li.product span.onsale,.woocommerce span.onsale{inset-inline-start:auto;inset-inline-end:var(--wp--preset--spacing--10)}
.bd-discount{display:inline-block;background:var(--wp--preset--color--sun-gold);color:var(--wp--preset--color--ink);font-size:var(--wp--preset--font-size--small);font-weight:700;padding:.05em .5em;border-radius:4px;font-family:var(--wp--preset--font-family--latin);vertical-align:middle;line-height:1.5}
.bd-pcard__price .bd-discount,.bd-top__price .bd-discount,.bd-shop ul.products .price .bd-discount{margin-inline-start:.2em}
.bd-reviews--slider{position:relative;padding-bottom:var(--wp--preset--spacing--50)}
.bd-reviews__track{list-style:none;margin:0;padding:0 0 .25rem;display:flex;gap:var(--wp--preset--spacing--30);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.bd-reviews__track::-webkit-scrollbar{display:none}
.bd-reviews--slider .bd-review{flex:0 0 calc((100% - 2 * var(--wp--preset--spacing--30)) / 3);scroll-snap-align:start;scroll-snap-stop:always}
.bd-reviews__dots{list-style:none;margin:var(--wp--preset--spacing--20) 0 0;padding:0;display:flex;justify-content:center;gap:.25rem}
.bd-reviews__dots a{display:block;width:44px;height:44px;position:relative}
.bd-reviews__dots a::before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:color-mix(in srgb,var(--wp--preset--color--earth-gold) 45%,transparent)}
.bd-reviews__dots a[aria-current]::before{background:var(--wp--preset--color--sun-gold)}
@media (max-width:1023px){.bd-reviews--slider .bd-review{flex-basis:calc((100% - var(--wp--preset--spacing--30)) / 2)}}
@media (max-width:599px){.bd-reviews--slider .bd-review{flex-basis:100%}}

/* §4.8.4 (v2.15): no rules between sections; reviews note follows the heading alignment (§4.9.2) */
.bd-section + .bd-section,.bd-section{border-top:0}
.bd-reviews__note,.bd-reviews h2{text-align:start}
/* §4.8.4: remaining 1px dividers (footer, product accordion) become a neutral Ink tint, never green */
.bd-footer__brand{border-bottom:0}
.bd-footer__facts,.bd-footer__bottom,.bd-accordion,.bd-accordion__item,.bd-accordion__item+.bd-accordion__item{border-color:color-mix(in srgb,var(--wp--preset--color--ink) 12%,transparent)}
/* §16.9.6 best-seller pill — top-left, Sun Gold emphasis; the round flags stay top-right */
.bd-flag--best,.bd-shop li.product .bd-flag--best,.bd-product .related li.product .bd-flag--best{position:absolute;top:var(--wp--preset--spacing--10);left:var(--wp--preset--spacing--10);inset-inline-start:var(--wp--preset--spacing--10);inset-inline-end:auto;right:auto;width:auto;height:auto;border-radius:999px;padding:.25rem .7rem;background:var(--wp--preset--color--sun-gold);color:var(--wp--preset--color--ink);font-size:var(--wp--preset--font-size--small);font-weight:700;line-height:1.3;white-space:nowrap;z-index:2}

/* v2.18: search submit is a bare icon — no green disc */
.bd-search__btn,.bd-search__btn:hover,.bd-search__btn:focus-visible{background:transparent;color:var(--wp--preset--color--forest-green);box-shadow:none}
.bd-search__btn:focus-visible{outline:var(--wp--custom--focus-ring);outline-offset:2px}
/* §6.10.10 review avatars — small round photo, or the initial on Deep Green */
.bd-avatar{--bd-avatar:44px;flex:0 0 var(--bd-avatar);width:var(--bd-avatar);height:var(--bd-avatar);border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;background:var(--wp--preset--color--warm-white)}
.bd-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:50%}
.bd-avatar--initial{background:var(--wp--preset--color--deep-green);color:var(--wp--preset--color--white);font-weight:700;font-size:calc(var(--bd-avatar) * .45);line-height:1}
.bd-review__who{display:flex;align-items:center;gap:.7rem;margin-top:auto}
.bd-review__who .bd-review__meta{margin:0}
.woocommerce-Reviews .comment_container{grid-template-columns:48px 1fr;column-gap:.8rem;align-items:start}
.woocommerce-Reviews .comment_container .bd-avatar{grid-row:1/3}
.woocommerce-Reviews .comment_container .comment-text{grid-column:2}

/* ===================================================================== §16.11.4a (v2.20) listing-style project cards */
.bd-projects__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--wp--preset--spacing--30);margin:0}
.bd-project--listing{padding:0;overflow:hidden;background:var(--wp--preset--color--white);border-radius:var(--wp--custom--radius--md);display:flex;flex-direction:column}
.bd-project--listing .bd-project__media{aspect-ratio:3/2;margin:0;border-radius:0;position:relative}
.bd-project__count{position:absolute;left:.6rem;bottom:.6rem;background:color-mix(in srgb,var(--wp--preset--color--ink) 70%,transparent);color:var(--wp--preset--color--white);font-size:var(--wp--preset--font-size--small);font-weight:600;padding:.15rem .55rem;border-radius:6px;font-family:var(--wp--preset--font-family--latin)}
.bd-project__body{display:flex;flex-direction:column;gap:.45rem;padding:var(--wp--preset--spacing--30);flex:1}
.bd-project__tags{margin:0;display:flex;flex-wrap:wrap;gap:.4rem}
.bd-tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.01em;padding:.2rem .55rem;border-radius:4px;border:1px solid transparent;line-height:1.3}
.bd-tag--status{background:var(--wp--preset--color--sun-gold);color:var(--wp--preset--color--ink)}
.bd-tag--type{background:var(--wp--preset--color--warm-white);color:var(--wp--preset--color--forest-green);border-color:var(--wp--preset--color--forest-green)}
.bd-tag--purpose{background:var(--wp--preset--color--white);color:var(--wp--preset--color--earth-gold);border-color:var(--wp--preset--color--earth-gold)}
.bd-tag--sold{background:var(--wp--preset--color--ink);color:var(--wp--preset--color--white)}
.bd-project--listing .bd-project__price{margin:0;font-size:var(--wp--preset--font-size--large);font-weight:700;color:var(--wp--preset--color--deep-green);line-height:1.2}
.bd-project__price-note{font-size:var(--wp--preset--font-size--medium);font-weight:600}
.bd-project--listing .bd-project__title{margin:0;font-size:var(--wp--preset--font-size--medium);min-height:0;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bd-project--listing .bd-project__title a{color:var(--wp--preset--color--ink);text-decoration:none}
.bd-project--listing .bd-project__title a:hover{text-decoration:underline}
.bd-project__loc{margin:0;color:var(--wp--preset--color--forest-green);font-size:var(--wp--preset--font-size--small)}
.bd-project__size{margin:0;display:flex;align-items:center;gap:.4rem;color:var(--wp--preset--color--ink);font-size:var(--wp--preset--font-size--small);padding-bottom:.6rem;border-bottom:1px solid color-mix(in srgb,var(--wp--preset--color--ink) 12%,transparent)}
.bd-project__size .bd-ic{color:var(--wp--preset--color--earth-gold)}
.bd-project__cta{margin-top:auto;width:100%}
.bd-project--sold .bd-project__price{color:var(--wp--preset--color--ink)}
.bd-block--land .bd-project--listing{border:1px solid color-mix(in srgb,var(--wp--preset--color--ink) 8%,transparent)}
@media (max-width:1023px){.bd-projects__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.bd-projects__grid{grid-template-columns:1fr}}

/* §4.8.4: placeholder blocks never carry a green border */
.bd-brand-block,.bd-brand-block--deep,.bd-brand-block--forest,.bd-brand-block--fresh{border-color:color-mix(in srgb,var(--wp--preset--color--ink) 12%,transparent)}

/* §5.2.6a wide clickable banner */
.bd-wide-wrap{padding-top:0!important;padding-bottom:0!important}
.bd-wide{display:block;aspect-ratio:var(--bd-wide-ratio,16/5);border-radius:var(--wp--custom--radius--md);overflow:hidden;background:var(--wp--preset--color--warm-white)}
.bd-wide img,.bd-wide .bd-brand-block{width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.bd-wide:focus-visible{outline:var(--wp--custom--focus-ring);outline-offset:3px}
/* phones honour the ratio the banner declares (§5.2.6a): the art is one composition, and a
   fixed 16/8 here crops the sides off anything taller — 16/8 stays the fallback only. */
@media (max-width:599px){.bd-wide{aspect-ratio:var(--bd-wide-ratio,16/8)}}

/* Land & Projects band: inner padding so content never touches the edge */
.bd-block--land{padding:var(--wp--preset--spacing--40) var(--wp--preset--spacing--40)!important}
.bd-block--land>*{margin-inline:0}
@media (max-width:599px){.bd-block--land{padding:var(--wp--preset--spacing--30) var(--wp--preset--spacing--20)!important}}

/* header row: logo left · search centred · utilities right (full 1280 width, not the content width) */
.bd-header__inner>.bd-header__row{max-width:none;width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--wp--preset--spacing--30);justify-content:stretch}
.bd-header__row .bd-header__logo{justify-self:start}
.bd-header__row .bd-search{justify-self:center;width:min(100%,640px);max-width:640px;flex:none}
.bd-header__row .bd-header__util{justify-self:end}
@media (max-width:1023px){.bd-header__inner>.bd-header__row{grid-template-columns:auto 1fr auto}.bd-header__row .bd-search{justify-self:end;width:auto}}

/* search exactly on the page axis: equal side tracks */
@media (min-width:1024px){.bd-header__inner>.bd-header__row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.bd-header__row .bd-search{width:640px}}

/* utility row (v2.22): icon over caption for all three; cart count as a bubble on the icon */
.bd-util .bd-util__link--cart{flex-direction:column;gap:.15rem;min-width:56px}
.bd-cart__icon{position:relative;display:inline-flex}
.bd-util .bd-cart__count{position:absolute;top:-6px;right:-10px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--wp--preset--color--sun-gold);color:var(--wp--preset--color--ink);font-size:11px;font-weight:700;line-height:18px;text-align:center;font-family:var(--wp--preset--font-family--latin)}
.bd-util .bd-cart__count[hidden]{display:none}
.bd-util__link--phone{flex-direction:column;font-family:var(--wp--preset--font-family--latin);font-weight:600;color:var(--wp--preset--color--deep-green)}
.bd-util__link--phone .bd-ic{color:var(--wp--preset--color--forest-green)}
@media (max-width:1023px){.bd-header__util>.bd-util>*:not(.bd-cart){display:none!important}.bd-header__util .bd-util__link--cart span:last-child{display:none}.bd-menu__util .bd-util__link--cart{display:none}}

/* ===================================================================== v2.22 vertical rhythm — standard ecommerce spacing */
.home main.wp-block-group{padding-top:var(--wp--preset--spacing--20)!important;padding-bottom:var(--wp--preset--spacing--40)!important}
main .bd-section{padding-top:var(--wp--preset--spacing--30)!important;padding-bottom:var(--wp--preset--spacing--30)!important;margin-top:var(--wp--preset--spacing--20)!important;margin-bottom:0!important}
main .bd-section:first-child{margin-top:0!important}
main .bd-section.bd-hero-row,main .bd-section.bd-wide-wrap{padding-top:0!important;padding-bottom:0!important}
main .bd-section h2,.bd-top__heading,.bd-healthy h2,.bd-reviews h2,.bd-block__head h2{font-size:clamp(1.35rem,2vw,1.65rem);line-height:1.25;margin:0 0 var(--wp--preset--spacing--20)}
.bd-block__head{margin-bottom:var(--wp--preset--spacing--20)}
.bd-block__head h2{margin-bottom:0}
.bd-block>p:not(.bd-block__more):not(.bd-healthy__sub){margin:0 0 var(--wp--preset--spacing--20)}
.bd-cats{margin:var(--wp--preset--spacing--20) 0 0}
.bd-healthy{padding:var(--wp--preset--spacing--30)!important}
.bd-healthy__sub{margin-bottom:var(--wp--preset--spacing--20)}
.bd-healthy__feature{margin-bottom:var(--wp--preset--spacing--20)}
.bd-block--land{padding:var(--wp--preset--spacing--30) var(--wp--preset--spacing--40)!important}
.bd-changing-note{margin:0 0 var(--wp--preset--spacing--20)}
.bd-trust-strip{padding-top:var(--wp--preset--spacing--20)!important;padding-bottom:var(--wp--preset--spacing--20)!important}
.bd-reviews h2{margin-top:0}
.bd-reviews__note{margin-bottom:var(--wp--preset--spacing--20)}
.bd-reviews--slider{padding-bottom:var(--wp--preset--spacing--30)!important}
.bd-products__all{margin:var(--wp--preset--spacing--20) 0 0}
@media (max-width:599px){main .bd-section{padding-top:var(--wp--preset--spacing--20)!important;padding-bottom:var(--wp--preset--spacing--20)!important}.bd-block--land{padding:var(--wp--preset--spacing--20)!important}}

/* ===================================================================== §6.4 product page (v2.24) */
.woocommerce-breadcrumb{font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--forest-green);margin:0 0 var(--wp--preset--spacing--20)}
.woocommerce-breadcrumb a{color:var(--wp--preset--color--forest-green)}
.bd-product .product{gap:var(--wp--preset--spacing--40) var(--wp--preset--spacing--50)}
.bd-product .woocommerce-product-gallery{opacity:1!important}
.bd-gallery-js{display:grid;grid-template-columns:76px minmax(0,1fr);gap:var(--wp--preset--spacing--20);align-items:start}
.bd-gallery__thumbs{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;align-content:start}
.bd-gallery__thumb{display:block;width:76px;height:76px;padding:0;border:1px solid color-mix(in srgb,var(--wp--preset--color--ink) 12%,transparent);border-radius:var(--wp--custom--radius--sm);overflow:hidden;background:var(--wp--preset--color--white);cursor:pointer}
.bd-gallery__thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bd-gallery__thumb.is-active{border-color:var(--wp--preset--color--deep-green);border-width:2px}
.bd-gallery-js .woocommerce-product-gallery__image{display:none}
.bd-gallery-js .woocommerce-product-gallery__image.is-active{display:block}
.bd-product .woocommerce-product-gallery__wrapper{margin:0;background:var(--wp--preset--color--white);border-radius:var(--wp--custom--radius--md);overflow:hidden}
.bd-product .summary .price{font-size:var(--wp--preset--font-size--x-large);margin:0 0 var(--wp--preset--spacing--20)}
.bd-product .summary>*+*{margin-top:var(--wp--preset--spacing--20)}
/* 6.4.4 stepper + four actions */
.bd-buy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:var(--wp--preset--spacing--20) 0 0}
.bd-qty{grid-column:1/-1;display:inline-flex;align-items:center;width:max-content;border:1px solid var(--wp--preset--color--forest-green);border-radius:6px;overflow:hidden;background:var(--wp--preset--color--white)}
.bd-qty__btn{width:44px;height:44px;border:0;background:transparent;color:var(--wp--preset--color--deep-green);font-size:1.25rem;line-height:1;cursor:pointer}
.bd-qty__btn:hover{background:var(--wp--preset--color--warm-white)}
.bd-qty .quantity{margin:0}
.bd-qty input.qty{width:56px;height:44px;border:0;border-inline:1px solid color-mix(in srgb,var(--wp--preset--color--ink) 12%,transparent);text-align:center;font:inherit;font-family:var(--wp--preset--font-family--latin);font-weight:600;background:transparent;-moz-appearance:textfield}
.bd-qty input.qty::-webkit-outer-spin-button,.bd-qty input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bd-buy .single_add_to_cart_button,.bd-buy .bd-btn{width:100%;min-height:48px;margin:0;border-radius:6px;font-size:var(--wp--preset--font-size--small);font-weight:700}
.bd-buy .single_add_to_cart_button{background:var(--wp--preset--color--deep-green);color:var(--wp--preset--color--white);border:1px solid var(--wp--preset--color--deep-green)}
.bd-buy .single_add_to_cart_button:hover{background:var(--wp--preset--color--forest-green)}
.bd-buy__now,.bd-buy .bd-btn--fill.bd-buy__now{background:var(--wp--preset--color--sun-gold);color:var(--wp--preset--color--ink);border-color:var(--wp--preset--color--sun-gold)}
.bd-buy__now:hover{background:var(--wp--preset--color--earth-gold);border-color:var(--wp--preset--color--earth-gold);color:var(--wp--preset--color--ink)}
.bd-btn--wa{background:var(--wp--preset--color--fresh-green);color:var(--wp--preset--color--ink);border-color:var(--wp--preset--color--fresh-green)}
.bd-btn--wa:hover{background:var(--wp--preset--color--leaf-green);border-color:var(--wp--preset--color--leaf-green)}
.bd-btn--call{background:var(--wp--preset--color--forest-green);color:var(--wp--preset--color--white);border-color:var(--wp--preset--color--forest-green)}
.bd-btn--call:hover{background:var(--wp--preset--color--deep-green);border-color:var(--wp--preset--color--deep-green)}
.woocommerce-variation-add-to-cart-disabled .bd-btn,.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button{opacity:.5;pointer-events:none}
/* 6.4.8 tabs */
.bd-tabs{grid-column:1/-1;margin-top:var(--wp--preset--spacing--40)}
.bd-tabs__list{display:flex;flex-wrap:wrap;gap:.4rem;border-bottom:1px solid color-mix(in srgb,var(--wp--preset--color--ink) 12%,transparent);margin-bottom:var(--wp--preset--spacing--30)}
.bd-tabs__tab{display:inline-flex;align-items:center;min-height:44px;padding:0 1.1rem;border-radius:6px 6px 0 0;text-decoration:none;font-weight:700;font-size:var(--wp--preset--font-size--small);color:var(--wp--preset--color--forest-green);background:var(--wp--preset--color--warm-white);border:1px solid transparent;border-bottom:0;margin-bottom:-1px;cursor:pointer}
.bd-tabs__tab:hover{color:var(--wp--preset--color--deep-green)}
.bd-tabs__tab.is-active,.bd-tabs__tab[aria-selected="true"]{background:var(--wp--preset--color--white);color:var(--wp--preset--color--deep-green);border-color:color-mix(in srgb,var(--wp--preset--color--ink) 12%,transparent);box-shadow:inset 0 3px 0 0 var(--wp--preset--color--sun-gold)}
.bd-tabs__panel{background:var(--wp--preset--color--white);border-radius:0 var(--wp--custom--radius--md) var(--wp--custom--radius--md);padding:var(--wp--preset--spacing--30)}
.bd-tabs__panel+.bd-tabs__panel{margin-top:var(--wp--preset--spacing--20)}
.bd-tabs--js .bd-tabs__panel+.bd-tabs__panel{margin-top:0}
.bd-tabs--js .bd-tabs__title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.bd-tabs__title{margin:0 0 var(--wp--preset--spacing--20);font-size:var(--wp--preset--font-size--large)}
/* 6.4.9 rating summary */
.bd-rsum{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--wp--preset--spacing--40);align-items:center;padding:0 0 var(--wp--preset--spacing--30);margin-bottom:var(--wp--preset--spacing--30);border-bottom:1px solid color-mix(in srgb,var(--wp--preset--color--ink) 12%,transparent)}
.bd-rsum__avg{text-align:center}
.bd-rsum__avg strong{display:block;font-size:3rem;line-height:1;color:var(--wp--preset--color--deep-green)}
.bd-rsum__avg .star-rating{margin:.35rem auto}
.bd-rsum__count,.bd-rsum__rec{margin:.2rem 0 0;font-size:var(--wp--preset--font-size--small)}
.bd-rsum__rec{color:var(--wp--preset--color--forest-green);font-weight:600}
.bd-rsum__bars{list-style:none;margin:0;padding:0;display:grid;gap:.35rem;min-width:0}
.bd-rsum__bars li{display:grid;grid-template-columns:3.2em minmax(0,1fr) 3em;align-items:center;gap:.6rem;font-size:var(--wp--preset--font-size--small)}
.bd-rsum__star{color:var(--wp--preset--color--sun-gold);font-weight:700;white-space:nowrap}
.bd-rsum__bar{display:block;height:10px;border-radius:999px;background:var(--wp--preset--color--warm-white);overflow:hidden}
.bd-rsum__bar>span{display:block;height:100%;background:var(--wp--preset--color--sun-gold)}
.bd-rsum__pct{text-align:end;color:var(--wp--preset--color--ink)}
/* 6.4.10 related */
.bd-related{grid-column:1/-1;margin-top:var(--wp--preset--spacing--40)}
@media (max-width:767px){
	.bd-gallery-js{grid-template-columns:1fr}
	.bd-gallery__thumbs{grid-auto-flow:column;grid-auto-columns:64px;overflow-x:auto;order:2;margin-top:.5rem}
	.bd-gallery__thumb{width:64px;height:64px}
	.bd-buy{grid-template-columns:1fr}
	.bd-rsum{grid-template-columns:1fr;gap:var(--wp--preset--spacing--20);text-align:start}
	.bd-tabs__tab{padding:0 .8rem}
}
/* v2.24 fixes: the action grid fills the summary column; disabled state stays legible (no opacity) */
.woocommerce-variation-add-to-cart,.bd-product form.cart{display:block;width:100%}
.bd-buy{width:100%}
.woocommerce-variation-add-to-cart-disabled .bd-btn,.woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button{opacity:1;pointer-events:none;background:var(--wp--preset--color--warm-white);color:var(--wp--preset--color--forest-green);border-color:var(--wp--preset--color--forest-green)}
.woocommerce-variation-add-to-cart-disabled .bd-btn .bd-ic{color:var(--wp--preset--color--forest-green)}
/* only the cart actions wait for a variation — ordering by WhatsApp or phone is always available */
.woocommerce-variation-add-to-cart-disabled .bd-buy .bd-btn.bd-buy__now{background:var(--wp--preset--color--warm-white);color:var(--wp--preset--color--forest-green);border-color:var(--wp--preset--color--forest-green);pointer-events:none}
.woocommerce-variation-add-to-cart-disabled .bd-buy .bd-btn.bd-btn--wa{background:var(--wp--preset--color--fresh-green);color:var(--wp--preset--color--ink);border-color:var(--wp--preset--color--fresh-green);pointer-events:auto}
.woocommerce-variation-add-to-cart-disabled .bd-buy .bd-btn.bd-btn--call{background:var(--wp--preset--color--forest-green);color:var(--wp--preset--color--white);border-color:var(--wp--preset--color--forest-green);pointer-events:auto}
.woocommerce-variation-add-to-cart-disabled .bd-buy .bd-btn.bd-btn--wa .bd-ic{color:var(--wp--preset--color--ink)}
.woocommerce-variation-add-to-cart-disabled .bd-buy .bd-btn.bd-btn--call .bd-ic{color:var(--wp--preset--color--white)}
/* hero photographs carry their headline on the left — crop from the right when the box is narrower than 2.25:1 */
.bd-hero2__img{object-position:left center}

/* §4.8.3: Earth Gold is a border/accent, never small body text on white — the purpose tag reads in Forest Green */
.bd-tag--purpose{color:var(--wp--preset--color--forest-green);border-color:var(--wp--preset--color--earth-gold)}

/* §17 — the Top Selling card thumbnail is ~100px below 1024px, where the corner-pinned
   বেশি বিক্রি pill (~74px) and the round flag stack (64px) collide and bury the product.
   Stack them down the left edge and scale them to the smaller thumbnail instead. */
@media (max-width:1023px){
	.bd-top__media .bd-flag--best{padding:.15rem .5rem;font-size:.72rem;line-height:1.25}
	.bd-top__media .bd-flags{left:var(--wp--preset--spacing--10);right:auto;inset-inline-start:var(--wp--preset--spacing--10);inset-inline-end:auto;flex-direction:row;gap:4px}
	.bd-top__media:has(.bd-flag--best) .bd-flags{top:calc(var(--wp--preset--spacing--10) + 28px)}
	.bd-top__media .bd-flags .bd-flag{width:36px;height:36px;font-size:.62rem;padding:2px}
}

/* §17 — these three declare or inherit a box under 44px once the row gets tight on mobile:
   the search submit shrinks as a flex item, and both logo links wrap art shorter than 44px. */
.bd-search__btn{flex:0 0 44px;align-self:center}
.bd-header__logo,.bd-footer__logo{display:inline-flex;align-items:center;min-height:44px}


/* ===================================================================== §4.8.3 (v2.27, client ruling)
   Gold is never a text colour on white or Warm White. §4.1.3 holds with no exception,
   which also closes §4.1.7: Deep Green (4.27:1 on Warm White) may not carry normal-size
   text on that surface — Forest Green (9.39:1) does instead. */

/* Price: Ink or Deep Green, weight 600. Cards sit on white, where Deep Green is 4.52:1. */
.bd-pcard__price,.bd-top__price,.bd-shop ul.products .price,.bd-product .summary .price,.bd-price-chip{font-weight:600}
/* Sale: current price Ink, old price Ink at 60% struck through. */
.bd-pcard__price ins,.bd-top__price ins,.bd-shop ul.products .price ins,.bd-product .summary .price ins{color:var(--wp--preset--color--ink);font-weight:600;text-decoration:none}
.bd-pcard__price del,.bd-top__price del,.bd-shop ul.products .price del,.bd-product .summary .price del{color:var(--wp--preset--color--ink);opacity:.6;font-weight:400;text-decoration-color:currentColor}

/* Rating: the star glyphs are icon glyphs and stay gold; the numbers and words beside them are text. */
span.rating,strong.rating,.woocommerce-review-link,.bd-rsum__count,.bd-rsum__meta{color:var(--wp--preset--color--ink)}
.star-rating,.star-rating::before,.star-rating span::before,.bd-rsum__star{color:var(--wp--preset--color--sun-gold)}
.star-rating::before{color:var(--wp--preset--color--earth-gold)}


/* §4.1.7 resolution — Deep Green text on Warm White surfaces moves to Forest Green. */
.bd-block__more a{color:var(--wp--preset--color--forest-green)}
.bd-util__link--phone,.bd-header__phone-label,.bd-phone-number{color:var(--wp--preset--color--forest-green)}
.bd-footer{--bd-footer-link:var(--wp--preset--color--slate)}
.bd-footer.bd-footer--dark{--bd-footer-link:var(--wp--preset--color--white)}

/* §4.8.3 / §4.1.7 — surfaces that are Warm White rather than white: Deep Green drops to 4.27:1 there,
   so the price takes Ink (the ruling's other permitted price colour) and links take Forest Green. */
.bd-shop ul.products .price,.bd-shop ul.products .price bdi,.bd-shop ul.products .price .woocommerce-Price-currencySymbol{color:var(--wp--preset--color--ink)}
.bd-shop ul.products .price del,.bd-shop ul.products .price del bdi{color:var(--wp--preset--color--ink);opacity:.6}
.woocommerce-pagination .page-numbers a,.woocommerce-pagination a.page-numbers,a.page-numbers{color:var(--wp--preset--color--forest-green)}
.bd-delivery-note a{color:var(--wp--preset--color--forest-green)}

/* ===================================================================== §16.11.8 (v2.27, client ruling) — card as target */

/* 16.11.8.1 — stretched link on the title. border-box + a transparent resting border keeps
   the card's outer geometry identical to §16.11.6 while leaving a border to recolour (16.11.8.4). */
.bd-pcard,.bd-top__card,.bd-project--listing,.bd-cat,.bd-guide-card{position:relative}
/* The recolouring border rides on a zero-layout overlay: a real border on the card itself
   adds up to 2px of height to an auto-sized card and would break §16.11.8.1. */
.bd-pcard::before,.bd-top__card::before,.bd-project--listing::before,.bd-cat::before,.bd-guide-card::before{content:"";position:absolute;inset:0;border:1px solid transparent;border-radius:inherit;pointer-events:none;z-index:3;transition:border-color var(--wp--custom--motion--duration) ease-in-out}
/* Cards that carry no padding or surface of their own (.bd-pcard, .bd-cat, .bd-guide-card):
   at inset:0 the overlay lands directly on the product name and price. Push it outward by the
   --card--hover-gap token instead of padding the card: the overlay is absolutely positioned and
   pointer-events:none, so card geometry stays byte-identical (§16.11.8.4). The gap is half the
   narrowest grid gutter (spacing--20), so neighbouring borders never meet.
   .bd-top__card and .bd-project--listing keep inset:0 — they have their own padded white surface
   and the border belongs on its edge. */
.bd-cat::before,.bd-guide-card::before{inset:calc(-1 * var(--wp--custom--card--hover-gap));border-radius:var(--wp--custom--radius--md)}
.bd-pcard__name a::after,.bd-top__name a::after,.bd-project__title a::after,.bd-guide-card .wp-block-post-title a::after{content:"";position:absolute;inset:0;z-index:1}

/* 16.11.8.2 — interactive children sit above the stretched link and stay independent targets.
   The category label gets a 44px hit box absorbed by negative margin, so card rhythm is unchanged. */
.bd-pcard__cat,.bd-pcard__act,.bd-pcard__stars,.bd-pcard__journey,
.bd-top__act,.bd-top__body .bd-journey,
.bd-project__cta,.bd-project__tags,
.bd-guide-card .wp-block-post-terms,.bd-guide-card .wp-block-post-excerpt__more-link{position:relative;z-index:2}
.bd-pcard__cat,.bd-shop .bd-pcard__cat{display:inline-flex;align-items:center;min-height:44px;margin-block:-10px}
/* §6.9.11 (v2.28) — the journey pill is a link to {product_url}#journey: raised above the
   stretched link, its own 44px target and tab stop. Hit box only; card rhythm unchanged. */
.bd-pcard__journey{position:relative;z-index:2;display:inline-flex;align-items:center;min-height:44px;margin-block:-9px;text-decoration:none}
.bd-pcard__journey:hover,.bd-pcard__journey:focus-visible{text-decoration:underline}
/* guide-card children are block-generated; same treatment — 44px hit box, rhythm absorbed by negative margin */
.bd-guide-card .wp-block-post-terms a,.bd-guide-card .wp-block-post-excerpt__more-link{display:inline-flex;align-items:center;min-height:44px;margin-block:-11px}
.bd-guide-card .wp-block-post-excerpt__more-link{min-width:44px;justify-content:center}

/* 16.11.8.3 — the title is the accessible link; the ring is drawn on the whole card. */
.bd-pcard:has(.bd-pcard__name a:focus-visible),
.bd-top__card:has(.bd-top__name a:focus-visible),
.bd-project--listing:has(.bd-project__title a:focus-visible),
.bd-guide-card:has(.wp-block-post-title a:focus-visible),
.bd-cat:has(a:focus-visible){outline:var(--wp--custom--focus-ring);outline-offset:2px;border-radius:var(--wp--custom--radius--md)}
.bd-pcard__name a:focus-visible,.bd-top__name a:focus-visible,.bd-project__title a:focus-visible,
.bd-guide-card .wp-block-post-title a:focus-visible,.bd-cat a:focus-visible{outline:none}

/* 16.11.8.4 — hover/focus is a border colour change only: no lift, no shadow growth (§4.6.4). */
.bd-pcard:hover,.bd-top__card:hover,.bd-project--listing:hover,.bd-cat:hover,.bd-guide-card:hover,
.bd-pcard:has(.bd-pcard__name a:focus-visible),
.bd-top__card:has(.bd-top__name a:focus-visible),
.bd-project--listing:has(.bd-project__title a:focus-visible),
.bd-guide-card:has(.wp-block-post-title a:focus-visible),
.bd-cat:has(a:focus-visible){transform:none;box-shadow:none}
.bd-pcard:hover::before,.bd-top__card:hover::before,.bd-project--listing:hover::before,.bd-cat:hover::before,.bd-guide-card:hover::before,
.bd-pcard:has(.bd-pcard__name a:focus-visible)::before,
.bd-top__card:has(.bd-top__name a:focus-visible)::before,
.bd-project--listing:has(.bd-project__title a:focus-visible)::before,
.bd-guide-card:has(.wp-block-post-title a:focus-visible)::before,
.bd-cat:has(a:focus-visible)::before{border-color:var(--wp--preset--color--deep-green);border-color:var(--wp--custom--card--hover-border)}

/* §17 — the last targets under 44px: section "সব দেখুন →" links sit at ~27px, and short
   Bengali footer labels are 44px tall but only 23-43px wide. Hit box only; rhythm absorbed. */
.bd-block__more a{display:inline-flex;align-items:center;min-height:44px;margin-block:-9px}
.bd-footer__links a{min-width:44px}

/* ===================================================================== §5.2.2 (v2.28, client ruling)
   Category bar: white on Forest Green, no pills and no gold anywhere in navigation.
   রিয়েল এস্টেট and জানুন right-aligned after a 1px divider at 20% white. */
.bd-catbar-wrap{background:var(--wp--preset--color--forest-green)}
.bd-catbar a,.bd-catbar li:nth-last-child(-n+2) a{color:var(--wp--preset--color--white);background:transparent;border-radius:0;padding-inline:var(--wp--preset--spacing--30)}
.bd-catbar a:hover,.bd-catbar a:focus-visible,
.bd-catbar li:nth-last-child(-n+2) a:hover,.bd-catbar li:nth-last-child(-n+2) a:focus-visible{color:var(--wp--preset--color--white);background:var(--wp--preset--color--deep-green)}
/* current item: underline in white, never gold */
.bd-catbar a[aria-current]{border-bottom-color:var(--wp--preset--color--white)}
/* the divider sits before রিয়েল এস্টেট, which starts the right-aligned pair */
.bd-catbar li:nth-last-child(2){margin-inline-start:auto;border-inline-start:1px solid rgb(255 255 255 / .2)}
.bd-catbar li:nth-last-child(2) a{margin-inline-start:0}
@media (min-width:1024px){.bd-catbar li:last-child a{padding-inline-end:0}}

/* Mobile: the same two sit at the bottom of the menu sheet under a thin rule. */
.bd-menu__cats li:nth-last-child(2){margin-top:var(--wp--preset--spacing--10);padding-top:var(--wp--preset--spacing--10);border-top:1px solid rgb(30 30 30 / .14)}  /* Ink at 14% — the sheet is white, so Warm White would be invisible */

/* ===================================================================== §5.2.2 (v2.31, client ruling)
   Navigation surface is Slate, not Forest Green. White on Slate is 14.83:1.
   Green stays an accent and never returns to the bar (§4.8.2, §5.2.2 v2.28). */
.bd-catbar-wrap{background:var(--wp--preset--color--slate)}
.bd-catbar a,.bd-catbar li:nth-last-child(-n+2) a{color:var(--wp--preset--color--white);background:transparent}
.bd-catbar a:hover,.bd-catbar a:focus-visible,
.bd-catbar li:nth-last-child(-n+2) a:hover,.bd-catbar li:nth-last-child(-n+2) a:focus-visible{background:color-mix(in srgb,var(--wp--preset--color--white) 14%,var(--wp--preset--color--slate));color:var(--wp--preset--color--white)}
.bd-catbar a[aria-current]{border-bottom-color:var(--wp--preset--color--white)}

/* Search placeholder in Slate. Kept at reduced opacity so it still reads as a hint
   rather than typed text — at full strength it is 14.83:1 against the white field. */
.bd-search__form input[type=search]::placeholder{color:var(--wp--preset--color--slate);opacity:.55}

/* ===================================================================== §4.1.8 / §5.2.1 (v2.31, client ruling)
   Search field boundary in Slate — 14.83:1 against the white field, well past the 3:1
   that WCAG 1.4.11 asks of a UI component boundary (Earth Gold was 2.9:1). */
.bd-search__form{border-color:var(--wp--preset--color--slate)}

/* All footer text is Slate, links included. With link and body text now the same colour,
   colour alone no longer identifies a link, so footer links carry a permanent underline
   (WCAG 1.4.1). The 44px target from §17 is unchanged. */
.bd-footer a{text-decoration:underline;text-underline-offset:.2em}
.bd-footer a:hover,.bd-footer a:focus-visible{text-decoration-thickness:2px}

/* ===================================================================== slider dots (v2.31)
   §17 fixes the tap target at 44px, so the pitch cannot drop below 44px without the targets
   overlapping. The lever for perceived spacing is the visible dot: drop the gap to zero and
   grow the dot, which takes the visible gap from 39px to 26px with the target untouched. */
/* v2.32 (client ruling): 10px dots in Slate with a 10px gap. The gap is carried by the target
   box rather than `gap`, so each target is 20px wide instead of 10px — the widest possible at a
   20px pitch — and 44px tall, keeping full vertical tolerance. Logged as a §17 exception. */
.bd-hero2__dots,.bd-reviews__dots{gap:0}
.bd-hero2__dots a,.bd-reviews__dots a{width:20px;height:44px}
.bd-hero2__dots a::before,.bd-reviews__dots a::before{width:10px;height:10px;margin:-5px;border-radius:50%;
	background:var(--wp--preset--color--slate);opacity:.35;box-shadow:none}
.bd-hero2__dots a[aria-current]::before,.bd-reviews__dots a[aria-current]::before{width:10px;height:10px;margin:-5px;
	border-radius:50%;background:var(--wp--preset--color--slate);opacity:1}
/* the hero dots sit on photography, so keep a hairline so Slate stays visible on dark frames */
.bd-hero2__dots a::before{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--wp--preset--color--white) 70%,transparent)}

/* ===================================================================== §5.2.3 side banner (v2.31)
   The banner's height is the hero's (§5.2.3: both cards match at every width), so its ratio is
   (banner_fr / hero_fr) x the hero's 2.25. At 2fr:1fr that was 1.125, which cover-cropped 12.5%
   off each side of a 3:2 banner — taking the CTA with it. 3fr:2fr makes the slot exactly 3:2,
   so the art shows whole, the hero keeps its 2.25, and the equal-height rule is untouched. */
@media (min-width:1024px){.bd-hero-row{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}
@media (max-width:1023px){.bd-banner{aspect-ratio:3/2}}
/* the art is landscape and edge-to-edge, so centre the cover rather than anchoring to the top
   (the top anchor was for the portrait banner this replaces) */
.bd-banner--image .bd-banner__media img{object-position:center}

/* §6.10.10 (v2.32) — neutral silhouette avatar when no consented photo exists. */
.bd-avatar--icon{background:var(--wp--preset--color--warm-white);color:var(--wp--preset--color--slate);
	display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--wp--preset--color--slate) 18%,transparent)}
.bd-avatar--icon svg{width:62%;height:62%;display:block}

/* §4.1.3 — the required marker was Deep Green (4.27:1 on Warm White). Fixed at source on both
   rules above; this catch-all covers markers WooCommerce renders outside .form-row. */
.required,abbr.required{color:var(--wp--preset--color--forest-green)}


/* ===================================================================== §16.11.6 card anatomy
   (v2.33, client ruling — compact card). One anatomy for every product card: the homepage rows,
   Healthy Living, the /shop/ loop and the related-products row. Top Selling keeps its horizontal
   layout but takes the same border, badge, price and button.
   Budget: media 1:1 + label + two name lines + price row + 44px button inside 12px padding. */

.bd-pcard,
.bd-shop ul.products li.product,
.bd-product .related ul.products li.product,
.bd-top__card{
	background:var(--wp--preset--color--white);
	border:1px solid var(--wp--custom--card--border);
	border-radius:var(--wp--custom--radius--md);
	padding:var(--wp--custom--card--pad);
}
/* The §16.11.8.4 hover overlay now coincides with that real border instead of sitting inside it:
   absolute offsets resolve against the padding box, so -1px puts the overlay's 1px border exactly
   over the card's own. Hover still changes colour only — no geometry moves. */
.bd-pcard::before,
.bd-shop ul.products li.product::before,
.bd-product .related ul.products li.product::before,
.bd-top__card::before{inset:-1px;border-radius:var(--wp--custom--radius--md)}
.bd-shop ul.products li.product,.bd-product .related ul.products li.product{position:relative}
.bd-shop ul.products li.product::before,.bd-product .related ul.products li.product::before{
	content:"";position:absolute;border:1px solid transparent;pointer-events:none;z-index:3;
	transition:border-color var(--wp--custom--motion--duration) ease-in-out}
.bd-shop ul.products li.product:hover::before,.bd-product .related ul.products li.product:hover::before{
	border-color:var(--wp--preset--color--deep-green);border-color:var(--wp--custom--card--hover-border)}

/* Media: square, cropped, flush to the card's inner edge. */
.bd-pcard__media,
.bd-shop ul.products li.product a img,
.bd-product .related ul.products li.product a img{border-radius:var(--wp--custom--radius--sm)}
.bd-pcard__media{aspect-ratio:1/1;margin-bottom:var(--wp--preset--spacing--10)}
.bd-shop ul.products li.product img,
.bd-product .related ul.products li.product img{aspect-ratio:1/1;object-fit:cover}

/* Badge — top-left inside the media, Sun Gold on Ink (§4.8.3). Compact pill, not a disc:
   a 56px disc eats a quarter of a 137px-wide phone card. */
.bd-flag,
.bd-shop li.product span.onsale,
.bd-product .related li.product span.onsale{
	width:auto;height:auto;border-radius:999px;padding:.2rem .55rem;
	background:var(--wp--preset--color--sun-gold);color:var(--wp--preset--color--ink);
	font-size:var(--wp--preset--font-size--small);font-weight:600;line-height:1.3;white-space:nowrap}
.bd-flag--new{background:var(--wp--preset--color--sun-gold);color:var(--wp--preset--color--ink)}
/* Both badge containers are absolutely positioned at the media's top-left; a flex column would
   stretch each pill to the card width, so they hug their text and stack under the best-seller pill.
   §16.11.6 v2.33 moves them back to the left, superseding the v2.x "round flags stay top-right"
   rule above — which set right/inset-inline-end, so both have to be cleared here. */
.bd-flags,.bd-top__media .bd-flags,.bd-shop li.product .bd-flag,.bd-product .related li.product .bd-flag{
	top:var(--wp--preset--spacing--10);
	left:var(--wp--preset--spacing--10);inset-inline-start:var(--wp--preset--spacing--10);
	right:auto;inset-inline-end:auto;
	align-items:flex-start;width:auto;gap:4px}
/* the compact pill replaces the 56px disc everywhere, including the top card's 36px variant */
.bd-top__media .bd-flags .bd-flag,.bd-shop li.product .bd-flag,.bd-pcard .bd-flag{
	width:auto;height:auto;padding:.2rem .55rem;font-size:var(--wp--preset--font-size--small)}
.bd-flag{align-self:flex-start;width:auto;max-width:calc(100% - 2 * var(--wp--preset--spacing--10))}
.bd-flag--best,.bd-shop li.product .bd-flag--best,.bd-product .related li.product .bd-flag--best{
	padding:.2rem .55rem;font-size:var(--wp--preset--font-size--small);font-weight:600}
/* when a card carries the best-seller pill, the round-flag column starts below it */
.bd-pcard:has(.bd-flag--best) .bd-flags,.bd-shop li.product:has(.bd-flag--best) .bd-flags,
.bd-top__card:has(.bd-flag--best) .bd-flags{top:calc(var(--wp--preset--spacing--10) + 30px)}
.bd-shop li.product:has(.onsale) .bd-flag--new{top:auto}

/* Type: name two lines reserved, price one line. */
.bd-pcard__name,.bd-shop ul.products li.product h2,.bd-shop ul.products li.product .woocommerce-loop-product__title{
	font-size:15px;line-height:1.4;font-weight:500;min-height:2.8em;margin:0 0 var(--wp--preset--spacing--10);
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bd-pcard__price,.bd-top__price,.bd-shop ul.products .price,.bd-product .related ul.products .price{
	color:var(--wp--preset--color--ink);font-weight:600;font-size:16px;line-height:1.3;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd-pcard__row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:nowrap}

/* Journey — icon only beside the price (§6.9.11 target and tab stop unchanged). */
.bd-pcard__journey--icon{
	flex:0 0 auto;width:var(--wp--custom--control--height);min-width:var(--wp--custom--control--height);margin-block:-13px;padding:0;
	display:inline-flex;align-items:center;justify-content:center;
	background:transparent;border:1px solid var(--wp--custom--card--border);border-radius:50%;
	color:var(--wp--preset--color--forest-green);font-size:15px;text-decoration:none}
.bd-pcard__journey--icon:hover,.bd-pcard__journey--icon:focus-visible{
	background:var(--wp--preset--color--warm-white);border-color:var(--wp--preset--color--deep-green);text-decoration:none}

/* Action — one full-width outline button that fills on hover/focus. */
.bd-pcard__act,.bd-top__act{margin-top:.4rem}
.bd-pcard__act .bd-btns,.bd-top__act .bd-btns,.bd-shop li.product .bd-btns{display:block}
.bd-pcard .bd-btn--outline,.bd-top__card .bd-btn--outline,.bd-shop li.product .bd-btn--outline,
.bd-shop ul.products li.product a.button,.bd-product .related ul.products li.product a.button{
	display:inline-flex;align-items:center;justify-content:center;gap:.4rem;width:100%;
	min-height:44px;padding:.4rem .6rem;font-size:14px;font-weight:500;
	background:transparent;color:var(--wp--preset--color--deep-green);
	border:1px solid var(--wp--preset--color--deep-green);border-radius:var(--wp--custom--radius--sm);
	text-decoration:none;transition:background-color var(--wp--custom--motion--duration) ease-in-out,color var(--wp--custom--motion--duration) ease-in-out}
.bd-pcard .bd-btn--outline:hover,.bd-pcard .bd-btn--outline:focus-visible,
.bd-top__card .bd-btn--outline:hover,.bd-top__card .bd-btn--outline:focus-visible,
.bd-shop li.product .bd-btn--outline:hover,.bd-shop li.product .bd-btn--outline:focus-visible,
.bd-shop ul.products li.product a.button:hover,.bd-shop ul.products li.product a.button:focus-visible,
.bd-product .related ul.products li.product a.button:hover{
	background:var(--wp--preset--color--deep-green);color:var(--wp--preset--color--white);
	border-color:var(--wp--preset--color--deep-green)}

/* Top Selling keeps its horizontal split; only the shared parts change. */
.bd-top__card .bd-pcard__row{margin-top:var(--wp--preset--spacing--10)}


/* ===================================================================== §16.11.7 Healthy Living slider
   (v2.33, client ruling). Same mechanism as the §5.2.3 hero: native scroll-snap carries the motion,
   the dots are anchors that work with JS off, prev/next are revealed only once hero.js runs, and
   nothing autoplays (§4.6.4). Per view: 4 at 1024+, 3 at 782+, 1.2 on a phone so the next card peeks. */
.bd-healthy__slider{--bd-per:1.2;position:relative}
.bd-healthy__track.bd-products{
	display:flex;gap:var(--wp--preset--spacing--20);margin:var(--wp--preset--spacing--20) 0 0;
	overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
	scrollbar-width:none;-webkit-overflow-scrolling:touch;
	/* the peeking card must not be clipped by the section's own padding */
	padding-bottom:var(--wp--preset--spacing--10)}
.bd-healthy__track.bd-products::-webkit-scrollbar{display:none}
.bd-healthy__track > .bd-pcard{
	flex:0 0 calc((100% - (var(--bd-per) - 1) * var(--wp--preset--spacing--20)) / var(--bd-per));
	scroll-snap-align:start}
@media (min-width:782px){.bd-healthy__slider{--bd-per:3}}
@media (min-width:1024px){.bd-healthy__slider{--bd-per:4}}
@media (prefers-reduced-motion:reduce){.bd-healthy__track.bd-products{scroll-behavior:auto}}

.bd-healthy__nav{display:flex;align-items:center;justify-content:center;gap:var(--wp--preset--spacing--10);margin-top:var(--wp--preset--spacing--20)}
/* a track that fits at this width is not a slider (hero.js sets data-static) */
.bd-healthy__slider[data-static] .bd-healthy__nav{display:none}
/* prev/next need JS to know where the track is, so they appear only once it has run */
.bd-healthy__arrow{display:none}
.bd-healthy__slider[data-js] .bd-healthy__arrow{
	display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;
	background:transparent;color:var(--wp--preset--color--forest-green);
	border:1px solid var(--wp--custom--card--border);border-radius:50%;font-size:20px;line-height:1;cursor:pointer;
	transition:background-color var(--wp--custom--motion--duration) ease-in-out}
.bd-healthy__slider[data-js] .bd-healthy__arrow:hover,.bd-healthy__slider[data-js] .bd-healthy__arrow:focus-visible{
	background:var(--wp--preset--color--warm-white);border-color:var(--wp--preset--color--deep-green)}
.bd-healthy__dots{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0}
.bd-healthy__dots a{position:relative;display:block;width:20px;height:44px}
.bd-healthy__dots a::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;
	border-radius:50%;background:var(--wp--preset--color--slate);opacity:.35;
	transition:opacity var(--wp--custom--motion--duration) ease-in-out}
.bd-healthy__dots a[aria-current]::before{opacity:1}
@media (prefers-reduced-motion:reduce){.bd-healthy__dots a::before{transition:none}}


/* ===================================================================== §5.4 Offer Zone (v2.35)
   The strip and the /offers/ grid reuse the §16.11.6a card unchanged — an offer is the same product,
   so it must not look like a different kind of thing. Only the band around it is new. */
.bd-offers{background:var(--wp--preset--color--white);border-radius:var(--wp--custom--radius--md);
	padding:var(--wp--preset--spacing--30)}
.bd-offers .bd-block__head h2{color:var(--wp--preset--color--forest-green)}
.bd-offers__lead{margin:0 0 var(--wp--preset--spacing--20)}
.bd-offers__row.bd-products,.bd-offers__grid.bd-products{margin-top:var(--wp--preset--spacing--20)}


/* ---------------------------------------------------------- §5.4.3 card offer strip (v2.36)
   One line under the price. It carries the saving, any non-price offer note, and the end date, so
   it must stay quiet enough not to compete with the price itself. */
/* §16.11.6a.7 — the strip is one line. With a discount label present the row never wraps: the label
   and the end date are fixed, and the note takes the remainder with an ellipsis. With no discount
   label the note may run to a second line, clamped there. */
.bd-offer-strip{display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem .5rem;
	margin:.2rem 0 0;font-size:12px;line-height:1.35;min-width:0}
/* A nowrap row sets a min-content floor, and a grid item defaults to min-width:auto — together they
   widened every card to fit the longest strip and pushed the phone layout into horizontal scroll.
   The card and the strip must both be allowed to shrink, and the strip must clip rather than push. */
.bd-pcard,.bd-shop ul.products li.product,.bd-product .related ul.products li.product{min-width:0}
.bd-offer-strip--has-discount{flex-wrap:nowrap;overflow:hidden}
.bd-offer-strip--has-discount .bd-offer__save{flex:0 0 auto;white-space:nowrap}
/* the saving is the one part that never truncates; the end date gives way before the note does */
.bd-offer-strip--has-discount .bd-offer__until{flex:0 1 auto;min-width:0;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bd-offer-strip--has-discount .bd-offer__note{flex:1 1 0;min-width:0;
	white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* A truncated fragment ("অ…", a stray "২") says less than nothing, and on a 147px phone card there
   is no room for all three. So parts drop whole, in priority order — saving, then end date, then
   note — rather than being chopped. Container queries, because the deciding width is the card's,
   not the viewport's: the same card is 147px in a 2-up grid and 256px in the slider. */
.bd-pcard,.bd-shop ul.products li.product,.bd-product .related ul.products li.product{container-type:inline-size}
@container (max-width: 250px){.bd-offer-strip--has-discount .bd-offer__note{display:none}}
@container (max-width: 195px){.bd-offer-strip--has-discount .bd-offer__until{display:none}}
.bd-offer-strip:not(.bd-offer-strip--has-discount) .bd-offer__note{
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bd-offer__save{color:var(--wp--preset--color--forest-green);font-weight:600}
.bd-offer__save .woocommerce-Price-amount{font-weight:600}
.bd-offer__pct{font-weight:600}
.bd-offer__note{color:var(--wp--preset--color--ink);background:var(--wp--preset--color--warm-white);
	border-radius:4px;padding:.05em .4em}
.bd-offer__until{color:var(--wp--preset--color--ink)}

/* §5.4.4 intro · §5.4.6 standing note · §5.4.7 coupons */
.bd-offers__intro{margin:0 0 var(--wp--preset--spacing--20)}
.bd-offers__basis{margin:0 0 var(--wp--preset--spacing--20);font-size:var(--wp--preset--font-size--small);
	color:var(--wp--preset--color--ink);border-inline-start:3px solid var(--wp--preset--color--earth-gold);
	padding-inline-start:.7rem}
.bd-coupons{margin-top:var(--wp--preset--spacing--40);background:var(--wp--preset--color--white);
	border:1px solid var(--wp--custom--card--border);border-radius:var(--wp--custom--radius--md);
	padding:var(--wp--preset--spacing--30)}
.bd-coupons h2{margin-top:0}
.bd-coupons__list{list-style:none;margin:var(--wp--preset--spacing--20) 0 0;padding:0;display:grid;gap:var(--wp--preset--spacing--20)}
.bd-coupon{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .9rem;
	border-top:1px solid var(--wp--custom--card--border);padding-top:var(--wp--preset--spacing--20)}
.bd-coupon:first-child{border-top:0;padding-top:0}
.bd-coupon__code{font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--wp--preset--color--sun-gold);
	color:var(--wp--preset--color--ink);border-radius:6px;padding:.15em .55em}
.bd-coupon__expiry{font-size:var(--wp--preset--font-size--small)}
