/* =========================================================
   BoxerBG — main stylesheet
   ========================================================= */

:root {
	--bg: #ffffff;
	--fg: #0a0a0a;
	--muted: #6b6b6b;
	--soft: #f4f4f4;
	--line: #e7e7e7;
	--accent: #ff3a00;
	--accent-hover: #d63100;
	--nav-h: 64px;
	--container: 1440px;
	--gutter: clamp(16px, 3vw, 32px);
	--radius: 0;
	--ease: cubic-bezier(.2, .8, .2, 1);
	--font-body: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
	--font-display: 'Oswald', 'Inter', system-ui, sans-serif;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	font-family: var(--font-body);
	color: var(--fg);
	background: var(--bg);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img, video, svg { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }

.container {
	max-width: var(--container);
	margin: 0 auto;
	padding-left: var(--gutter);
	padding-right: var(--gutter);
}

/* ---------- Typography ---------- */
h1, h2, h3, h4 {
	font-family: var(--font-display);
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1;
	text-transform: uppercase;
	margin: 0 0 .4em;
}
h1 { font-size: clamp(2.4rem, 6vw, 5rem); }
h2 { font-size: clamp(1.8rem, 4vw, 3rem); }
h3 { font-size: clamp(1.2rem, 2.4vw, 1.6rem); }

.eyebrow {
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--muted);
	margin: 0 0 12px;
}

/* ---------- Buttons ---------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 26px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	font-size: 13px;
	border-radius: 999px;
	border: 1px solid var(--fg);
	background: var(--fg);
	color: #fff;
	transition: transform .25s var(--ease), background .2s var(--ease), color .2s var(--ease);
}
.btn:hover { background: transparent; color: var(--fg); }
.btn--ghost { background: transparent; color: var(--fg); }
.btn--ghost:hover { background: var(--fg); color: #fff; }
.btn--invert { background: #fff; color: #0a0a0a; border-color: #fff; }
.btn--invert:hover { background: transparent; color: #fff; border-color: #fff; }

/* ---------- Promo bar above header ---------- */
.bbg-promobar {
	background: var(--accent);
	color: #fff;
	padding: 12px 0;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: .01em;
	line-height: 1.35;
	position: relative;
	z-index: 101;
}
.bbg-promobar .container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	flex-wrap: wrap;
	text-align: center;
}
.bbg-promobar__icon { flex-shrink: 0; display: inline-flex; }
.bbg-promobar__icon svg { fill: #fff; }
.bbg-promobar__text strong {
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-right: 6px;
}
@media (max-width: 640px) {
	.bbg-promobar { font-size: 13px; padding: 10px 0; }
	.bbg-promobar__icon svg { width: 18px; height: 18px; }
}

/* ---------- Header ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, .92);
	backdrop-filter: saturate(180%) blur(12px);
	-webkit-backdrop-filter: saturate(180%) blur(12px);
	border-bottom: 1px solid var(--line);
}
.nav {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	height: var(--nav-h);
	gap: 16px;
}
.nav-logo {
	font-family: var(--font-display);
	font-weight: 700;
	letter-spacing: .04em;
	font-size: 22px;
	text-transform: uppercase;
	justify-self: start;
}
.nav-logo span { color: var(--accent); }
.nav-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 28px;
	justify-self: center;
}
.nav-menu a {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	position: relative;
	padding: 6px 0;
}
.nav-menu a::after {
	content: '';
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 2px;
	background: var(--fg);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .3s var(--ease);
}
.nav-menu a:hover::after { transform: scaleX(1); }

.nav-actions { display: flex; gap: 14px; align-items: center; justify-self: end; }
.nav-cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: var(--fg);
}
.nav-cart__count {
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--accent);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 6px;
}

.nav-toggle {
	display: none;
	background: transparent;
	border: 0;
	padding: 6px;
	color: var(--fg);
}
.nav-toggle svg { width: 24px; height: 24px; }

@media (max-width: 900px) {
	/* Mobile: drop backdrop-filter so it doesn't trap position:fixed children
	 * inside a containing block. Solid white header is fine on phone. */
	.site-header {
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		background: #fff !important;
	}

	.nav { grid-template-columns: auto 1fr auto; }
	.nav-toggle { display: inline-flex; justify-self: start; }
	.nav-logo { justify-self: center; }
	.nav-menu {
		position: fixed !important;
		top: var(--nav-h);
		left: 0;
		right: 0;
		bottom: 0;
		background: #ffffff !important;
		background-color: #ffffff !important;
		flex-direction: column;
		padding: 28px var(--gutter);
		gap: 20px;
		transform: translateX(-100%);
		transition: transform .35s var(--ease);
		justify-self: stretch;
		z-index: 999;
		box-shadow: 0 10px 30px -10px rgba(0,0,0,.15);
		overflow-y: auto;
		visibility: hidden;
	}
	.is-nav-open .nav-menu { visibility: visible; }
	.nav-menu a {
		font-size: 22px;
		font-weight: 700;
		color: var(--fg);
		padding: 8px 0;
		border-bottom: 1px solid var(--line);
	}
	.nav-menu li:last-child a { border-bottom: 0; }
	.is-nav-open .nav-menu { transform: translateX(0); }
	.is-nav-open { overflow: hidden; }
}

/* ---------- Hero ---------- */
.hero {
	position: relative;
	height: calc(100vh - var(--nav-h));
	min-height: 560px;
	overflow: hidden;
	background: #0a0a0a;
	color: #fff;
}
/* On mobile, fit promo bar + nav + hero + strip in one viewport. */
@media (max-width: 820px) {
	.hero {
		/* svh = small viewport height (mobile address bar visible).
		 * 46px promo bar + 64px nav + 44px marquee strip ≈ 154px. */
		height: calc(100svh - 154px);
		min-height: 380px;
	}
	.hero h1 {
		font-size: clamp(2.2rem, 11vw, 4rem) !important;
	}
	.hero__inner { padding-bottom: 28px; }
	.strip { padding: 11px 0; }
	.strip__track { font-size: 12px; }
}
.hero__media,
.hero__media video,
.hero__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hero__media img { animation: heroPan 18s ease-in-out infinite alternate; }
@keyframes heroPan {
	0%   { transform: scale(1.05) translate3d(-1%, -1%, 0); }
	100% { transform: scale(1.15) translate3d( 2%,  2%, 0); }
}
.hero::after {
	content: '';
	position: absolute;
	inset: 0;
	background:
		linear-gradient(180deg, rgba(0,0,0,.0) 30%, rgba(0,0,0,.6) 100%),
		linear-gradient(90deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,.0) 60%);
}
.hero__inner {
	position: relative;
	z-index: 1;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 0 var(--gutter) 56px;
	max-width: var(--container);
	margin: 0 auto;
}
.hero h1 {
	color: #fff;
	font-size: clamp(3rem, 9vw, 7.5rem);
	margin-bottom: 16px;
	text-shadow: 0 2px 30px rgba(0,0,0,.25);
}
.hero h1 em { font-style: normal; color: var(--accent); }
.hero p {
	font-size: clamp(15px, 1.4vw, 18px);
	max-width: 540px;
	margin: 0 0 28px;
	color: rgba(255, 255, 255, .85);
}
.hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }

/* Offer hero variant (homepage) */
.hero--offer .hero__inner {
	justify-content: center;
	padding: 80px var(--gutter) 56px;
}
.hero__offer {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 14px 0 22px;
	line-height: .95;
}
.hero__offer-pre {
	font-family: var(--font-display);
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: rgba(255, 255, 255, .9);
}
.hero__offer-main {
	font-family: var(--font-display);
	font-size: clamp(5rem, 16vw, 12rem);
	font-weight: 900;
	color: var(--accent);
	letter-spacing: -.02em;
	text-shadow: 0 8px 40px rgba(255, 58, 0, .35);
}
.hero__offer-perunit {
	display: block;
	margin-top: 14px;
	font-family: var(--font-body);
	font-size: clamp(14px, 1.4vw, 18px);
	font-weight: 600;
	color: rgba(255, 255, 255, .85);
	letter-spacing: .04em;
}
.hero__sub {
	font-size: clamp(15px, 1.4vw, 18px);
	max-width: 560px;
	margin: 0 0 26px;
	color: rgba(255, 255, 255, .82);
	line-height: 1.55;
}
.hero__brands {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: 28px;
	max-width: 760px;
}
.hero__brands span {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .04em;
	color: rgba(255, 255, 255, .65);
	border-left: 1.5px solid rgba(255, 255, 255, .25);
	padding-left: 12px;
	white-space: nowrap;
}
.hero__brands span:first-child { border-left: 0; padding-left: 0; }
@media (max-width: 820px) {
	.hero__offer-pre { font-size: clamp(1.4rem, 6vw, 2.5rem); letter-spacing: .12em; }
	.hero__offer-main { font-size: clamp(4.5rem, 22vw, 9rem); }
	.hero__brands { font-size: 11px; gap: 6px 12px; }
	.hero__brands span { font-size: 11px; padding-left: 10px; }
}

/* ---------- Generic section ---------- */
.section { padding: clamp(56px, 8vw, 120px) 0; }
.section--tight { padding: clamp(40px, 5vw, 80px) 0; }
.section-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	margin-bottom: 32px;
	flex-wrap: wrap;
}
.section-head h2 { margin: 0; }
.section-head .link {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	border-bottom: 2px solid var(--fg);
	padding-bottom: 3px;
}

/* ---------- Marquee strip ---------- */
.strip {
	background: var(--fg);
	color: #fff;
	overflow: hidden;
	padding: 14px 0;
}
.strip__track {
	display: flex;
	width: max-content;
	white-space: nowrap;
	animation: marquee 7s linear infinite;
	will-change: transform;
	font-family: var(--font-body);
	letter-spacing: .04em;
	font-size: 14px;
	font-weight: 600;
}
.strip__set {
	display: flex;
	gap: 40px;
	padding-right: 40px;
	flex-shrink: 0;
}
.strip__track span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.strip__track span::before { content: ''; display: none; }
.strip__track span + span::before {
	content: '·';
	color: var(--accent);
	display: inline;
	margin-right: 12px;
	font-weight: 700;
}
@keyframes marquee {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

/* ---------- Categories tiles ---------- */
.tiles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}
@media (max-width: 800px) { .tiles { grid-template-columns: 1fr; } }
.tile {
	position: relative;
	overflow: hidden;
	background: var(--soft);
	aspect-ratio: 4 / 5;
	display: flex;
	align-items: flex-end;
	color: #fff;
}
.tile img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s var(--ease);
}
.tile:hover img { transform: scale(1.05); }
.tile::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0) 50%, rgba(0,0,0,.7) 100%);
}
.tile__label {
	position: relative;
	z-index: 1;
	padding: 24px;
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 2.6vw, 2.4rem);
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: .02em;
}

/* ---------- Product grid ---------- */
ul.products, .product-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(16px, 2vw, 28px);
}
ul.products::before, ul.products::after { display: none !important; content: none !important; }
ul.products li.product, .product-card {
	margin: 0;
	display: flex;
	flex-direction: column;
	width: auto !important;
	float: none !important;
	clear: none !important;
}
@media (max-width: 1100px) {
	ul.products, .product-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 820px) {
	ul.products, .product-grid {
		grid-template-columns: repeat(2, 1fr);
		row-gap: 16px;
		column-gap: 10px;
	}
	ul.products li.product { margin: 0 !important; }
	ul.products li.product .woocommerce-loop-product__title,
	ul.products li.product h2.woocommerce-loop-product__title,
	ul.products li.product h3.woocommerce-loop-product__title {
		margin: 10px 0 6px !important;
		font-size: 13px !important;
	}
	ul.products li.product a.woocommerce-LoopProduct-link { margin-bottom: 6px; }
	.bbg-loop-price__big { font-size: 15px; }
	.bbg-loop-price__from { font-size: 10px; }
	.bbg-loop-price__per { font-size: 11px; }
	.bbg-loop-price__del { font-size: 11px; }
	.bbg-loop-ribbon { top: 8px; left: 8px; padding: 6px 9px; }
	.bbg-loop-ribbon__deal { font-size: 10px; }
	.bbg-loop-ribbon__save { font-size: 9px; }

	/* Single product on mobile: zero row-gap + bundle no margin */
	.single-product .bbg-bundle { margin: 0 !important; }
}

ul.products li.product a.woocommerce-LoopProduct-link {
	display: block;
	position: relative;
	overflow: hidden;
	background: transparent;
	margin: 0 0 14px;
	padding: 0;
}
ul.products li.product a.woocommerce-LoopProduct-link img {
	transition: transform .6s var(--ease);
	width: 100%;
	height: auto;
	display: block;
	background: #fff;
}
ul.products li.product:hover a.woocommerce-LoopProduct-link img { transform: scale(1.04); }

ul.products li.product .woocommerce-loop-product__title,
ul.products li.product h2.woocommerce-loop-product__title,
ul.products li.product h3.woocommerce-loop-product__title {
	font-family: var(--font-body) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	margin: 14px 0 10px !important;
	padding: 0 !important;
	background: transparent !important;
	color: var(--fg);
}
ul.products li.product .price,
ul.products li.product .price .amount,
ul.products li.product .price bdi {
	color: var(--fg) !important;
	font-weight: 700;
	font-size: 15px;
	background: transparent;
}
ul.products li.product .price del { color: var(--muted) !important; margin-right: 6px; font-weight: 400; }
ul.products li.product .price ins { text-decoration: none; color: var(--accent) !important; }

/* Per-box "От 11,67 € / кутия" loop price */
.bbg-loop-price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
	color: var(--fg);
}
.bbg-loop-price__from {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--muted);
}
.bbg-loop-price__big {
	font-size: 18px;
	font-weight: 800;
	color: var(--fg);
	line-height: 1;
}
.bbg-loop-price__per {
	font-size: 12px;
	color: var(--muted);
	letter-spacing: .02em;
}
.bbg-loop-price__del {
	font-size: 12px;
	color: var(--muted);
	font-weight: 500;
	text-decoration: line-through;
	margin-left: 4px;
}

/* Size range / list above the product title */
.bbg-loop-sizes {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--muted);
	margin: 14px 0 2px;
	line-height: 1.4;
}
ul.products li.product .bbg-loop-sizes + .woocommerce-loop-product__title,
ul.products li.product .bbg-loop-sizes + h2.woocommerce-loop-product__title,
ul.products li.product .bbg-loop-sizes + h3.woocommerce-loop-product__title {
	margin-top: 4px !important;
}
.bbg-recent__card .bbg-loop-sizes { margin: 12px 0 0; }
.bbg-recent__card .bbg-loop-sizes + .bbg-recent__name { margin-top: 4px; }

/* Promo ribbon on product card */
ul.products li.product a.woocommerce-LoopProduct-link {
	position: relative; /* anchor for absolute ribbon (already relative actually) */
}
.bbg-loop-ribbon {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: inline-flex;
	flex-direction: column;
	background: var(--fg);
	color: #fff;
	padding: 8px 12px;
	border-radius: 4px;
	line-height: 1.1;
	box-shadow: 0 6px 16px -6px rgba(10,10,10,.35);
}
.bbg-loop-ribbon__deal {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.bbg-loop-ribbon__save {
	font-size: 10px;
	font-weight: 700;
	color: var(--accent);
	letter-spacing: .04em;
	margin-top: 2px;
}

ul.products li.product .button,
ul.products li.product a.add_to_cart_button,
ul.products li.product a.button.product_type_simple,
ul.products li.product a.button.product_type_variable,
ul.products li.product .added_to_cart {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 14px 0 0;
	padding: 16px 22px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	background: var(--fg);
	color: #fff;
	border: 1px solid var(--fg);
	border-radius: 999px;
	width: 100%;
	text-align: center;
	box-shadow: 0 1px 0 rgba(0,0,0,0);
	transition: background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease), border-color .25s var(--ease);
}
ul.products li.product .button:hover,
ul.products li.product a.add_to_cart_button:hover {
	background: var(--accent);
	border-color: var(--accent);
	color: #fff;
	transform: translateY(-1px);
}
ul.products li.product .button.loading,
ul.products li.product a.add_to_cart_button.loading {
	opacity: .7;
}
ul.products li.product .added_to_cart {
	background: #fff;
	color: var(--fg);
	margin-top: 8px;
}
ul.products li.product .added_to_cart:hover {
	background: var(--accent);
	color: #fff;
	border-color: var(--accent);
}

ul.products li.product .onsale,
.onsale {
	position: absolute;
	top: 14px;
	left: 14px;
	background: var(--accent);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	padding: 5px 10px;
	border-radius: 999px;
	min-height: 0;
	min-width: 0;
	line-height: 1.2;
	z-index: 2;
}

/* ---------- Single product (JD-style) ---------- */
/* iOS Safari overflow-x guard: applied on html too — body alone is unreliable on iOS */
html, body { overflow-x: hidden; }
body.single-product { overflow-x: hidden; max-width: 100vw; width: 100%; }
.single-product main { padding-top: 24px; padding-bottom: 80px; background: #fff; overflow-x: hidden; max-width: 100vw; }
.single-product .container { max-width: 100%; }
.single-product div.product { max-width: 100%; overflow-x: hidden; }
.single-product div.product > * { max-width: 100%; }
.single-product .bbg-bundle,
.single-product .bbg-bundle__cards,
.single-product .bbg-bundle__card,
.single-product .bbg-reassure { max-width: 100%; }

/* Make the image area JD-like: light grey background, contain-fit photo */
.single-product div.product div.images,
.single-product div.product .woocommerce-product-gallery {
	background: #f5f4f1;
	padding: 0;
	border-radius: 0;
	align-self: start;
}
.single-product div.product .woocommerce-product-gallery img {
	width: 100%;
	height: auto;
	display: block;
}
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery img {
	background: transparent;
}
.single-product .flex-control-thumbs {
	margin-top: 12px;
	display: flex;
	gap: 8px;
	padding: 8px;
}
.single-product .flex-control-thumbs li {
	flex: 0 0 80px;
}
.single-product .flex-control-thumbs li img {
	cursor: pointer;
	opacity: .55;
	transition: opacity .2s var(--ease);
}
.single-product .flex-control-thumbs li img.flex-active,
.single-product .flex-control-thumbs li img:hover { opacity: 1; }

.single-product .woocommerce-product-gallery__trigger {
	top: 16px;
	right: 16px;
	background: #fff;
	width: 38px;
	height: 38px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 4px rgba(0,0,0,.08);
	z-index: 5;
}

/* Right column — info */
.single-product div.product > .summary,
.single-product div.product > div.summary {
	padding: 8px 0 0;
	align-self: start;
}
.single-product div.product {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	column-gap: clamp(24px, 4vw, 64px);
	row-gap: 48px;
}
@media (max-width: 900px) {
	.single-product div.product {
		grid-template-columns: 1fr;
		row-gap: 0;
	}
	.single-product div.product > .woocommerce-product-gallery,
	.single-product div.product > div.images,
	.single-product div.product .woocommerce-product-gallery__wrapper,
	.single-product div.product .woocommerce-product-gallery__image,
	.single-product div.product .flex-viewport,
	.single-product div.product .flex-slider {
		max-width: 100% !important;
		width: 100% !important;
		overflow: hidden;
	}
	.single-product div.product .woocommerce-product-gallery img,
	.single-product div.product .woocommerce-product-gallery a img,
	.single-product div.product div.images img {
		max-width: 100% !important;
		width: 100% !important;
		height: auto !important;
		display: block !important;
	}
}

.single-product div.product > .woocommerce-product-gallery,
.single-product div.product > div.images {
	grid-column: 1;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
}
.single-product div.product > .summary,
.single-product div.product > div.summary {
	grid-column: 2;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
}
@media (max-width: 900px) {
	.single-product div.product > .woocommerce-product-gallery,
	.single-product div.product > div.images,
	.single-product div.product > .summary,
	.single-product div.product > div.summary { grid-column: 1; }
}
.single-product div.product > .woocommerce-tabs,
.single-product div.product > .related,
.single-product div.product > .upsells,
.single-product div.product > section.related,
.single-product div.product > section.up-sells { grid-column: 1 / -1; }

.single-product div.product .product_title {
	font-family: var(--font-body);
	font-size: clamp(22px, 2.2vw, 30px);
	font-weight: 700;
	text-transform: none;
	letter-spacing: -.01em;
	margin: 0 0 14px;
	color: var(--fg);
	line-height: 1.25;
}
.single-product div.product .price,
.single-product div.product p.price,
.single-product div.product .woocommerce-variation-price .price {
	font-size: 26px;
	font-weight: 800;
	margin: 0 0 24px;
	color: var(--fg);
	line-height: 1.15;
	letter-spacing: -.01em;
}
.single-product div.product .price ins,
.single-product div.product p.price ins { color: var(--accent); text-decoration: none; }
.single-product div.product .price del,
.single-product div.product p.price del {
	color: var(--muted);
	font-weight: 500;
	font-size: 17px;
	margin-right: 10px;
	vertical-align: middle;
}
.single-product div.product .price .amount { color: inherit; }

.single-product div.product .woocommerce-product-details__short-description {
	color: var(--muted);
	font-size: 15px;
	line-height: 1.65;
	margin: 0 0 24px;
	padding-bottom: 24px;
	border-bottom: 1px solid var(--line);
}
.single-product div.product .woocommerce-product-details__short-description p { margin: 0 0 8px; }
.single-product div.product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

/* Hide jumpy variation extras: stock count, reset, variation price, stock status */
.single-product .reset_variations,
.single-product .woocommerce-variation-availability,
.single-product .woocommerce-variation-price,
.single-product .woocommerce-variation-description,
.single-product .stock { display: none !important; }
.single-product .single_variation { min-height: 0 !important; }

/* Variations form */
.single-product .variations_form { margin: 0; }
.single-product table.variations { width: 100%; border-collapse: collapse; border: 0; margin: 0; }
.single-product table.variations tr { display: block; }
.single-product table.variations td { display: block; padding: 0; border: 0; }
.single-product table.variations td.label { padding: 0 0 10px; }
.single-product table.variations td.label label {
	font-size: 11px;
	font-weight: 800;
	color: var(--muted);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.single-product table.variations td.value { padding: 0 0 22px; }
.single-product .reset_variations { display: inline-block; margin-top: 10px; font-size: 12px; color: var(--muted); }

/* Hide the actual select — we render pills */
.single-product .bbg-size-select {
	position: absolute !important;
	width: 1px !important; height: 1px !important;
	padding: 0 !important; margin: -1px !important;
	overflow: hidden !important; clip: rect(0,0,0,0) !important;
	white-space: nowrap !important; border: 0 !important;
}

/* Size pills (premium rectangular — wider than tall, JD/Nike-style) */
.bbg-size-pills {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin-top: 6px;
}
.bbg-pill {
	appearance: none;
	position: relative;
	background: #fff;
	color: var(--fg);
	border: 1.5px solid #e7e7e7;
	padding: 14px 8px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .02em;
	border-radius: 4px;
	cursor: pointer;
	overflow: hidden;
	text-align: center;
	transition: border-color .15s var(--ease), background .15s var(--ease), color .15s var(--ease);
}
.bbg-pill:hover { border-color: var(--fg); }
.bbg-pill:focus-visible {
	outline: none;
	border-color: var(--fg);
	box-shadow: 0 0 0 3px rgba(10,10,10,.1);
}
.bbg-pill.is-active {
	border-color: var(--fg);
	background: var(--fg);
	color: #fff;
	padding-right: 22px; /* room for checkmark */
}
.bbg-pill.is-active::after {
	content: '';
	position: absolute;
	top: 6px;
	right: 6px;
	width: 14px;
	height: 14px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
/* Out-of-stock / disabled: lighter color + diagonal strikethrough line */
.bbg-pill:disabled,
.bbg-pill[aria-disabled="true"],
.bbg-pill.is-disabled {
	color: #c5c5c5;
	background: #fafafa;
	border-color: #ececec;
	cursor: not-allowed;
}
.bbg-pill:disabled::before,
.bbg-pill[aria-disabled="true"]::before,
.bbg-pill.is-disabled::before {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(to top right,
		transparent calc(50% - 0.6px),
		#d6d6d6 calc(50% - 0.6px),
		#d6d6d6 calc(50% + 0.6px),
		transparent calc(50% + 0.6px));
}

/* ====================================================
 * Bundle picker (custom dropdown)
 * ==================================================== */
.single-product .quantity { display: none !important; }

.bbg-bundle {
	position: relative;
	margin: 22px 0 4px;
	width: 100%;
	flex: 1 1 100%;
	user-select: none;
}
.bbg-bundle__heading {
	font-size: 11px;
	font-weight: 800;
	color: var(--muted);
	margin-bottom: 14px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

/* New stacked card chooser */
.bbg-bundle__cards {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.bbg-bundle__card {
	position: relative;
	display: block;
	padding: 18px 22px 18px 56px;
	border: 1.5px solid var(--line);
	border-radius: 12px;
	background: #fff;
	cursor: pointer;
	transition: border-color .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease);
}
.bbg-bundle__card:hover { border-color: var(--fg); }
.bbg-bundle__card input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	width: 0;
	height: 0;
}
.bbg-bundle__card-radio {
	position: absolute;
	left: 18px;
	top: 22px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 2px solid var(--line);
	background: #fff;
	transition: border-color .2s var(--ease);
}
.bbg-bundle__card-radio::after {
	content: '';
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: var(--fg);
	transform: scale(0);
	transition: transform .2s var(--ease);
}
.bbg-bundle__card.is-active {
	border-color: var(--accent);
	border-width: 2px;
	background: linear-gradient(180deg, #fff8f3 0%, #ffefe3 100%);
	box-shadow: 0 10px 30px -12px rgba(255, 58, 0, .28);
}
.bbg-bundle__card.is-active .bbg-bundle__card-radio {
	border-color: var(--accent);
	border-width: 2px;
}
.bbg-bundle__card.is-active .bbg-bundle__card-radio::after {
	background: var(--accent);
	transform: scale(1);
}

.bbg-bundle__card-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	min-width: 0;
}
.bbg-bundle__card-l {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
}
.bbg-bundle__card-qty {
	font-size: 32px;
	font-weight: 800;
	color: var(--fg);
	line-height: 1;
}
.bbg-bundle__card-noun {
	font-size: 15px;
	font-weight: 500;
	color: var(--muted);
}
.bbg-bundle__card-price {
	font-size: 26px;
	font-weight: 800;
	color: var(--fg);
	white-space: nowrap;
	line-height: 1;
}
.bbg-bundle__card-meta {
	margin-top: 10px;
	font-size: 13px;
	color: var(--muted);
}
.bbg-bundle__card-save {
	color: var(--accent);
	font-weight: 700;
}
.bbg-bundle__card-badge {
	position: absolute;
	top: -10px;
	right: 18px;
	background: var(--fg);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	padding: 5px 11px;
	border-radius: 999px;
	white-space: nowrap;
}
.bbg-bundle__card-badge--best {
	background: var(--accent);
	color: #fff;
}

@media (max-width: 520px) {
	.bbg-bundle__card { padding: 16px 18px 16px 48px; }
	.bbg-bundle__card-radio { left: 14px; top: 18px; width: 20px; height: 20px; }
	.bbg-bundle__card-qty { font-size: 26px; }
	.bbg-bundle__card-price { font-size: 22px; }
	.bbg-bundle__card-noun { font-size: 13px; }
	.bbg-bundle__card-meta { font-size: 12px; }
	.bbg-bundle__card-badge { font-size: 9px; padding: 4px 9px; }
}

/* Hide legacy dropdown bits if any remain in cache */
.bbg-bundle__toggle, .bbg-bundle__list, .bbg-bundle__option, .bbg-bundle__toggle-badge { display: none !important; }


.bbg-bundle__current {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	line-height: 1.2;
}
.bbg-bundle__current-label {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--muted);
}
.bbg-bundle__current-price {
	font-size: 22px;
	font-weight: 800;
	color: var(--fg);
}
.bbg-bundle__caret {
	color: var(--fg);
	transition: transform .25s var(--ease);
	flex-shrink: 0;
}
.bbg-bundle.is-open .bbg-bundle__caret { transform: rotate(180deg); }

.bbg-bundle__toggle-badge {
	flex-shrink: 0;
	background: var(--accent);
	color: #fff;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 5px 10px;
	border-radius: 999px;
	white-space: nowrap;
}

.bbg-bundle__list {
	position: absolute;
	left: 0;
	right: 0;
	top: calc(100% - 1px);
	margin: 0;
	padding: 4px;
	background: #fff;
	border: 1.5px solid var(--fg);
	border-top: 0;
	border-radius: 0 0 14px 14px;
	list-style: none;
	z-index: 20;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transform: translateY(-4px);
	transition: max-height .25s var(--ease), opacity .2s var(--ease), transform .25s var(--ease);
	box-shadow: 0 18px 32px -16px rgba(10,10,10,.22);
}
.bbg-bundle.is-open .bbg-bundle__list {
	max-height: 480px;
	opacity: 1;
	transform: translateY(0);
}

.bbg-bundle__option {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 14px 14px;
	border-radius: 10px;
	cursor: pointer;
	transition: background .15s var(--ease);
}
.bbg-bundle__option + .bbg-bundle__option {
	border-top: 1px solid rgba(0,0,0,.06);
}
.bbg-bundle__option:hover,
.bbg-bundle__option:focus-visible { background: var(--soft); outline: none; }
.bbg-bundle__option.is-active { background: var(--soft); }

/* Radio dot on the left */
.bbg-bundle__option-radio {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin-top: 1px;
	border-radius: 50%;
	border: 2px solid var(--line);
	background: #fff;
	position: relative;
	transition: border-color .2s var(--ease);
}
.bbg-bundle__option-radio::after {
	content: '';
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: var(--fg);
	transform: scale(0);
	transition: transform .2s var(--ease);
}
.bbg-bundle__option:hover .bbg-bundle__option-radio { border-color: var(--fg); }
.bbg-bundle__option.is-active .bbg-bundle__option-radio { border-color: var(--fg); }
.bbg-bundle__option.is-active .bbg-bundle__option-radio::after { transform: scale(1); }

.bbg-bundle__option-body {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.bbg-bundle__option-row1 {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	min-width: 0;
}
.bbg-bundle__option-row2 {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	min-width: 0;
	flex-wrap: wrap;
}
.bbg-bundle__option-label {
	font-size: 15px;
	font-weight: 700;
	color: var(--fg);
	line-height: 1.2;
	white-space: nowrap;
	min-width: 0;
}
.bbg-bundle__option-price {
	font-size: 18px;
	font-weight: 800;
	color: var(--fg);
	white-space: nowrap;
	flex-shrink: 0;
}
.bbg-bundle__option-save {
	font-size: 12px;
	font-weight: 600;
	color: var(--accent);
	letter-spacing: .02em;
}
.bbg-bundle__option-badge {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	color: #fff;
	background: var(--accent);
	padding: 3px 9px;
	border-radius: 999px;
	text-transform: uppercase;
	white-space: nowrap;
	margin-left: auto;
}

@media (max-width: 520px) {
	.bbg-bundle__current-price { font-size: 20px; }
	.bbg-bundle__option-price  { font-size: 16px; }
	.bbg-bundle__option-label  { font-size: 14px; }
	.bbg-bundle__option { padding: 12px 12px; }
}

/* Quantity stepper (JD-style) */
.single-product .quantity, .single-product .bbg-qty {
	display: inline-flex;
	align-items: stretch;
	border: 1px solid var(--line);
	border-radius: 999px;
	overflow: hidden;
	height: 52px;
}
.single-product .bbg-qty-btn {
	background: #fff;
	border: 0;
	width: 44px;
	height: 100%;
	font-size: 20px;
	line-height: 1;
	color: var(--fg);
	cursor: pointer;
	transition: background .2s var(--ease);
	font-weight: 600;
}
.single-product .bbg-qty-btn:hover { background: var(--soft); }
.single-product .bbg-qty input.qty,
.single-product .quantity input.qty {
	width: 50px;
	height: 100%;
	border: 0;
	padding: 0;
	background: #fff;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	color: var(--fg);
	-moz-appearance: textfield;
}
.single-product input.qty::-webkit-outer-spin-button,
.single-product input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* Cart row: quantity + button + wishlist heart, JD-style */
.single-product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
}
.single-product form.cart.variations_form { display: block; }
.single-product form.cart.variations_form .single_variation_wrap { margin-top: 16px; }
.single-product form.cart.variations_form .woocommerce-variation-add-to-cart {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	visibility: visible !important;
}

.single-product button.single_add_to_cart_button,
.single-product .single_add_to_cart_button {
	flex: 1 1 100%;
	width: 100%;
	min-width: 200px;
	height: 60px;
	padding: 0 28px;
	background: var(--fg) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	text-transform: uppercase !important;
	font-size: 13px !important;
	cursor: pointer;
	transition: background .2s var(--ease);
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 12px;
	text-shadow: none !important;
	box-shadow: none !important;
	margin-top: 16px;
}
.single-product .single_add_to_cart_button .bbg-cart-meta {
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: none;
	font-size: 13px;
	opacity: .8;
	position: relative;
	padding-left: 14px;
}
.single-product .single_add_to_cart_button .bbg-cart-meta::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: currentColor;
	opacity: .6;
}
.single-product button.single_add_to_cart_button:hover,
.single-product .single_add_to_cart_button:hover {
	background: var(--accent) !important;
}
.single-product button.single_add_to_cart_button.disabled,
.single-product button.single_add_to_cart_button:disabled,
.single-product .single_add_to_cart_button.disabled,
.single-product .single_add_to_cart_button:disabled {
	background: #c5c5c5 !important;
	color: #fff !important;
	cursor: not-allowed;
}

/* Premium reassurance block under cart button */
.bbg-reassure {
	margin-top: 22px;
	padding: 18px 20px;
	background: var(--soft);
	border: 1px solid var(--line);
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.bbg-reassure__row {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}
.bbg-reassure__row > div {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
	min-width: 0;
}
.bbg-reassure__icon {
	flex-shrink: 0;
	color: var(--accent);
	margin-top: 2px;
}
.bbg-reassure strong {
	font-size: 14px;
	font-weight: 700;
	color: var(--fg);
	line-height: 1.4;
	letter-spacing: -.005em;
}
.bbg-reassure strong em {
	font-style: normal;
	color: var(--accent);
}
.bbg-reassure span {
	font-size: 13px;
	color: var(--muted);
	line-height: 1.55;
}

.bbg-wishlist { display: none !important; }

/* Product meta (SKU / category) small + subdued */
.single-product .product_meta {
	margin-top: 18px;
	font-size: 12px;
	color: var(--muted);
	letter-spacing: .02em;
}
.single-product .product_meta > span { display: block; margin: 4px 0; }
.single-product .product_meta a { color: var(--muted); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.single-product .product_meta a:hover { color: var(--fg); }

/* Variation price (after a size is selected) */
.single-product .single_variation_wrap .woocommerce-variation-price {
	margin: 0 0 14px;
}
.single-product .woocommerce-variation-availability {
	margin: 6px 0 14px;
	font-size: 13px;
	color: var(--muted);
}

/* Product details — full-width accordion below summary, before related products */
.single-product div.product > .bbg-details {
	grid-column: 1 / -1;
	margin: 24px 0 0;
	border-top: 1px solid var(--fg);
}
.single-product div.product .product_meta { margin-top: 14px; margin-bottom: 0; }
.bbg-detail {
	border-bottom: 1px solid var(--line);
}
.bbg-detail summary {
	list-style: none;
	cursor: pointer;
	padding: 22px 4px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -.005em;
	text-transform: none;
	color: var(--fg);
	transition: color .2s var(--ease);
	user-select: none;
}
.bbg-detail summary::-webkit-details-marker { display: none; }
.bbg-detail summary::marker { display: none; content: ''; }
.bbg-detail summary:hover { color: var(--accent); }
.bbg-detail__arrow {
	transition: transform .25s var(--ease);
	flex-shrink: 0;
}
.bbg-detail[open] .bbg-detail__arrow { transform: rotate(180deg); }
.bbg-detail__body {
	padding: 4px 4px 32px;
	color: var(--fg);
	font-size: 15px;
	line-height: 1.7;
	max-width: 820px;
}
.bbg-detail__body p { margin: 0 0 14px; color: var(--muted); }
.bbg-detail__body p strong { color: var(--fg); }
.bbg-detail__body ul, .bbg-detail__body ol { color: var(--muted); margin: 0 0 14px; padding-left: 22px; }
.bbg-detail__body li { margin: 6px 0; }
.bbg-detail__body p:last-child { margin-bottom: 0; }
.bbg-detail__body strong { color: var(--fg); }

/* Composition spec list */
.bbg-spec {
	list-style: none;
	margin: 0 0 18px;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 12px;
}
.bbg-spec li {
	display: flex;
	flex-direction: column;
	padding: 16px;
	background: var(--soft);
	border-radius: 4px;
}
.bbg-spec strong {
	font-size: 24px;
	font-weight: 800;
	color: var(--fg);
	line-height: 1;
	margin-bottom: 6px;
}
.bbg-spec span { color: var(--muted); font-size: 13px; }

/* Size chart table */
.bbg-size-table {
	width: 100%;
	max-width: 640px;
	border-collapse: collapse;
	margin-bottom: 16px;
	font-variant-numeric: tabular-nums;
}
.bbg-size-table th,
.bbg-size-table td {
	padding: 14px 18px;
	text-align: left;
	border-bottom: 1px solid var(--line);
}
.bbg-size-table thead th {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--muted);
	background: transparent;
	border-bottom: 1.5px solid var(--fg);
}
.bbg-size-table tbody td:first-child {
	font-weight: 700;
	color: var(--fg);
}
.bbg-size-table tbody tr:hover { background: var(--soft); }
.bbg-size-tip {
	font-size: 13px;
	color: var(--muted);
	font-style: italic;
}

/* Care instructions grid */
.bbg-care {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
}
.bbg-care li {
	display: flex;
	gap: 14px;
	align-items: center;
}
.bbg-care__icon {
	flex-shrink: 0;
	color: var(--fg);
}
.bbg-care li div { display: flex; flex-direction: column; gap: 2px; }
.bbg-care li strong {
	font-size: 13px;
	font-weight: 700;
	color: var(--fg);
}
.bbg-care li span {
	font-size: 12px;
	color: var(--muted);
}

/* Tabs — JD-style accordion-ish minimal tabs (kept for any plugin tabs that slip through) */
.single-product .woocommerce-tabs {
	margin-top: 56px;
	border-top: 1px solid var(--line);
	padding-top: 32px;
}
.single-product .woocommerce-tabs ul.tabs {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
	display: flex;
	gap: 28px;
	border: 0;
}
.single-product .woocommerce-tabs ul.tabs::before,
.single-product .woocommerce-tabs ul.tabs::after { display: none; }
.single-product .woocommerce-tabs ul.tabs li {
	border: 0;
	background: transparent;
	border-radius: 0;
	margin: 0;
	padding: 0;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.single-product .woocommerce-tabs ul.tabs li a {
	padding: 8px 0;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--muted);
	border-bottom: 2px solid transparent;
}
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--fg);
	border-bottom-color: var(--fg);
}
.single-product .woocommerce-tabs .panel h2 { display: none; }
.single-product .woocommerce-tabs .panel { padding: 0; }

/* Related products header */
.single-product .related h2,
.single-product section.related > h2 {
	font-family: var(--font-display);
	font-size: clamp(1.6rem, 2.6vw, 2.2rem);
	text-transform: uppercase;
	margin: 56px 0 24px;
	letter-spacing: -.01em;
}

/* ====================================================
 * Brands carousel (homepage, above product grid)
 * ==================================================== */
.bbg-brands {
	padding: clamp(32px, 4vw, 56px) 0 0;
}
.bbg-brands__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}
.bbg-brands__head h2 {
	font-family: var(--font-display);
	font-size: clamp(1.4rem, 2.6vw, 2.2rem);
	text-transform: uppercase;
	margin: 0;
	letter-spacing: -.01em;
}
.bbg-brands__nav { display: flex; gap: 8px; }
.bbg-brands__arrow {
	appearance: none;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1.5px solid var(--fg);
	background: #fff;
	color: var(--fg);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .2s var(--ease), color .2s var(--ease);
}
.bbg-brands__arrow:hover { background: var(--fg); color: #fff; }
.bbg-brands__arrow:disabled { opacity: .25; cursor: not-allowed; background: #fff; color: var(--fg); }

.bbg-brands__track {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-bottom: 4px;
	-webkit-overflow-scrolling: touch;
	white-space: nowrap;
}
.bbg-brands__track::-webkit-scrollbar { display: none; }

.bbg-brand-chip {
	appearance: none;
	-webkit-appearance: none;
	background: #fff;
	border: 1.5px solid var(--line);
	border-radius: 0;
	padding: 14px 22px;
	cursor: pointer;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	flex: 0 0 auto;
	transition: border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);
	font-family: inherit;
	min-width: 140px;
	color: var(--fg);
	-webkit-text-fill-color: var(--fg);
}
.bbg-brand-chip__name { color: inherit; -webkit-text-fill-color: inherit; }
.bbg-brand-chip__count { color: inherit; -webkit-text-fill-color: inherit; }
.bbg-brand-chip.is-active,
.bbg-brand-chip.is-active .bbg-brand-chip__name,
.bbg-brand-chip.is-active .bbg-brand-chip__count {
	color: #fff;
	-webkit-text-fill-color: #fff;
}
.bbg-brand-chip:hover {
	border-color: var(--fg);
}
.bbg-brand-chip.is-active {
	background: var(--fg);
	border-color: var(--fg);
	color: #fff;
}
.bbg-brand-chip__name {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .02em;
	text-transform: uppercase;
	line-height: 1.2;
	white-space: nowrap;
}
.bbg-brand-chip__count {
	font-size: 11px;
	font-weight: 500;
	opacity: .65;
	letter-spacing: .04em;
}
.bbg-brand-chip.is-active .bbg-brand-chip__count { opacity: .8; }

.bbg-brand-reset {
	appearance: none;
	background: transparent;
	border: 0;
	color: var(--accent);
	font-family: inherit;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
	padding: 6px 0;
	border-bottom: 1.5px solid var(--accent);
}

@media (max-width: 820px) {
	.bbg-brand-chip { padding: 12px 16px; min-width: 120px; }
	.bbg-brand-chip__name { font-size: 12px; }
	.bbg-brand-chip__count { font-size: 10px; }
}

/* ====================================================
 * Recently viewed products carousel
 * ==================================================== */
.bbg-recent {
	padding: clamp(40px, 6vw, 72px) 0;
	background: var(--soft);
	margin-top: clamp(40px, 6vw, 72px);
}
.single-product .bbg-recent {
	grid-column: 1 / -1;
}
.bbg-recent__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-bottom: 28px;
	flex-wrap: wrap;
}
.bbg-recent__title {
	font-family: var(--font-display);
	font-size: clamp(1.4rem, 2.6vw, 2.2rem);
	text-transform: uppercase;
	margin: 0;
	letter-spacing: -.01em;
}
.bbg-recent__nav {
	display: flex;
	gap: 8px;
}
.bbg-recent__arrow {
	appearance: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1.5px solid var(--fg);
	background: #fff;
	color: var(--fg);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .2s var(--ease), color .2s var(--ease), transform .15s var(--ease);
}
.bbg-recent__arrow:hover {
	background: var(--fg);
	color: #fff;
}
.bbg-recent__arrow:disabled {
	opacity: .25;
	cursor: not-allowed;
	background: #fff;
	color: var(--fg);
}

.bbg-recent__track {
	display: flex;
	gap: clamp(12px, 1.5vw, 24px);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-ms-overflow-style: none;
	scroll-behavior: smooth;
	padding-bottom: 2px;
}
.bbg-recent__track::-webkit-scrollbar { display: none; }

.bbg-recent__card {
	flex: 0 0 calc((100% - 3 * 24px) / 4);
	min-width: 0;
	scroll-snap-align: start;
	color: var(--fg);
	text-decoration: none;
	display: flex;
	flex-direction: column;
}
@media (max-width: 1100px) {
	.bbg-recent__card { flex-basis: calc((100% - 2 * 20px) / 3); }
}
@media (max-width: 820px) {
	.bbg-recent__card { flex-basis: 62%; }
}
@media (max-width: 520px) {
	.bbg-recent__card { flex-basis: 70%; }
}

.bbg-recent__img-wrap {
	background: #fff;
	overflow: hidden;
	margin-bottom: 10px;
}
.bbg-recent__img-wrap img {
	width: 100%;
	height: auto;
	display: block;
	background: #fff;
	transition: transform .5s var(--ease);
}
.bbg-recent__card:hover .bbg-recent__img-wrap img { transform: scale(1.04); }
.bbg-recent__name {
	font-family: var(--font-body);
	font-size: 15px;
	font-weight: 600;
	color: var(--fg);
	margin: 14px 0 10px;
	line-height: 1.3;
	letter-spacing: 0;
}
.bbg-recent__price {
	font-size: 15px;
	font-weight: 700;
	color: var(--fg);
}
.bbg-recent__price .bbg-loop-price { gap: 6px; }

/* ====================================================
 * Add-to-cart success modal
 * ==================================================== */
.bbg-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s var(--ease);
	padding: 20px;
}
.bbg-modal.is-open { opacity: 1; pointer-events: auto; }
.bbg-modal[hidden] { display: none; }
.bbg-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(10,10,10,.55);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.bbg-modal__card {
	position: relative;
	background: #fff;
	width: 100%;
	max-width: 480px;
	padding: 40px 32px 32px;
	transform: translateY(16px) scale(.98);
	transition: transform .3s var(--ease);
	box-shadow: 0 30px 80px -20px rgba(0,0,0,.4);
}
.bbg-modal.is-open .bbg-modal__card { transform: translateY(0) scale(1); }
.bbg-modal__close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 36px;
	height: 36px;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: var(--muted);
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background .15s var(--ease), color .15s var(--ease);
}
.bbg-modal__close:hover { background: var(--soft); color: var(--fg); }
.bbg-modal__check {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: var(--accent);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 18px;
}
.bbg-modal__title {
	font-family: var(--font-display);
	font-size: 26px;
	text-align: center;
	margin: 0 0 22px;
	color: var(--fg);
	text-transform: uppercase;
	letter-spacing: 0;
}
.bbg-modal__product {
	display: flex;
	gap: 14px;
	padding: 14px;
	background: var(--soft);
	margin: 0 0 22px;
	align-items: center;
}
.bbg-modal__img {
	width: 72px;
	height: 90px;
	object-fit: cover;
	flex-shrink: 0;
	background: #fff;
}
.bbg-modal__product-info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.bbg-modal__product-name {
	font-weight: 700;
	color: var(--fg);
	font-size: 15px;
	line-height: 1.3;
}
.bbg-modal__product-meta {
	font-size: 13px;
	color: var(--muted);
}
.bbg-modal__actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.bbg-modal__btn {
	height: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-family: var(--font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	border: 1.5px solid var(--fg);
	cursor: pointer;
	border-radius: 0;
	text-decoration: none;
	transition: background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease);
	padding: 0 16px;
}
.bbg-modal__btn--ghost {
	background: #fff;
	color: var(--fg);
}
.bbg-modal__btn--ghost:hover {
	background: var(--fg);
	color: #fff;
}
.bbg-modal__btn--primary {
	background: var(--accent);
	color: #fff;
	border-color: var(--accent);
}
.bbg-modal__btn--primary:hover {
	background: var(--accent-hover);
	border-color: var(--accent-hover);
	color: #fff;
}

@media (max-width: 520px) {
	.bbg-modal__actions { grid-template-columns: 1fr; }
	.bbg-modal__card { padding: 32px 22px 24px; }
	.bbg-modal__title { font-size: 22px; }
}

/* Button loading state spinner */
.single_add_to_cart_button.loading {
	opacity: .8;
	pointer-events: none;
}
.single_add_to_cart_button.loading::after {
	content: '';
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-left: 10px;
	border: 2px solid rgba(255,255,255,.4);
	border-top-color: #fff;
	border-radius: 50%;
	animation: bbg-spin .7s linear infinite;
}
@keyframes bbg-spin { to { transform: rotate(360deg); } }
.single-product table.variations { width: 100%; border-collapse: collapse; }
.single-product table.variations td { padding: 12px 0; vertical-align: middle; }
.single-product table.variations label {
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	font-weight: 700;
}
.single-product .quantity input.qty {
	width: 70px;
	height: 50px;
	padding: 0 12px;
	border: 1px solid var(--line);
	text-align: center;
	font-weight: 700;
}
.single-product .single_add_to_cart_button {
	height: 50px;
	padding: 0 32px;
	background: var(--fg);
	color: #fff;
	border: 0;
	border-radius: 999px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	transition: background .2s var(--ease);
}
.single-product .single_add_to_cart_button:hover { background: var(--accent); }

/* ---------- Footer ---------- */
.site-footer {
	background: #0a0a0a;
	color: #d9d9d9;
	margin-top: 0;
	padding: 72px 0 24px;
}
.footer-grid {
	display: grid;
	grid-template-columns: 1.4fr repeat(3, 1fr);
	gap: 40px;
	margin-bottom: 48px;
}
@media (max-width: 800px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .footer-grid { grid-template-columns: 1fr; } }
.footer-brand h3 {
	color: #fff;
	font-size: 28px;
}
.footer-brand p { max-width: 320px; color: #b7b7b7; }
.footer-col h4 {
	color: #fff;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin: 0 0 16px;
	font-family: var(--font-body);
	font-weight: 700;
}
.footer-col ul { list-style: none; padding: 0; margin: 0; }
.footer-col li { margin-bottom: 10px; }
.footer-col a { color: #b7b7b7; transition: color .2s var(--ease); font-size: 14px; }
.footer-col a:hover { color: #fff; }
.footer-bottom {
	border-top: 1px solid #1f1f1f;
	padding-top: 24px;
	font-size: 13px;
	color: #7a7a7a;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

/* ---------- Misc ---------- */
.screen-reader-text {
	border: 0; clip: rect(1px,1px,1px,1px); -webkit-clip-path: inset(50%); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.woocommerce-message, .woocommerce-info, .woocommerce-error {
	border: 0;
	background: var(--soft);
	color: var(--fg);
	padding: 14px 20px;
	border-left: 3px solid var(--accent);
	margin-bottom: 24px;
	border-radius: 0;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none; }

/* Breadcrumb */
.woocommerce-breadcrumb {
	font-size: 12px;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: .1em;
	margin: 16px 0 24px;
}
.woocommerce-breadcrumb a { color: var(--muted); }
.woocommerce-breadcrumb a:hover { color: var(--fg); }

.term-description { color: var(--muted); margin-bottom: 32px; max-width: 720px; }

/* ====================================================
 * Checkout — pulse-sport style 2-col layout (BoxerBG)
 * ==================================================== */
.woocommerce-checkout main { background: #fafafa; padding-top: 24px; padding-bottom: 64px; }
.bbg-co {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 32px;
	max-width: 1200px;
	margin: 0 auto;
	align-items: start;
}
@media (max-width: 980px) {
	.bbg-co { grid-template-columns: 1fr; gap: 24px; }
}
.bbg-co__main, .bbg-co__side { background: transparent; }
.bbg-co__side { position: sticky; top: 24px; }
@media (max-width: 980px) { .bbg-co__side { position: static; } }

.bbg-co-section {
	background: #fff;
	border-radius: 16px;
	padding: 28px 28px 24px;
	margin-bottom: 16px;
	border: 1px solid #ececec;
}
.bbg-co-section__head {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 22px;
}
.bbg-co-section__num {
	width: 30px; height: 30px;
	border-radius: 999px;
	background: var(--fg);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.bbg-co-section__title {
	font-family: var(--font-body);
	font-weight: 800;
	font-size: 22px;
	letter-spacing: -.01em;
	text-transform: none;
	margin: 0;
}

.bbg-co-field { display: block; margin-bottom: 14px; position: relative; }
.bbg-co-field__label {
	display: block;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
	margin: 0 0 8px;
}
.bbg-co-field__label .req { color: var(--accent); }
.bbg-co-field__label .opt { font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--muted); margin-left: 4px; }
.bbg-co-field input[type="text"],
.bbg-co-field input[type="email"],
.bbg-co-field input[type="tel"],
.bbg-co-field input[type="search"],
.bbg-co-field textarea {
	width: 100%;
	border: 1.5px solid #e7e7e7;
	border-radius: 10px;
	padding: 14px 16px;
	font: inherit;
	font-size: 15px;
	background: #fff;
	color: var(--fg);
	transition: border-color .15s var(--ease);
}
.bbg-co-field input:focus,
.bbg-co-field textarea:focus {
	outline: none;
	border-color: var(--fg);
}
.bbg-co-field textarea { min-height: 96px; resize: vertical; font-family: inherit; }

.bbg-co-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.bbg-co-grid-3 { display: grid; grid-template-columns: 1fr 100px 1.2fr; gap: 12px; }
@media (max-width: 560px) {
	.bbg-co-grid-2 { grid-template-columns: 1fr; }
	.bbg-co-grid-3 { grid-template-columns: 1fr 80px 1fr; }
}

/* Delivery toggle */
.bbg-co-toggle {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.bbg-co-toggle__btn {
	appearance: none;
	background: #fff;
	border: 1.5px solid #e7e7e7;
	border-radius: 12px;
	padding: 14px 12px;
	font: inherit;
	font-size: 14px;
	color: var(--fg);
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 10px;
	justify-content: flex-start;
	transition: border-color .15s var(--ease), background .15s var(--ease), color .15s var(--ease);
	position: relative;
	overflow: hidden;
	min-height: 56px;
	text-align: left;
}
.bbg-co-toggle__btn:hover { border-color: var(--fg); }

/* Active state: filled dark background, white text, clear visual difference */
.bbg-co-toggle__btn.is-active {
	border-color: var(--fg);
	background: var(--fg);
	color: #fff;
}
.bbg-co-toggle__btn.is-active .bbg-co-toggle__label-sm { color: rgba(255,255,255,.7); }
.bbg-co-toggle__btn.is-active .bbg-co-toggle__icon { color: #fff; }
.bbg-co-toggle__btn.is-active::after {
	content: '';
	position: absolute;
	top: 8px;
	right: 8px;
	width: 18px; height: 18px;
	border-radius: 999px;
	background: var(--accent) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") no-repeat center;
	background-size: 12px;
}

.bbg-co-toggle__btn b { font-weight: 800; }
.bbg-co-toggle__icon {
	flex: 0 0 22px;
	width: 22px; height: 22px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--fg);
}
.bbg-co-toggle__label {
	display: flex;
	flex-direction: column;
	gap: 1px;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	line-height: 1.2;
}
.bbg-co-toggle__label-sm {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--muted);
}
.bbg-co-toggle__label b {
	font-size: 15px;
	letter-spacing: -.005em;
}

@media (max-width: 420px) {
	.bbg-co-toggle__btn { padding: 12px 10px; min-height: 52px; gap: 8px; }
	.bbg-co-toggle__label b { font-size: 14px; }
	.bbg-co-toggle__label-sm { font-size: 10px; }
}

/* Autocomplete dropdown */
.bbg-co-dropdown {
	position: absolute;
	left: 0; right: 0;
	top: 100%;
	margin-top: 4px;
	background: #fff;
	border: 1.5px solid #e7e7e7;
	border-radius: 10px;
	box-shadow: 0 12px 32px -12px rgba(0,0,0,.15);
	max-height: 320px;
	overflow-y: auto;
	z-index: 50;
	display: none;
}
.bbg-co-dropdown.is-open { display: block; }
.bbg-co-dropdown__item {
	padding: 12px 16px;
	cursor: pointer;
	font-size: 14px;
	display: flex;
	align-items: center;
	gap: 10px;
	border-bottom: 1px solid #f0f0f0;
}
.bbg-co-dropdown__item:last-child { border-bottom: 0; }
.bbg-co-dropdown__item:hover,
.bbg-co-dropdown__item.is-highlighted {
	background: #f5f5f5;
}
.bbg-co-dropdown__type {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .06em;
	padding: 3px 7px;
	border-radius: 4px;
	background: #e7f5ed;
	color: #146c43;
	flex: 0 0 auto;
}
.bbg-co-dropdown__type.s {
	background: #fdebd0;
	color: #b35900;
}
.bbg-co-dropdown__name { flex: 1; }
.bbg-co-dropdown__meta { color: var(--muted); font-size: 12px; margin-left: 8px; }
.bbg-co-dropdown__post { color: var(--muted); font-size: 12px; flex: 0 0 auto; }
.bbg-co-dropdown__address { color: var(--muted); font-size: 12px; display: block; margin-top: 2px; }
.bbg-co-dropdown__name strong { font-weight: 700; }
.bbg-co-dropdown__empty {
	padding: 16px;
	color: var(--muted);
	text-align: center;
	font-size: 13px;
}

/* Delivery banner */
.bbg-co-banner {
	background: #e7f5ed;
	color: #146c43;
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 600;
	margin: 14px 0 0;
	display: flex;
	align-items: center;
	gap: 10px;
}

/* Payment box */
.bbg-co-payment-box {
	border: 2px solid var(--fg);
	border-radius: 12px;
	padding: 18px 18px 16px;
}
.bbg-co-payment-head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 8px;
}
.bbg-co-payment-icon {
	width: 22px; height: 22px;
	color: #146c43;
}
.bbg-co-payment-title { font-weight: 700; font-size: 15px; flex: 1; }
.bbg-co-payment-badge {
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .06em;
	padding: 4px 8px;
	border-radius: 4px;
	background: #e7f5ed;
	color: #146c43;
	text-transform: uppercase;
}
.bbg-co-payment-desc {
	font-size: 13px;
	color: var(--muted);
	margin: 0;
	line-height: 1.5;
}

/* Trust line */
.bbg-co-trust {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-top: 18px;
	padding: 0 4px;
}
.bbg-co-trust__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--muted);
	font-size: 13px;
}
.bbg-co-trust__icon { color: #146c43; width: 18px; height: 18px; }

/* Submit */
.bbg-co-submit {
	width: 100%;
	background: var(--fg);
	color: #fff;
	border: 0;
	border-radius: 14px;
	padding: 18px 16px;
	font: inherit;
	font-weight: 800;
	font-size: 15px;
	letter-spacing: .04em;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	cursor: pointer;
	margin-top: 20px;
	transition: opacity .15s var(--ease);
}
.bbg-co-submit:hover { opacity: .9; }
.bbg-co-submit:disabled { opacity: .5; cursor: not-allowed; }
.bbg-co-submit__sep { opacity: .6; }
.bbg-co-terms {
	font-size: 12px;
	color: var(--muted);
	text-align: center;
	margin: 12px 0 0;
	line-height: 1.5;
}
.bbg-co-terms a { color: var(--fg); text-decoration: underline; }

/* Sidebar */
.bbg-co-side {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 16px;
	padding: 22px 22px 24px;
}
.bbg-co-side__title {
	font-family: var(--font-body);
	font-weight: 800;
	font-size: 20px;
	margin: 0 0 18px;
	text-transform: none;
	letter-spacing: -.01em;
}
.bbg-co-cart__item {
	display: flex;
	gap: 12px;
	padding-bottom: 16px;
	border-bottom: 1px solid #ececec;
	margin-bottom: 16px;
}
.bbg-co-cart__img {
	width: 56px; height: 56px;
	background: #f5f5f5;
	border-radius: 8px;
	object-fit: cover;
	flex: 0 0 56px;
}
.bbg-co-cart__info { flex: 1; min-width: 0; }
.bbg-co-cart__name {
	font-size: 14px;
	font-weight: 600;
	color: var(--fg);
	margin: 0 0 4px;
	line-height: 1.3;
}
.bbg-co-cart__meta { font-size: 12px; color: var(--muted); margin: 0 0 8px; }
.bbg-co-cart__qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid #e7e7e7;
	border-radius: 8px;
	overflow: hidden;
}
.bbg-co-cart__qty button {
	background: #fff;
	border: 0;
	width: 28px; height: 28px;
	cursor: pointer;
	font-size: 14px;
	color: var(--muted);
}
.bbg-co-cart__qty button:hover { color: var(--fg); }
.bbg-co-cart__qty input {
	width: 36px;
	height: 28px;
	border: 0;
	text-align: center;
	font: inherit;
	font-size: 13px;
	background: transparent;
	-moz-appearance: textfield;
}
.bbg-co-cart__qty input::-webkit-outer-spin-button,
.bbg-co-cart__qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bbg-co-cart__right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}
.bbg-co-cart__price { font-size: 14px; font-weight: 700; color: var(--fg); }
.bbg-co-cart__remove {
	background: none; border: 0; cursor: pointer;
	color: var(--muted);
	width: 24px; height: 24px;
	display: inline-flex; align-items: center; justify-content: center;
}
.bbg-co-cart__remove:hover { color: var(--accent); }

.bbg-co-side__rows { display: grid; gap: 8px; margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid #ececec; }
.bbg-co-side__row { display: flex; justify-content: space-between; align-items: baseline; font-size: 14px; }
.bbg-co-side__row span:first-child { color: var(--muted); }
.bbg-co-side__total {
	display: flex; justify-content: space-between; align-items: baseline;
	margin-bottom: 16px;
}
.bbg-co-side__total b:first-child { font-size: 16px; font-weight: 700; }
.bbg-co-side__total b:last-child { font-size: 20px; font-weight: 800; }
.bbg-co-side__payment {
	background: #fafafa;
	border-radius: 12px;
	padding: 14px;
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.bbg-co-side__payment-icon { color: var(--muted); flex: 0 0 24px; padding-top: 2px; }
.bbg-co-side__payment-title { font-size: 14px; font-weight: 700; display: block; margin-bottom: 4px; }
.bbg-co-side__payment-desc { font-size: 12px; color: var(--muted); margin: 0; line-height: 1.5; }

/* Hide WC default checkout markup we don't want */
.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-coupon,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-login,
body.woocommerce-checkout article.entry > h1,
body.woocommerce-checkout article > h1:first-child,
body.woocommerce-checkout main .entry-header,
body.woocommerce-checkout main > .container > h1,
body.woocommerce-checkout main h1.entry-title,
body.woocommerce-checkout .page-header {
	display: none !important;
}

/* Hidden attribute fix — our .bbg-co-field has display:block which overrides [hidden] */
.bbg-co-field[hidden],
[data-delivery-field][hidden] {
	display: none !important;
}

/* Loading state */
.bbg-co.is-loading { opacity: .6; pointer-events: none; }

/* ====================================================
 * Thank-you / order-received page
 * ==================================================== */
body.woocommerce-order-received main { background: #fafafa; padding: 40px 16px 80px; }
body.woocommerce-order-received article.entry > h1,
body.woocommerce-order-received article > h1:first-child,
body.woocommerce-order-received .woocommerce-order,
body.woocommerce-order-received .woocommerce-thankyou-order-received,
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
	display: none !important;
}

.bbg-thanks {
	max-width: 640px;
	margin: 0 auto;
}
.bbg-thanks__inner {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 18px;
	padding: 48px 32px 36px;
	text-align: center;
}
@media (max-width: 560px) {
	.bbg-thanks__inner { padding: 36px 20px 28px; border-radius: 14px; }
}
.bbg-thanks__check {
	width: 72px; height: 72px;
	border-radius: 999px;
	background: #e7f5ed;
	color: #146c43;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 18px;
}
.bbg-thanks__title {
	font-family: var(--font-body);
	font-weight: 800;
	font-size: clamp(24px, 4vw, 32px);
	letter-spacing: -.01em;
	text-transform: none;
	margin: 0 0 8px;
	color: var(--fg);
}
.bbg-thanks__lead {
	color: var(--muted);
	font-size: 15px;
	margin: 0 0 28px;
}
.bbg-thanks__card {
	background: #fafafa;
	border-radius: 14px;
	padding: 6px 18px;
	margin: 0 0 28px;
	text-align: left;
}
.bbg-thanks__row {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid #ececec;
}
.bbg-thanks__row:last-child { border-bottom: 0; }
.bbg-thanks__row > span {
	color: var(--muted);
	font-size: 13px;
	letter-spacing: .04em;
	text-transform: uppercase;
	font-weight: 600;
	flex: 0 0 auto;
	padding-top: 2px;
}
.bbg-thanks__row > strong {
	font-size: 15px;
	font-weight: 700;
	color: var(--fg);
	text-align: right;
	flex: 1;
	min-width: 0;
}
.bbg-thanks__row > strong small {
	display: block;
	font-weight: 400;
	font-size: 12px;
	color: var(--muted);
	margin-top: 4px;
	line-height: 1.4;
}

.bbg-thanks__steps {
	display: grid;
	gap: 12px;
	margin: 0 0 28px;
	text-align: left;
}
.bbg-thanks__step {
	display: flex;
	gap: 14px;
	align-items: flex-start;
	background: transparent;
	padding: 4px 0;
}
.bbg-thanks__step-num {
	flex: 0 0 28px;
	width: 28px; height: 28px;
	border-radius: 999px;
	background: var(--fg);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.bbg-thanks__step strong {
	display: block;
	font-size: 14px;
	font-weight: 700;
	color: var(--fg);
	margin-bottom: 2px;
}
.bbg-thanks__step p {
	margin: 0;
	font-size: 13px;
	color: var(--muted);
	line-height: 1.5;
}

.bbg-thanks__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}
.bbg-thanks__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--fg);
	color: #fff;
	border-radius: 999px;
	padding: 14px 28px;
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: opacity .15s var(--ease);
}
.bbg-thanks__btn:hover { color: #fff; opacity: .88; }
.bbg-thanks__link {
	color: var(--muted);
	font-size: 13px;
	text-decoration: underline;
}
.bbg-thanks__link:hover { color: var(--fg); }

.bbg-thanks__note {
	color: var(--muted);
	font-size: 12px;
	margin: 18px 0 0;
	padding-top: 18px;
	border-top: 1px solid #ececec;
	line-height: 1.5;
}
.bbg-thanks__note strong { color: var(--fg); }

/* ====================================================
 * Content pages (Terms, Privacy, Delivery, FAQ, About, Contact, …)
 * Easy-on-the-eyes typography with comfortable spacing.
 * ==================================================== */
body.page:not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account):not(.woocommerce-order-received) main {
	background: #fff;
	padding: 32px 0 80px;
}
.bbg-content {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 16px;
	color: var(--fg);
	font-size: 16px;
	line-height: 1.7;
}
@media (min-width: 720px) {
	.bbg-content { font-size: 17px; }
}
body.page:not(.woocommerce-checkout):not(.woocommerce-cart):not(.woocommerce-account):not(.woocommerce-order-received) article.entry > h1:first-child {
	font-family: var(--font-body);
	font-weight: 800;
	font-size: clamp(28px, 4vw, 40px);
	line-height: 1.15;
	letter-spacing: -.015em;
	text-transform: none;
	color: var(--fg);
	margin: 0 auto 32px;
	padding: 0 16px 16px;
	max-width: 760px;
	border-bottom: 1px solid var(--line);
}
.bbg-content h2 {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: clamp(20px, 2.2vw, 24px);
	line-height: 1.3;
	letter-spacing: -.005em;
	text-transform: none;
	color: var(--fg);
	margin: 40px 0 12px;
}
.bbg-content h2:first-child { margin-top: 0; }
.bbg-content h3 {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fg);
	margin: 28px 0 8px;
}
.bbg-content h4 {
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: 0;
	text-transform: none;
	color: var(--fg);
	margin: 22px 0 6px;
}
.bbg-content p {
	margin: 0 0 16px;
	color: var(--fg);
}
.bbg-content p:last-child { margin-bottom: 0; }
.bbg-content strong { color: var(--fg); font-weight: 700; }
.bbg-content a {
	color: var(--fg);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color .15s var(--ease);
}
.bbg-content a:hover { color: var(--accent); }
.bbg-content ul,
.bbg-content ol {
	margin: 0 0 20px;
	padding-left: 22px;
}
.bbg-content li { margin: 6px 0; }
.bbg-content blockquote {
	margin: 24px 0;
	padding: 16px 20px;
	border-left: 3px solid var(--accent);
	background: var(--soft);
	border-radius: 0 8px 8px 0;
	color: var(--muted);
	font-style: italic;
}
.bbg-content hr {
	border: 0;
	border-top: 1px solid var(--line);
	margin: 32px 0;
}
.bbg-content img { max-width: 100%; height: auto; border-radius: 8px; }

/* ====================================================
 * Trust bar — 3 columns above footer
 * ==================================================== */
.bbg-trustbar {
	background: #fff;
	padding: 32px 0;
	border-top: 1px solid var(--line);
	border-bottom: 1px solid var(--line);
}
.bbg-trustbar__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	align-items: center;
}
@media (max-width: 820px) {
	.bbg-trustbar__grid { grid-template-columns: 1fr; gap: 18px; }
	.bbg-trustbar { padding: 24px 0; }
}
.bbg-trustbar__item {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 0;
}
.bbg-trustbar__icon {
	flex: 0 0 52px;
	width: 52px; height: 52px;
	border-radius: 999px;
	background: var(--soft, #f5f4f1);
	color: var(--fg);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.bbg-trustbar__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}
.bbg-trustbar__text strong {
	font-size: 15px;
	font-weight: 700;
	color: var(--fg);
	letter-spacing: -.005em;
	line-height: 1.3;
}
.bbg-trustbar__text span {
	font-size: 13px;
	color: var(--muted);
	line-height: 1.5;
}
