/* ==========================================================================
   Beast Design System — Phase 1
   Everything is scoped to body.bnds so the preview never leaks to visitors.
   ========================================================================== */

body.bnds {
	--bn-navy: #111827;
	--bn-navy-2: #1f2937;
	--bn-green: #007a5e;
	--bn-green-d: #005b46;
	--bn-green-l: #34c38f;
	--bn-red: #dc2626;
	--bn-amber: #f59e0b;
	--bn-surface: #ffffff;
	--bn-line: #e5e7eb;
	--bn-text: #1f2937;
	--bn-muted: #6b7280;
	--bn-r-card: 10px;
	--bn-r-btn: 8px;
	--bn-shadow: 0 1px 2px rgba(17, 24, 39, .04), 0 4px 14px rgba(17, 24, 39, .06);
	--bn-tabbar-h: 60px;
	color: var(--bn-text);
}

/* --------------------------------------------------------------------------
   Typography
   -------------------------------------------------------------------------- */

.bnds h1, .bnds h2, .bnds h3, .bnds h4, .bnds h5, .bnds h6,
.bnds .heading-font {
	font-weight: 700;
	color: var(--bn-navy);
	letter-spacing: -.01em;
}
.bnds .dark h1, .bnds .dark h2, .bnds .dark h3, .bnds .dark h4,
.bnds .dark h5, .bnds .dark h6 { color: inherit; }

.bnds h1 { line-height: 1.2; }
.bnds h2, .bnds h3 { line-height: 1.25; }

.bnds strong, .bnds b { font-weight: 700; }

/* Header navigation */
.bnds .header-nav-main > li > a,
.bnds .nav-dropdown > li > a { font-weight: 500; }
.bnds .nav-dropdown .menu-item-has-children > a,
.bnds .nav-dropdown .nav-dropdown-col > a { font-weight: 700; }

/* Section headings (Flatsome "title" element) */
.bnds .section-title-container { margin-bottom: 18px; }
.bnds .section-title {
	font-weight: 700;
	letter-spacing: .02em;
	color: var(--bn-navy);
}
.bnds .section-title b { background-color: var(--bn-line); opacity: 1; height: 1px; }
.bnds .section-title a { font-weight: 600; color: var(--bn-green); font-size: .85em; text-transform: none; letter-spacing: 0; }

/* Shop / category headings */
.bnds .shop-page-title.is-xlarge { font-weight: 700; letter-spacing: -.01em; }
.bnds .shop-page-title.is-small { color: var(--bn-muted); font-weight: 500; }

/* --------------------------------------------------------------------------
   Buttons — one primary (green), one secondary (navy), one outline.
   -------------------------------------------------------------------------- */

.bnds .button,
.bnds button.button,
.bnds input[type="submit"].button,
.bnds input[type="button"].button {
	border-radius: var(--bn-r-btn);
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: none;
	transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s;
}
.bnds .button.circle { border-radius: 99px; }

.bnds .button.primary:not(.is-outline):not(.is-link):not(.is-underline),
.bnds .button.alt,
.bnds .single_add_to_cart_button,
.bnds .checkout-button,
.bnds #place_order,
.bnds .woocommerce-mini-cart__buttons .checkout {
	background-color: var(--bn-green);
	border-color: var(--bn-green);
	color: #fff;
}
.bnds .button.primary:not(.is-outline):not(.is-link):not(.is-underline):hover,
.bnds .button.alt:hover,
.bnds .single_add_to_cart_button:hover,
.bnds .checkout-button:hover,
.bnds #place_order:hover,
.bnds .woocommerce-mini-cart__buttons .checkout:hover {
	background-color: var(--bn-green-d);
	border-color: var(--bn-green-d);
	color: #fff;
	box-shadow: none;
}

.bnds .button.secondary:not(.is-outline):not(.is-link):not(.is-underline) {
	background-color: var(--bn-navy);
	border-color: var(--bn-navy);
	color: #fff;
}
.bnds .button.secondary:not(.is-outline):not(.is-link):not(.is-underline):hover {
	background-color: var(--bn-navy-2);
	border-color: var(--bn-navy-2);
}

.bnds .button.is-outline:not(.white) {
	border-width: 1.5px;
	border-color: var(--bn-navy);
	color: var(--bn-navy);
	background: transparent;
}
.bnds .button.is-outline:not(.white):hover {
	background-color: var(--bn-navy);
	border-color: var(--bn-navy);
	color: #fff;
}

/* Inputs follow the same radius */
.bnds input[type="text"], .bnds input[type="email"], .bnds input[type="tel"],
.bnds input[type="password"], .bnds input[type="search"], .bnds input[type="number"],
.bnds select, .bnds textarea {
	border-radius: var(--bn-r-btn);
}
.bnds .quantity input[type="number"] { border-radius: 0; }
.bnds .searchform .button.icon { border-radius: 0 var(--bn-r-btn) var(--bn-r-btn) 0; }

/* --------------------------------------------------------------------------
   Badges — sale red, new navy, rectangular chips (not circles)
   -------------------------------------------------------------------------- */

.bnds .badge-container { margin: 10px 0 0 10px; }
.bnds .badge,
.bnds .badge.badge-circle,
.bnds .badge.badge-circle-inside {
	width: auto;
	height: auto;
	padding: 0;
	margin: 0 0 6px;
}
.bnds .badge-inner {
	border-radius: 6px;
	padding: 4px 8px;
	height: auto;
	line-height: 1.2;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .02em;
	border: 0;
}
.bnds .badge-inner.on-sale,
.bnds .badge-inner.secondary.on-sale { background-color: var(--bn-red); color: #fff; }
.bnds .badge-inner.new-bubble,
.bnds .badge-inner.new-bubble-auto { background-color: var(--bn-navy); color: #fff; }
.bnds .badge-inner.out-of-stock-label,
.bnds .out-of-stock-label { background-color: #f3f4f6; color: var(--bn-muted); }

/* --------------------------------------------------------------------------
   Product card
   -------------------------------------------------------------------------- */

.bnds .products .product-small.col > .col-inner { height: 100%; }
.bnds .product-small.box {
	background: var(--bn-surface);
	border: 1px solid var(--bn-line);
	border-radius: var(--bn-r-card);
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
	transition: box-shadow .2s, border-color .2s;
}
.bnds .product-small.box:hover { box-shadow: var(--bn-shadow); border-color: #d1d5db; }

.bnds .product-small.box > .box-image,
.bnds .product-small.box > .box-text {
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	flex-shrink: 0;
}
.bnds .product-small.box > .box-text { flex-shrink: 1; }
.bnds .product-small .box-image { background: #fff; }
.bnds .product-small .box-image img { object-fit: contain; }

.bnds .product-small .box-text-products {
	text-align: left;
	padding: 10px 12px 12px;
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	height: auto !important;
}
/* Flatsome centres ".text-center > div" with auto margins, which shrinks flex children */
.bnds .product-small .box-text-products > div,
.bnds .product-small .box-text-products > div > div {
	margin-left: 0;
	margin-right: 0;
	width: 100%;
}
.bnds .product-small .box-text-products .title-wrapper { flex: 0 0 auto; }
.bnds .product-small .box-text-products .price-wrapper { height: auto !important; margin-top: 4px; }

.bnds .product-small .product-cat {
	font-size: 11px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--bn-muted);
	opacity: 1;
	margin-bottom: 2px;
}

.bnds .product-small .woocommerce-loop-product__title,
.bnds .product-small .product-title,
.bnds .product-small p.name {
	font-weight: 600;
	font-size: 14px;
	line-height: 1.35;
	color: var(--bn-navy);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 2.7em;
	margin-bottom: 2px;
	padding: 0;
}
.bnds .product-small .woocommerce-loop-product__title,
.bnds .product-small p.name.product-title { display: -webkit-box !important; }
.bnds .product-small .woocommerce-loop-product__title a,
.bnds .product-small .product-title a { color: inherit; display: inline !important; }

.bnds .product-small .star-rating { font-size: 12px; margin: 2px 0 4px; }
.bnds .product-small .star-rating--inline { margin: 2px 0 4px; display: block; }

.bnds .product-small .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 6px;
	font-size: 16px;
	font-weight: 700;
	color: var(--bn-navy);
	line-height: 1.3;
}
.bnds .product-small .price del {
	order: 2;
	font-size: 13px;
	font-weight: 400;
	color: var(--bn-muted);
	opacity: 1;
}
.bnds .product-small .price ins {
	order: 1;
	text-decoration: none;
	color: var(--bn-navy);
	font-weight: 700;
}
.bnds .product-small .price .amount { color: inherit; }

/* Add to cart / Select options button inside the card */
.bnds .product-small .add-to-cart-button {
	margin-top: auto;
	padding-top: 10px;
}
.bnds .product-small .add-to-cart-button .button {
	display: block;
	width: 100%;
	margin: 0;
	min-height: 38px;
	line-height: 38px;
	padding: 0 10px;
	font-size: 13px;
	background-color: var(--bn-green);
	border: 0;
	color: #fff;
	border-radius: var(--bn-r-btn);
}
.bnds .product-small .add-to-cart-button .button:hover { background-color: var(--bn-green-d); color: #fff; }
.bnds .product-small .add-to-cart-button .button.product_type_variable,
.bnds .product-small .add-to-cart-button .button.product_type_grouped {
	background-color: transparent;
	border: 1.5px solid var(--bn-green);
	color: var(--bn-green);
	line-height: 35px;
}
.bnds .product-small .add-to-cart-button .button.product_type_variable:hover,
.bnds .product-small .add-to-cart-button .button.product_type_grouped:hover {
	background-color: var(--bn-green);
	color: #fff;
}
.bnds .product-small .add-to-cart-button .button.loading { opacity: .7; }
.bnds .product-small .add-to-cart-button .added_to_cart { display: none; }

/* Older custom CSS forced 900 weight on loop titles */
.bnds .woocommerce-loop-product__title { font-weight: 600; }

/* --------------------------------------------------------------------------
   Single product: price, notices (no blinking), meta
   -------------------------------------------------------------------------- */

.bnds .product-info .price,
.bnds .product-main .price { color: var(--bn-navy); font-weight: 700; }
.bnds .product-main .price del { color: var(--bn-muted); font-weight: 400; }
.bnds .product-main .price ins { text-decoration: none; }

/* ==========================================================================
   Phase 2 — listings
   ========================================================================== */

/* Brand header card */
.bnds .bn-brand-hero {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 18px 20px;
	margin: 6px 0 10px;
	background: var(--bn-surface);
	border: 1px solid var(--bn-line);
	border-radius: 12px;
}
.bnds .bn-brand-logo {
	flex: 0 0 auto;
	width: 96px;
	height: 96px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--bn-line);
	border-radius: 10px;
	background: #fff;
	padding: 8px;
}
.bnds .bn-brand-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.bnds .bn-brand-text { min-width: 0; text-align: left; }
.bnds .bn-eyebrow {
	margin: 0 0 4px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--bn-green);
}
.bnds .bn-brand-hero h1.shop-page-title { margin: 0 0 8px; font-size: 1.5em; line-height: 1.25; }
.bnds .bn-brand-meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.bnds .bn-brand-meta span {
	font-size: 12px;
	font-weight: 600;
	color: var(--bn-navy);
	background: #f3f4f6;
	border-radius: 99px;
	padding: 4px 10px;
}
.bnds .bn-brand-meta span:first-child { background: rgba(0, 122, 94, .1); color: var(--bn-green-d); }

@media (max-width: 849px) {
	.bnds .bn-brand-hero { gap: 14px; padding: 14px; }
	.bnds .bn-brand-logo { width: 72px; height: 72px; }
	.bnds .bn-brand-hero h1.shop-page-title { font-size: 1.15em; }
	.bnds .page-title-inner .medium-text-center { text-align: left; }
}

/* Brand header spans the full row; result count + sort drop to their own line */
.bnds .page-title-inner:has(.bn-brand-hero) { flex-wrap: wrap; row-gap: 6px; }
.bnds .page-title-inner > .flex-col:has(.bn-brand-hero) { flex: 1 1 100%; max-width: 100%; }
.bnds .page-title-inner:has(.bn-brand-hero) > .flex-col:not(:has(.bn-brand-hero)) { margin-left: auto; }
.bnds .bn-brand-hero { width: 100%; box-sizing: border-box; }

/* Category / collection header: icon tile when there is no image, sub-category links */
.bnds .bn-hero-icon { background: rgba(0, 122, 94, .08); border-color: rgba(0, 122, 94, .2); color: var(--bn-green); }
.bnds .bn-hero-icon svg { width: 44px; height: 44px; }
.bnds .bn-hero-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.bnds .bn-hero-links a {
	font-size: 13px;
	font-weight: 600;
	color: var(--bn-navy);
	background: #fff;
	border: 1px solid var(--bn-line);
	border-radius: 99px;
	padding: 5px 12px;
	line-height: 1.2;
	transition: border-color .15s, color .15s;
}
.bnds .bn-hero-links a:hover { border-color: var(--bn-green); color: var(--bn-green); }
@media (max-width: 849px) {
	.bnds .bn-hero-icon svg { width: 34px; height: 34px; }
	.bnds .bn-hero-links { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: -14px; padding-right: 14px; }
	.bnds .bn-hero-links::-webkit-scrollbar { display: none; }
	.bnds .bn-hero-links a { white-space: nowrap; }
	.bnds .bn-brand-text { flex: 1 1 auto; }
}

/* Listing grid on phones: two across, tighter page padding */
@media (max-width: 849px) {
	.bnds .category-page-row { padding: 12px 6px !important; }
	.bnds .products.row-small > .col { padding: 0 5px 10px; }
}
@media (max-width: 549px) {
	.bnds .products .product-small .box-text-products { padding: 8px 9px 10px; }
	.bnds .products .product-small .woocommerce-loop-product__title,
	.bnds .products .product-small .product-title { font-size: 13px; }
	.bnds .products .product-small .price { font-size: 15px; }
	.bnds .products .product-small .price del { font-size: 12px; }
	.bnds .products .product-small .add-to-cart-button .button { font-size: 12px; min-height: 36px; line-height: 36px; padding: 0 6px; }
	.bnds .products .product-small .add-to-cart-button .button.product_type_variable { line-height: 33px; }
	.bnds .products .badge-container { margin: 8px 0 0 8px; }
	.bnds .products .badge-inner { font-size: 11px; padding: 3px 6px; }
}

/* ==========================================================================
   Phase 2 — product page (cpl-v2 block)
   ========================================================================== */

.bnds .product-main .product-title,
.bnds h1.product-title { font-weight: 700; line-height: 1.25; }
.bnds .product-page-price { margin-bottom: 4px; }
.bnds .product-page-price del { font-size: .6em; vertical-align: middle; }

/* One price only: the main price follows the selected variant */
.bnds.bn-price-once .woocommerce-variation-price { display: none !important; }
/* Variable products: show only the selected variant's stock, not the product total */
.bnds.bn-price-once .add-to-cart-container > .stock { display: none; }
.bnds .woocommerce-variation-availability p { margin: 0 0 8px; font-weight: 600; color: var(--bn-green-d); }

/* Add-to-cart area */
.bnds .product .cart .single_add_to_cart_button,
.bnds .product .cart .button.buy-now,
.bnds .product .cart button[name="buy-now"] { min-height: 48px; border-radius: var(--bn-r-btn); }
.bnds .product .cart .quantity { border-radius: var(--bn-r-btn); overflow: hidden; }

/* Variation swatches */
.bnds .ux-swatch { border-radius: 8px; }
.bnds .ux-swatch.selected { box-shadow: 0 0 0 2px var(--bn-green); border-color: var(--bn-green); color: var(--bn-navy); }

/* Trust row */
.bnds .bn-trust {
	list-style: none;
	margin: 16px 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
.bnds .bn-trust li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 10px 12px;
	background: var(--bn-surface);
	border: 1px solid var(--bn-line);
	border-radius: 10px;
	line-height: 1.25;
}
.bnds .bn-trust svg { flex: 0 0 auto; width: 24px; height: 24px; color: var(--bn-green); }
.bnds .bn-trust strong { display: block; font-size: 13px; font-weight: 700; color: var(--bn-navy); }
.bnds .bn-trust small { display: block; font-size: 12px; color: var(--bn-muted); }
.bnds .bn-trust small a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (min-width: 1100px) {
	.bnds .bn-trust { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.bnds .bn-trust li { flex-direction: column; align-items: flex-start; gap: 6px; }
}

/* Offers card */
.bnds .bn-offers {
	margin: 0 0 16px;
	padding: 14px 16px;
	border: 1px dashed rgba(0, 122, 94, .45);
	border-radius: 10px;
	background: rgba(0, 122, 94, .05);
}
.bnds .bn-offers-title { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--bn-green-d); }
.bnds .bn-offers ul { margin: 0; padding: 0; list-style: none; }
.bnds .bn-offers li { position: relative; margin: 0 0 6px; padding-left: 22px; font-size: 14px; color: var(--bn-text); }
.bnds .bn-offers li:last-child { margin-bottom: 0; }
.bnds .bn-offers li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 4px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--bn-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 10px no-repeat;
}
.bnds .bn-offers a { color: var(--bn-green-d); font-weight: 600; }

/* Brand line above the product title (replaces the floating logo) */
.bnds .bn-brand-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 6px;
	padding: 0;
	color: var(--bn-green-d);
	line-height: 1.2;
}
.bnds .bn-brand-chip:hover { color: var(--bn-green); }
.bnds .bn-brand-chip:hover .bn-brand-chip-text strong { text-decoration: underline; text-underline-offset: 3px; }
.bnds .bn-brand-chip-logo { width: 44px; height: 26px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--bn-line); border-radius: 6px; overflow: hidden; background: #fff; }
.bnds .bn-brand-chip-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; margin: 0; transform: scale(1.35); }
.bnds .bn-brand-chip-text small { display: none; }
.bnds .bn-brand-chip-text strong { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.bnds .bn-brand-chip-more { font-size: 12px; font-weight: 500; color: var(--bn-muted); white-space: nowrap; }
.bnds .bn-brand-chip-more::before { content: "\00b7"; margin-right: 6px; }
.bnds .bn-brand-chip-more::after { content: " \2192"; }

/* Product meta (SKU, GTIN, tags) — quieter */
.bnds .product_meta { font-size: 13px; color: var(--bn-muted); border-top: 1px solid var(--bn-line); padding-top: 10px; }
.bnds .product_meta > span { display: block; margin-bottom: 4px; }
.bnds .product_meta a { color: var(--bn-text); }

/* Accordion tabs */
.bnds .product .accordion-item { border-bottom: 1px solid var(--bn-line); }
.bnds .product .accordion-title { font-weight: 600; color: var(--bn-navy); padding-left: 2.3em; }

/* Disclaimer, now below the tabs */
.bnds .bn-disclaimer {
	margin-top: 16px;
	padding: 12px 14px;
	font-size: 12px;
	line-height: 1.5;
	color: var(--bn-muted);
	background: #f9fafb;
	border-radius: 8px;
}
.bnds .bn-disclaimer p { margin: 0 0 6px; }
.bnds .bn-disclaimer p:last-child { margin-bottom: 0; }
.bnds .bn-disclaimer strong { color: var(--bn-text); }

/* --------------------------------------------------------------------------
   Mobile tab bar (replaces the old "sticky-mobile-menu" UX Block)
   -------------------------------------------------------------------------- */

.bn-tabbar { display: none; }

@media (max-width: 849px) {
	.bnds .bn-tabbar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 999;
		display: flex;
		align-items: stretch;
		justify-content: space-around;
		height: calc(var(--bn-tabbar-h) + env(safe-area-inset-bottom, 0px));
		padding: 0 4px env(safe-area-inset-bottom, 0px);
		background: var(--bn-navy);
		border-top: 1px solid rgba(255, 255, 255, .08);
		box-shadow: 0 -6px 20px rgba(17, 24, 39, .18);
	}
	.bnds .bn-tab {
		position: relative;
		flex: 1 1 0;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		color: rgba(246, 241, 232, .68);
		font-size: 11px;
		font-weight: 500;
		line-height: 1;
		letter-spacing: .01em;
		text-decoration: none;
		-webkit-tap-highlight-color: transparent;
	}
	.bnds .bn-tab svg { width: 22px; height: 22px; }
	.bnds .bn-tab:hover,
	.bnds .bn-tab:focus-visible { color: #fff; }
	.bnds .bn-tab.is-active { color: #fff; font-weight: 600; }
	.bnds .bn-tab.is-active svg { color: var(--bn-green-l); }
	.bnds .bn-tab.is-active::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		width: 28px;
		height: 3px;
		margin-left: -14px;
		border-radius: 0 0 3px 3px;
		background: var(--bn-green-l);
	}

	/* Room for the bar */
	.bnds #footer { margin-bottom: calc(var(--bn-tabbar-h) + env(safe-area-inset-bottom, 0px)) !important; }
	.bnds .back-to-top { bottom: calc(var(--bn-tabbar-h) + 14px + env(safe-area-inset-bottom, 0px)) !important; }
	.bnds.has-sticky-product-cart .back-to-top { bottom: calc(var(--bn-tabbar-h) + 84px + env(safe-area-inset-bottom, 0px)) !important; }

	/* Sticky add-to-cart sits on top of the bar, never behind it */
	.bnds .sticky-add-to-cart--active {
		margin-bottom: calc(var(--bn-tabbar-h) + env(safe-area-inset-bottom, 0px)) !important;
		padding-bottom: 8px !important;
		box-shadow: 0 -4px 14px rgba(17, 24, 39, .1);
	}

	/* Hide the legacy block menu if it is still printed anywhere */
	.bnds .sticky-mobile-menu { display: none !important; }
}

/* Promo bar: keep each message on one line on narrow phones */
@media (max-width: 400px) {
	.bnds .bn-promo { font-size: 12px !important; letter-spacing: 0; }
}

/* Admin-bar preview marker */
#wpadminbar .bnds-adminbar > .ab-item { background: #007a5e !important; color: #fff !important; }

/* Overlaps on phones: Google rating badge, open menu */
@media (max-width: 849px) {
	.bnds [id^="___ratingbadge"],
	.bnds div:has(> iframe[src*="ratingbadge"]) { bottom: calc(var(--bn-tabbar-h) + 12px + env(safe-area-inset-bottom, 0px)) !important; }
	.bnds.has-sticky-product-cart [id^="___ratingbadge"],
	.bnds.has-sticky-product-cart div:has(> iframe[src*="ratingbadge"]) { bottom: calc(var(--bn-tabbar-h) + 80px + env(safe-area-inset-bottom, 0px)) !important; }
}
/* While the off-canvas menu / cart / filters are open, nothing floats on top */
html.has-off-canvas .bnds .bn-tabbar,
html.has-off-canvas .bnds .sticky-add-to-cart,
html.has-off-canvas .bnds [id^="___ratingbadge"],
html.has-off-canvas .bnds div:has(> iframe[src*="ratingbadge"]),
html.has-off-canvas .bnds .back-to-top { display: none !important; }

/* Sticky add-to-cart on desktop: flush to the bottom, white bar, larger parts */
@media (min-width: 850px) {
	.bnds .sticky-add-to-cart--active {
		margin-bottom: 0 !important;
		padding: 10px 24px !important;
		font-size: 15px;
		gap: 16px;
		justify-content: center;
		background: rgba(255, 255, 255, .97);
		border-top: 1px solid var(--bn-line);
		box-shadow: 0 -6px 20px rgba(17, 24, 39, .08);
	}
	.bnds .sticky-add-to-cart__product .sticky-add-to-cart-img {
		width: 52px;
		height: 52px;
		object-fit: contain;
		background: #fff;
		border: 1px solid var(--bn-line);
		border-radius: 8px;
	}
	.bnds .sticky-add-to-cart__product .product-title-small {
		max-width: 360px;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.3;
		color: var(--bn-navy);
	}
	.bnds .sticky-add-to-cart--active .product-page-price { font-size: 18px; font-weight: 700; color: var(--bn-navy); }
	.bnds .sticky-add-to-cart--active .product-page-price del { font-size: 13px; font-weight: 400; color: var(--bn-muted); }
	.bnds .sticky-add-to-cart--active .button { min-height: 44px; line-height: 44px; padding: 0 28px; font-size: 15px; }
}

/* Product page: quantity stepper + Add to cart + Buy now as one tidy row */
.bnds .add-to-cart-container form.cart:not(.variations_form),
.bnds .add-to-cart-container .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}
.bnds .add-to-cart-container .ux-quantity.quantity {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: stretch;
	height: 50px;
	margin: 0 !important;
	padding: 0;
	background: #fff;
	border: 1px solid var(--bn-line);
	border-radius: var(--bn-r-btn);
	overflow: hidden;
	vertical-align: top;
}
.bnds .add-to-cart-container .ux-quantity .ux-quantity__button {
	width: 40px;
	height: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	color: var(--bn-navy);
	text-transform: none;
}
.bnds .add-to-cart-container .ux-quantity .ux-quantity__button:hover { background: #f3f4f6; }
.bnds .add-to-cart-container .ux-quantity input.qty {
	width: 44px;
	height: 100%;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-left: 1px solid var(--bn-line);
	border-right: 1px solid var(--bn-line);
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	font-size: 16px;
	font-weight: 700;
	line-height: 48px;
	text-align: center;
	color: var(--bn-navy);
	-moz-appearance: textfield;
}
.bnds .add-to-cart-container .ux-quantity input.qty::-webkit-outer-spin-button,
.bnds .add-to-cart-container .ux-quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.bnds .add-to-cart-container .single_add_to_cart_button,
.bnds .add-to-cart-container .ux-buy-now-button {
	flex: 1 1 0;
	min-width: 0;
	height: 50px;
	min-height: 50px;
	margin: 0 !important;
	padding: 0 18px;
	font-size: 16px;
	font-weight: 700;
	line-height: 50px;
	white-space: nowrap;
	border-radius: var(--bn-r-btn);
}
.bnds .add-to-cart-container .ux-buy-now-button,
.bnds .add-to-cart-container .ux-buy-now-button.primary {
	background-color: var(--bn-navy) !important;
	border-color: var(--bn-navy) !important;
	color: #fff !important;
}
.bnds .add-to-cart-container .ux-buy-now-button:hover {
	background-color: var(--bn-navy-2) !important;
	border-color: var(--bn-navy-2) !important;
}
.bnds .add-to-cart-container .single_add_to_cart_button.disabled,
.bnds .add-to-cart-container .single_add_to_cart_button:disabled { opacity: .55; }

/* Phones: stepper + Add to cart on row one, Buy now full width below */
@media (max-width: 549px) {
	.bnds .add-to-cart-container .ux-buy-now-button { flex: 1 1 100%; }
}

/* Extras inside the cart form (clearfix, GTM data, Smart Coupons) never squeeze the row */
.bnds .add-to-cart-container form.cart > .clear,
.bnds .add-to-cart-container form.cart > .gtm4wp_single_productdata,
.bnds .add-to-cart-container .woocommerce-variation-add-to-cart > .clear,
.bnds .add-to-cart-container form.cart > div:empty { display: none; }
.bnds .add-to-cart-container form.cart:not(.variations_form) > div:not(.quantity),
.bnds .add-to-cart-container .woocommerce-variation-add-to-cart > div:not(.quantity) { flex: 1 1 100%; }

/* Phones: compact category / brand header and listing toolbar */
@media (max-width: 549px) {
	.bnds .bn-brand-hero {
		display: grid;
		grid-template-columns: 44px minmax(0, 1fr);
		align-items: center;
		column-gap: 12px;
		row-gap: 8px;
		padding: 14px;
		margin: 4px 0 6px;
	}
	.bnds .bn-brand-hero .bn-brand-text { display: contents; }
	.bnds .bn-brand-hero .bn-brand-logo { grid-column: 1; grid-row: 1; width: 44px; height: 44px; padding: 5px; border-radius: 10px; }
	.bnds .bn-brand-hero .bn-hero-icon svg { width: 26px; height: 26px; }
	.bnds .bn-brand-hero .bn-eyebrow { grid-column: 2; grid-row: 1; margin: 0; }
	.bnds .bn-brand-hero h1.shop-page-title { grid-column: 1 / -1; margin: 0; font-size: 20px; line-height: 1.25; }
	.bnds .bn-brand-hero .bn-brand-meta {
		grid-column: 1 / -1;
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		margin: 0 -14px;
		padding: 0 14px;
	}
	.bnds .bn-brand-hero .bn-brand-meta::-webkit-scrollbar { display: none; }
	.bnds .bn-brand-hero .bn-brand-meta span { flex: 0 0 auto; font-size: 11.5px; padding: 4px 9px; white-space: nowrap; }
	.bnds .bn-brand-hero .bn-hero-links { grid-column: 1 / -1; margin: 0 -14px; padding: 0 14px; }

	/* Title row: left aligned, small breadcrumbs, full-width sort */
	.bnds .page-title-inner:has(.bn-brand-hero) { padding-top: 0; }
	.bnds .page-title-inner:has(.bn-brand-hero) .flex-col { text-align: left; }
	.bnds .page-title-inner:has(.bn-brand-hero) .breadcrumbs {
		font-size: 12px;
		letter-spacing: .02em;
		line-height: 1.4;
		margin: 2px 0 0;
		text-align: left;
	}
	.bnds .page-title-inner:has(.bn-brand-hero) > .flex-col:not(:has(.bn-brand-hero)) { margin-left: 0; width: 100%; flex: 1 1 100%; }
	.bnds .page-title-inner:has(.bn-brand-hero) .woocommerce-ordering { margin: 6px 0 0; width: 100%; }
	.bnds .page-title-inner:has(.bn-brand-hero) .woocommerce-ordering select {
		width: 100%;
		height: 42px;
		font-size: 14px;
		margin: 0;
		background-color: #fff;
	}

	/* FiboFilters mobile buttons: compact pills */
	.bnds .fibofilters-mobile-filters-container button {
		font-size: 14px !important;
		line-height: 1.2 !important;
		min-height: 0 !important;
		padding: 8px 14px !important;
		border-radius: 99px !important;
	}
}

/* Phones: FiboFilters toggle row sticks under the header */
@media (max-width: 849px) {
	.bnds .fibofilters-mobile-filters-container {
		position: -webkit-sticky;
		position: sticky;
		top: var(--bn-header-h, 60px);
		z-index: 25;
		margin: 0 0 12px;
		padding: 10px 0 2px;
		background: #f6f1e8;
		/* full-bleed background + hairline without widening the page */
		box-shadow: 0 0 0 100vmax #f6f1e8, 0 1px 0 100vmax var(--bn-line);
		clip-path: inset(0 -100vmax -1px);
	}
	.bnds .fibofilters-mobile-filters-container .fibofilters-mobile-filters {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		gap: 8px;
		overflow-x: auto;
		scrollbar-width: none;
		padding-bottom: 8px;
	}
	.bnds .fibofilters-mobile-filters-container .fibofilters-mobile-filters::-webkit-scrollbar { display: none; }
	.bnds .fibofilters-mobile-filters-container .fibofilters-filter-button {
		flex: 0 0 auto;
		margin: 0;
		padding: 7px 14px;
		font-size: 14px;
		font-weight: 600;
		line-height: 1.2;
		white-space: nowrap;
		color: var(--bn-navy);
		background: #fff;
		border-radius: 99px;
		box-shadow: inset 0 0 0 1px var(--bn-line);
	}
	.bnds .fibofilters-mobile-filters-container .fibofilters-filter-button:hover { box-shadow: inset 0 0 0 1.5px var(--bn-navy); text-shadow: none; }
	.bnds .fibofilters-mobile-filters-container .fibofilters-filter-button.fibofilters-filter-button-selected {
		color: #fff;
		background: var(--bn-green);
		box-shadow: none;
	}
	.bnds .fibofilters-mobile-filters-container .fibofilters-filter-button.fibofilters-filter-button-selected:before { display: none; }
	.bnds .fibofilters-mobile-filters-container .fibofilters-filter-button svg { margin: 0 0 -2px 6px; transform: none; }
	/* Not sticky while an off-canvas panel is open */
	html.has-off-canvas .bnds .fibofilters-mobile-filters-container { position: static; }
}
/* Phones: the tab bar replaces back-to-top, which otherwise covers card buttons */
@media (max-width: 549px) {
	.bnds .back-to-top { display: none !important; }
}

/* Header card on its own row; breadcrumbs (left) + result count & sort (right) share the next row */
.bnds .page-title-inner:has(.bn-brand-hero) { align-items: center; column-gap: 16px; }
.bnds .page-title-inner > .flex-col:has(.bn-brand-hero) { display: contents; }
.bnds .page-title-inner:has(.bn-brand-hero) .bn-brand-hero { flex: 1 1 100%; margin-bottom: 4px; }
.bnds .page-title-inner:has(.bn-brand-hero) .bn-brand-hero ~ .is-medium,
.bnds .page-title-inner:has(.bn-brand-hero) .bn-brand-hero ~ .breadcrumbs {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	align-self: center;
}
.bnds .page-title-inner:has(.bn-brand-hero) .breadcrumbs { margin: 0; }
.bnds .page-title-inner:has(.bn-brand-hero) > .flex-col:not(:has(.bn-brand-hero)) {
	flex: 0 0 auto;
	margin-left: auto;
	align-self: center;
}
.bnds .page-title-inner:has(.bn-brand-hero) > .flex-col:not(:has(.bn-brand-hero)) .woocommerce-result-count,
.bnds .page-title-inner:has(.bn-brand-hero) > .flex-col:not(:has(.bn-brand-hero)) .woocommerce-ordering,
.bnds .page-title-inner:has(.bn-brand-hero) > .flex-col:not(:has(.bn-brand-hero)) select { margin-bottom: 0; }
@media (max-width: 549px) {
	.bnds .page-title-inner:has(.bn-brand-hero) .bn-brand-hero ~ .is-medium,
	.bnds .page-title-inner:has(.bn-brand-hero) .bn-brand-hero ~ .breadcrumbs { flex: 1 1 100%; }
	.bnds .page-title-inner:has(.bn-brand-hero) > .flex-col:not(:has(.bn-brand-hero)) { flex: 1 1 100%; margin-left: 0; }
}

/* ==========================================================================
   Phase 3 — homepage (home-v2 block)
   ========================================================================== */

/* Section rhythm + left-aligned section titles with "View all" on the right */
.bnds .bn-home-section { padding-top: 36px !important; }
.bnds .bn-home-section .section-title-container { margin-bottom: 16px; }
.bnds .bn-home-section .section-title-normal { border-bottom: 0; }
.bnds .bn-home-section .section-title-normal span { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; font-size: 22px; text-transform: none; letter-spacing: -.01em; }
.bnds .bn-home-section .section-title a { font-size: 14px; }
.bnds .bn-home-section .section-title a .icon-angle-right { font-size: .9em; }
@media (max-width: 549px) {
	.bnds .bn-home-section { padding-top: 24px !important; }
	.bnds .bn-home-section .section-title-normal span { font-size: 18px; }
}

/* Hero H1 as a quiet line above the banners */
.bnds .bn-home-hero .section-title { font-size: 15px; font-weight: 600; color: var(--bn-muted); text-transform: none; letter-spacing: 0; }

/* Trust strip */
.bnds .bn-trust--strip { margin: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bnds .bn-trust--strip li { flex-direction: row; align-items: center; gap: 12px; padding: 14px 16px; }
.bnds .bn-trust--strip svg { width: 28px; height: 28px; }
@media (max-width: 849px) {
	.bnds .bn-trust--strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bnds .bn-trust--strip li { padding: 10px 12px; gap: 10px; }
	.bnds .bn-trust--strip svg { width: 24px; height: 24px; }
}

/* Category tiles */
.bnds .bn-cat-tiles { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 12px; }
.bnds .bn-cat-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 4px;
	padding: 16px 8px 14px;
	background: var(--bn-surface);
	border: 1px solid var(--bn-line);
	border-radius: 12px;
	color: var(--bn-navy);
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
.bnds .bn-cat-tile:hover { border-color: var(--bn-green); box-shadow: var(--bn-shadow); transform: translateY(-2px); color: var(--bn-navy); }
.bnds .bn-cat-ico {
	width: 56px;
	height: 56px;
	margin-bottom: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 14px;
	background: rgba(0, 122, 94, .08);
	color: var(--bn-green);
}
.bnds .bn-cat-ico svg { width: 30px; height: 30px; }
.bnds .bn-cat-name { font-size: 14px; font-weight: 700; line-height: 1.2; }
.bnds .bn-cat-count { font-size: 11.5px; color: var(--bn-muted); }
.bnds .bn-cat-tile.is-all .bn-cat-ico { background: var(--bn-navy); color: #fff; }
@media (max-width: 1099px) { .bnds .bn-cat-tiles { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 549px) {
	.bnds .bn-cat-tiles {
		grid-template-columns: none;
		grid-auto-flow: column;
		grid-auto-columns: 96px;
		overflow-x: auto;
		scrollbar-width: none;
		margin: 0 -15px;
		padding: 2px 15px 6px;
		scroll-snap-type: x proximity;
	}
	.bnds .bn-cat-tiles::-webkit-scrollbar { display: none; }
	.bnds .bn-cat-tile { scroll-snap-align: start; padding: 12px 6px 10px; }
	.bnds .bn-cat-ico { width: 48px; height: 48px; }
	.bnds .bn-cat-ico svg { width: 26px; height: 26px; }
	.bnds .bn-cat-name { font-size: 13px; }
}

/* Promo cards (replace the rainbow image tiles) */
.bnds .bn-deals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.bnds .bn-deal {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-height: 178px;
	padding: 20px 20px 18px;
	border-radius: 14px;
	overflow: hidden;
	color: #fff;
	transition: transform .15s, box-shadow .15s;
}
.bnds .bn-deal:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(17, 24, 39, .18); color: #fff; }
.bnds .bn-deal.is-green { background: linear-gradient(135deg, #007a5e, #005b46); }
.bnds .bn-deal.is-navy { background: linear-gradient(135deg, #1f2937, #111827); }
.bnds .bn-deal.is-red { background: linear-gradient(135deg, #b91c1c, #7f1d1d); }
.bnds .bn-deal.is-india { background: #fff; color: var(--bn-navy); border: 1px solid var(--bn-line); }
.bnds .bn-deal.is-india::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 5px; background: linear-gradient(90deg, #ff9933 33.3%, #fff 33.3% 66.6%, #138808 66.6%); }
.bnds .bn-deal.is-india:hover { color: var(--bn-navy); }
.bnds .bn-deal-ico { width: 40px; height: 40px; margin-bottom: auto; display: flex; align-items: center; justify-content: center; border-radius: 10px; background: rgba(255, 255, 255, .14); }
.bnds .bn-deal.is-india .bn-deal-ico { background: rgba(0, 0, 128, .07); color: #000080; }
.bnds .bn-deal-ico svg { width: 24px; height: 24px; }
.bnds .bn-deal-title { margin-top: 18px; font-size: 22px; font-weight: 800; line-height: 1.1; letter-spacing: -.01em; }
.bnds .bn-deal-sub { font-size: 13.5px; opacity: .85; }
.bnds .bn-deal-cta { margin-top: 10px; font-size: 13px; font-weight: 700; }
.bnds .bn-deal-cta::after { content: " \2192"; }
.bnds .bn-deal.is-india .bn-deal-cta { color: var(--bn-green); }
@media (max-width: 849px) { .bnds .bn-deals { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } }
@media (max-width: 549px) {
	.bnds .bn-deal { min-height: 150px; padding: 16px 14px 14px; }
	.bnds .bn-deal-title { font-size: 18px; margin-top: 12px; }
	.bnds .bn-deal-sub { font-size: 12px; }
	.bnds .bn-deal-ico { width: 34px; height: 34px; }
}

/* Goal cards */
.bnds .bn-goals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.bnds .bn-goal { padding: 18px; background: var(--bn-surface); border: 1px solid var(--bn-line); border-radius: 14px; }
.bnds .bn-goal-head { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.bnds .bn-goal-ico { flex: 0 0 auto; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; border-radius: 12px; background: rgba(0, 122, 94, .08); color: var(--bn-green); }
.bnds .bn-goal-ico svg { width: 28px; height: 28px; }
.bnds .bn-goal-head strong { display: block; font-size: 17px; font-weight: 700; color: var(--bn-navy); line-height: 1.2; }
.bnds .bn-goal-head small { display: block; font-size: 13px; color: var(--bn-muted); }
.bnds .bn-goal-links { display: flex; flex-wrap: wrap; gap: 8px; }
.bnds .bn-goal-links a { font-size: 13px; font-weight: 600; color: var(--bn-navy); background: #f9fafb; border: 1px solid var(--bn-line); border-radius: 99px; padding: 6px 12px; transition: border-color .15s, color .15s; }
.bnds .bn-goal-links a:hover { border-color: var(--bn-green); color: var(--bn-green); }
@media (max-width: 849px) { .bnds .bn-goals { grid-template-columns: 1fr; gap: 10px; } .bnds .bn-goal { padding: 14px; } }

/* Home product sliders: room for card shadow */
.bnds .bn-home-section .slider .product-small.col { padding-bottom: 6px; }

/* =====================================================================
 * Phase 4 — cart and checkout
 * =================================================================== */
.bnds.woocommerce-cart .checkout-breadcrumbs,.bnds.woocommerce-checkout .checkout-breadcrumbs{font-size:13px;letter-spacing:.06em}
.bnds .checkout-breadcrumbs a{color:var(--bn-muted)}
.bnds .checkout-breadcrumbs a.current{color:var(--bn-navy);border-bottom:2px solid var(--bn-green)}
.bnds .checkout-breadcrumbs .divider{color:#c9cdd3}

/* cards */
.bnds form.woocommerce-cart-form,.bnds .cart_totals,.bnds #customer_details,.bnds #coupons_list{background:#fff;border:1px solid var(--bn-line);border-radius:14px}
.bnds form.woocommerce-cart-form{padding:8px 18px 18px}
.bnds .cart_totals{padding:18px;border-top:1px solid var(--bn-line)!important}
.bnds #customer_details{padding:20px}
.bnds.woocommerce-checkout .is-sticky-column .col-inner.has-border{background:#fff;border:1px solid var(--bn-line)!important;border-radius:14px;padding:20px!important}
.bnds .woocommerce-form-coupon-toggle .message-container{background:transparent;border:0;padding:0;color:var(--bn-navy)}
.bnds .cart_totals .woocommerce-shipping-destination{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bnds .cart_totals>h2,.bnds #order_review_heading,.bnds #customer_details h3,.bnds .cart_totals .shop_table thead th{font-size:15px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--bn-navy)}
.bnds .shop_table th,.bnds .shop_table td{border-color:var(--bn-line)}
.bnds .shop_table thead th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--bn-muted)}
.bnds .shop_table .order-total td,.bnds .shop_table .order-total th{font-size:17px;color:var(--bn-navy)}
.bnds .shop_table .order-total .amount{color:var(--bn-navy)}
.bnds .woocommerce-shipping-destination,.bnds .woocommerce-shipping-calculator .shipping-calculator-button{font-size:12px;color:var(--bn-muted)}
.bnds td.product-name a{color:var(--bn-navy);font-weight:600}
.bnds .woocommerce-cart-form .product-thumbnail img{border-radius:10px;background:#f6f7f9}
.bnds .woocommerce-cart-form .product-remove a.remove{border-color:var(--bn-line);color:var(--bn-muted)!important}
.bnds .woocommerce-cart-form .product-remove a.remove:hover{background:var(--bn-red);border-color:var(--bn-red);color:#fff!important}

/* inputs */
.bnds.woocommerce-checkout input.input-text,.bnds.woocommerce-checkout select,.bnds.woocommerce-checkout textarea,.bnds.woocommerce-checkout .select2-selection,.bnds #coupon_code{border:1px solid #d6dae0;border-radius:10px;box-shadow:none;min-height:44px;background:#fff}
.bnds.woocommerce-checkout input.input-text:focus,.bnds.woocommerce-checkout textarea:focus,.bnds #coupon_code:focus{border-color:var(--bn-green);box-shadow:0 0 0 3px rgba(0,122,94,.15)}
.bnds.woocommerce-checkout .form-row label{font-size:13px;font-weight:600;color:var(--bn-navy)}

/* action buttons */
.bnds .wc-proceed-to-checkout .checkout-button,.bnds #place_order{background:var(--bn-green)!important;border-color:var(--bn-green)!important;color:#fff!important;border-radius:12px;min-height:52px;font-size:16px;font-weight:700;letter-spacing:.02em;text-transform:none;box-shadow:0 6px 16px rgba(0,122,94,.25);width:100%}
.bnds .wc-proceed-to-checkout .checkout-button:hover,.bnds #place_order:hover{background:var(--bn-green-d)!important;border-color:var(--bn-green-d)!important}
.bnds .continue-shopping .button,.bnds button[name="update_cart"]{border-radius:10px;text-transform:none;letter-spacing:0}

/* coupon */
.bnds .cart_totals~.coupon,.bnds .cart-collaterals .coupon,.bnds .cart-sidebar .coupon{background:#fff;border:1px dashed #b7c4bf;border-radius:14px;padding:14px 16px;margin-top:14px}
.bnds .coupon h3.widget-title{font-size:14px;letter-spacing:0;text-transform:none;color:var(--bn-navy);margin-bottom:8px}
.bnds .coupon h3.widget-title .icon-tag{color:var(--bn-green)}
.bnds .coupon .is-form.expand.button{border-radius:10px;background:var(--bn-navy);color:#fff;border-color:var(--bn-navy);text-transform:none}
.bnds #coupons_list{padding:14px 16px;margin-bottom:16px}
.bnds #coupons_list h3,.bnds #coupons_list .sc-coupons-list-title{font-size:14px;color:var(--bn-navy)}
.bnds.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,.bnds.woocommerce-checkout .message-wrapper.woocommerce-info{background:#fff;border:1px dashed #b7c4bf;border-radius:12px;padding:12px 16px;font-size:14px}
.bnds .woocommerce-form-coupon-toggle a{color:var(--bn-green);font-weight:600}

/* free-shipping bar */
.bnds .ux-free-shipping{background:#effaf5;border:1px solid #cdeee0;border-radius:12px;padding:12px 14px;margin:0 0 14px}
.bnds .ux-free-shipping__notice{font-size:13px;color:var(--bn-navy)}
.bnds .ux-free-shipping__progress{background:#d7efe5;border-radius:99px;height:6px;overflow:hidden}
.bnds .ux-free-shipping__progress-bar{background:var(--bn-green)!important;border-radius:99px}

/* payment methods */
.bnds #payment{background:transparent}
.bnds #payment ul.payment_methods{border:0;padding:0}
.bnds #payment ul.payment_methods>li.wc_payment_method{border:1px solid var(--bn-line);border-radius:12px;padding:12px 14px;margin:0 0 8px;background:#fff;list-style:none}
.bnds #payment ul.payment_methods>li.wc_payment_method:has(input:checked){border-color:var(--bn-green);box-shadow:0 0 0 1px var(--bn-green);background:#f5fbf8}
.bnds #payment ul.payment_methods li label{font-weight:600;color:var(--bn-navy);font-size:14px}
.bnds #payment ul.payment_methods li img{max-height:22px;width:auto;vertical-align:middle}
.bnds #payment div.payment_box{background:#f6f7f9;border-radius:8px;font-size:13px;margin-top:8px}
.bnds #payment div.payment_box:before{display:none}
.bnds .woocommerce-privacy-policy-text{font-size:12px;color:var(--bn-muted)}

/* COD hint + trust */
.bnds .bn-cod-hint{display:flex;gap:10px;align-items:flex-start;background:#fff8e6;border:1px solid #f4dfa6;border-radius:12px;padding:10px 12px;margin:0 0 12px;font-size:13px;line-height:1.45;color:#5b4a14}
.bnds .bn-cod-hint svg{width:20px;height:20px;flex:0 0 20px;color:#b7791f;margin-top:1px}
.bnds .bn-cod-hint strong{color:#3d3108}
.bnds .bn-checkout-trust{margin-top:12px;text-align:center}
.bnds .bn-checkout-trust ul{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;list-style:none}
.bnds .bn-checkout-trust li{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--bn-navy);margin:0}
.bnds .bn-checkout-trust svg{width:16px;height:16px;color:var(--bn-green)}
.bnds .bn-checkout-trust p{margin:6px 0 0;font-size:11px;color:var(--bn-muted)}
.bnds .cart_totals .bn-checkout-trust{margin-top:4px}

@media (max-width:849px){
 .bnds form.woocommerce-cart-form{padding:4px 12px 12px}
 .bnds #customer_details,.bnds .cart_totals{padding:16px}
 .bnds.woocommerce-checkout .is-sticky-column .col-inner.has-border{padding:16px!important}
 .bnds.woocommerce-cart .checkout-breadcrumbs,.bnds.woocommerce-checkout .checkout-breadcrumbs{font-size:11px}
}

/* Phase 4 refinement — checkout coupon area */
.bnds.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,.bnds.woocommerce-checkout .woocommerce-form-coupon-toggle .message-wrapper.woocommerce-info{border:1px solid var(--bn-line);border-radius:14px;padding:14px 16px 14px 48px;margin:0 0 12px;font-size:14px;position:relative;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007a5e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E") no-repeat 16px center/20px 20px}
.bnds.woocommerce-checkout .woocommerce-form-coupon-toggle .message-wrapper:before{display:none}
.bnds.woocommerce-checkout .woocommerce-form-coupon-toggle .message-container{padding:0;text-align:left}
.bnds.woocommerce-checkout form.checkout_coupon{background:#fff;border:1px solid var(--bn-line);border-radius:14px;padding:16px;margin:0 0 12px}
.bnds.woocommerce-checkout form.checkout_coupon .button{border-radius:10px;background:var(--bn-navy);border-color:var(--bn-navy);color:#fff;text-transform:none;min-height:44px}
.bnds.woocommerce-checkout #coupons_list{padding:0;margin-bottom:12px;overflow:hidden}
.bnds.woocommerce-checkout #coupons_list .sc-accordion-header{padding:14px 16px;font-size:14px;font-weight:600;color:var(--bn-navy)}
.bnds.woocommerce-checkout #coupons_list .sc-accordion-content.open{padding:0 16px 14px}
.bnds.woocommerce-checkout .woocommerce-billing-fields,.bnds.woocommerce-checkout .woocommerce-shipping-fields,.bnds.woocommerce-checkout .woocommerce-additional-fields{border-top:0;padding-top:0}
.bnds.woocommerce-checkout #customer_details h3{margin-top:0}
@media (min-width:850px){
 .bnds.woocommerce-checkout .woocommerce-form-coupon-toggle,.bnds.woocommerce-checkout form.checkout_coupon{max-width:calc(58.333% - 12.5px)}
}
.bnds.woocommerce-checkout #coupons_list .sc-accordion-header{border-bottom:1px solid var(--bn-line)}
.bnds.woocommerce-checkout #coupons_list .sc-accordion-content.open{padding-top:12px}
.bnds.woocommerce-checkout .woocommerce-form-coupon-toggle .message-container{text-align:left!important;font-size:14px}
/* checkout is distraction-free on phones, as before: no bottom tab bar */
.bnds.woocommerce-checkout .bn-tabbar{display:none!important}
.bnds.woocommerce-checkout #footer{margin-bottom:0!important}
/* checkout: editable quantity + remove in "Your order" */
.bnds .bn-co-line{display:flex;align-items:center;gap:12px;margin-top:8px}
.bnds .bn-co-qty{display:inline-flex;align-items:center;border:1px solid var(--bn-line);border-radius:999px;background:#fff;height:32px;overflow:hidden}
.bnds .bn-co-qty button{all:unset;box-sizing:border-box;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:16px;font-weight:600;color:var(--bn-navy);cursor:pointer}
.bnds .bn-co-qty button:hover:not([disabled]){background:#f3f4f6}
.bnds .bn-co-qty button[disabled]{color:#c4c8cf;cursor:not-allowed}
.bnds .bn-co-val{min-width:26px;text-align:center;font-size:14px;font-weight:700;color:var(--bn-navy)}
.bnds .bn-co-qty.is-fixed{padding:0 12px}
.bnds .bn-co-remove{all:unset;cursor:pointer;font-size:12px;font-weight:600;color:var(--bn-muted);text-decoration:underline;text-underline-offset:2px}
.bnds .bn-co-remove:hover{color:var(--bn-red)}
.bnds #order_review td.product-name{color:var(--bn-navy);font-weight:500;line-height:1.4}
.bnds #order_review.bn-co-busy{opacity:.6;pointer-events:none;transition:opacity .15s}
/* Cart / checkout header refinement — step indicator */
.bnds .checkout-page-title{background:transparent;padding:26px 0 6px}
.bnds .checkout-page-title .checkout-breadcrumbs{font-size:14px;text-transform:none;letter-spacing:0;flex-wrap:nowrap;justify-content:center;margin:0;line-height:1.2}
.bnds .checkout-page-title .checkout-breadcrumbs a{display:inline-flex;align-items:center;gap:8px;padding:0;border:0;color:var(--bn-muted);font-weight:600;white-space:nowrap}
.bnds .checkout-page-title .checkout-breadcrumbs .breadcrumb-step{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin:0;border-radius:50%;background:#fff;border:1.5px solid #d6dae0;color:var(--bn-muted);font-size:12px;font-weight:700;line-height:1}
.bnds .checkout-page-title .checkout-breadcrumbs a.current{color:var(--bn-navy)}
.bnds .checkout-page-title .checkout-breadcrumbs a.current .breadcrumb-step{background:var(--bn-green);border-color:var(--bn-green);color:#fff;box-shadow:0 0 0 4px rgba(0,122,94,.14)}
.bnds .checkout-page-title .checkout-breadcrumbs a:has(~ a.current){color:var(--bn-green)}
.bnds .checkout-page-title .checkout-breadcrumbs a:has(~ a.current) .breadcrumb-step{border-color:var(--bn-green);color:transparent;background:#e6f4ef url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007a5e' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") no-repeat center/14px}
.bnds .checkout-page-title .checkout-breadcrumbs .divider{display:inline-block;width:48px;height:2px;margin:0 14px;background:#d6dae0;border-radius:2px;font-size:0;opacity:1}
.bnds .checkout-page-title .checkout-breadcrumbs .divider i{display:none}
.bnds .checkout-page-title .checkout-breadcrumbs a:has(~ a.current) + .divider{background:var(--bn-green)}
@media (max-width:549px){
 .bnds .checkout-page-title{padding:16px 0 0}
 .bnds .checkout-page-title .checkout-breadcrumbs .hide-for-small{display:inline-flex!important}
 .bnds .checkout-page-title .checkout-breadcrumbs .divider.hide-for-small{display:inline-block!important;width:20px;margin:0 8px}
 .bnds .checkout-page-title .checkout-breadcrumbs a:not(.current){font-size:0;gap:0}
 .bnds .checkout-page-title .checkout-breadcrumbs a{font-size:13px}
 .bnds .checkout-page-title .checkout-breadcrumbs .breadcrumb-step{width:24px;height:24px;font-size:11px}
}

/* card headings + table header rules */
.bnds .cart_totals thead th{font-size:16px;font-weight:700;text-transform:none;letter-spacing:0;color:var(--bn-navy);padding-bottom:12px}
.bnds .cart_totals thead th,.bnds .woocommerce-cart-form thead th,.bnds #order_review thead th{border-bottom:1px solid var(--bn-line)!important}
.bnds .shop_table tr.order-total th,.bnds .shop_table tr.order-total td{border-top:1px solid var(--bn-line)!important}
.bnds .shop_table tr.order-total + tr th,.bnds .shop_table tr.order-total + tr td{border-top:1px solid var(--bn-line)!important}

/* Smart Coupons panel — same header on cart and checkout */
.bnds #coupons_list{padding:0;overflow:hidden}
.bnds #coupons_list .sc-accordion-header{padding:14px 18px;font-size:14px;font-weight:600;color:var(--bn-navy);border-bottom:1px solid var(--bn-line)}
.bnds #coupons_list .sc-accordion-header:not(.open){border-bottom-color:transparent}
.bnds #coupons_list .sc-accordion-content.open{padding:14px 18px;background:#fff}
