/* ==========================================================================
   BikerDroid — shop archives (shop, categories, brands, tags, product search)
   Heading band · sticky filter sidebar · toolbar · grid · pagination ·
   empty state · mobile "Filter & sort" drawer and floating button.
   ========================================================================== */

/* base.css' `.bd-theme.one-container .container` / `.site-content` resets zero the page
   gutter and its own 40px top padding, so both are restored for archives here (the
   gutter also keeps the results aligned with the heading band). */
.bd-theme.bd-shop-page .site.grid-container.container {
	padding-left: var(--bd-gutter);
	padding-right: var(--bd-gutter);
}
.bd-theme.bd-shop-page .site-content {
	padding-top: 32px;
	padding-bottom: clamp(64px, 7vw, 104px);
}

/* GeneratePress wraps WooCommerce archives in .entry-content, which base.css styles as
   long-form prose (16px text, list indents, heading margins, gold-underlined links).
   Neutralise that inside the shop; links and headings below are scoped with
   #bd-shop / #bd-filters-drawer so their own styles win. */
.bd-theme .entry-content .bd-shop {
	color: var(--bd-text);
	font-size: var(--bd-fs-base);
	line-height: var(--bd-lh);
}
.bd-theme .entry-content .bd-shop :where(ul, ol) {
	margin: 0;
	padding: 0;
}
.bd-theme .entry-content .bd-shop :where(li) {
	margin: 0;
}
.bd-theme .entry-content .bd-shop :where(h2, h3) {
	margin-top: 0;
}

/* ==========================================================================
   Heading band (extends .bd-pagehead from base.css)
   ========================================================================== */
.bd-shophead {
	padding: 28px 0 28px;
}
.bd-shophead .bd-pagehead__inner {
	display: flex;
	flex-direction: column;
}
.bd-shophead .bd-breadcrumb {
	margin-bottom: 14px;
}
.bd-shophead .bd-eyebrow {
	margin-bottom: 10px;
}
.bd-theme .bd-shophead .bd-pagehead__title {
	max-width: 15ch;
	font-size: clamp(32px, 8.4vw, 54px);
	letter-spacing: -0.01em;
	overflow-wrap: anywhere;
}
.bd-shophead--search .bd-pagehead__title {
	max-width: none;
}
.bd-shophead .bd-pagehead__text {
	max-width: 620px;
	margin-top: 12px;
	font-size: 15px;
	line-height: 1.6;
}
.bd-shophead .bd-pagehead__text p {
	margin: 0 0 0.6em;
}

/* Stats row: "56 products · 9 brands · 19 on sale" */
.bd-shophead__stats {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 0;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	color: var(--bd-on-dark-3);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.bd-shophead__stats li {
	display: inline-flex;
	align-items: center;
	margin: 0;
}
.bd-shophead__stats li + li::before {
	content: "";
	width: 4px;
	height: 4px;
	margin: 0 12px;
	border-radius: var(--bd-r-pill);
	background: var(--bd-gold);
	transform: skewX(-20deg);
}
.bd-shophead__stats strong {
	margin-right: 6px;
	color: var(--bd-white);
	font-family: var(--bd-font-display);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.02em;
	font-variant-numeric: tabular-nums;
}
.bd-shophead__stats a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1.5px solid var(--bd-gold);
	padding-bottom: 1px;
}
.bd-shophead__stats a:hover,
.bd-shophead__stats a:hover strong {
	color: var(--bd-gold);
}

/* Chips (horizontal scroller on small screens) */
.bd-shophead__chips {
	position: relative;
	margin: 20px calc(-1 * var(--bd-gutter)) 0;
}
.bd-shophead__chiplist {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 2px var(--bd-gutter);
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	scroll-padding: 0 var(--bd-gutter);
}
.bd-shophead__chiplist::-webkit-scrollbar {
	display: none;
}
.bd-shophead__chiplist li {
	flex: none;
	margin: 0;
}
.bd-shophead .bd-chip {
	min-height: 38px;
	padding: 7px 15px;
	background: transparent;
	border-color: var(--bd-dark-line-2);
	color: var(--bd-on-dark);
	font-size: 13px;
}
.bd-shophead .bd-chip:hover {
	border-color: var(--bd-gold);
	color: var(--bd-gold);
}
.bd-shophead .bd-chip.is-active {
	background: var(--bd-gold);
	border-color: var(--bd-gold);
	color: var(--bd-black);
}
.bd-shophead .bd-chip__count {
	font-variant-numeric: tabular-nums;
}

/* Refine-search box (search results) */
.bd-shopsearch {
	position: relative;
	display: flex;
	align-items: stretch;
	gap: 8px;
	width: 100%;
	max-width: 560px;
	margin: 18px 0 0;
}
.bd-shopsearch__icon {
	position: absolute;
	left: 16px;
	top: 50%;
	display: flex;
	color: var(--bd-text-3);
	transform: translateY(-50%);
	pointer-events: none;
}
.bd-theme .bd-shopsearch .bd-shopsearch__input {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 52px;
	padding-left: 46px;
	border-color: transparent;
	font-size: 15.5px;
}
.bd-theme .bd-shopsearch .bd-shopsearch__btn {
	flex: none;
	min-height: 52px;
	padding: 0 22px;
}
.bd-shopsearch__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

/* Product cutout artwork (tablet & desktop) */
.bd-shophead__media {
	display: none;
}
@media (min-width: 768px) {
	.bd-shophead {
		padding: 36px 0 34px;
	}
	.bd-shophead .bd-pagehead__inner {
		min-height: 200px;
	}
	.bd-shophead.has-media .bd-pagehead__inner {
		padding-right: calc(var(--bd-gutter) + min(34%, 400px));
	}
	.bd-shophead__chips {
		margin-left: 0;
		margin-right: 0;
	}
	.bd-shophead__chiplist {
		flex-wrap: wrap;
		padding: 2px 0;
		overflow: visible;
	}
	/* Sized from the band's height (it may grow with chips), never cropped. */
	.bd-shophead__media {
		position: absolute;
		top: -26px;
		bottom: -24px;
		right: var(--bd-gutter);
		display: grid;
		place-items: center;
		width: auto;
		max-width: 34%;
		aspect-ratio: 1 / 1;
		pointer-events: none;
	}
	.bd-shophead__media::before {
		content: "";
		position: absolute;
		inset: 6%;
		border-radius: 50%;
		background: radial-gradient(closest-side, color-mix(in srgb, var(--bd-gold) 34%, transparent), color-mix(in srgb, var(--bd-gold) 8%, transparent) 60%, transparent 72%);
	}
	.bd-shophead__media::after {
		content: "";
		position: absolute;
		left: 14%;
		right: 14%;
		bottom: 10%;
		height: 9%;
		border-radius: 50%;
		background: radial-gradient(closest-side, color-mix(in srgb, var(--bd-black) 80%, transparent), transparent);
		filter: blur(2px);
	}
	.bd-shophead__media img {
		position: relative;
		z-index: 1;
		width: 86%;
		height: 86%;
		object-fit: contain;
		filter: drop-shadow(0 18px 28px color-mix(in srgb, var(--bd-black) 60%, transparent));
		animation: bd-shophead-in 0.9s var(--bd-ease-out) both;
	}
}
@media (min-width: 1024px) {
	.bd-shophead {
		padding: 40px 0 38px;
	}
	.bd-shophead .bd-pagehead__inner {
		min-height: 220px;
	}
	.bd-shophead__media {
		top: -30px;
		bottom: -28px;
	}
}
@keyframes bd-shophead-in {
	from {
		opacity: 0;
		transform: translateY(14px) scale(0.97);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* ==========================================================================
   Layout
   ========================================================================== */
.bd-shop {
	display: block;
}
.bd-shop__main {
	min-width: 0;
}
.bd-shop__sidebar {
	display: none;
}
@media (min-width: 1024px) {
	.bd-shop {
		display: grid;
		grid-template-columns: 252px minmax(0, 1fr);
		gap: 0 32px;
		align-items: start;
	}
	.bd-shop__sidebar {
		position: sticky;
		top: var(--bd-sticky-top);
		display: block;
		max-height: calc(100vh - var(--bd-sticky-top) - 16px);
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-width: thin;
		scrollbar-color: var(--bd-line-2) transparent;
		border-radius: var(--bd-r-lg);
		/* Scroll shadows: a soft edge appears only where more filters are hidden. */
		background:
			linear-gradient(var(--bd-paper) 30%, transparent) center top / 100% 40px no-repeat local,
			linear-gradient(transparent, var(--bd-paper) 70%) center bottom / 100% 40px no-repeat local,
			radial-gradient(farthest-side at 50% 0, color-mix(in srgb, var(--bd-black) 16%, transparent), transparent) center top / 100% 12px no-repeat scroll,
			radial-gradient(farthest-side at 50% 100%, color-mix(in srgb, var(--bd-black) 16%, transparent), transparent) center bottom / 100% 12px no-repeat scroll,
			var(--bd-paper);
	}
	.bd-shop__sidebar::-webkit-scrollbar {
		width: 6px;
	}
	.bd-shop__sidebar::-webkit-scrollbar-thumb {
		border-radius: 6px;
		background: var(--bd-line-2);
	}
}
@media (min-width: 1280px) {
	.bd-shop {
		grid-template-columns: 272px minmax(0, 1fr);
		gap: 0 40px;
	}
}

/* ==========================================================================
   Filters (sidebar panel; the same form moves into the drawer on mobile)
   ========================================================================== */
.bd-filters {
	margin: 0;
}
.bd-shop__sidebar .bd-filters {
	padding: 6px 20px 12px;
}
.bd-filters__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 0 12px;
}
:is(#bd-shop, #bd-filters-drawer) .bd-filters__title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-family: var(--bd-font-display);
	font-size: 18px;
	font-weight: 800;
	font-stretch: 108%;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}
.bd-filters__title .bd-icon {
	color: var(--bd-gold-ink);
}
:is(#bd-shop, #bd-filters-drawer) .bd-filters__clear {
	color: var(--bd-text);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-color: var(--bd-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
.bd-filters__noscript {
	padding: 16px 0 8px;
}

/* Group (details/summary) */
.bd-fgroup {
	border-top: 1px solid var(--bd-line);
}
.bd-fgroup__head {
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 52px;
	padding: 4px 0;
	cursor: pointer;
	list-style: none;
	-webkit-tap-highlight-color: transparent;
}
.bd-fgroup__head::-webkit-details-marker,
.bd-fgroup__head::marker {
	display: none;
	content: "";
}
:is(#bd-shop, #bd-filters-drawer) .bd-fgroup__title {
	margin: 0;
	color: var(--bd-text);
	font-family: var(--bd-font-body);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.bd-fgroup__badge {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: var(--bd-r-pill);
	background: var(--bd-black);
	color: var(--bd-gold);
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	box-sizing: border-box;
}
.bd-fgroup__chev {
	margin-left: auto;
	color: var(--bd-text-3);
	transition: transform var(--bd-dur) var(--bd-ease);
}
.bd-fgroup[open] > .bd-fgroup__head .bd-fgroup__chev {
	transform: rotate(180deg);
}
.bd-fgroup__head:hover .bd-fgroup__chev {
	color: var(--bd-text);
}
.bd-fgroup__body {
	padding: 2px 0 18px;
}
.bd-shop__sidebar .bd-fgroup--sort {
	display: none;
}

/* Category tree */
.bd-ftree,
.bd-ftree__children {
	margin: 0;
	padding: 0;
	list-style: none;
}
.bd-ftree__item {
	position: relative;
	margin: 0;
}
:is(#bd-shop, #bd-filters-drawer) .bd-ftree__link {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 36px;
	margin: 1px 0;
	padding: 6px 10px;
	border-radius: var(--bd-r-sm);
	color: var(--bd-text-2);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color var(--bd-dur) var(--bd-ease), color var(--bd-dur) var(--bd-ease);
}
:is(#bd-shop, #bd-filters-drawer) .bd-ftree__item.has-children > .bd-ftree__link {
	padding-right: 40px;
}
:is(#bd-shop, #bd-filters-drawer) .bd-ftree__link:hover {
	background: var(--bd-white);
	color: var(--bd-text);
}
.bd-ftree__name {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.bd-ftree__count {
	margin-left: auto;
	color: var(--bd-text-3);
	font-size: 12px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
:is(#bd-shop, #bd-filters-drawer) .bd-ftree__link.is-ancestor {
	color: var(--bd-text);
	font-weight: 700;
}
:is(#bd-shop, #bd-filters-drawer) .bd-ftree__link.is-current,
:is(#bd-shop, #bd-filters-drawer) .bd-ftree__link.is-current:hover {
	background: var(--bd-black);
	color: var(--bd-white);
	font-weight: 700;
}
.bd-ftree__link.is-current .bd-ftree__count {
	color: var(--bd-gold);
}
.bd-theme .bd-ftree__toggle {
	position: absolute;
	top: 3px;
	right: 2px;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: var(--bd-r-sm);
	background: transparent;
	color: var(--bd-text-3);
	cursor: pointer;
	transition: background-color var(--bd-dur) var(--bd-ease), color var(--bd-dur) var(--bd-ease);
}
.bd-theme .bd-ftree__toggle:hover,
.bd-theme .bd-ftree__toggle:focus-visible {
	background: var(--bd-paper-2);
	color: var(--bd-text);
}
.bd-theme .bd-ftree__toggle:focus:not(:focus-visible) {
	background: transparent;
	color: var(--bd-text-3);
}
.bd-ftree__toggle .bd-icon {
	transition: transform var(--bd-dur) var(--bd-ease);
}
.bd-ftree__toggle[aria-expanded="true"] .bd-icon {
	transform: rotate(180deg);
}
.bd-ftree__item.has-children > .bd-ftree__link.is-current ~ .bd-ftree__toggle {
	color: var(--bd-on-dark-2);
}
.bd-ftree__item.has-children > .bd-ftree__link.is-current ~ .bd-ftree__toggle:hover {
	background: var(--bd-dark-3);
	color: var(--bd-white);
}
:is(#bd-shop, #bd-filters-drawer) .bd-ftree__children {
	margin: 2px 0 6px 14px;
	padding-left: 8px;
	border-left: 1.5px solid var(--bd-line-2);
}
:is(#bd-shop, #bd-filters-drawer) .bd-ftree__children .bd-ftree__link {
	min-height: 34px;
	font-size: 13.5px;
}

/* Brand checkboxes */
.bd-fchecks {
	margin: 0;
	padding: 0;
	list-style: none;
}
.bd-fchecks__item {
	margin: 0;
}
.bd-fchecks.is-collapsed .is-extra {
	display: none;
}
.bd-theme .bd-fcheck {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 36px;
	margin: 0 -8px;
	padding: 4px 8px;
	border-radius: var(--bd-r-sm);
	color: var(--bd-text-2);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color var(--bd-dur) var(--bd-ease);
	-webkit-tap-highlight-color: transparent;
}
.bd-fcheck:hover {
	background: var(--bd-white);
}
.bd-theme .bd-fcheck input,
.bd-theme .bd-fswitch input,
.bd-theme .bd-fsort__opt input {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
	pointer-events: none;
}
.bd-fcheck__box {
	display: grid;
	flex: none;
	place-items: center;
	width: 20px;
	height: 20px;
	border: 1.5px solid var(--bd-line-2);
	border-radius: 5px;
	background: var(--bd-white);
	color: transparent;
	box-sizing: border-box;
	transition: background-color var(--bd-dur) var(--bd-ease), border-color var(--bd-dur) var(--bd-ease), color var(--bd-dur) var(--bd-ease);
}
.bd-fcheck:hover .bd-fcheck__box {
	border-color: var(--bd-text-3);
}
.bd-fcheck input:checked + .bd-fcheck__box {
	border-color: var(--bd-black);
	background: var(--bd-black);
	color: var(--bd-gold);
}
.bd-fcheck input:focus-visible + .bd-fcheck__box {
	box-shadow: var(--bd-ring);
	border-color: var(--bd-black);
}
.bd-fcheck__label {
	min-width: 0;
	overflow: hidden;
	color: var(--bd-text);
	letter-spacing: 0.05em;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}
.bd-fcheck__count {
	margin-left: auto;
	color: var(--bd-text-3);
	font-size: 12px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.bd-theme .bd-fmore,
.bd-theme .bd-fmore:hover,
.bd-theme .bd-fmore:focus {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 8px 0 0;
	padding: 6px 0;
	border: 0;
	background: none;
	color: var(--bd-text);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	text-decoration: underline;
	text-decoration-color: var(--bd-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}
.bd-fmore .bd-icon {
	transition: transform var(--bd-dur) var(--bd-ease);
}
.bd-fmore[aria-expanded="true"] .bd-icon {
	transform: rotate(180deg);
}

/* Switches (availability, deals) */
.bd-theme .bd-fswitch {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	margin: 0;
	color: var(--bd-text);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.bd-fswitch__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: var(--bd-r-sm);
	background: var(--bd-white);
	color: var(--bd-gold-ink);
	box-shadow: inset 0 0 0 1px var(--bd-line);
}
.bd-fswitch__count {
	margin-left: auto;
	color: var(--bd-text-3);
	font-size: 12px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.bd-fswitch__ui {
	position: relative;
	flex: none;
	width: 42px;
	height: 24px;
	border-radius: var(--bd-r-pill);
	background: var(--bd-line-2);
	transition: background-color var(--bd-dur) var(--bd-ease);
}
.bd-fswitch__ui::after {
	content: "";
	position: absolute;
	top: 3px;
	left: 3px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--bd-white);
	box-shadow: var(--bd-shadow-xs);
	transition: transform var(--bd-dur) var(--bd-ease-out), background-color var(--bd-dur) var(--bd-ease);
}
.bd-fswitch:hover .bd-fswitch__ui {
	background: var(--bd-text-3);
}
.bd-fswitch input:checked ~ .bd-fswitch__ui {
	background: var(--bd-black);
}
.bd-fswitch input:checked ~ .bd-fswitch__ui::after {
	background: var(--bd-gold);
	transform: translateX(18px);
}
.bd-fswitch input:focus-visible ~ .bd-fswitch__ui {
	box-shadow: var(--bd-ring);
}

/* Price: histogram + dual slider + inputs */
.bd-prange {
	--bd-thumb: 20px;
	padding-top: 4px;
}
.bd-prange__hist {
	display: flex;
	align-items: flex-end;
	gap: 2px;
	height: 40px;
	padding: 0 calc(var(--bd-thumb) / 2);
}
.bd-prange__hist span {
	flex: 1 1 0;
	height: calc(var(--h) * 100%);
	border-radius: 2px 2px 0 0;
	background: var(--bd-line-2);
	transition: background-color var(--bd-dur) var(--bd-ease);
}
.bd-prange__hist span.is-in {
	background: var(--bd-gold);
}
.bd-prange__slider {
	position: relative;
	height: var(--bd-thumb);
	margin: 0 0 16px;
}
.bd-prange__track {
	position: absolute;
	top: 50%;
	right: calc(var(--bd-thumb) / 2);
	left: calc(var(--bd-thumb) / 2);
	height: 4px;
	margin-top: -2px;
	border-radius: 4px;
	background: var(--bd-line-2);
}
.bd-prange__fill {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--bd-pmin, 0%);
	right: calc(100% - var(--bd-pmax, 100%));
	border-radius: 4px;
	background: var(--bd-black);
}
.bd-theme .bd-prange__range {
	position: absolute;
	inset: 0;
	width: 100%;
	height: var(--bd-thumb);
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}
.bd-prange__range::-webkit-slider-runnable-track {
	height: var(--bd-thumb);
	background: none;
}
.bd-prange__range::-moz-range-track {
	background: none;
}
.bd-prange__range::-webkit-slider-thumb {
	width: var(--bd-thumb);
	height: var(--bd-thumb);
	border: 2px solid var(--bd-black);
	border-radius: 50%;
	background: var(--bd-white);
	box-shadow: var(--bd-shadow-sm);
	cursor: grab;
	pointer-events: auto;
	-webkit-appearance: none;
	appearance: none;
	transition: transform var(--bd-dur) var(--bd-ease), box-shadow var(--bd-dur) var(--bd-ease);
}
.bd-prange__range::-moz-range-thumb {
	width: var(--bd-thumb);
	height: var(--bd-thumb);
	border: 2px solid var(--bd-black);
	border-radius: 50%;
	background: var(--bd-white);
	box-shadow: var(--bd-shadow-sm);
	cursor: grab;
	pointer-events: auto;
	box-sizing: border-box;
}
.bd-prange__range:active::-webkit-slider-thumb {
	cursor: grabbing;
	transform: scale(1.12);
}
.bd-prange__range:focus-visible::-webkit-slider-thumb {
	box-shadow: var(--bd-ring);
}
.bd-prange__range:focus-visible::-moz-range-thumb {
	box-shadow: var(--bd-ring);
}
.bd-prange__range:focus-visible {
	outline: none;
}
.bd-prange__range--max.is-front,
.bd-prange__range--min.is-front {
	z-index: 2;
}
.bd-prange__fields {
	display: flex;
	align-items: flex-end;
	gap: 6px;
}
.bd-theme .bd-prange__field {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
	margin: 0;
}
.bd-prange__label {
	color: var(--bd-text-3);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.bd-prange__input {
	position: relative;
	display: block;
}
.bd-prange__cur {
	position: absolute;
	top: 50%;
	left: 10px;
	color: var(--bd-text-3);
	font-family: var(--bd-font-display);
	font-size: 14px;
	font-weight: 600;
	transform: translateY(-50%);
	pointer-events: none;
}
.bd-theme .bd-prange__input input {
	min-height: 42px;
	padding: 8px 6px 8px 24px;
	font-family: var(--bd-font-display);
	font-size: 14.5px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	-moz-appearance: textfield;
}
.bd-prange__input input::-webkit-outer-spin-button,
.bd-prange__input input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}
.bd-prange__input input::placeholder {
	color: var(--bd-text-3);
	font-weight: 500;
}
.bd-prange__dash {
	padding-bottom: 11px;
	color: var(--bd-text-3);
}
.bd-theme .bd-prange__go {
	display: grid;
	flex: none;
	place-items: center;
	width: 42px;
	height: 42px;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: var(--bd-r-btn);
	background: var(--bd-black);
	color: var(--bd-gold);
	cursor: pointer;
}
.bd-theme .bd-prange__go:hover {
	background: var(--bd-gold);
	color: var(--bd-black);
	transform: none;
}

/* Sort options (drawer only) */
.bd-fsort {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.bd-theme .bd-fsort__opt {
	position: relative;
	margin: 0;
	font-weight: 600;
	cursor: pointer;
}
.bd-fsort__opt span {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 15px;
	border: 1.5px solid var(--bd-line-2);
	border-radius: var(--bd-r-pill);
	background: var(--bd-white);
	color: var(--bd-text);
	font-size: 13.5px;
	box-sizing: border-box;
	transition: background-color var(--bd-dur) var(--bd-ease), border-color var(--bd-dur) var(--bd-ease), color var(--bd-dur) var(--bd-ease);
}
.bd-fsort__opt input:checked + span {
	border-color: var(--bd-black);
	background: var(--bd-black);
	color: var(--bd-gold);
}
.bd-fsort__opt input:focus-visible + span {
	box-shadow: var(--bd-ring);
}

/* ==========================================================================
   Toolbar
   ========================================================================== */
.bd-shopbar {
	margin-bottom: 24px;
}
.bd-shopbar__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
	min-height: 48px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--bd-line);
}
.bd-theme .bd-shopbar__filter {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 8px 16px 8px 14px;
	border: 1.5px solid var(--bd-black);
	border-radius: var(--bd-r-pill);
	background: var(--bd-white);
	color: var(--bd-text);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color var(--bd-dur) var(--bd-ease), color var(--bd-dur) var(--bd-ease);
	-webkit-tap-highlight-color: transparent;
}
.bd-theme .bd-shopbar__filter:hover {
	background: var(--bd-black);
	color: var(--bd-white);
}
.bd-shopbar__filter .bd-icon {
	color: var(--bd-gold-ink);
}
.bd-shopbar__filter:hover .bd-icon {
	color: var(--bd-gold);
}
.bd-shopbar__badge,
.bd-fpill__badge {
	display: inline-grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	border-radius: var(--bd-r-pill);
	background: var(--bd-gold);
	color: var(--bd-black);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
	box-sizing: border-box;
}
.bd-fpill__badge[hidden] {
	display: none;
}
.bd-shopbar__count {
	margin: 0;
	color: var(--bd-text-2);
	font-size: 14px;
	line-height: 1.4;
}
.bd-shopbar__count strong {
	color: var(--bd-text);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.bd-shopbar__tools {
	display: none;
	align-items: center;
	gap: 12px;
	margin-left: auto;
}
.bd-sort {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
}
.bd-theme .bd-sort__label {
	margin: 0;
	color: var(--bd-text-3);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
}
.bd-theme .bd-sort__select {
	width: auto;
	min-width: 196px;
	min-height: 44px;
	padding: 8px 40px 8px 14px;
	border-color: var(--bd-line-2);
	font-size: 14px;
	font-weight: 600;
}
.bd-density {
	display: none;
	gap: 2px;
	padding: 3px;
	border: 1.5px solid var(--bd-line-2);
	border-radius: var(--bd-r-btn);
}
.bd-theme .bd-density__btn {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: var(--bd-r-sm);
	background: transparent;
	color: var(--bd-text-3);
	cursor: pointer;
	transition: background-color var(--bd-dur) var(--bd-ease), color var(--bd-dur) var(--bd-ease);
}
.bd-theme .bd-density__btn:hover,
.bd-theme .bd-density__btn:focus-visible {
	color: var(--bd-text);
	background: var(--bd-paper);
}
.bd-theme .bd-density__btn:focus:not(:focus-visible) {
	background: transparent;
	color: var(--bd-text-3);
}
.bd-theme .bd-density__btn[aria-pressed="true"] {
	background: var(--bd-black);
	color: var(--bd-gold);
}
.bd-shopbar__count .bd-shopbar__range {
	display: none;
}
@media (min-width: 768px) {
	.bd-shopbar__tools {
		display: flex;
	}
	.bd-shopbar__count .bd-shopbar__range {
		display: inline;
	}
}
@media (min-width: 1024px) {
	.bd-shopbar__filter {
		display: none !important;
	}
	.bd-shopbar__row {
		min-height: 60px;
		padding-bottom: 14px;
	}
}
@media (min-width: 1280px) {
	.bd-density {
		display: inline-flex;
	}
}
@media (max-width: 767px) {
	.bd-shopbar__row {
		justify-content: space-between;
		padding-bottom: 14px;
	}
	.bd-shopbar__count {
		font-size: 13.5px;
	}
}

/* Active filter chips */
.bd-shopbar__chips {
	padding-top: 14px;
}
.bd-activechips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bd-activechips li {
	margin: 0;
}
#bd-shop .bd-activechip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 34px;
	padding: 5px 10px 5px 14px;
	border-radius: var(--bd-r-pill);
	background: var(--bd-black);
	color: var(--bd-white);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color var(--bd-dur) var(--bd-ease), color var(--bd-dur) var(--bd-ease);
}
.bd-activechip .bd-icon {
	color: var(--bd-gold);
	transition: transform var(--bd-dur) var(--bd-ease);
}
#bd-shop .bd-activechip:hover {
	background: var(--bd-dark-3);
	color: var(--bd-white);
}
.bd-activechip:hover .bd-icon {
	transform: rotate(90deg);
}
#bd-shop .bd-activechips__clear {
	margin-left: 4px;
	color: var(--bd-text);
	font-size: 12.5px;
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: var(--bd-gold);
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	white-space: nowrap;
}
@media (max-width: 767px) {
	.bd-shopbar__chips {
		margin: 0 calc(-1 * var(--bd-gutter));
	}
	#bd-shop .bd-activechips {
		flex-wrap: nowrap;
		padding: 0 var(--bd-gutter);
		overflow-x: auto;
		scrollbar-width: none;
	}
	.bd-activechips::-webkit-scrollbar {
		display: none;
	}
	.bd-activechips li {
		flex: none;
	}
}

/* ==========================================================================
   Archive grid
   ========================================================================== */
.bd-theme .bd-shop ul.products.bd-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 12px;
	transition: opacity var(--bd-dur) var(--bd-ease);
}
@media (min-width: 768px) {
	.bd-theme .bd-shop ul.products.bd-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 36px 20px;
	}
}
@media (min-width: 1280px) {
	.bd-theme .bd-shop ul.products.bd-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 40px 20px;
	}
	.bd-theme .bd-shop[data-density="3"] ul.products.bd-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 48px 28px;
	}
}

/* Loading (AJAX navigation) */
.bd-shop__main {
	position: relative;
}
.bd-shop.is-loading .bd-shop__main ul.products,
.bd-shop.is-loading .bd-shopempty,
.bd-shop.is-loading .woocommerce-pagination {
	opacity: 0.4;
	pointer-events: none;
}
.bd-shop.is-loading .bd-shop__sidebar {
	pointer-events: none;
}
.bd-shop.is-loading .bd-shopbar__row::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--bd-gold), transparent);
	background-size: 40% 100%;
	background-repeat: no-repeat;
	animation: bd-shop-progress 1s linear infinite;
}
.bd-shopbar__row {
	position: relative;
}
@keyframes bd-shop-progress {
	from { background-position: -40% 0; }
	to { background-position: 140% 0; }
}

/* ==========================================================================
   Progress + pagination
   ========================================================================== */
.bd-shopprogress {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin-top: 56px;
}
.bd-shopprogress__text {
	margin: 0;
	color: var(--bd-text-2);
	font-size: 13.5px;
}
.bd-shopprogress__text strong {
	color: var(--bd-text);
	font-variant-numeric: tabular-nums;
}
.bd-shopprogress__bar {
	width: 220px;
	max-width: 70%;
	height: 3px;
	overflow: hidden;
	border-radius: var(--bd-r-pill);
	background: var(--bd-line);
}
.bd-shopprogress__bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--bd-black);
}
.bd-theme .bd-shop .woocommerce-pagination {
	margin-top: 20px;
}
.bd-shopprogress + .woocommerce-pagination {
	margin-top: 20px;
}
.bd-theme .bd-shop .woocommerce-pagination ul.page-numbers {
	gap: 6px;
}
#bd-shop .woocommerce-pagination .page-numbers a,
#bd-shop .woocommerce-pagination .page-numbers span {
	color: var(--bd-text);
	text-decoration: none;
	min-width: 44px;
	height: 44px;
	border-radius: var(--bd-r-pill);
	font-family: var(--bd-font-display);
	font-size: 15px;
	font-variant-numeric: tabular-nums;
	transition: border-color var(--bd-dur) var(--bd-ease), background-color var(--bd-dur) var(--bd-ease), color var(--bd-dur) var(--bd-ease);
}
#bd-shop .woocommerce-pagination .page-numbers span.dots {
	border-color: transparent;
	background: transparent;
	min-width: 24px;
	padding: 0;
}
#bd-shop .woocommerce-pagination .page-numbers a.prev,
#bd-shop .woocommerce-pagination .page-numbers a.next {
	border-color: var(--bd-black);
}
#bd-shop .woocommerce-pagination .page-numbers a:hover {
	border-color: var(--bd-black);
	color: var(--bd-text);
}
#bd-shop .woocommerce-pagination .page-numbers span.current {
	color: var(--bd-gold);
}
#bd-shop .woocommerce-pagination .page-numbers a.prev:hover,
#bd-shop .woocommerce-pagination .page-numbers a.next:hover {
	background: var(--bd-black);
	color: var(--bd-gold);
}

/* ==========================================================================
   Empty state
   ========================================================================== */
.bd-shopempty {
	padding: 48px 20px 40px;
	border-radius: var(--bd-r-lg);
	background: var(--bd-paper);
	text-align: center;
}
.bd-shopempty__icon {
	display: grid;
	place-items: center;
	width: 76px;
	height: 76px;
	margin: 0 auto 20px;
	border-radius: 50%;
	background: var(--bd-black);
	color: var(--bd-gold);
	box-shadow: 0 0 0 8px var(--bd-gold-soft);
}
#bd-shop .bd-shopempty__title {
	margin: 0 0 10px;
	font-size: clamp(22px, 2.4vw, 30px);
	font-weight: 800;
	font-stretch: 108%;
	line-height: 1.1;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}
.bd-shopempty__text {
	max-width: 500px;
	margin: 0 auto 24px;
	color: var(--bd-text-2);
	font-size: 15px;
}
.bd-shopempty .bd-shopsearch {
	margin: 0 auto 20px;
}
.bd-theme .bd-shopempty .bd-shopsearch__input {
	border-color: var(--bd-line-2);
}
.bd-shopempty__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
}
.bd-shopempty__popular {
	margin-top: 44px;
}
.bd-shopempty__popular .bd-eyebrow {
	justify-content: center;
	margin-bottom: 16px;
}
.bd-shopempty__cats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bd-shopempty__cats li {
	margin: 0;
}
#bd-shop .bd-shopempty__cat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	height: 100%;
	padding: 12px 12px 16px;
	border: 1px solid var(--bd-line);
	border-radius: 12px;
	background: var(--bd-white);
	color: var(--bd-text);
	text-decoration: none;
	box-sizing: border-box;
	transition: transform var(--bd-dur-slow) var(--bd-ease-out), box-shadow var(--bd-dur-slow) var(--bd-ease-out), border-color var(--bd-dur) var(--bd-ease);
}
#bd-shop .bd-shopempty__cat:hover {
	border-color: var(--bd-line-2);
	color: var(--bd-text);
	box-shadow: var(--bd-shadow);
	transform: translateY(-3px);
}
.bd-shopempty__media {
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 1 / 1;
	margin-bottom: 6px;
}
.bd-shopempty__img {
	width: 82%;
	height: 82%;
	object-fit: contain;
}
.bd-shopempty__name {
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.bd-shopempty__count {
	color: var(--bd-text-3);
	font-size: 12px;
}
@media (min-width: 768px) {
	.bd-shopempty {
		padding: 64px 40px 48px;
	}
	.bd-shopempty__cats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px;
	}
}
@media (min-width: 1280px) {
	.bd-shopempty__cats {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

/* ==========================================================================
   Mobile drawer + floating button
   ========================================================================== */
.bd-fdrawer {
	width: min(420px, 92vw);
}
.bd-fdrawer .bd-drawer__head {
	min-height: 64px;
	box-sizing: border-box;
}
.bd-theme .bd-fdrawer__body {
	padding: 4px 20px 24px;
}
.bd-fdrawer .bd-filters__head {
	display: none;
}
.bd-fdrawer .bd-fgroup:first-of-type {
	border-top: 0;
}
.bd-fdrawer .bd-ftree__link,
.bd-fdrawer .bd-fcheck {
	min-height: 44px;
}
.bd-fdrawer .bd-ftree__toggle {
	top: 6px;
}
.bd-fdrawer .bd-ftree__link:hover,
.bd-fdrawer .bd-fcheck:hover {
	background: var(--bd-paper);
}
.bd-fdrawer .bd-fswitch__icon {
	background: var(--bd-paper);
	box-shadow: none;
}
.bd-fdrawer__foot {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 10px;
}
.bd-theme .bd-fdrawer__foot .bd-btn {
	min-height: 52px;
	padding-left: 18px;
	padding-right: 18px;
	font-size: 13px;
	letter-spacing: 0.05em;
	white-space: nowrap;
}
.bd-theme .bd-fdrawer__foot .bd-fdrawer__reset {
	padding-left: 14px;
	padding-right: 14px;
	border-color: var(--bd-line-2);
	font-size: 12px;
}
.bd-theme .bd-fdrawer__foot .bd-fdrawer__reset:hover {
	border-color: var(--bd-black);
}
.bd-fdrawer__apply.is-busy [data-bd-apply-label] {
	opacity: 0.55;
}
.bd-theme .bd-fdrawer__close {
	margin-right: -8px;
	color: var(--bd-text);
}
.bd-theme .bd-fdrawer__close:hover,
.bd-theme .bd-fdrawer__close:focus-visible {
	background: var(--bd-paper);
	color: var(--bd-text);
}
.bd-theme .bd-fdrawer__close:focus:not(:focus-visible) {
	background: transparent;
	color: var(--bd-text);
}

.bd-theme .bd-fpill,
.bd-theme .bd-fpill:hover,
.bd-theme .bd-fpill:focus {
	position: fixed;
	left: 50%;
	bottom: calc(var(--bd-bottom-ui, 0px) + 16px + env(safe-area-inset-bottom));
	z-index: var(--bd-z-sticky);
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 50px;
	padding: 0 22px;
	border: 1px solid var(--bd-dark-line-2);
	border-radius: var(--bd-r-pill);
	background: var(--bd-black);
	color: var(--bd-white);
	font-family: var(--bd-font-body);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: var(--bd-shadow-lg);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translate(-50%, 140%);
	transition: transform var(--bd-dur-slow) var(--bd-ease-out), opacity var(--bd-dur) var(--bd-ease), visibility var(--bd-dur-slow);
	-webkit-tap-highlight-color: transparent;
}
.bd-fpill .bd-icon {
	color: var(--bd-gold);
}
.bd-theme .bd-fpill.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translate(-50%, 0);
}
.bd-theme .bd-fpill:active {
	transform: translate(-50%, 0) scale(0.97);
}
@media (min-width: 1024px) {
	.bd-theme .bd-fdrawer,
	.bd-theme .bd-fpill {
		display: none;
	}
}

/* Drawer live counts: options that would return nothing */
.bd-fchecks__item.is-zero {
	opacity: 0.45;
}

/* Archives with no products at all: no filters, no sorting, full-width message. */
@media (min-width: 1024px) {
	.bd-shop.bd-shop--bare {
		display: block;
	}
}
.bd-shopbar--bare {
	display: none;
}

/* Phones: a tighter heading band so products surface sooner. */
@media (max-width: 767px) {
	.bd-theme.bd-shop-page .site-content {
		padding-top: 20px;
	}
	.bd-shophead {
		padding: 22px 0 22px;
	}
	.bd-shophead .bd-breadcrumb {
		margin-bottom: 10px;
	}
	.bd-shophead .bd-eyebrow {
		margin-bottom: 8px;
	}
	.bd-shophead .bd-pagehead__text {
		display: -webkit-box;
		margin-top: 8px;
		overflow: hidden;
		font-size: 14px;
		line-height: 1.55;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		line-clamp: 2;
	}
	.bd-shophead__stats {
		margin-top: 12px;
		font-size: 11px;
	}
	.bd-shophead__stats strong {
		font-size: 13px;
	}
	.bd-shophead__stats li + li::before {
		margin: 0 10px;
	}
	.bd-shophead__chips {
		margin-top: 16px;
	}
	.bd-shophead .bd-chip {
		min-height: 36px;
		padding: 6px 14px;
	}
	.bd-shopsearch {
		margin-top: 14px;
	}
	.bd-shopbar {
		margin-bottom: 18px;
	}
}
