/* ==========================================================================
   BBF Wholesale — main stylesheet
   Palette: ink #0B1220 / orange #FF6A13 / paper #FFFFFF
   ========================================================================== */

:root {
	--ink: #0b1220;
	--ink-2: #111d33;
	--ink-3: #1b2a45;
	--accent: #ff6a13;
	--accent-dark: #e2550a;
	--paper: #ffffff;
	--soft: #f5f7fa;
	--line: #e3e8ef;
	--muted: #5a6b84;
	--radius: 2px;
	--wrap: 1240px;
	--font-head: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;
	--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ---------- base ---------- */
body,
body.woocommerce,
body.storefront {
	font-family: var(--font-body);
	color: #1d2939;
	background: var(--paper);
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

.bbf-home h1,
.bbf-home h2,
.bbf-home h3,
.bbf-home h4 {
	font-family: var(--font-head);
	text-transform: uppercase;
	letter-spacing: 0.01em;
	color: var(--ink);
	margin: 0 0 12px;
	line-height: 1.02;
}

.bbf-home p {
	margin: 0 0 14px;
	line-height: 1.65;
	color: #3c4a5e;
}

.bbf-full {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

.bbf-wrap {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 0 24px;
}

.bbf-eyebrow {
	display: inline-block;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--accent);
	margin-bottom: 14px;
}

.bbf-sec {
	padding: 86px 0;
	background: var(--paper);
}

.bbf-sec--soft {
	background: var(--soft);
}

.bbf-sec--ink {
	background: var(--ink);
	color: #fff;
}

.bbf-sec__head {
	max-width: 760px;
	margin-bottom: 42px;
}

.bbf-sec__head h2 {
	font-size: clamp(28px, 3.2vw, 42px);
	margin-bottom: 14px;
}

.bbf-sec__head p {
	font-size: 16px;
	max-width: 640px;
}

.bbf-sec__head--light h2,
.bbf-sec__head--light p {
	color: #fff;
}

.bbf-sec__head--light p {
	color: rgba(255, 255, 255, 0.72);
}

.bbf-sec__head--row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	max-width: none;
}

.bbf-lead {
	font-size: 17px;
	line-height: 1.6;
	color: #46566c;
}

.bbf-link {
	font-weight: 600;
	font-size: 14px;
	color: var(--ink);
	text-decoration: none;
	white-space: nowrap;
	border-bottom: 2px solid var(--accent);
	padding-bottom: 2px;
}

.bbf-link:hover {
	color: var(--accent);
}

/* ---------- buttons ---------- */
.bbf-btn,
.bbf-home .button,
.bbf-home button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--accent);
	color: #fff;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 15px 26px;
	border: 0;
	border-radius: var(--radius);
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s ease, transform 0.15s ease;
}

.bbf-btn:hover,
.bbf-home .button:hover {
	background: var(--accent-dark);
	color: #fff;
	transform: translateY(-1px);
}

.bbf-btn--ghost {
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.35);
	color: #fff;
}

.bbf-btn--ghost:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: #fff;
}

.bbf-btn--block {
	display: flex;
	width: 100%;
	margin-top: 4px;
}

/* ---------- utility bar ---------- */
.bbf-util {
	background: #060b14;
	color: rgba(255, 255, 255, 0.66);
	font-size: 11.5px;
	letter-spacing: 0.04em;
}

.bbf-util__in {
	max-width: var(--wrap);
	margin: 0 auto;
	padding: 8px 24px;
	display: flex;
	align-items: center;
	gap: 20px;
}

.bbf-util__tag {
	font-weight: 800;
	letter-spacing: 0.16em;
	color: var(--accent);
	font-size: 10.5px;
}

.bbf-util__list {
	display: flex;
	gap: 22px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex: 1;
	flex-wrap: wrap;
}

.bbf-util__list li {
	margin: 0;
	position: relative;
	padding-left: 12px;
}

.bbf-util__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 4px;
	height: 4px;
	background: var(--accent);
}

.bbf-util__link {
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	white-space: nowrap;
}

.bbf-util__link:hover {
	color: var(--accent);
}

/* ---------- header ---------- */
.site-header {
	background: var(--ink);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: 0;
	margin: 0;
}

.site-header .col-full {
	max-width: var(--wrap);
	padding: 14px 24px;
	display: flex;
	align-items: center;
	gap: 18px;
}

.site-header .site-branding {
	margin: 0 auto 0 0;
}

.site-title,
.site-title a {
	font-family: var(--font-head);
	font-size: 30px;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff !important;
	line-height: 1;
	text-decoration: none;
}

.site-title a:hover {
	color: var(--accent) !important;
}

.site-description {
	color: rgba(255, 255, 255, 0.5);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 5px 0 0;
}

.main-navigation {
	background: transparent;
}

.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
	color: #fff;
	font-size: 12.5px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 12px 11px;
}

.main-navigation ul.menu > li > a:hover,
.main-navigation ul.menu > li.current-menu-item > a {
	color: var(--accent);
}

.main-navigation ul.menu ul {
	background: #fff;
	border: 1px solid var(--line);
	box-shadow: 0 12px 30px rgba(11, 18, 32, 0.14);
}

.main-navigation ul.menu ul li a {
	color: var(--ink) !important;
	font-size: 13px;
	text-transform: none;
	letter-spacing: 0;
	padding: 9px 14px;
}

.main-navigation ul.menu ul li a:hover {
	background: var(--soft);
	color: var(--accent) !important;
}

.main-navigation .menu-toggle,
.main-navigation button.menu-toggle {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.3);
}

.main-navigation.toggled button.menu-toggle {
	background: rgba(255, 255, 255, 0.1);
}

.site-header-cart .cart-contents {
	color: #fff;
}

.site-header-cart .count {
	background: var(--accent);
	color: #fff;
}

.bbf-header-cta-wrap {
	margin-left: 8px;
}

.bbf-header-cta {
	display: inline-block;
	background: var(--accent);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 12px 20px;
	border-radius: var(--radius);
	text-decoration: none;
	white-space: nowrap;
}

.bbf-header-cta:hover {
	background: var(--accent-dark);
	color: #fff;
}

/* storefront search inside header */
.site-search {
	order: 3;
}

.site-search .widget_product_search form::before {
	color: rgba(255, 255, 255, 0.6);
}

.site-search input[type="search"] {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	color: #fff;
}

.site-search input[type="search"]::placeholder {
	color: rgba(255, 255, 255, 0.4);
}

/* remove storefront content top padding */
.site-content {
	padding-top: 0;
}

/* ---------- hero ---------- */
.bbf-hero {
	background: radial-gradient(1100px 600px at 78% 18%, #1c3050 0%, #0b1220 58%, #070d18 100%);
	color: #fff;
	padding: 74px 0 78px;
	position: relative;
	overflow: hidden;
}

.bbf-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--accent) 0%, #ffa23a 45%, transparent 100%);
}

.bbf-hero__in {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 56px;
	align-items: center;
	position: relative;
	z-index: 2;
}

.bbf-hero h1 {
	font-size: clamp(42px, 5vw, 72px);
	line-height: 0.95;
	color: #fff;
	margin: 0 0 22px;
	letter-spacing: -0.005em;
}

.bbf-hero h1 em {
	font-style: normal;
	color: var(--accent);
	display: inline-block;
}

.bbf-hero .bbf-lead {
	color: rgba(255, 255, 255, 0.74);
	font-size: 17px;
	max-width: 520px;
	margin-bottom: 26px;
}

.bbf-hero__cta {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 30px;
}

.bbf-hero__points {
	display: flex;
	gap: 26px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}

.bbf-hero__points li {
	margin: 0;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.62);
	padding-left: 14px;
	position: relative;
}

.bbf-hero__points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 6px;
	height: 6px;
	border: 1px solid var(--accent);
}

.bbf-hero__media {
	position: relative;
}

.bbf-mosaic {
	display: grid;
	grid-template-columns: 1.25fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 12px;
	height: 420px;
}

.bbf-mosaic__item {
	margin: 0;
	overflow: hidden;
	background: #16223a;
	border: 1px solid rgba(255, 255, 255, 0.08);
}

.bbf-mosaic__item--1 {
	grid-row: span 2;
}

.bbf-mosaic__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: 0.94;
	transition: transform 0.4s ease;
}

.bbf-mosaic__item:hover img {
	transform: scale(1.04);
}

.bbf-hero__badge {
	position: absolute;
	left: -22px;
	bottom: -22px;
	background: var(--accent);
	color: #fff;
	padding: 16px 20px;
	max-width: 210px;
	box-shadow: 0 18px 36px rgba(0, 0, 0, 0.28);
}

.bbf-hero__badge strong {
	display: block;
	font-family: var(--font-head);
	font-size: 34px;
	line-height: 1;
}

.bbf-hero__badge span {
	display: block;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	opacity: 0.92;
	margin-top: 4px;
}

/* ---------- strip ---------- */
.bbf-strip {
	background: #0f1a2c;
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	padding: 0;
}

.bbf-strip__in {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.bbf-strip__item {
	padding: 24px 8px;
	text-align: center;
	border-right: 1px solid rgba(255, 255, 255, 0.07);
}

.bbf-strip__item:last-child {
	border-right: 0;
}

.bbf-strip__item strong {
	display: block;
	font-family: var(--font-head);
	font-size: 30px;
	color: #fff;
	line-height: 1;
	margin-bottom: 4px;
}

.bbf-strip__item span {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.5);
}

/* ---------- generic grids ---------- */
.bbf-grid--3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 46px;
}

.bbf-card-pad {
	background: var(--paper);
	border: 1px solid var(--line);
	padding: 30px 26px;
	position: relative;
}

.bbf-card-pad::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 3px;
	background: var(--accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.bbf-card-pad:hover::before {
	transform: scaleX(1);
}

.bbf-num {
	font-family: var(--font-head);
	font-size: 15px;
	font-weight: 700;
	color: var(--accent);
	letter-spacing: 0.1em;
	display: block;
	margin-bottom: 14px;
}

.bbf-card-pad h3 {
	font-size: 22px;
	margin-bottom: 10px;
}

.bbf-card-pad p {
	font-size: 14.5px;
	margin: 0;
	color: #4b5a6f;
}

/* ---------- cost table ---------- */
.bbf-cost {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: 0;
	border: 1px solid var(--line);
	background: var(--soft);
}

.bbf-cost__head {
	padding: 34px 30px;
	border-right: 1px solid var(--line);
	background: var(--paper);
}

.bbf-cost__head h3 {
	font-size: 24px;
	margin-bottom: 8px;
}

.bbf-cost__head p {
	font-size: 13px;
	color: var(--muted);
	margin: 0;
}

.bbf-cost__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.bbf-cost__table th {
	text-align: left;
	font-size: 10.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--muted);
	font-weight: 700;
	padding: 16px 18px;
	border-bottom: 1px solid var(--line);
	background: rgba(255, 255, 255, 0.6);
}

.bbf-cost__table td {
	padding: 14px 18px;
	border-bottom: 1px solid var(--line);
	color: #3c4a5e;
}

.bbf-cost__table td small {
	display: block;
	font-size: 10.5px;
	color: var(--muted);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.bbf-cost__table td:nth-child(2) {
	color: #8b97a8;
}

.bbf-cost__total td {
	background: #fff;
	font-weight: 700;
	color: var(--ink);
	border-bottom: 0;
}

.bbf-cost__total td strong {
	font-family: var(--font-head);
	font-size: 22px;
	color: var(--accent);
}

/* ---------- rules ---------- */
.bbf-rules {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: rgba(255, 255, 255, 0.1);
	margin-bottom: 44px;
}

.bbf-rule {
	background: var(--ink);
	padding: 28px 22px;
}

.bbf-rule h3 {
	color: #fff;
	font-size: 19px;
	margin-bottom: 10px;
}

.bbf-rule p {
	color: rgba(255, 255, 255, 0.66);
	font-size: 13.5px;
	margin: 0;
	line-height: 1.6;
}

.bbf-rule p strong {
	color: #fff;
}

.bbf-tiers {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	gap: 40px;
	align-items: center;
	padding-top: 34px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.bbf-tiers__label {
	font-family: var(--font-head);
	text-transform: uppercase;
	font-size: 26px;
	color: #fff;
	margin-bottom: 8px;
}

.bbf-tiers__intro p:last-child {
	color: rgba(255, 255, 255, 0.6);
	font-size: 13.5px;
	margin: 0;
}

/* tier table (shared) */
.bbf-tier {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
	background: #fff;
}

.bbf-tier th {
	background: #eef2f7;
	color: var(--ink);
	font-size: 10.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: left;
	padding: 12px 16px;
	font-weight: 700;
}

.bbf-tier td {
	padding: 13px 16px;
	border-bottom: 1px solid var(--line);
	color: #3c4a5e;
}

.bbf-tier tbody tr:last-child td {
	border-bottom: 0;
	font-weight: 600;
	color: var(--ink);
}

.bbf-tier td:nth-child(2) {
	font-weight: 700;
	color: var(--accent);
}

/* ---------- categories ---------- */
.bbf-cats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.bbf-cat {
	display: block;
	text-decoration: none;
	background: #fff;
	border: 1px solid var(--line);
	overflow: hidden;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bbf-cat:hover {
	border-color: var(--ink);
	box-shadow: 0 14px 30px rgba(11, 18, 32, 0.1);
}

.bbf-cat__media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: var(--soft);
}

.bbf-cat__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.35s ease;
}

.bbf-cat:hover .bbf-cat__media img {
	transform: scale(1.05);
}

.bbf-cat__body {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	padding: 13px 15px;
}

.bbf-cat__name {
	font-family: var(--font-head);
	text-transform: uppercase;
	font-size: 17px;
	font-weight: 700;
	color: var(--ink);
	line-height: 1.1;
}

.bbf-cat__count {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--muted);
	white-space: nowrap;
}

/* ---------- product cards ---------- */
.bbf-products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}

.bbf-pcard {
	display: block;
	text-decoration: none;
	background: #fff;
	border: 1px solid var(--line);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.bbf-pcard:hover {
	box-shadow: 0 16px 34px rgba(11, 18, 32, 0.11);
	transform: translateY(-2px);
}

.bbf-pcard__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #fff;
	padding: 12px;
	box-sizing: border-box;
}

.bbf-pcard__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.bbf-pcard__moq {
	position: absolute;
	left: 10px;
	top: 10px;
	background: var(--ink);
	color: #fff;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 5px 8px;
}

.bbf-pcard__body {
	display: block;
	padding: 14px 14px 16px;
	border-top: 1px solid var(--line);
}

.bbf-pcard__title {
	display: block;
	font-size: 13.5px;
	line-height: 1.4;
	color: #1d2939;
	min-height: 38px;
	margin-bottom: 8px;
}

.bbf-pcard__price {
	display: block;
	font-family: var(--font-head);
	font-size: 21px;
	font-weight: 700;
	color: var(--ink);
}

.bbf-pcard__price em {
	font-family: var(--font-body);
	font-style: normal;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--muted);
}

/* ---------- split ---------- */
.bbf-split {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 54px;
	align-items: center;
}

.bbf-split__copy h2 {
	font-size: clamp(28px, 3.2vw, 40px);
	margin-bottom: 16px;
}

.bbf-checks {
	list-style: none;
	margin: 22px 0 0;
	padding: 0;
	display: grid;
	gap: 10px;
}

.bbf-checks li {
	position: relative;
	padding-left: 26px;
	font-size: 14.5px;
	color: #3c4a5e;
	margin: 0;
}

.bbf-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 12px;
	height: 12px;
	border: 2px solid var(--accent);
	border-top: 0;
	border-left: 0;
	transform: rotate(45deg);
	box-sizing: border-box;
}

.bbf-checks--light li {
	color: rgba(255, 255, 255, 0.75);
}

.bbf-split__panel {
	background: var(--soft);
	border-left: 3px solid var(--accent);
	padding: 30px 28px;
}

.bbf-kpi {
	padding: 14px 0;
	border-bottom: 1px solid var(--line);
}

.bbf-kpi strong {
	display: block;
	font-family: var(--font-head);
	font-size: 30px;
	color: var(--ink);
	line-height: 1.1;
}

.bbf-kpi span {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--muted);
}

.bbf-split__fine {
	font-size: 12.5px;
	color: var(--muted);
	margin: 18px 0 0;
}

/* ---------- steps ---------- */
.bbf-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1px;
	background: rgba(255, 255, 255, 0.1);
	counter-reset: none;
}

.bbf-steps li {
	background: var(--ink);
	padding: 30px 24px;
	margin: 0;
	position: relative;
}

.bbf-steps__n {
	display: block;
	font-family: var(--font-head);
	font-size: 52px;
	line-height: 0.8;
	color: rgba(255, 255, 255, 0.14);
	margin-bottom: 16px;
}

.bbf-steps h3 {
	color: #fff;
	font-size: 19px;
	margin-bottom: 8px;
}

.bbf-steps p {
	color: rgba(255, 255, 255, 0.64);
	font-size: 13.5px;
	margin: 0 0 16px;
}

.bbf-steps__time {
	display: inline-block;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--accent);
	border: 1px solid rgba(255, 106, 19, 0.4);
	padding: 4px 9px;
}

/* ---------- faq ---------- */
.bbf-faq {
	display: grid;
	grid-template-columns: 0.72fr 1.28fr;
	gap: 54px;
	align-items: start;
}

.bbf-faq__head h2 {
	font-size: clamp(28px, 3vw, 38px);
	margin-bottom: 12px;
}

.bbf-faq__head p {
	font-size: 14.5px;
	color: var(--muted);
}

.bbf-faq__list details {
	border-bottom: 1px solid var(--line);
	padding: 18px 0;
}

.bbf-faq__list summary {
	cursor: pointer;
	list-style: none;
	font-family: var(--font-head);
	text-transform: uppercase;
	font-size: 19px;
	font-weight: 700;
	color: var(--ink);
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: center;
}

.bbf-faq__list summary::-webkit-details-marker {
	display: none;
}

.bbf-faq__list summary::after {
	content: "+";
	font-family: var(--font-body);
	font-size: 22px;
	color: var(--accent);
	line-height: 1;
}

.bbf-faq__list details[open] summary::after {
	content: "–";
}

.bbf-faq__list details p {
	margin: 12px 0 0;
	font-size: 14.5px;
	color: #4b5a6f;
	max-width: 780px;
}

/* ---------- cta ---------- */
.bbf-cta {
	background: linear-gradient(120deg, #0b1220 0%, #16253d 100%);
	padding: 78px 0;
	color: #fff;
}

.bbf-cta__in {
	display: grid;
	grid-template-columns: 0.95fr 1.05fr;
	gap: 56px;
	align-items: center;
}

.bbf-cta__copy h2 {
	color: #fff;
	font-size: clamp(30px, 3.4vw, 46px);
	margin-bottom: 14px;
}

.bbf-cta__copy p {
	color: rgba(255, 255, 255, 0.7);
	font-size: 16px;
}

/* ---------- form ---------- */
.bbf-form {
	background: #fff;
	padding: 30px 28px;
	border-top: 3px solid var(--accent);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
	color: #1d2939;
}

.bbf-form__title {
	font-family: var(--font-head);
	text-transform: uppercase;
	font-size: 21px;
	color: var(--ink);
	margin: 0 0 18px;
	line-height: 1.2;
}

.bbf-form__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 12px;
}

.bbf-form label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
	margin: 0;
}

.bbf-form input[type="text"],
.bbf-form input[type="email"],
.bbf-form textarea {
	width: 100%;
	margin-top: 6px;
	padding: 11px 12px;
	border: 1px solid var(--line);
	border-radius: var(--radius);
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--ink);
	background: #fcfdfe;
	box-sizing: border-box;
}

.bbf-form input:focus,
.bbf-form textarea:focus {
	outline: none;
	border-color: var(--accent);
	background: #fff;
}

.bbf-form__full {
	display: block;
	margin-bottom: 16px;
}

.bbf-form__foot {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.bbf-form__hint {
	font-size: 11.5px;
	color: var(--muted);
}

.bbf-form__ok {
	background: #ecfdf3;
	border: 1px solid #a7e3c0;
	color: #166534;
	padding: 12px 14px;
	font-size: 13.5px;
	margin-bottom: 16px;
	border-radius: var(--radius);
}

.bbf-form__err {
	background: #fef2f2;
	border: 1px solid #f5b5b5;
	color: #991b1b;
	padding: 12px 14px;
	font-size: 13.5px;
	margin-bottom: 16px;
	border-radius: var(--radius);
}

.bbf-hp {
	position: absolute !important;
	left: -9999px !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
	margin: 0;
}

/* ---------- single product wholesale box ---------- */
.bbf-wsbox {
	border: 1px solid var(--line);
	border-left: 3px solid var(--accent);
	background: #fbfcfd;
	padding: 18px 18px 20px;
	margin: 18px 0 22px;
}

.bbf-wsbox__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 12px;
}

.bbf-wsbox__tag {
	background: var(--ink);
	color: #fff;
	font-size: 9.5px;
	font-weight: 800;
	letter-spacing: 0.14em;
	padding: 4px 8px;
}

.bbf-wsbox__note {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--muted);
}

.bbf-wsbox__list {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
}

.bbf-wsbox__list li {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 7px 0;
	border-bottom: 1px dashed var(--line);
	font-size: 13px;
	margin: 0;
}

.bbf-wsbox__list li span {
	color: var(--muted);
}

.bbf-wsbox__list li strong {
	color: var(--ink);
	text-align: right;
}

.bbf-wsbox__label {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 7px;
}

.bbf-wsbox .bbf-tier {
	font-size: 12.5px;
	border: 1px solid var(--line);
}

.bbf-wsbox .bbf-tier th,
.bbf-wsbox .bbf-tier td {
	padding: 8px 10px;
}

.bbf-wsbox__fine {
	font-size: 11px;
	color: var(--muted);
	margin: 10px 0 0;
	line-height: 1.5;
}

.bbf-pdp-notice {
	background: #fff7ed;
	border: 1px solid #fed7aa;
	color: #9a3412;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	padding: 9px 12px;
	margin-bottom: 14px;
}

/* ---------- shop archive tweaks ---------- */
.post-type-archive-product #secondary,
.tax-product_cat #secondary,
.woocommerce-shop #secondary {
	display: none;
}

.post-type-archive-product .content-area,
.tax-product_cat .content-area,
.woocommerce-shop .content-area {
	width: 100%;
	float: none;
}

.woocommerce ul.products li.product .price {
	color: var(--ink);
	font-family: var(--font-head);
	font-size: 20px;
}

.woocommerce ul.products li.product .button {
	background: var(--ink);
	color: #fff;
	border-radius: var(--radius);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.woocommerce ul.products li.product .button:hover {
	background: var(--accent);
}

/* ---------- footer ---------- */
.site-footer {
	background: #080e19;
	border-top: 3px solid var(--accent);
	color: rgba(255, 255, 255, 0.6);
	padding: 0;
	font-size: 13px;
}

.site-footer .widget h3,
.site-footer .widget-title {
	color: #fff;
	font-family: var(--font-head);
	text-transform: uppercase;
	font-size: 16px;
	letter-spacing: 0.06em;
}

.site-footer a {
	color: rgba(255, 255, 255, 0.72);
}

.site-footer a:hover {
	color: var(--accent);
}

.site-footer .col-full {
	max-width: var(--wrap);
	padding: 46px 24px 30px;
}

.site-footer .site-info {
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 18px 24px;
	text-align: left;
	max-width: var(--wrap);
	margin: 0 auto;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.45);
}

/* ---------- generic page content ---------- */
.bbf-page__in {
	padding: 54px 24px 78px;
	max-width: 900px;
}

.bbf-page .entry-header {
	padding: 0 0 8px;
	border-bottom: 1px solid var(--line);
	margin-bottom: 26px;
}

.bbf-page .entry-content {
	font-size: 15.5px;
	line-height: 1.7;
	color: #3c4a5e;
}

.bbf-page .entry-title {
	font-family: var(--font-head);
	text-transform: uppercase;
	font-size: clamp(30px, 3.4vw, 44px);
	color: var(--ink);
}

.bbf-page .entry-content h2 {
	font-family: var(--font-head);
	text-transform: uppercase;
	font-size: 26px;
	color: var(--ink);
	margin-top: 34px;
}

.bbf-page .entry-content h3 {
	font-family: var(--font-head);
	text-transform: uppercase;
	font-size: 20px;
	color: var(--ink);
	margin-top: 26px;
}

.bbf-page .entry-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 18px 0 26px;
	font-size: 14px;
}

.bbf-page .entry-content th {
	background: var(--ink);
	color: #fff;
	text-align: left;
	padding: 11px 14px;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.bbf-page .entry-content td {
	padding: 11px 14px;
	border-bottom: 1px solid var(--line);
}

.bbf-page .entry-content ul {
	padding-left: 20px;
}

.bbf-page .entry-content li {
	margin-bottom: 7px;
}

.bbf-note {
	background: var(--soft);
	border-left: 3px solid var(--accent);
	padding: 16px 18px;
	font-size: 14px;
	margin: 22px 0;
}

/* ---------- responsive ---------- */
@media (max-width: 1080px) {
	.bbf-hero__in,
	.bbf-split,
	.bbf-faq,
	.bbf-cta__in {
		grid-template-columns: 1fr;
		gap: 36px;
	}

	.bbf-mosaic {
		height: 340px;
	}

	.bbf-hero__badge {
		left: auto;
		right: 12px;
		bottom: -16px;
	}

	.bbf-cats,
	.bbf-products {
		grid-template-columns: repeat(3, 1fr);
	}

	.bbf-rules,
	.bbf-steps {
		grid-template-columns: repeat(2, 1fr);
	}

	.bbf-grid--3 {
		grid-template-columns: 1fr;
	}

	.bbf-cost,
	.bbf-tiers {
		grid-template-columns: 1fr;
	}

	.bbf-cost__head {
		border-right: 0;
		border-bottom: 1px solid var(--line);
	}
}

@media (max-width: 720px) {
	.bbf-sec {
		padding: 54px 0;
	}

	.bbf-wrap {
		padding: 0 18px;
	}

	.bbf-util__list {
		display: none;
	}

	.bbf-cats,
	.bbf-products {
		grid-template-columns: repeat(2, 1fr);
	}

	.bbf-rules,
	.bbf-steps,
	.bbf-strip__in {
		grid-template-columns: 1fr;
	}

	.bbf-strip__item {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.07);
		padding: 16px 8px;
	}

	.bbf-hero {
		padding: 46px 0 54px;
	}

	.bbf-mosaic {
		height: 260px;
		grid-template-columns: 1fr 1fr;
	}

	.bbf-mosaic__item--1 {
		grid-row: span 1;
	}

	.bbf-form__grid {
		grid-template-columns: 1fr;
	}

	.bbf-sec__head--row {
		flex-direction: column;
		align-items: flex-start;
	}

	.bbf-cat__name {
		font-size: 15px;
	}
}
