/* BD Homeo Hall - design layer on top of Woodmart (loaded by mu-plugins/bdhh-speed.php).
   Mobile first. Colours = the shop's own brand (Woodmart primary #077513, secondary #fbbc34). */
:root {
	--bdhh-green: #077513;
	--bdhh-green-d: #055d0f;
	--bdhh-green-50: #eef7ef;
	--bdhh-green-100: #dcefdf;
	--bdhh-amber: #fbbc34;
	--bdhh-ink: #1d2a20;
	--bdhh-muted: #5d6b61;
	--bdhh-line: #e2ebe4;
	--bdhh-r: 12px;
	--bdhh-shadow: 0 1px 2px rgba(16, 40, 22, .06), 0 4px 14px rgba(16, 40, 22, .06);
}

/* ---------- generic home section ---------- */
.elementor .elementor-element.e-con.bdhh-sec { --margin-bottom: 28px; }
.elementor .elementor-element.e-con.bdhh-sec--tint {
	--padding-top: 18px; --padding-bottom: 20px; --padding-left: 14px; --padding-right: 14px;
	background-color: var(--bdhh-green-50); border-radius: var(--bdhh-r);
}
.elementor .elementor-element.e-con.bdhh-sec--reviews { display: none; }   /* shown by [bdhh_reviews] only when real reviews are picked */

/* ---------- rendering work: skip style/layout/paint of off-screen parts until the visitor scrolls near them ---------- */
/* (only on boxes without overflowing children: paint containment clips everything outside the box - e.g. the
   related-products carousel arrows, so .related-and-upsells and the prefooter carousel are NOT in this list) */
body.home [data-elementor-type="wp-page"] > .e-con.bdhh-sec:nth-child(n+3),
.wd-footer, .single-product .woocommerce-tabs {
	content-visibility: auto; contain-intrinsic-size: auto 700px;
}
/* home grids (PROMPT-05): from the 7th card on, a card is laid out only when the visitor scrolls near it (the 24-card
   best-seller grid starts close to the first screen, so its section is always rendered) */
.bdhh-grid > .bdhh-card:nth-child(n+7) { content-visibility: auto; contain-intrinsic-size: auto 300px; overflow-clip-margin: 16px; }
.wd-products > .wd-product:nth-child(n+7), .products > .wd-product:nth-child(n+7) {
	content-visibility: auto; contain-intrinsic-size: auto 330px; overflow-clip-margin: 16px; /* room for the hover shadow */
}
/* product page: related products (8 theme cards) are always below the gallery + description - rendered when the visitor
   gets near; the clip margin leaves room for the carousel arrows outside the box (PROMPT-05) */
.single-product .related-and-upsells { content-visibility: auto; contain-intrinsic-size: auto 560px; overflow-clip-margin: 60px; }
/* home grid card titles: the same title font + weight as the theme's product cards */
.bdhh-card__t { font-family: var(--wd-entities-title-font, inherit); }
body.home .wd-content-layout { padding-block-start: 14px; }
.bdhh-sec__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.elementor .elementor-element.e-con.bdhh-sec__head { --flex-wrap: nowrap; --gap: 12px; }
.bdhh-sec__head :is(h2, .elementor-heading-title) { font-size: 19px; line-height: 1.3; margin: 0; color: var(--bdhh-ink); }
.bdhh-sec__head > .elementor-widget-heading { flex: 1 1 auto; min-width: 0; }
.bdhh-sec :is(h2.elementor-heading-title) { font-size: 19px; line-height: 1.3; color: var(--bdhh-ink); }
.bdhh-more a, a.bdhh-more { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; color: var(--bdhh-green); white-space: nowrap; }
.bdhh-ico { width: 24px; height: 24px; flex: 0 0 auto; }

/* ---------- hero ---------- */
.bdhh-hero__img { display: block; width: 100%; height: auto; aspect-ratio: 2 / 1; object-fit: cover; border-radius: var(--bdhh-r); }
.bdhh-hero__title, .bdhh-hero .bdhh-hero__title .elementor-heading-title { font-size: 22px; line-height: 1.35; font-weight: 700; color: var(--bdhh-ink); margin: 0; }
.bdhh-hero__sub { color: var(--bdhh-muted); font-size: 15px; margin: 6px 0 0; }
.bdhh-hero__sub p { margin: 0; }
.bdhh-cta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.bdhh-btn, .bdhh-cta .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 10px 18px;
	border-radius: 10px; font-weight: 700; font-size: 14.5px; line-height: 1.2; text-decoration: none; transition: background-color .15s;
}
.bdhh-btn--primary, .bdhh-cta .bdhh-btn--primary .elementor-button { background: var(--bdhh-green); color: #fff; }
.bdhh-btn--primary:hover, .bdhh-cta .bdhh-btn--primary .elementor-button:hover { background: var(--bdhh-green-d); color: #fff; }
a.bdhh-btn--wa, .bdhh-cta .bdhh-btn--wa .elementor-button { background: #fff; color: #0d6d30; border: 2px solid #25d366; }
a.bdhh-btn--wa:hover, .bdhh-cta .bdhh-btn--wa .elementor-button:hover { background: #f0fbf4; color: #0a5527; }
.bdhh-cta .elementor-widget-button { flex: 1 1 0; min-width: 0; }
.bdhh-consult .bdhh-cta .elementor-widget-button { flex: 0 0 auto; }
.bdhh-cta .elementor-button { width: 100%; padding: 10px; font-size: 14px; }

/* ---------- trust strip ---------- */
.bdhh-trust { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.bdhh-trust__i, .bdhh-trust__i > a {
	display: flex; align-items: center; gap: 8px; padding: 9px 8px; background: #fff; border: 1px solid var(--bdhh-line);
	border-radius: var(--bdhh-r); color: var(--bdhh-ink); min-height: 60px;
}
.bdhh-trust__i > a { border: 0; padding: 0; min-height: 0; text-decoration: none; }
.bdhh-trust .bdhh-ico { width: 22px; height: 22px; color: var(--bdhh-green); background: var(--bdhh-green-50); border-radius: 50%; padding: 6px; box-sizing: content-box; }
.bdhh-trust__t { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.bdhh-trust__t strong { font-size: 13.5px; }
.bdhh-trust__t span { font-size: 12px; color: var(--bdhh-muted); }

/* ---------- category tiles ---------- */
.bdhh-cats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bdhh-cats__i a {
	display: flex; align-items: center; gap: 10px; padding: 12px 10px; border-radius: var(--bdhh-r);
	background: #fff; border: 1px solid var(--bdhh-line); color: var(--bdhh-ink); text-decoration: none; min-height: 72px;
	box-shadow: var(--bdhh-shadow); transition: transform .15s, border-color .15s;
}
.bdhh-cats__i a:hover { border-color: var(--bdhh-green); transform: translateY(-1px); }
.bdhh-cats .bdhh-ico { width: 28px; height: 28px; padding: 8px; box-sizing: content-box; border-radius: 12px; color: #fff; background: var(--bdhh-green); }
.bdhh-cats__i--ayurvedic .bdhh-ico { background: #b8730c; }
.bdhh-cats__i--unani .bdhh-ico { background: #1d6a8c; }
.bdhh-cats__i--herbal .bdhh-ico { background: #4f8a10; }
.bdhh-cats__t { display: flex; flex-direction: column; line-height: 1.25; min-width: 0; }
.bdhh-cats__t strong { font-size: 15px; overflow-wrap: anywhere; }
.bdhh-cats__t span { font-size: 12.5px; color: var(--bdhh-muted); }

/* ---------- home product grids (PROMPT-05): 2 / 4 / 5 / 6 columns, light cards in the PROMPT-03 card style ---------- */
.bdhh-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bdhh-card {
	position: relative; display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 8px 8px 10px; text-align: center;
	background: #fff; border: 1px solid var(--bdhh-line); border-radius: var(--bdhh-r); transition: box-shadow .15s, border-color .15s;
}
.bdhh-card:hover { box-shadow: var(--bdhh-shadow); border-color: var(--bdhh-green-100); }
.bdhh-card__img { display: block; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 9px; margin-bottom: 8px; background: #fff; }
.bdhh-card .bdhh-card__img img { display: block; width: 100%; height: 100%; object-fit: contain; }   /* beats .elementor img{height:auto} */
.bdhh-card__off {
	position: absolute; top: 14px; left: 14px; display: flex; align-items: center; justify-content: center;
	min-width: 34px; height: 34px; padding: 0 4px; border-radius: 17px;
	background: #d63c2f; color: #fff; font-size: 12px; font-weight: 700; line-height: 1;
}
.bdhh-card__t {
	margin: 0 0 4px; font-size: 14px; line-height: 1.4; font-weight: 600; min-height: 2.8em;   /* 2 lines: equal cards */
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
}
.bdhh-card__t a { color: var(--bdhh-ink); }
.bdhh-card__t a:hover { color: var(--bdhh-green); }
.bdhh-card__r { display: flex; align-items: center; justify-content: center; gap: 4px; margin: 0 0 4px; font-size: 12px; color: var(--bdhh-muted); }
.bdhh-stars {
	width: 66px; height: 12px; flex: 0 0 66px;
	background: linear-gradient(90deg, #e5a50a var(--r), #d3d9d4 var(--r));
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 3 6.6 7.2.8-5.4 4.9 1.5 7.1L12 17.8l-6.3 3.6 1.5-7.1L1.8 9.4 9 8.6z'/%3E%3C/svg%3E") 0 0 / 13.2px 12px repeat-x;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m12 2 3 6.6 7.2.8-5.4 4.9 1.5 7.1L12 17.8l-6.3 3.6 1.5-7.1L1.8 9.4 9 8.6z'/%3E%3C/svg%3E") 0 0 / 13.2px 12px repeat-x;
}
.bdhh-card__p { display: block; margin: 0 0 8px; font-size: 15.5px; line-height: 1.35; font-weight: 700; color: var(--bdhh-green); }
.bdhh-card__p b { font-weight: 700; }
.bdhh-card__p del { margin-right: 4px; font-size: 12.5px; font-weight: 400; color: #68736a; }   /* 4.9:1 on white */
.bdhh-card .bdhh-card__btn {
	display: flex; align-items: center; justify-content: center; width: 100%; min-height: 40px; margin-top: auto; padding: 6px 8px;
	border-radius: 9px; background: var(--bdhh-green); color: #fff; font-size: 13px; font-weight: 700; line-height: 1.2;
	text-transform: uppercase; text-align: center; white-space: normal; box-shadow: none;
}
.bdhh-card .bdhh-card__btn:hover { background: var(--bdhh-green-d); color: #fff; }
.bdhh-card .bdhh-card__btn.loading { opacity: .6; }
.bdhh-card .added_to_cart { display: block; margin-top: 6px; font-size: 12.5px; font-weight: 600; text-align: center; color: var(--bdhh-green); }
.bdhh-grid__more {
	display: flex; align-items: center; justify-content: center; gap: 6px; margin: 14px auto 0; min-height: 44px; max-width: 320px;
	border: 1px solid var(--bdhh-green); border-radius: 10px; color: var(--bdhh-green); font-weight: 700; text-decoration: none;
}
.bdhh-grid__more:hover { background: var(--bdhh-green-50); color: var(--bdhh-green-d); }
/* below the fold: skip layout/paint until the visitor scrolls near (heights = real section heights, so the scrollbar
   does not jump); the class is set on the Elementor section; same specificity as the n+3 rule above, so these win) */
body.home [data-elementor-type="wp-page"] > .e-con.bdhh-sec.bdhh-sec--g24 { contain-intrinsic-size: auto 3900px; }
body.home [data-elementor-type="wp-page"] > .e-con.bdhh-sec.bdhh-sec--g12 { contain-intrinsic-size: auto 2000px; }
@media (min-width: 768px) {
	.bdhh-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
	body.home [data-elementor-type="wp-page"] > .e-con.bdhh-sec.bdhh-sec--g24 { contain-intrinsic-size: auto 1750px; }
	body.home [data-elementor-type="wp-page"] > .e-con.bdhh-sec.bdhh-sec--g12 { contain-intrinsic-size: auto 950px; }
}
@media (min-width: 1024px) {
	.bdhh-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
	body.home [data-elementor-type="wp-page"] > .e-con.bdhh-sec.bdhh-sec--g24 { contain-intrinsic-size: auto 1500px; }
	body.home [data-elementor-type="wp-page"] > .e-con.bdhh-sec.bdhh-sec--g12 { contain-intrinsic-size: auto 900px; }
}
@media (min-width: 1200px) {
	.bdhh-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
	body.home [data-elementor-type="wp-page"] > .e-con.bdhh-sec.bdhh-sec--g24 { contain-intrinsic-size: auto 1300px; }
	body.home [data-elementor-type="wp-page"] > .e-con.bdhh-sec.bdhh-sec--g12 { contain-intrinsic-size: auto 700px; }
}

/* ---------- blog posts ---------- */
.bdhh-posts { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.bdhh-posts__i a { display: flex; gap: 12px; align-items: center; color: var(--bdhh-ink); text-decoration: none; background: #fff; border: 1px solid var(--bdhh-line); border-radius: var(--bdhh-r); padding: 8px; }
.bdhh-posts__img { width: 88px; height: 66px; object-fit: cover; border-radius: 8px; flex: 0 0 88px; background: var(--bdhh-green-50); }
.bdhh-posts__img--none { display: flex; align-items: center; justify-content: center; color: var(--bdhh-green); }
.bdhh-posts__t { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.bdhh-posts__t strong { font-size: 14.5px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bdhh-posts__t time { font-size: 12.5px; color: var(--bdhh-muted); }

/* ---------- A-Z list (old home links) ---------- */
.bdhh-az { border: 1px solid var(--bdhh-line); border-radius: var(--bdhh-r); background: #fff; }
.bdhh-az summary { display: flex; align-items: center; gap: 10px; padding: 14px; cursor: pointer; font-weight: 700; color: var(--bdhh-ink); list-style: none; }
.bdhh-az summary::-webkit-details-marker { display: none; }
.bdhh-az summary::after { content: "+"; margin-left: auto; font-size: 22px; line-height: 1; color: var(--bdhh-green); }
.bdhh-az[open] summary::after { content: "–"; }
.bdhh-az summary .bdhh-ico { color: var(--bdhh-green); }
.bdhh-az__l { list-style: none; margin: 0; padding: 0 14px 6px; columns: 2; column-gap: 16px; font-size: 13.5px; }
.bdhh-az__l li { break-inside: avoid; padding: 4px 0; border-bottom: 1px dashed var(--bdhh-line); }
.bdhh-az__more { margin: 10px 14px 4px; font-size: 13px; font-weight: 700; color: var(--bdhh-muted); }
.bdhh-az__l a { color: var(--bdhh-ink); }
.bdhh-az__all { display: inline-flex; align-items: center; gap: 6px; margin: 10px 14px 14px; font-weight: 700; color: var(--bdhh-green); }

/* ---------- reviews (only when real reviews are picked) ---------- */
.bdhh-rev { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.bdhh-rev__i { background: #fff; border: 1px solid var(--bdhh-line); border-radius: var(--bdhh-r); padding: 14px; }
.bdhh-rev__stars { color: #e5a50a; letter-spacing: 2px; }
.bdhh-rev blockquote { margin: 6px 0; font-size: 14.5px; border: 0; padding: 0; font-style: normal; }
.bdhh-rev__by { font-size: 12.5px; color: var(--bdhh-muted); }

/* ---------- about ---------- */
.bdhh-about { font-size: 14.5px; line-height: 1.7; color: var(--bdhh-ink); }
.bdhh-about h2 { font-size: 19px; margin: 0 0 8px; }
.bdhh-about p { margin: 0 0 10px; }
.bdhh-about a { color: var(--bdhh-green); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- product cards (shop, categories, home, related) ---------- */
.wd-product.wd-hover-standard .wd-product-wrapper {
	background: #fff; border: 1px solid var(--bdhh-line); border-radius: var(--bdhh-r); padding: 8px 8px 10px;
	height: 100%; display: flex; flex-direction: column; transition: box-shadow .15s, border-color .15s;
}
.wd-product.wd-hover-standard .wd-product-wrapper:hover { box-shadow: var(--bdhh-shadow); border-color: var(--bdhh-green-100); }
.wd-product .wd-product-thumb { border-radius: 9px; overflow: hidden; background: #fff; margin-bottom: 8px; }
/* the image box is always square - also when an image file is missing (a failed lazy image with sizes="auto" would
   otherwise grow to 1500 px and stretch the whole row) */
.wd-product :is(.wd-product-img-link, .product-image-link) { display: block; aspect-ratio: 1 / 1; overflow: hidden; }
.wd-product .wd-product-img-link img, .wd-product .product-image-link img {
	display: block; width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: #fff;
}
/* equal card heights in a row, buttons on one line */
.wd-products.wd-grid-g, .products.wd-grid-g { align-items: stretch; }
.wd-carousel-item > .wd-product { height: 100%; }
/* 2-line titles end with "…" instead of a hard cut */
.wd-product .wd-entities-title {
	font-size: 14px; line-height: 1.4; font-weight: 600; margin-bottom: 4px;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; max-height: none;
}
.wd-product .wd-entities-title a { color: var(--bdhh-ink); }
.wd-product .price { font-size: 15.5px; font-weight: 700; color: var(--bdhh-green); margin-bottom: 8px; }
.wd-product .price del { font-size: 12.5px; font-weight: 400; color: #68736a; }
.wd-product .price ins { text-decoration: none; }
.wd-product.wd-hover-standard .wd-product-wrapper > .wd-add-btn { margin-top: auto !important; } /* Woodmart resets margin-block of loop children (:is/:not selector) */
.wd-product.wd-hover-standard .wd-add-btn > a { width: 100%; border-radius: 9px; min-height: 40px; font-size: 13px; }
.wd-product .product-labels .onsale { background: #d63c2f; color: #fff; font-weight: 700; }
.wd-product .star-rating { font-size: 12px; }
.wd-product .wd-star-rating, .wd-product .star-rating + * { font-size: 12px; color: var(--bdhh-muted); }

/* ---------- product page ---------- */
.single-product form.cart:not(.variations_form), .single-product .woocommerce-variation-add-to-cart { align-items: stretch; }
.single-product form.cart .quantity { flex: 1 1 100%; }
.single-product form.cart :is(.single_add_to_cart_button, .wd-buy-now-btn) { flex: 1 1 calc(50% - 5px); min-height: 48px; border-radius: 10px; font-size: 14px; }
.single-product form.cart .wd-buy-now-btn { background: var(--bdhh-amber); color: #2b1d00; }
.single-product form.cart .wd-buy-now-btn:hover { background: #f0a90f; color: #2b1d00; }
.bdhh-pinfo { list-style: none; margin: 14px 0 18px; padding: 12px; border: 1px solid var(--bdhh-line); border-radius: var(--bdhh-r); background: var(--bdhh-green-50); display: grid; gap: 9px; }
.bdhh-pinfo li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; color: var(--bdhh-ink); margin: 0; }
.bdhh-pinfo .bdhh-ico { width: 22px; height: 22px; color: var(--bdhh-green); margin-top: 1px; }
.bdhh-pinfo a { color: var(--bdhh-green); font-weight: 700; }
.wd-sticky-btn :is(.single_add_to_cart_button, .wd-buy-now-btn, .wd-sticky-add-to-cart) { white-space: nowrap; border-radius: 9px; }
.wd-sticky-btn .wd-sticky-btn-cart .wd-buy-now-btn.btn-accent, .wd-sticky-btn .wd-sticky-btn-cart .wd-buy-now-btn.btn-accent:hover { background: var(--bdhh-amber); color: #2b1d00; }
/* variable products: the button row uses the full width like on simple products */
.single-product .variations_form :is(.single_variation_wrap, .woocommerce-variation-add-to-cart) { width: 100%; }
.single-product form.cart :is(.single_add_to_cart_button, .wd-buy-now-btn) { white-space: nowrap; }
/* desktop accordion: Woodmart puts the description in a 250 px inner scroll box -> looked cut off. Show it all. */
.woocommerce-tabs .wd-scroll-content { max-height: none !important; overflow: visible !important; }
/* brand links in the summary: small chips instead of a ragged column of boxes */
.single-product .summary-inner > .wd-product-brands {
	float: none; display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 6px; width: auto; max-width: none; margin: 0 0 12px; padding: 0; border: 0;
}
.single-product .summary-inner > .wd-product-brands a {
	display: inline-flex; align-items: center; min-height: 28px; padding: 3px 12px; border: 1px solid var(--bdhh-line);
	border-radius: 999px; background: #fff; font-size: 12.5px; font-weight: 600; color: var(--bdhh-ink); line-height: 1.3; width: auto; max-width: 100%;
}
.single-product .summary-inner > .wd-product-brands a:hover { border-color: var(--bdhh-green); color: var(--bdhh-green); }
/* struck-through old prices readable (#BBB was 1.9:1) */
.price del, .price del .amount { color: #68736a; }
/* gallery thumbnails: same square box */
.woocommerce-product-gallery .wd-gallery-thumb img { aspect-ratio: 1 / 1; object-fit: contain; background: #fff; }
.bdhh-shipinfo h3 { font-size: 18px; margin-bottom: 10px; }
.bdhh-shipinfo ul { margin: 0; padding-left: 18px; display: grid; gap: 6px; }
.bdhh-shipinfo a { color: var(--bdhh-green); font-weight: 700; }

@media (min-width: 768px) {
	.elementor .elementor-element.e-con.bdhh-sec { --margin-bottom: 44px; }
	.elementor .elementor-element.e-con.bdhh-sec--tint { --padding-top: 28px; --padding-bottom: 28px; --padding-left: 28px; --padding-right: 28px; }
	.bdhh-sec__head :is(h2, .elementor-heading-title), .bdhh-sec :is(h2.elementor-heading-title) { font-size: 24px; }
	.elementor .elementor-element.e-con.bdhh-hero { --display: grid; grid-template-columns: 7fr 5fr; column-gap: 32px; align-items: center; }
	body.home .wd-content-layout { padding-block-start: 24px; }
	.bdhh-hero__title, .bdhh-hero .bdhh-hero__title .elementor-heading-title { font-size: 30px; }
	.bdhh-hero__sub { font-size: 16px; }
	.bdhh-trust { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
	.bdhh-trust__t strong { font-size: 14.5px; }
	.bdhh-trust__t span { font-size: 13px; }
	.bdhh-cats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
	.bdhh-posts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bdhh-az__l { columns: 4; }
	.bdhh-rev { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.single-product form.cart .quantity { flex: 0 0 auto; }
	.single-product form.cart :is(.single_add_to_cart_button, .wd-buy-now-btn) { flex: 1 1 0; }
}

/* ---------- header ---------- */
.whb-bdhhmobilecart000001 .wd-tools-text { display: none; }
@media (max-width: 767px) {
	.bdhh-trust__i, .bdhh-trust__i > a { flex-direction: column; justify-content: center; text-align: center; gap: 6px; padding: 10px 6px; }
	.bdhh-trust__i > a { padding: 0; }
}
/* top bar (desktop) */
.bdhh-topbar { font-size: 13px; letter-spacing: .2px; color: #e9f3ec; }
.bdhh-topbar a { color: #fff; font-weight: 700; }

/* ---------- sticky buy bar on phones: price + "এখনই অর্ডার করুন" ---------- */
@media (max-width: 768.98px) {
	.wd-sticky-btn { background-color: #fff !important; box-shadow: 0 -2px 12px rgba(16, 40, 22, .12) !important; padding-block: 8px !important; }
	.wd-sticky-btn .wd-sticky-btn-container { padding-inline: 12px; }
	.wd-sticky-btn .wd-sticky-btn-content, .wd-sticky-btn .wd-action-btn { display: none; }
	.wd-sticky-btn .wd-sticky-btn-cart { display: flex; flex: 1 1 auto; align-items: center; gap: 12px; margin-inline: 0 !important; min-width: 0; }
	.wd-sticky-btn .wd-sticky-btn-cart > .price { display: block; flex: 0 0 auto; margin: 0; font-size: 17px; font-weight: 700; color: var(--bdhh-green); white-space: nowrap; }
	/* variable products show a price range: smaller, may wrap into two lines, never under the button */
	.wd-sticky-btn .wd-sticky-btn-cart.wd-product-type-variable > .price { flex: 0 1 auto; max-width: 44%; min-width: 0; font-size: 13px; line-height: 1.25; white-space: normal; }
	.wd-sticky-btn .wd-sticky-btn-cart > .price del { display: none; }
	.wd-sticky-btn .wd-sticky-btn-cart > form.cart { flex: 1 1 auto !important; width: auto !important; min-width: 0; display: flex; margin: 0; }
	.wd-sticky-btn form.cart > :not(.wd-buy-now-btn) { display: none !important; }
	.wd-sticky-btn form.cart > .wd-buy-now-btn { display: inline-flex !important; flex: 1 1 auto; min-width: 0; justify-content: center; align-items: center; min-height: 44px; margin: 0; padding-inline: 12px; font-size: 15px; }
	.wd-sticky-btn .wd-sticky-btn-cart > :is(a.button, .button:not(form *)) { flex: 1 1 auto; min-width: 0; min-height: 44px; border-radius: 9px; padding-inline: 12px; }
}

/* ---------- WhatsApp bubble (Click to Chat): above the phone toolbar and the sticky buy bar, never on top of them ---------- */
@media (max-width: 1024px) {
	.sticky-toolbar-on #ht-ctc-chat { bottom: 67px !important; transition: bottom .25s ease; }
	.sticky-toolbar-on:has(.wd-sticky-btn-shown) #ht-ctc-chat { bottom: calc(12px + 55px + var(--wd-sticky-btn-height, 42px)) !important; }
}
@media (min-width: 1025px) {
	body:has(.wd-sticky-btn-shown) #ht-ctc-chat { bottom: calc(15px + var(--wd-sticky-btn-height, 95px)) !important; transition: bottom .25s ease; }
}

/* ---------- Woodmart sticky header clone: LiteSpeed's CSS combine puts .whb-clone{position:fixed} BEFORE the inline
   header CSS (.whb-main-header{position:relative}), so the hidden clone sat in the page flow: a 60 px empty band under
   the header + a layout shift on the first scroll/tap. Higher specificity restores Woodmart's own rule. ---------- */
.whb-clone.whb-main-header { position: fixed; z-index: 391; }

/* ---------- theme default buttons (filter, update cart, register, apply coupon) were lime #81D742 with a purple hover ---------- */
html:root {
	--btn-default-bgcolor: #077513; --btn-default-color: #fff;
	--btn-default-bgcolor-hover: #055d0f; --btn-default-color-hover: #fff; --btn-default-brd-radius: 8px;
}

/* ---------- checkout form details ---------- */
.woocommerce-billing-fields #billing_first_name_field { width: 100%; float: none; }
#order_comments_field label .optional { display: none; } /* the Bangla label already says (ঐচ্ছিক) */
.woocommerce form .form-row :is(input.input-text, textarea)::placeholder { color: #8b958d; opacity: 1; }

/* ---------- footer block (plain HTML) + brand links (prefooter) ---------- */
.bdhh-foot { color: rgba(255, 255, 255, .8); font-size: 14px; line-height: 1.6; }
.bdhh-foot__logo { display: inline-block; margin-bottom: 14px; }
.bdhh-foot__logo img { display: block; width: 220px; height: auto; }
.bdhh-foot p { margin: 0 0 14px; }
.bdhh-foot__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.bdhh-foot__list li { display: flex; gap: 10px; align-items: flex-start; }
.bdhh-foot__list svg { flex: 0 0 16px; margin-top: 4px; color: #fff; }
.bdhh-foot__list a { color: rgba(255, 255, 255, .85); }
.bdhh-foot__list a:hover { color: #fff; }
.bdhh-brands { background: #e7e4e4; margin-inline: calc(50% - 50vw); padding: 16px max(15px, calc(50vw - 611px)); }
.bdhh-brands ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 10px; }
.bdhh-brands li { flex: 0 0 auto; }
.bdhh-brands a { display: inline-block; padding: 6px 12px; background: #fff; border-radius: 999px; color: #333; font-size: 13px; white-space: nowrap; }
.bdhh-brands a:hover { color: var(--bdhh-green); }
