/*
 * Bikemarkt storefront: Design A (Helder) on Shoptimizer 2.9 (ADR-0077).
 * Mobile first: phone styles first, tablet from 700 px, desktop from 993 px (Shoptimizer's
 * breakpoint). Printed after Shoptimizer's Customizer styles, so these tokens decide.
 */

/* ===== Font: Figtree, variable weight, Latin (SIL Open Font License, assets/fonts/OFL.txt) ===== */
@font-face {
	font-family: "Figtree";
	src: url("../fonts/figtree-latin-wght.woff") format("woff");
	font-weight: 300 900;
	font-style: normal;
	font-display: swap;
}

/* ===== Tokens ===== */
:root {
	--font: "Figtree", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ink: #14213d;
	--ink-2: #39455e;
	--muted: #5b6578;
	--line: #e3e7ee;
	--line-2: #cdd3dd;
	--bg: #ffffff;
	--soft: #f3f6fa;
	--link: #0057b8;
	--brand: #0057b8;
	--cta: #ff7a1a;
	--cta-ink: #14213d;
	--cta-hover: #f26a08;
	--sel: #e6f0fb;
	--sel-ink: #00449a;
	--ok: #127a3e;
	--ok-bg: #eaf6ef;
	--warn-ink: #8a5300;
	--warn-bg: #fff4e0;
	--sale: #c8102e;
	--star: #e89b00;
	--foot-bg: #14213d;
	--foot-muted: #b8c2d6;
	--foot-line: rgba(255, 255, 255, 0.16);
	--r-btn: 12px;
	--r-box: 14px;
	--r-sm: 10px;
	--r-pill: 999px;
	--shadow-1: 0 1px 0 #e3e7ee;
	--shadow-2: 0 6px 16px rgba(20, 33, 61, 0.1);
	--tap: 48px;
	--ease: cubic-bezier(0.2, 0.8, 0.2, 1);
	--gutter: 16px;
}

/* ===== Base ===== */
html {
	font-family: var(--font);
	-webkit-text-size-adjust: 100%;
}
body,
button,
input,
select,
optgroup,
option,
textarea,
:root :where(body) {
	font-family: var(--font);
}
body {
	background: var(--bg);
	color: var(--ink);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.entry-content,
p {
	color: inherit;
}
h1,
h2,
h3,
h4,
h5,
h6,
.single-post h1,
.summary h1 {
	color: var(--ink);
	font-family: var(--font);
	font-weight: 800;
	letter-spacing: -0.015em;
	line-height: 1.15;
}
h1,
.single-post h1 {
	font-size: clamp(1.75rem, 1.35rem + 1.8vw, 2.75rem);
}
h2 {
	font-size: clamp(1.375rem, 1.15rem + 1vw, 1.875rem);
}
h3 {
	font-size: clamp(1.125rem, 1.05rem + 0.4vw, 1.375rem);
	line-height: 1.25;
}
h4,
h5,
h6 {
	font-size: 1.0625rem;
	line-height: 1.3;
}
a {
	color: var(--link);
}
a:hover {
	color: var(--ink);
}
/* Focus: the brand's blue ring (white on the navy footer), drawn at once (no transition). */
:focus-visible,
a:focus-visible,
button:focus-visible,
.keyboard-active :focus-visible {
	outline: 3px solid var(--link);
	outline-offset: 2px;
}
a:focus-visible,
button:focus-visible {
	transition: none !important;
}
.site-footer :focus-visible,
footer.copyright :focus-visible,
.bmp-foot-withdraw :focus-visible {
	outline-color: #ffffff;
}
::selection {
	background: var(--sel);
	color: var(--ink);
}
/* Text for screen readers only. Shoptimizer hides it with `visibility: hidden`, which hides it from
   screen readers too and makes skip links unreachable; it is clipped instead (as WordPress's own
   rule does), and a skip link shows at the top when it has the focus. */
.screen-reader-text,
.sr-only {
	visibility: visible;
	clip-path: inset(50%);
}
.screen-reader-text:focus {
	top: 8px;
	left: 8px;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 12px 16px;
	clip: auto;
	clip-path: none;
	border-radius: var(--r-sm);
	background: #ffffff;
	color: var(--ink);
	font-weight: 700;
	box-shadow: 0 0 0 3px var(--link);
}

/* Buttons: orange call to action with navy text; outline and quiet variants. */
.button,
button.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
body .woocommerce a.button.alt,
body .woocommerce button.button.alt,
.product .cart .single_add_to_cart_button,
.wc-block-components-button:not(.is-link) {
	min-height: var(--tap);
	padding: 0 20px;
	border: 0;
	border-radius: var(--r-btn);
	background: var(--cta);
	color: var(--cta-ink);
	font-family: var(--font);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: none;
	transition: background-color 0.15s;
}
.button:hover,
button.button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
body .woocommerce a.button.alt:hover,
body .woocommerce button.button.alt:hover,
.product .cart .single_add_to_cart_button:hover,
.wc-block-components-button:not(.is-link):hover {
	background: var(--cta-hover);
	color: var(--cta-ink);
}
.bmp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: var(--tap);
	padding: 0 18px;
	border-radius: var(--r-btn);
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
}
.bmp-btn--outline {
	border: 2px solid var(--ink);
	background: #ffffff;
	color: var(--ink);
}
.bmp-btn--outline:hover {
	background: var(--soft);
	color: var(--ink);
}
.bmp-link-center {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}

/* Fields */
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="url"],
select,
textarea {
	min-height: var(--tap);
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-sm);
	background-color: #ffffff;
	color: var(--ink);
	font-size: 16px;
}
input:focus,
select:focus,
textarea:focus {
	border-color: var(--link);
	outline: none;
	box-shadow: 0 0 0 3px var(--sel);
}

.bmp-icon {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
}

/* ===== Logo (until a custom logo is set: the mark and the site's name) ===== */
.bmp-logo,
.site-header .site-title a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--ink);
	font-size: 21px;
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1;
	text-decoration: none;
}
.bmp-logo__mark,
.site-header .site-title a::before {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	border-radius: 9px;
	background: var(--brand);
	color: #ffffff;
}
.site-header .site-title a::before {
	content: "";
	background: var(--brand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='16' r='3.5'/%3E%3Ccircle cx='18' cy='16' r='3.5'/%3E%3Cpath d='M6 16l4-7h5l3 7M10 9l-1.5-3H6M13 6h3'/%3E%3C/svg%3E") center / 20px no-repeat;
}
.bmp-logo__mark .bmp-icon {
	width: 20px;
	height: 20px;
}
.site-header .site-title {
	margin: 0;
	font-size: inherit;
	line-height: 1;
}
.site-header .custom-logo-link img {
	max-height: 36px;
	width: auto;
}

/* ===== Header: phones (option 3 improved) ===== */
@media (max-width: 992px) {
	.site-header {
		border-bottom: 1px solid var(--line);
		background: #ffffff;
	}
	body:not(.mobile-toggled).sticky-m .site-header {
		box-shadow: none;
		transition: transform 0.2s var(--ease);
	}
	/* Menu, logo, account and cart in the top row ("Mobile header height" in the Customizer sets
	   it, as --bmp-head-row), the search field below; the header itself has no fixed height. */
	.site-header .main-header.col-full {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto auto;
		grid-template-rows: var(--bmp-head-row, 60px) auto;
		grid-template-areas:
			"menu logo account cart"
			"search search search search";
		align-items: center;
		column-gap: 2px;
		height: auto;
		max-width: none;
		margin: 0;
		padding: 0 8px 0 6px;
	}
	.m-search-bh:not(.woocommerce-checkout.min-ck) .site-header .col-full {
		margin-bottom: 0;
	}
	.site-header .site-branding {
		display: contents;
	}
	.site-header .site-branding button.menu-toggle {
		grid-area: menu;
		position: relative;
		left: auto;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 3px;
		width: 52px;
		height: 50px;
		padding: 0;
		border-radius: 12px;
		color: var(--ink);
	}
	.site-header .menu-toggle .bar {
		position: static;
		width: 22px;
		height: 2px;
		margin: 0 !important;
		border-radius: 2px;
		background-color: var(--ink);
	}
	.site-header .menu-toggle .bar-text {
		position: static;
		margin: 2px 0 0;
		color: var(--ink);
		font-size: 11px;
		font-weight: 800;
		letter-spacing: 0.02em;
		line-height: 1;
	}
	.site-header .site-title {
		grid-area: logo;
		display: flex;
		align-items: center;
		min-width: 0;
		height: var(--bmp-head-row, 60px);
		padding-left: 4px;
		text-align: left;
	}
	.site-header .shoptimizer-myaccount {
		grid-area: account;
		position: static;
		height: auto;
	}
	.site-header .site-header-cart {
		grid-area: cart;
		position: static;
	}
	.site-header .shoptimizer-myaccount a,
	.site-header .shoptimizer-cart a.cart-contents {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		border-radius: 22px;
		color: var(--ink);
	}
	.site-header .shoptimizer-cart-icon {
		top: 0;
		right: 0;
	}
	.m-search-bh .site-header .site-search {
		grid-area: search;
		height: auto;
		padding: 0 4px 10px;
		box-shadow: none;
	}
}

/* The search field (header, folded row, menu panel). */
.site-search .woocommerce-product-search,
.bmp-panel-search .woocommerce-product-search,
.bmp-mini__search .woocommerce-product-search {
	position: relative;
	display: flex;
	align-items: center;
}
.site-header .site-search input.search-field,
.bmp-mini__search input.search-field,
.bmp-panel-search input.search-field {
	width: 100%;
	height: 48px;
	min-height: 48px;
	padding: 0 56px 0 14px;
	border: 2px solid var(--ink);
	border-radius: 12px;
	background: #ffffff;
	color: var(--ink);
	font-size: 16px;
}
.site-header .site-search input.search-field::placeholder,
.bmp-mini__search input.search-field::placeholder,
.bmp-panel-search input.search-field::placeholder {
	color: var(--muted);
	opacity: 1;
}
.site-header .site-search button[type="submit"],
.bmp-mini__search button[type="submit"],
.bmp-panel-search button[type="submit"] {
	position: absolute;
	top: 6px;
	right: 6px;
	width: 36px;
	height: 36px;
	min-height: 0;
	padding: 0;
	border-radius: 9px;
	clip: auto;
	clip-path: none;
	background: var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M16 16l4.5 4.5'/%3E%3C/svg%3E") center / 20px no-repeat;
	color: transparent;
	font-size: 0;
	overflow: hidden;
}
.bmp-panel-search .woocommerce-product-search button[type="submit"],
.bmp-mini__search .woocommerce-product-search button[type="submit"] {
	text-indent: -9999px;
}
.site-search .widget_product_search form::before,
.site-header .site-search .woocommerce-product-search::before,
.bmp-mini__search .woocommerce-product-search::before,
.bmp-panel-search .woocommerce-product-search::before {
	display: none;
}

/* ===== Folded header row on phones (shown while scrolling down; transforms only) ===== */
.bmp-mini {
	display: none;
}
@media (max-width: 992px) {
	.bmp-mini {
		position: fixed;
		top: 0;
		right: 0;
		left: 0;
		z-index: 10;
		display: flex;
		align-items: center;
		gap: 4px;
		height: 64px;
		padding: 0 6px;
		background: #ffffff;
		box-shadow: var(--shadow-2);
		transform: translateY(-110%);
		transition: transform 0.2s var(--ease);
		visibility: hidden;
	}
	.bmp-folded .bmp-mini {
		transform: none;
		visibility: visible;
	}
	body.sticky-m.bmp-folded:not(.mobile-toggled) .site-header {
		transform: translateY(-100%);
	}
	.admin-bar .bmp-mini {
		top: 46px;
	}
	.bmp-mini__menu {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 44px;
		height: 44px;
		padding: 0;
		border-radius: 22px;
		background: transparent;
		color: var(--ink);
	}
	.bmp-mini__search {
		flex: 1 1 auto;
		min-width: 0;
	}
	.bmp-mini__search input.search-field {
		height: 44px;
		min-height: 44px;
	}
	.bmp-mini__search button[type="submit"] {
		top: 4px;
	}
	.bmp-mini__cart .shoptimizer-cart a.cart-contents {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		color: var(--ink);
	}
	.bmp-mini__cart .amount {
		display: none;
	}
}

/* Cart count bubble: orange with navy text. */
.shoptimizer-cart .mini-count,
.shoptimizer-cart .count {
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border: 0;
	border-radius: 9px;
	background: var(--cta);
	box-shadow: 0 0 0 2px #ffffff;
	color: var(--ink);
	font-size: 11px;
	font-weight: 800;
	line-height: 18px;
}

/* ===== Menu panel on phones (Shoptimizer's mobile menu, full screen from the left) ===== */
@media (max-width: 992px) {
	.col-full-nav {
		left: 0;
		width: 100%;
		max-width: 480px;
		padding: 0;
		transform: translateX(-100%);
		transition: transform 0.24s var(--ease), visibility 0s linear 0.24s;
		visibility: hidden;
		box-shadow: 12px 0 40px rgba(20, 33, 61, 0.2);
	}
	.mobile-toggled .col-full-nav {
		left: 0;
		transform: none;
		visibility: visible;
		transition: transform 0.24s var(--ease), visibility 0s;
	}
	.mobile-overlay {
		background: rgba(20, 33, 61, 0.45);
	}
	.col-full-nav .shoptimizer-primary-navigation.col-full {
		display: flex;
		flex-direction: column;
		min-height: 100%;
		padding: 0;
	}
	/* The panel's top row (logo and Shoptimizer's close button) stays while the panel scrolls. */
	.bmp-panel-head {
		position: sticky;
		top: 0;
		z-index: 4;
		display: flex;
		align-items: center;
		gap: 12px;
		min-height: 64px;
		padding: 0 12px 0 16px;
		border-bottom: 1px solid var(--line);
		background: #ffffff;
	}
	/* Shown at once with the panel (no fade), so Shoptimizer can move the focus to it. */
	.bmp-panel-head .mobile-menu.close-drawer.bmp-close,
	.mobile-toggled .bmp-panel-head .mobile-menu.close-drawer.bmp-close {
		position: static;
		display: flex;
		align-items: center;
		gap: 6px;
		width: auto;
		height: 44px;
		margin-left: auto;
		padding: 0 14px 0 12px;
		border-radius: 22px;
		background: var(--soft);
		color: var(--ink);
		font-size: 14px;
		font-weight: 700;
		opacity: 1;
		visibility: inherit;
		transition: none;
	}
	.mobile-menu.close-drawer.bmp-close .bmp-icon {
		width: 18px;
		height: 18px;
	}
	.bmp-panel-search {
		padding: 16px 16px 0;
	}
	.bmp-panel-search input.search-field {
		border: 0;
		background: var(--soft);
	}
	.bmp-panel-bike {
		padding: 16px 16px 0;
	}
	.col-full-nav .main-navigation {
		padding: 8px 16px 0;
	}
	.bmp-panel-label {
		margin: 20px 16px 0;
		color: var(--muted);
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}
	.col-full-nav .shoptimizer-mobile-menu > ul > li {
		border-bottom: 1px solid var(--line);
	}
	.col-full-nav .shoptimizer-mobile-menu > ul > li.dropdown-open {
		margin-bottom: 0;
	}
	.bmp-row {
		display: flex !important;
		align-items: center;
		gap: 14px;
		min-height: 70px;
		padding: 8px 48px 8px 0 !important;
		color: var(--ink);
		text-decoration: none;
	}
	li:not(.menu-item-has-children) > .bmp-row {
		padding-right: 0 !important;
	}
	/* A row's arrow sits where a parent row's toggle draws its arrow (48 px button). */
	.bmp-row > .bmp-icon {
		width: 18px;
		height: 18px;
		margin: 0 15px 0 auto;
		color: var(--muted);
	}
	.bmp-row__pic {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 72px;
		height: 52px;
		border-radius: 12px;
		background: var(--soft);
		overflow: hidden;
	}
	.bmp-row__img {
		width: 100%;
		height: 100%;
		object-fit: contain;
		mix-blend-mode: multiply;
	}
	.bmp-row__letter {
		color: var(--brand);
		font-size: 20px;
		font-weight: 800;
	}
	.bmp-row__main {
		display: flex;
		flex-direction: column;
		flex: 1 1 auto;
		min-width: 0;
	}
	.bmp-row__title {
		font-size: 16px;
		font-weight: 700;
		line-height: 1.25;
	}
	.bmp-row__sub {
		overflow: hidden;
		color: var(--muted);
		font-size: 13px;
		line-height: 1.35;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.sale > .bmp-row,
	.bmp-sale > .bmp-row {
		color: var(--sale);
	}
	/* Submenu toggles as buttons; the second level slides in over the panel. */
	.main-navigation ul.menu li.menu-item-has-children > button.caret {
		position: absolute;
		top: 0;
		right: 0;
		z-index: 3;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 100%;
		min-height: 48px;
		padding: 0;
		border-radius: 0;
		background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6578' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / 18px no-repeat;
		cursor: pointer;
	}
	.main-navigation ul.menu > li.menu-item-has-children.dropdown-open > button.caret {
		transform: none;
	}
	.col-full-nav .main-navigation ul.menu li.menu-item-has-children > .sub-menu-wrapper {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 5;
		width: 100%;
		max-width: 480px;
		margin: 0;
		padding: 0;
		background: #ffffff;
		opacity: 1;
		overflow-y: auto;
		transform: translateX(100%);
		transition: transform 0.22s var(--ease), visibility 0s linear 0.22s;
		visibility: hidden;
	}
	.col-full-nav .main-navigation ul.menu li.menu-item-has-children.dropdown-open > .sub-menu-wrapper {
		position: fixed;
		left: 0;
		border: 0;
		transform: none;
		visibility: visible;
		transition: transform 0.22s var(--ease), visibility 0s;
	}
	.col-full-nav .sub-menu-wrapper .container {
		padding: 0 16px 24px;
	}
	.col-full-nav .main-navigation ul.menu .sub-menu-wrapper ul.sub-menu {
		width: auto;
		margin: 0;
		padding: 0;
	}
	.bmp-sub-head {
		position: sticky;
		top: 0;
		z-index: 1;
		display: grid;
		grid-template-columns: 96px minmax(0, 1fr) 96px;
		align-items: center;
		min-height: 64px;
		margin: 0 -16px 8px;
		padding: 0 8px 0 4px;
		border-bottom: 1px solid var(--line);
		background: #ffffff;
	}
	.bmp-sub-head h2 {
		margin: 0;
		overflow: hidden;
		font-size: 17px;
		text-align: center;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	.bmp-sub-back {
		display: flex;
		align-items: center;
		gap: 2px;
		height: 44px;
		padding: 0 10px 0 4px;
		border-radius: 10px;
		background: transparent;
		color: var(--link);
		font-size: 15px;
		font-weight: 700;
	}
	.bmp-sub-back .bmp-icon {
		width: 20px;
		height: 20px;
	}
	.bmp-sub-close {
		display: flex;
		align-items: center;
		justify-content: center;
		justify-self: end;
		width: 44px;
		height: 44px;
		min-height: 0;
		padding: 0;
		border-radius: 22px;
		background: var(--soft);
		color: var(--ink);
	}
	.bmp-sub-close .bmp-icon {
		width: 18px;
		height: 18px;
	}
	.bmp-sub-all {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 56px;
		margin: 8px 0;
		padding: 0 16px;
		border-radius: var(--r-box);
		background: var(--sel);
		color: var(--sel-ink) !important;
		font-weight: 800;
		text-decoration: none;
	}
	.col-full-nav .main-navigation ul.menu .sub-menu-wrapper ul.sub-menu > li > a {
		display: flex;
		align-items: center;
		width: auto;
		min-height: 56px;
		padding: 0 2px;
		border-bottom: 1px solid var(--line);
		color: var(--ink);
		font-size: 16px;
		font-weight: 600;
	}
	/* Service links (Shoptimizer's "Mobile Extra" widgets) and sign in. */
	.col-full-nav .mobile-extra {
		margin-top: 8px;
		padding: 14px 16px;
		background: var(--soft);
	}
	.col-full-nav .mobile-extra .widget-title,
	.col-full-nav .mobile-extra h2 {
		margin: 0 0 4px;
		padding: 0;
		color: var(--muted);
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.08em;
		opacity: 1;
		text-transform: uppercase;
	}
	.col-full-nav .mobile-extra ul li {
		margin: 0;
		border-bottom: 1px solid var(--line);
	}
	.col-full-nav .mobile-extra ul li:last-child {
		border-bottom: 0;
	}
	.col-full-nav .mobile-extra a {
		display: flex;
		align-items: center;
		min-height: 52px;
		color: var(--ink);
		font-size: 16px;
		font-weight: 600;
		text-decoration: none;
	}
	.bmp-panel-account {
		display: flex;
		flex-direction: column;
		gap: 6px;
		padding: 16px 16px 24px;
	}
	.bmp-panel-account .bmp-btn .bmp-icon {
		width: 20px;
		height: 20px;
	}
}
@media (min-width: 993px) {
	.bmp-panel-head,
	.bmp-panel-search,
	.bmp-panel-bike,
	.bmp-panel-label,
	.bmp-panel-account,
	.bmp-sub-head,
	.bmp-sub-all,
	.main-navigation ul.menu button.caret {
		display: none !important;
	}
}

/* ===== The strip below the header (Shoptimizer's "Below Header" widgets): delivery promises ===== */
.header-widget-region {
	background: var(--soft);
	color: var(--ink);
	font-size: 14px;
	font-weight: 600;
}
.header-widget-region .col-full {
	padding-top: 8px;
	padding-bottom: 8px;
}
.header-widget-region .widget {
	margin: 0;
	padding: 0;
}
.header-widget-region ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.header-widget-region li {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0;
}
.header-widget-region li::before {
	content: "";
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23127a3e' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 16px no-repeat;
}
@media (max-width: 699px) {
	.header-widget-region li:not(:first-child) {
		display: none;
	}
}

/* ===== Header: desktop (Shoptimizer's header layout 5: logo, search, service links, cart) ===== */
@media (min-width: 993px) {
	/* The top bar: promises left and centre, service links right (its colours and line are
	   Shoptimizer's top bar settings). */
	.top-bar {
		border: 0;
		background: transparent;
		color: var(--ink-2);
		font-size: 13px;
	}
	.top-bar .col-full {
		min-height: 36px;
	}
	.top-bar-left,
	.top-bar-center,
	.top-bar-right,
	.top-bar .widget_nav_menu > div {
		display: flex;
		align-items: center;
	}
	.top-bar .widget_nav_menu ul {
		margin: 0;
	}
	.top-bar .textwidget p {
		margin: 0;
	}
	.top-bar a {
		color: var(--ink-2);
		text-decoration: none;
	}
	.top-bar a:hover {
		color: var(--link);
		opacity: 1;
		text-decoration: underline;
	}
	.top-bar .widget_nav_menu ul li + li::before {
		content: "·";
		margin-right: 7px;
		color: var(--muted);
	}
	/* The header row. */
	.site-header {
		border-bottom: 1px solid var(--line);
	}
	.site-header .main-header.col-full {
		flex-wrap: nowrap;
		gap: 16px;
	}
	.site-header .site-title {
		font-size: inherit;
	}
	.header-5 .site-header .site-search,
	.site-header .site-search {
		flex: 1 1 auto;
		width: auto;
		max-width: 640px;
		margin: 0 16px 0 24px;
	}
	.header-5 .site-header input[type="search"],
	.site-header .site-search input.search-field {
		height: 48px;
		padding-top: 0;
		padding-bottom: 0;
	}
	/* Service links (the "Secondary Menu" location), with an icon for the classes bmp-help,
	   bmp-account and bmp-orders. */
	.secondary-navigation {
		margin-left: auto;
		padding-left: 0;
	}
	.secondary-navigation .menu {
		display: flex;
		align-items: center;
		gap: 2px;
		margin: 0;
	}
	.secondary-navigation .menu-item,
	.secondary-navigation .menu-item:first-child {
		padding: 0;
		border: 0;
	}
	.secondary-navigation .menu li:not(.ri) a,
	.secondary-navigation ul li a {
		display: flex;
		align-items: center;
		gap: 8px;
		min-height: 44px;
		padding: 0 10px;
		border-radius: var(--r-sm);
		color: var(--ink);
		font-size: 15px;
		font-weight: 700;
		white-space: nowrap;
	}
	.secondary-navigation ul li a:hover {
		background: var(--soft);
		color: var(--ink);
	}
	.secondary-navigation .bmp-help > a::before,
	.secondary-navigation .bmp-account > a::before,
	.secondary-navigation .bmp-orders > a::before {
		content: "";
		flex: 0 0 auto;
		width: 20px;
		height: 20px;
		background: currentColor;
		-webkit-mask: var(--bmp-icon) center / 20px no-repeat;
		mask: var(--bmp-icon) center / 20px no-repeat;
	}
	.secondary-navigation .bmp-help > a {
		--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 18.5V7.5A2.5 2.5 0 0 1 7.5 5h9A2.5 2.5 0 0 1 19 7.5v7a2.5 2.5 0 0 1-2.5 2.5H9l-4 3.5z'/%3E%3C/svg%3E");
	}
	.secondary-navigation .bmp-account > a {
		--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8.5' r='3.8'/%3E%3Cpath d='M4.5 20c1.2-3.6 4-5.4 7.5-5.4s6.3 1.8 7.5 5.4'/%3E%3C/svg%3E");
	}
	.secondary-navigation .bmp-orders > a {
		--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 7.5L12 3l8.5 4.5v9L12 21l-8.5-4.5z'/%3E%3Cpath d='M3.5 7.5L12 12l8.5-4.5M12 12v9'/%3E%3C/svg%3E");
	}
	/* The cart: a soft pill with the icon, the count and the amount. */
	.header-5 .site-header .site-header-cart,
	.site-header .site-header-cart {
		height: auto;
		margin-left: 8px;
		line-height: 1;
	}
	.header-5 .shoptimizer-cart a.cart-contents,
	.site-header .shoptimizer-cart a.cart-contents {
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
		gap: 12px;
		height: 48px;
		padding: 0 16px 0 14px;
		border: 0;
		border-radius: var(--r-btn);
		background: var(--soft);
		color: var(--ink);
		line-height: 1;
	}
	.header-5 .shoptimizer-cart a.cart-contents:hover {
		background: var(--sel);
	}
	.header-5 .shoptimizer-cart .cart-contents .amount {
		display: inline-block;
		color: var(--ink);
		font-size: 16px;
		font-weight: 800;
	}
	.site-header .shoptimizer-cart-icon {
		position: relative;
		display: flex;
	}
	.header-5 .shoptimizer-cart a.cart-contents .shoptimizer-cart-icon .mini-count,
	.site-header .shoptimizer-cart .mini-count {
		position: absolute;
		top: -9px;
		right: -10px;
		margin: 0;
		background: var(--cta);
		color: var(--ink);
	}
	/* The menu row: "Alle categorieën" as a navy button, then the main categories. */
	.col-full-nav {
		border-bottom: 1px solid var(--line);
		background: #ffffff;
	}
	.menu-primary-menu-container > ul > li > a,
	.menu-primary-menu-container > ul > li.nolink > span {
		color: var(--ink);
		font-size: 15px;
		font-weight: 700;
	}
	.menu-primary-menu-container > ul > li > a span::before {
		border-bottom-width: 2px;
	}
	.menu-primary-menu-container > ul.menu:hover > li > a {
		opacity: 1;
	}
	.menu-primary-menu-container > ul > li.bmp-menu-all {
		margin-right: 10px;
	}
	.menu-primary-menu-container > ul > li.bmp-menu-all > a {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		min-height: 40px;
		padding: 0 14px;
		border-radius: var(--r-sm);
		background: var(--ink);
		color: #ffffff;
		line-height: 40px;
		vertical-align: middle;
	}
	.menu-primary-menu-container > ul > li.bmp-menu-all > a::before {
		content: "";
		width: 18px;
		height: 18px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16'/%3E%3C/svg%3E") center / 18px no-repeat;
	}
	.main-navigation ul.menu > li.bmp-menu-all.menu-item-has-children > a::after {
		background-color: #ffffff;
	}
	.menu-primary-menu-container > ul > li.bmp-menu-all > a span::before {
		display: none;
	}
	.menu-primary-menu-container > ul > li.bmp-menu-all > a:hover,
	.menu-primary-menu-container > ul > li.bmp-menu-all:focus-within > a {
		background: var(--link);
		color: #ffffff;
	}
	/* The full-width ("mega") menu. */
	.main-navigation ul.menu li.full-width > .sub-menu-wrapper {
		border-top: 1px solid var(--line);
		box-shadow: 0 16px 32px rgba(20, 33, 61, 0.12);
	}
	.main-navigation ul li.full-width > .sub-menu-wrapper > .container > ul.sub-menu {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 4px 24px;
		justify-content: start;
		padding: 24px 0 28px;
	}
	.main-navigation ul li.full-width > .sub-menu-wrapper > .container > ul.sub-menu > li,
	.main-navigation ul li.full-width > .sub-menu-wrapper > .container > ul.sub-menu > li:last-child {
		width: auto;
		padding: 0;
		border: 0;
	}
	.main-navigation ul.menu li.full-width > .sub-menu-wrapper li > a {
		display: flex;
		align-items: center;
		min-height: 44px;
		padding: 0 12px;
		border-radius: var(--r-sm);
		color: var(--ink);
		font-size: 15px;
		font-weight: 700;
	}
	.main-navigation ul.menu li.full-width > .sub-menu-wrapper li > a:hover {
		background: var(--soft);
		color: var(--link);
	}
	.main-navigation ul.menu > li:not(.full-width) ul.sub-menu {
		border-radius: 0 0 var(--r-box) var(--r-box);
		box-shadow: var(--shadow-2);
	}
}

/* ===== Home sections (the theme's block patterns, category "Bikemarkt") ===== */
.bmp-eyebrow {
	margin: 0 0 8px;
	color: var(--muted);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.bmp-lead {
	margin: 12px 0 20px;
	color: var(--ink-2);
	font-size: 18px;
	line-height: 1.5;
}
.bmp-section {
	margin: 0;
	padding: 28px 0;
}
.bmp-section--soft {
	margin: 12px 0;
	padding: 28px 20px;
	border-radius: var(--r-box);
	background: var(--soft);
}
.bmp-section__title {
	margin: 0 0 16px;
}
.bmp-section__head {
	align-items: baseline;
	gap: 16px;
}
.bmp-section__head .bmp-section__title {
	margin-bottom: 16px;
}
.bmp-section__more {
	margin: 0;
	font-weight: 700;
	white-space: nowrap;
}
.bmp-section__more a,
#page .bmp-section__more a {
	text-decoration: none;
}
/* Headline and bike finder. */
.bmp-hero {
	padding: 16px 0 12px;
}
.bmp-hero .wp-block-columns {
	gap: 32px;
	margin: 0;
}
.bmp-hero__title {
	margin: 0;
	font-size: clamp(2rem, 1.35rem + 2.6vw, 3.5rem);
	letter-spacing: -0.025em;
	line-height: 1.08;
}
.bmp-button-lg .wp-block-button__link {
	min-height: 56px;
	padding: 0 28px;
	font-size: 18px;
}
.bmp-hero__actions {
	margin: 0 0 24px;
}
.bmp-finder__question {
	margin: 0 0 10px;
	color: var(--ink);
	font-size: 15px;
	font-weight: 800;
}
.wp-block-buttons.bmp-finder {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}
.bmp-finder .wp-block-button {
	width: 100%;
	margin: 0;
}
.bmp-finder .wp-block-button__link {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 60px;
	padding: 8px 30px 8px 44px;
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-btn);
	background: #ffffff;
	color: var(--ink);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	text-align: left;
}
.bmp-finder .wp-block-button__link:hover {
	border-color: var(--ink);
	background: #ffffff;
	color: var(--ink);
}
.bmp-finder .wp-block-button__link::before,
.bmp-finder .wp-block-button__link::after {
	content: "";
	position: absolute;
	top: 50%;
	background: currentColor;
	transform: translateY(-50%);
}
.bmp-finder .wp-block-button__link::before {
	left: 14px;
	width: 20px;
	height: 20px;
	color: var(--link);
	-webkit-mask: var(--bmp-icon, none) center / 20px no-repeat;
	mask: var(--bmp-icon, none) center / 20px no-repeat;
}
.bmp-finder .wp-block-button__link::after {
	right: 10px;
	width: 16px;
	height: 16px;
	color: var(--muted);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / 16px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.bmp-finder__option--step .wp-block-button__link {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='16' r='3.5'/%3E%3Ccircle cx='18' cy='16' r='3.5'/%3E%3Cpath d='M6 16l4-7h5l3 7M10 9l-1.5-3H6M13 6h3'/%3E%3C/svg%3E");
}
.bmp-finder__option--hills .wp-block-button__link {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 19l6-9 4 6 3-4 5 7z'/%3E%3C/svg%3E");
}
.bmp-finder__option--budget .wp-block-button__link {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 6.5A6.5 6.5 0 1 0 17 17.5M4 10h9M4 14h9'/%3E%3C/svg%3E");
}
.bmp-finder__option--fast .wp-block-button__link {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7h11v9H2zM13 10h4l3 3v3h-7'/%3E%3Ccircle cx='6' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E");
}
/* The picture beside the headline: on wide screens only (none on phones, so the headline is the
   first thing drawn), the theme's drawing while the column is empty. */
.bmp-hero__pic {
	display: none;
}
@media (min-width: 782px) {
	.bmp-hero__pic {
		display: block;
		align-self: stretch;
		min-height: 320px;
	}
	.bmp-hero__pic:empty {
		background: url("../images/bike-ebike.svg") center / contain no-repeat;
	}
	.bmp-hero {
		padding: 40px 0 24px;
	}
}
/* Category tiles: the label's link covers the tile. */
.wp-block-group.bmp-tiles {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}
@media (min-width: 993px) {
	.wp-block-group.bmp-tiles {
		grid-template-columns: repeat(6, minmax(0, 1fr));
		gap: 14px;
	}
}
.bmp-tile {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 10px 8px 12px;
	border-radius: var(--r-box);
	background: var(--soft);
	text-align: center;
	transition: background-color 0.15s;
}
.bmp-tile:hover {
	background: var(--sel);
}
.bmp-tile__pic {
	margin: 0;
}
.bmp-tile__pic img {
	width: 100%;
	height: auto;
	aspect-ratio: 8 / 5;
	object-fit: contain;
}
.bmp-tile__label {
	margin: 0;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.25;
}
/* #page: Shoptimizer underlines every link in a paragraph of page content with a long selector. */
.bmp-tile__label a,
#page .bmp-tile__label a {
	color: var(--ink);
	text-decoration: none;
}
.bmp-tile__label a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: var(--r-box);
}
/* The comparison table. */
.bmp-table {
	margin: 0;
	overflow-x: auto;
	border: 1px solid var(--line);
	border-radius: var(--r-box);
}
.bmp-table table {
	margin: 0;
	border-collapse: collapse;
	font-size: 15px;
}
.bmp-table th,
.bmp-table td {
	padding: 12px 10px;
	overflow-wrap: anywhere;
	border: 0;
	border-bottom: 1px solid var(--line);
	text-align: left;
	vertical-align: top;
}
.bmp-table thead th,
.entry-content .bmp-table thead th {
	border-bottom: 1px solid var(--line);
	background: var(--soft);
	color: var(--ink);
	font-size: 13px;
	font-weight: 800;
}
.bmp-table thead {
	border-bottom: 0;
}
.bmp-table tbody tr:last-child td {
	border-bottom: 0;
}
.bmp-table td:last-child,
.bmp-table th:last-child {
	text-align: right;
}
@media (max-width: 699px) {
	.bmp-table table {
		font-size: 14px;
	}
}
/* How it works: numbered steps. */
.bmp-steps {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: bmp-step;
}
.bmp-steps li,
.entry-content .bmp-steps li {
	position: relative;
	min-height: 40px;
	margin: 0;
	padding: 0 0 0 54px;
	color: var(--ink-2);
	counter-increment: bmp-step;
}
.bmp-steps li strong {
	display: block;
	color: var(--ink);
	font-size: 17px;
}
.bmp-steps li::before {
	content: counter(bmp-step);
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 20px;
	background: var(--link);
	color: #ffffff;
	font-weight: 800;
}
@media (min-width: 782px) {
	.bmp-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
/* The navy banner. */
.bmp-promo {
	padding: 28px 22px;
	border-radius: var(--r-box);
	background: var(--ink) url("../images/bike-ebike-light.svg") right 24px bottom 16px / 300px auto no-repeat;
	color: #ffffff;
}
.bmp-promo .bmp-eyebrow {
	color: var(--foot-muted);
}
.bmp-promo__title {
	margin: 0 0 8px;
	color: #ffffff;
}
.bmp-promo p {
	max-width: 32em;
	color: #ffffff;
}
.bmp-button-light .wp-block-button__link {
	background: #ffffff;
	color: var(--ink);
}
.bmp-button-light .wp-block-button__link:hover {
	background: var(--sel);
	color: var(--ink);
}
@media (max-width: 781px) {
	.bmp-promo {
		padding-bottom: 140px;
		background-position: right 16px bottom 12px;
		background-size: 200px auto;
	}
}
/* Brand buttons as chips. */
.wp-block-buttons.bmp-chips {
	gap: 8px;
}
.bmp-chip-button .wp-block-button__link {
	min-height: 44px;
	padding: 0 18px;
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-pill);
	background: #ffffff;
	color: var(--ink);
	font-size: 15px;
	font-weight: 700;
}
.bmp-chip-button .wp-block-button__link:hover {
	border-color: var(--ink);
	background: #ffffff;
	color: var(--ink);
}
.bmp-text {
	color: var(--ink-2);
}
/* Utility classes for the editor ("Additional CSS class"). */
@media (max-width: 781px) {
	.bmp-hide-phone {
		display: none !important;
	}
}
@media (min-width: 782px) {
	.bmp-hide-desktop {
		display: none !important;
	}
}

/* ===== Shop, category, brand and search pages ===== */
/* The page head: breadcrumbs, title, the category's text (links with the class "bmp-chip" in it
   become chips, for example to filtered pages). */
.woocommerce-breadcrumb {
	color: var(--muted);
	font-size: 13px;
}
.woocommerce-breadcrumb a {
	color: var(--ink-2);
}
header.woocommerce-products-header,
header.woocommerce-products-header .term-description {
	padding: 0;
}
.term-description,
.archive-header .term-description p {
	color: var(--ink-2);
	font-size: 16px;
}
.term-description p:last-child {
	margin-bottom: 0;
}
.bmp-chip,
.term-description a.bmp-chip {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	margin: 4px 6px 4px 0;
	padding: 0 14px;
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-pill);
	background: #ffffff;
	color: var(--ink);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}
.bmp-chip:hover,
.term-description a.bmp-chip:hover {
	border-color: var(--ink);
	color: var(--ink);
}
/* Sorting and the number of results. */
.woocommerce-ordering select,
.shoptimizer-sorting select.orderby {
	min-height: 44px;
	padding: 0 36px 0 12px;
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-sm);
	color: var(--ink);
	font-size: 15px;
	font-weight: 600;
}
.woocommerce-result-count {
	color: var(--muted);
	font-size: 14px;
}
/* Page numbers as buttons of 44 px; on phones only below the products (above them they push the first
   products down). */
body .woocommerce-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 0;
	border: 0;
}
body .woocommerce-pagination ul.page-numbers li {
	margin: 0;
	border: 0;
}
body .woocommerce-pagination ul.page-numbers li .page-numbers {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: auto;
	min-width: 44px;
	height: 44px;
	padding: 0 10px;
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-sm);
	box-shadow: none;
	color: var(--ink);
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
}
body .woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
	border-color: var(--ink);
}
body .woocommerce-pagination ul.page-numbers li .page-numbers.current,
body .woocommerce-pagination ul.page-numbers li .page-numbers.current:hover {
	border-color: var(--ink);
	background: var(--ink);
	color: #ffffff;
}
@media (max-width: 992px) {
	.shoptimizer-sorting:not(.sorting-end) .woocommerce-pagination {
		display: none;
	}
}
/* Product cards: the picture on a soft rounded tile, category, title, price, Marketplace Core's
   offer summary and the call to action; the title's link covers the whole card. */
ul.products li.product {
	position: relative;
	display: flex;
	flex-direction: column;
}
ul.products li.product .woocommerce-card__header {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
}
ul.products li.product .woocommerce-image__wrapper {
	overflow: hidden;
	border-radius: var(--r-box);
	background: var(--soft);
}
ul.products li.product .woocommerce-image__wrapper img {
	mix-blend-mode: multiply;
}
ul.products li.product .product__categories {
	margin: 12px 0 2px;
	line-height: 1.3;
}
ul.products li.product .product__categories a {
	position: relative;
	z-index: 2;
	color: var(--muted);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .woocommerce-loop-product__title a {
	position: static;
}
ul.products li.product .woocommerce-loop-product__title a {
	display: block;
	padding: 2px 0;
	color: var(--ink);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
}
ul.products li.product .woocommerce-loop-product__title a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
ul.products li.product .star-rating {
	position: relative;
	z-index: 2;
}
ul.products li.product .price {
	display: block;
	margin: 6px 0 2px;
	color: var(--ink);
	font-size: 20px;
	font-weight: 800;
	line-height: 1.2;
}
ul.products li.product .price del {
	color: var(--muted);
	font-size: 14px;
	font-weight: 600;
}
.bmp-loop-offers {
	margin-bottom: 12px;
}
.bmp-loop-offers p {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
}
.bmp-loop-offers__was {
	color: var(--muted);
}
.bmp-loop-offers__count {
	color: var(--link);
	font-weight: 700;
}
.bmp-loop-offers__lead {
	color: var(--ok);
	font-weight: 600;
}
.bmp-card-cta {
	display: none;
}
.bmp-loop-offers ~ .bmp-card-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin-top: auto;
	border: 2px solid var(--ink);
	border-radius: var(--r-btn);
	color: var(--ink);
	font-size: 15px;
	font-weight: 800;
}
ul.products li.product:hover .bmp-card-cta {
	background: var(--soft);
}
ul.products li.product:hover .woocommerce-loop-product__title a {
	color: var(--link);
}
/* Marketplace Core's filter panel (ADR-0072): in the sidebar on desktops, in Shoptimizer's filter
   drawer on phones. */
.bmp-filters__title,
.bmp-filters__group legend {
	margin-left: 0;
	color: var(--ink);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: none;
}
.bmp-filters__group {
	padding-bottom: 12px;
	border-bottom: 1px solid var(--line);
}
.bmp-filters__options label {
	color: var(--ink-2);
	font-size: 15px;
}
.bmp-filters__count {
	color: var(--muted);
	font-size: 13px;
}
.bmp-filters__chip {
	background: var(--sel);
	color: var(--sel-ink);
	font-weight: 700;
}
.bmp-filters__options input[type="checkbox"],
.bmp-filters__options input[type="radio"] {
	accent-color: var(--link);
}
@media (min-width: 993px) {
	.secondary-wrapper .filters.close-drawer {
		display: none;
	}
}
@media (max-width: 992px) {
	/* Shoptimizer's filter drawer: full screen from the left (at most 480 px), the close button at
	   its top right, "Show results" always in reach at its bottom. */
	.woocommerce.archive #secondary,
	.wc-active.search-results #secondary,
	.page-template-template-woocommerce-archives #secondary {
		left: 0;
		width: 100% !important;
		max-width: 480px;
		padding: 16px 16px 0;
		box-shadow: 12px 0 40px rgba(20, 33, 61, 0.2);
		opacity: 1;
		transform: translateX(-100%);
		transition: transform 0.24s var(--ease), visibility 0s linear 0.24s;
	}
	.woocommerce.archive.filter-open #secondary,
	.wc-active.search-results.filter-open #secondary,
	.page-template-template-woocommerce-archives.filter-open #secondary {
		left: 0;
		transform: none;
		transition: transform 0.24s var(--ease), visibility 0s;
	}
	.filter-open .filters.close-drawer {
		top: 10px;
		left: calc(min(100vw, 480px) - 56px);
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		border-radius: 22px;
		background: var(--soft);
		color: var(--ink);
		transition: none;
	}
	.filters.close-drawer svg {
		width: 20px;
		height: 20px;
		stroke-width: 2;
	}
	#secondary .bmp-filters__submit {
		position: sticky;
		bottom: 0;
		z-index: 1;
		margin: 8px -16px 0;
		padding: 12px 16px 16px;
		border-top: 1px solid var(--line);
		background: #ffffff;
	}
	#secondary .bmp-filters__submit .button {
		width: 100%;
	}
	/* Shoptimizer's "Show filters" bar above the products on phones. */
	.mobile-filter.shoptimizer-mobile-toggle,
	button.mobile-filter {
		box-shadow: none;
		display: flex;
		align-items: center;
		gap: 10px;
		width: 100%;
		min-height: 48px;
		border-top: 1px solid var(--line);
		border-bottom: 1px solid var(--line);
		color: var(--ink);
		font-size: 14px;
		font-weight: 800;
		letter-spacing: 0.04em;
	}
}

/* ===== Product pages (ADR-0077): the buy card with Marketplace Core's offer box, the shops compared,
   tabs as accordions on phones, the sticky add-to-cart bar ===== */

/* The gallery (WooCommerce's): shown at once and laid out as its script lays it out (the first
   picture, one row of thumbnails below), so nothing moves when the script starts and the first
   picture is what loads first (ADR-0079). Without JavaScript every picture shows, one below the other. */
.woocommerce-js .woocommerce-product-gallery {
	opacity: 1 !important;
}
.woocommerce-js .woocommerce-product-gallery .woocommerce-product-gallery__image:nth-child(n+2):not([style]) {
	display: none; /* Until the script places the pictures side by side (it sets their style). */
}
.woocommerce-js .woocommerce-product-gallery:has(.woocommerce-product-gallery__image:nth-child(2)):not(:has(.flex-control-thumbs)) {
	padding-bottom: 53px; /* Room for the row of thumbnails the script adds: 8 px above it, 45 px high. */
}
.woocommerce-js .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__wrapper:has(> .woocommerce-product-gallery__image:not([style])) {
	width: 100% !important; /* The script widens the row a tenth of a second before it sizes the pictures. */
}
.single-product .product .woocommerce-product-gallery .flex-control-thumbs {
	display: flex;
	gap: 6px;
	margin: 8px 0 0;
	padding: 0;
	overflow-x: auto;
	scrollbar-width: none;
}
.single-product .product .woocommerce-product-gallery .flex-control-thumbs li {
	flex: 0 0 60px;
	height: 45px;
	margin: 0;
}
.single-product .product .woocommerce-product-gallery .flex-control-thumbs li:first-child {
	margin-left: auto;
}
.single-product .product .woocommerce-product-gallery .flex-control-thumbs li:last-child {
	margin-right: auto;
}
.single-product .product .woocommerce-product-gallery .flex-control-thumbs li img {
	width: 100%;
	height: 100%;
	border-radius: 8px;
	object-fit: cover;
}

.single-product .summary .bmp-brand {
	margin: 0 0 4px;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.4;
	text-transform: uppercase;
}
.single-product .summary .bmp-brand a {
	color: var(--muted);
	text-decoration: none;
}
.single-product .summary .bmp-brand a:hover {
	color: var(--link);
	text-decoration: underline;
}
.single-product .summary h1.product_title {
	margin: 0 0 8px;
	font-size: clamp(1.625rem, 1.35rem + 1.2vw, 2.25rem);
}
.single-product .summary .woocommerce-product-rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	margin: 0 0 12px;
	font-size: 14px;
}
.single-product .summary .star-rating {
	color: var(--star);
}
.single-product .summary .woocommerce-review-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--ink-2);
}

/* The buy card: the price and Marketplace Core's offer box (the shop shown first, its delivery, the
   comparison link, the seller's details and how the first offer is chosen). */
.bmp-buy {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 12px 0 16px;
	padding: 16px;
	border: 1px solid var(--line-2);
	border-radius: var(--r-box);
	background: #ffffff;
}
.bmp-buy > .clear {
	display: none;
}
.single-product .summary .bmp-buy > .price {
	float: none;
	margin: 0;
	color: var(--ink);
	font-size: clamp(1.625rem, 1.45rem + 0.8vw, 2rem);
	font-weight: 800;
	letter-spacing: -0.01em;
	line-height: 1.15;
}
.single-product .summary .bmp-buy > .price del {
	color: var(--muted);
	font-size: 0.6em;
	font-weight: 600;
}
.single-product .summary .bmp-buy > .price ins {
	text-decoration: none;
}
.bmp-buy .bmp-offer {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	color: var(--ink-2);
	font-size: 15px;
	line-height: 1.45;
}
.bmp-buy .bmp-offer p {
	margin: 0;
}
.bmp-offer__unit {
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.bmp-offer [hidden] {
	display: none !important;
}
.bmp-offer__seller strong {
	color: var(--ink);
}
.bmp-offer__facts,
.bmp-offer__was {
	color: var(--muted);
	font-size: 14px;
}
.bmp-offer__stock {
	color: var(--ok);
	font-weight: 700;
}
.bmp-offer__condition,
.bmp-offer__note {
	padding: 10px 12px;
	border-radius: var(--r-sm);
	background: var(--soft);
	color: var(--ink-2);
	font-size: 14px;
}
.bmp-offer__delivery,
.bmp-offer__lithium {
	position: relative;
	padding: 10px 12px 10px 42px;
	border-radius: var(--r-sm);
	font-size: 14px;
	font-weight: 700;
}
.bmp-offer__delivery {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 7h11v9H2zM13 10h4l3 3v3h-7'/%3E%3Ccircle cx='6' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E");
	background: var(--ok-bg);
	color: var(--ok);
}
.bmp-offer__lithium {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l9 16H3z'/%3E%3Cpath d='M12 10v4M12 17v.5'/%3E%3C/svg%3E");
	background: var(--warn-bg);
	color: var(--warn-ink);
	font-weight: 600;
}
.bmp-offer__delivery::before,
.bmp-offer__lithium::before,
.bmp-offer__more a::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 12px;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--bmp-icon) center / 20px no-repeat;
	mask: var(--bmp-icon) center / 20px no-repeat;
}
.bmp-offer__more a {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10v10h16V10M3.2 10L5 4h14l1.8 6zM9.5 20v-5.5h5V20'/%3E%3C/svg%3E");
	position: relative;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding-left: 30px;
	color: var(--link);
	font-size: 15px;
	font-weight: 700;
	text-underline-offset: 3px;
}
.bmp-offer__more a::before {
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
/* The disclosures: quiet rows, not Shoptimizer's capitals. */
.single-product .summary .bmp-offer details {
	border-top: 1px solid var(--line);
}
.single-product .summary .bmp-offer details > summary {
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 28px 0 0;
	border-top: 0;
	color: var(--ink);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0;
	text-decoration: none;
	text-transform: none;
}
.single-product .summary .bmp-offer details > summary::after {
	background: var(--ink-2);
}
.bmp-details__body {
	padding-bottom: 12px;
	color: var(--ink-2);
	font-size: 14px;
}
.single-product .summary .bmp-details__body ol {
	margin: 0 0 0 20px;
}
.single-product .summary .bmp-details__body li {
	margin-bottom: 6px;
}
.bmp-seller dl {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 4px 12px;
	margin: 0 0 8px;
}
.bmp-seller dt {
	color: var(--muted);
	font-weight: 600;
}
.bmp-seller dd {
	margin: 0;
	color: var(--ink);
}
.bmp-details__body p + p {
	margin-top: 8px;
}

/* Variants, quantity and the button (Shoptimizer's quantity: a field with arrows beside it). */
.single-product .summary form.cart:not(.variations_form)::before,
.single-product .summary form.cart:not(.variations_form)::after,
.single-product .summary .woocommerce-variation-add-to-cart::before,
.single-product .summary .woocommerce-variation-add-to-cart::after {
	display: none;
}
.single-product .summary form.cart .quantity {
	margin: 0 34px 0 0;
}
.single-product .summary form.cart .quantity .input-text {
	min-height: 52px;
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-btn) 0 0 var(--r-btn);
	color: var(--ink);
	font-size: 17px;
	font-weight: 700;
}
.single-product .summary form.cart .quantity-nav {
	border: 1.5px solid var(--line-2);
	border-left: 0;
	border-radius: 0 var(--r-btn) var(--r-btn) 0;
	box-shadow: none;
}
.single-product .summary table.variations {
	margin: 0 0 8px;
}
.single-product .summary table.variations th.label {
	padding: 0 0 6px;
	color: var(--ink);
	font-size: 15px;
	font-weight: 700;
}
.single-product .summary table.variations select {
	width: 100%;
}
.single-product .summary .reset_variations {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-size: 14px;
}
.single-product .summary .woocommerce-variation-price .price {
	color: var(--ink);
	font-size: 24px;
	font-weight: 800;
}
.single-product .summary form.cart:not(.variations_form),
.single-product .summary .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}
.single-product .summary form.cart .single_add_to_cart_button {
	flex: 1 1 200px;
	min-height: 52px;
	margin: 0;
	font-size: 17px;
}
.single-product .summary form.cart .single_add_to_cart_button.disabled {
	opacity: 0.45;
}

/* The trust list (pattern "Product page: trust list" in Shoptimizer's "Single Product Custom Area"). */
.product-widget .bmp-trust,
.bmp-trust {
	display: grid;
	gap: 8px;
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}
.product-widget .widget .bmp-trust li,
.bmp-trust li {
	position: relative;
	margin: 0;
	padding-left: 30px;
	color: var(--ink-2);
	font-size: 14px;
	list-style: none;
}
.product-widget .widget .bmp-trust li::before,
.bmp-trust li::before {
	content: "";
	position: absolute;
	top: 1px;
	left: 0;
	width: 20px;
	height: 20px;
	background: var(--ok);
	-webkit-mask: var(--bmp-icon, none) center / 20px no-repeat;
	mask: var(--bmp-icon, none) center / 20px no-repeat;
}
.bmp-trust__return {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 14L4 9l5-5'/%3E%3Cpath d='M4 9h10.5a5.5 5.5 0 0 1 0 11H11'/%3E%3C/svg%3E");
}
.bmp-trust__warranty {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l8 3v6c0 4.5-3.4 8.3-8 9-4.6-.7-8-4.5-8-9V6z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E");
}
.bmp-trust__help {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 18.5V7.5A2.5 2.5 0 0 1 7.5 5h9A2.5 2.5 0 0 1 19 7.5v7a2.5 2.5 0 0 1-2.5 2.5H9l-4 3.5z'/%3E%3C/svg%3E");
}

/* "Compare the shops": cards that scroll sideways on phones, three columns on desktops. */
/* The same column as Shoptimizer's product sections (1170px, its side padding). */
.single-product .bmp-compare {
	box-sizing: content-box;
	max-width: 1170px;
	margin: 24px auto 32px;
	padding: 0 1em;
	scroll-margin-top: 80px;
}
.single-product .bmp-compare__title {
	margin: 0 0 12px;
	font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem);
}
.single-product .bmp-compare__list {
	display: grid;
	grid-auto-columns: 78%;
	grid-auto-flow: column;
	gap: 10px;
	margin: 0;
	padding: 0 0 8px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
/* On phones the cards scroll from edge to edge, the first one in line with the page. */
@media (max-width: 767px) {
	.single-product .bmp-compare__list {
		margin: 0 -1em;
		padding: 0 1em 8px;
		scroll-padding: 0 1em;
	}
}
.single-product .bmp-compare__list::-webkit-scrollbar {
	display: none;
}
.single-product .bmp-card {
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 14px;
	border: 1px solid var(--line-2);
	border-radius: var(--r-box);
	box-shadow: none;
	color: var(--ink-2);
	font-size: 14px;
	scroll-snap-align: start;
}
.single-product .bmp-card--first {
	border: 2px solid var(--link);
	background: #f2f7fd;
}
.single-product .bmp-card__seller {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	color: var(--ink);
	font-size: 16px;
}
.single-product .bmp-card__badge {
	margin: 0;
	padding: 2px 8px;
	border-radius: 6px;
	background: var(--sel);
	color: var(--sel-ink);
	font-size: 12px;
	font-weight: 800;
}
.single-product .bmp-card__meta {
	color: var(--muted);
}
.single-product .bmp-card__price {
	margin-top: 4px;
	color: var(--ink);
	font-size: 24px;
	font-weight: 800;
	line-height: 1.1;
}
.single-product .bmp-card__delivery {
	color: var(--ok);
	font-weight: 700;
}
.single-product .bmp-card__form {
	margin-top: auto;
	padding-top: 8px;
}
/* Outline buttons: the page's own add-to-cart button stays the one call to action. */
.single-product .bmp-compare button.bmp-card__choose,
.single-product .bmp-compare button.bmp-card__choose:hover {
	width: 100%;
	min-height: 48px;
	border: 2px solid var(--ink);
	background: #ffffff;
	color: var(--ink);
	font-size: 15px;
}
.single-product .bmp-compare button.bmp-card__choose:hover {
	background: var(--soft);
}

/* WooCommerce's tabs: on phones an accordion per panel (theme.js adds the headings). */
.bmp-pacc {
	display: none;
}
.woocommerce-tabs.bmp-pacc-on {
	padding-top: 8px;
}
.woocommerce-tabs.bmp-pacc-on ul.tabs {
	display: none;
}
.woocommerce-tabs.bmp-pacc-on .bmp-pacc {
	display: block;
	margin: 0;
	border-top: 1px solid var(--line);
	font-size: inherit;
}
.woocommerce-tabs.bmp-pacc-on .bmp-pacc__toggle {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 56px;
	padding: 0 36px 0 0;
	border: 0;
	background: transparent;
	color: var(--ink);
	font-family: var(--font);
	font-size: 17px;
	font-weight: 800;
	letter-spacing: -0.01em;
	text-align: left;
	cursor: pointer;
}
.woocommerce-tabs.bmp-pacc-on .bmp-pacc__toggle span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	margin-left: 8px;
	padding: 0 6px;
	border-radius: var(--r-pill);
	background: var(--soft);
	color: var(--ink-2);
	font-size: 13px;
	font-weight: 700;
}
.woocommerce-tabs.bmp-pacc-on .bmp-pacc__toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 4px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: var(--ink-2);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 20px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / 20px no-repeat;
	transition: transform 0.2s var(--ease);
}
.woocommerce-tabs.bmp-pacc-on .bmp-pacc__toggle[aria-expanded="true"]::after {
	transform: scaleY(-1);
}
.woocommerce-tabs.bmp-pacc-on .wc-tab {
	display: none !important;
	margin: 0;
	padding: 0 0 20px;
}
.woocommerce-tabs.bmp-pacc-on .wc-tab.bmp-pacc-open {
	display: block !important;
}
.woocommerce-tabs.bmp-pacc-on .wc-tab:last-child {
	border-bottom: 1px solid var(--line);
}

/* Specifications and product safety. */
.woocommerce-Tabs-panel table.shop_attributes {
	border: 0;
	font-size: 15px;
}
.woocommerce-Tabs-panel table.shop_attributes th,
.woocommerce-Tabs-panel table.shop_attributes td {
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid var(--line);
	background: none;
	font-style: normal;
	text-align: left;
}
.woocommerce-Tabs-panel table.shop_attributes th {
	width: 42%;
	padding-right: 12px;
	color: var(--muted);
	font-weight: 600;
}
.woocommerce-Tabs-panel table.shop_attributes td p {
	margin: 0;
}
.bmp-safety__title {
	display: none;
}
.bmp-safety {
	color: var(--ink-2);
	font-size: 15px;
}
.bmp-safety h3 {
	margin: 16px 0 4px;
	font-size: 16px;
}
.bmp-safety h3:first-child {
	margin-top: 0;
}
.bmp-safety p {
	margin: 0 0 8px;
}
.bmp-safety__contact {
	user-select: text;
}
.bmp-safety__document a {
	font-weight: 700;
}

/* The sticky add-to-cart bar on phones (theme.js shows it while the page's own button is out of
   view; the room below the page is kept from the first paint, so nothing moves when it appears). */
.bmp-bar {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 90;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px var(--gutter) calc(10px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--line);
	background: #ffffff;
	box-shadow: 0 -8px 24px rgba(20, 33, 61, 0.1);
	transform: translateY(110%);
	transition: transform 0.2s var(--ease);
}
.bmp-bar.is-shown {
	transform: none;
}
html.bmp-bar-on {
	scroll-padding-bottom: 88px;
}
.bmp-bar__info {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-width: 0;
}
.bmp-bar__title {
	overflow: hidden;
	color: var(--ink-2);
	font-size: 13px;
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.bmp-bar__price {
	color: var(--ink);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.25;
}
.bmp-bar__price del {
	color: var(--muted);
	font-size: 13px;
	font-weight: 600;
}
.bmp-bar__price ins {
	text-decoration: none;
}
.bmp-bar .bmp-bar__add {
	flex: 0 0 auto;
	min-height: 48px;
	padding: 0 18px;
	white-space: nowrap;
}
@media (max-width: 992px) {
	body.bmp-has-bar {
		padding-bottom: 72px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.bmp-bar,
	.woocommerce-tabs.bmp-pacc-on .bmp-pacc__toggle::after {
		transition: none;
	}
}

@media (min-width: 768px) {
	.single-product .bmp-compare__list {
		grid-auto-flow: row;
		grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
		margin: 0;
		padding: 0;
		overflow: visible;
	}
}
@media (min-width: 993px) {
	.single-product .bmp-compare__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.single-product .bmp-compare {
		padding: 0 2.617924em;
		scroll-margin-top: 150px;
	}
	.bmp-bar {
		display: none;
	}
	.woocommerce-tabs ul.tabs li a {
		font-size: 16px;
		font-weight: 700;
	}
}

/* ===== Bikes and parts (Marketplace Core, ADR-0076): the fit check, "Suitable for", "Parts for
   this bike", the bike picker and "Mijn fiets" ===== */
.bmp-fit {
	margin: 0 0 16px;
	padding: 16px;
	border: 0;
	border-radius: var(--r-box);
	background: var(--soft);
}
.bmp-fit__title,
.bmp-picker__title {
	margin: 0;
	color: var(--ink);
	font-size: 18px;
	font-weight: 800;
	line-height: 1.3;
}
.bmp-fit__fields,
.bmp-picker__fields {
	display: grid;
	gap: 10px 12px;
	margin: 12px 0 0;
}
.bmp-fit__fields {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.bmp-fit__field:nth-child(3) {
	grid-column: 1 / -1;
}
.bmp-fit__fields[hidden],
.bmp-picker__fields[hidden],
.bmp-fit__field[hidden],
.bmp-picker__field[hidden],
.bmp-fit__save[hidden],
.bmp-picker .bmp-picker__go[hidden] {
	display: none;
}
.bmp-fit__field label,
.bmp-picker__field label {
	display: block;
	margin: 0 0 4px;
	color: var(--ink-2);
	font-size: 14px;
	font-weight: 700;
}
.bmp-fit__field select,
.bmp-picker__field select {
	width: 100%;
	min-height: var(--tap);
	margin: 0;
}
.bmp-fit__field select:disabled,
.bmp-picker__field select:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}
.bmp-fit__result {
	position: relative;
	margin: 12px 0 0;
	color: var(--ink-2);
	font-size: 15px;
	line-height: 1.45;
}
.bmp-fit__result a {
	font-weight: 700;
}
.bmp-fit__result.is-fits,
.bmp-fit__result.is-no,
.bmp-fit__result.is-some,
.bmp-fit__result.is-error {
	padding: 10px 12px 10px 42px;
	border-radius: var(--r-sm);
	font-weight: 700;
}
.bmp-fit__result.is-fits {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E");
	background: var(--ok-bg);
	color: var(--ok);
}
.bmp-fit__result.is-no,
.bmp-fit__result.is-error {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.5 8.5l7 7M15.5 8.5l-7 7'/%3E%3C/svg%3E");
	background: var(--warn-bg);
	color: var(--warn-ink);
}
.bmp-fit__result.is-some {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 11v6M12 7.5v.5'/%3E%3C/svg%3E");
	background: var(--sel);
	color: var(--sel-ink);
}
.bmp-fit__result.is-fits::before,
.bmp-fit__result.is-no::before,
.bmp-fit__result.is-some::before,
.bmp-fit__result.is-error::before {
	content: "";
	position: absolute;
	top: 11px;
	left: 12px;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--bmp-icon) center / 20px no-repeat;
	mask: var(--bmp-icon) center / 20px no-repeat;
}
.bmp-fit__result.is-wait {
	color: var(--muted);
}
.bmp-fit__save,
.bmp-picker__all {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	margin: 4px 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--link);
	font-size: 15px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.bmp-fit__save:hover,
.bmp-picker__all:hover {
	background: none;
	color: var(--sel-ink);
}

/* "Suitable for" and "Parts for this bike": sections below the product, in the column of the
   shops compared. */
.single-product .bmp-fits,
.single-product .bmp-bikeparts {
	box-sizing: content-box;
	max-width: 1170px;
	margin: 24px auto 32px;
	padding: 0 1em;
	scroll-margin-top: 80px;
}
.bmp-fits__title {
	margin: 0 0 4px;
	font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem);
}
.bmp-fits__count,
.bmp-fits__more,
.bmp-fits__systems,
.bmp-fits__except {
	margin: 0 0 8px;
	color: var(--muted);
	font-size: 15px;
}
.bmp-fits__more,
.bmp-fits__systems {
	margin-top: 12px;
}
.bmp-fits__list {
	display: grid;
	margin: 8px 0 0;
	padding: 0;
	border-top: 1px solid var(--line);
	list-style: none;
}
.bmp-fits__list li {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E");
	position: relative;
	margin: 0;
	padding: 12px 0 12px 32px;
	border-bottom: 1px solid var(--line);
	color: var(--ink);
	line-height: 1.4;
}
.bmp-fits__list li::before,
.bmp-fits__all::before {
	content: "";
	position: absolute;
	top: 13px;
	left: 2px;
	width: 20px;
	height: 20px;
	background: var(--ok);
	-webkit-mask: var(--bmp-icon) center / 20px no-repeat;
	mask: var(--bmp-icon) center / 20px no-repeat;
}
.bmp-fits__list strong {
	font-weight: 800;
}
.bmp-fits__details {
	display: block;
	color: var(--muted);
	font-size: 14px;
}
.bmp-fits__all {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 12.5l5 5 10-11'/%3E%3C/svg%3E");
	position: relative;
	display: inline-block;
	margin: 8px 0;
	padding: 10px 14px 10px 40px;
	border-radius: var(--r-sm);
	background: var(--ok-bg);
	color: var(--ok);
	font-weight: 800;
}
.bmp-fits__all::before {
	top: 11px;
	left: 12px;
}
.bmp-bikeparts__title {
	margin: 0 0 4px;
	font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem);
}
.bmp-bikeparts__text {
	margin: 0 0 12px;
	color: var(--ink-2);
}
.bmp-bikeparts p:last-child {
	margin: 0;
}
.bmp-bikeparts .bmp-bikeparts__link,
.woocommerce .bmp-bikeparts a.button.bmp-bikeparts__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--ink);
	background: #ffffff;
	color: var(--ink);
	text-decoration: none;
}
.bmp-bikeparts .bmp-bikeparts__link:hover,
.woocommerce .bmp-bikeparts a.button.bmp-bikeparts__link:hover {
	background: var(--soft);
	color: var(--ink);
}

/* The bike picker (block "Parts for your bike"), for example in the home page's parts band (its
   stylesheet comes with the block, after this one: hence "body"). */
body .bmp-picker {
	margin: 0;
	padding: 20px 16px;
	border: 1px solid var(--line);
	border-radius: var(--r-box);
	background: #ffffff;
	box-shadow: var(--shadow-2);
}
.bmp-picker .bmp-picker__title {
	margin: 0;
	font-size: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem);
}
.bmp-picker .bmp-picker__intro {
	margin: 4px 0 0;
	color: var(--ink-2);
}
.bmp-picker a.bmp-picker__all {
	color: var(--link);
}
.bmp-picker__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 20px;
	margin: 16px 0 0;
}
.bmp-picker .bmp-picker__go {
	flex: 1 1 100%;
}
.bmp-picker .bmp-picker__go:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}
.bmp-section--soft.bmp-parts-band {
	padding: 0;
	background: none;
}
body .bmp-parts-band .bmp-picker {
	border: 0;
	background: var(--soft);
	box-shadow: none;
}
.bmp-parts-band:not(:has(.bmp-picker)) {
	display: none;
}
@media (min-width: 700px) {
	body .bmp-picker {
		padding: 24px;
	}
	.bmp-picker__fields {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.bmp-picker .bmp-picker__go {
		flex: 0 0 auto;
	}
}

/* "Mijn fiets" in the menu panel (Marketplace Core's card; filled from this browser's storage). */
.bmp-mybike__link {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 64px;
	padding: 10px 40px 10px 64px;
	border: 1px solid var(--line);
	border-radius: var(--r-box);
	background: #ffffff;
	color: var(--ink);
	line-height: 1.3;
	text-decoration: none;
}
.bmp-mybike__link::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 14px;
	width: 36px;
	height: 36px;
	margin-top: -18px;
	border-radius: 18px;
	background: var(--sel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230057b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5.5' cy='16.5' r='3.5'/%3E%3Ccircle cx='18.5' cy='16.5' r='3.5'/%3E%3Cpath d='M5.5 16.5L9 9h7l2.5 7.5M9 9L7.8 6.5H5.5M12 16.5L16 9M14.5 6.5H17'/%3E%3C/svg%3E") center / 22px no-repeat;
}
.bmp-mybike.is-set .bmp-mybike__link::before {
	background-color: #ffffff;
}
.bmp-mybike__link::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 14px;
	width: 16px;
	height: 16px;
	margin-top: -8px;
	background: var(--muted);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / 16px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E") center / 16px no-repeat;
}
.bmp-mybike__label {
	color: var(--muted);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.bmp-mybike__name {
	font-size: 16px;
	font-weight: 800;
}
.bmp-mybike__hint {
	color: var(--muted);
	font-size: 14px;
}
.bmp-mybike.is-set .bmp-mybike__link {
	border-color: var(--sel);
	background: var(--sel);
}
.bmp-mybike.is-set .bmp-mybike__label {
	color: var(--sel-ink);
}
@media (min-width: 993px) {
	.single-product .bmp-fits,
	.single-product .bmp-bikeparts {
		padding: 0 2.617924em;
		scroll-margin-top: 150px;
	}
	.bmp-fits__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 32px;
	}
}

/* ===== Cart and checkout (WooCommerce's classic cart and checkout, ADR-0079, and its blocks for a shop
   that switches to them; Shoptimizer's progress bar and minimal checkout header) ===== */
/* The page's heading, which Shoptimizer hides on the cart and the order confirmation, and shows in the
   minimal checkout header on desktops only: one visible h1 on every page. */
.woocommerce-order-received .entry-header {
	display: block;
}
.woocommerce-cart .entry-header .entry-title,
.woocommerce-order-received .entry-header .entry-title {
	display: block;
	margin: 8px 0 16px;
	font-size: clamp(1.625rem, 1.3rem + 1.4vw, 2.25rem);
}
@media (max-width: 992px) {
	body.woocommerce-checkout.min-ck:not(.woocommerce-order-received) .site-header h1 {
		display: flex;
		grid-row: 1;
		grid-column: 3 / 5;
		justify-self: end;
		margin: 0;
		padding-right: 8px;
		font-size: 18px;
		letter-spacing: -0.01em;
	}
}
/* The classic cart: each line's shop under its name, a quantity stepper and a remove button big
   enough to tap, the delivery choices as rows. */
.woocommerce-cart-form .product-name > a,
.woocommerce-checkout-review-order-table .cg-checkout-table-product-name {
	color: var(--ink);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}
body .woocommerce-checkout-review-order-table .product-quantity {
	color: var(--muted);
}
body .woocommerce-cart-form dl.variation,
body .woocommerce-checkout-review-order-table dl.variation {
	margin: 4px 0 0;
	color: var(--ink-2);
	font-size: 14px;
}
body .woocommerce-cart-form dl.variation dd,
body .woocommerce-checkout-review-order-table dl.variation dd {
	color: var(--ink-2);
	font-weight: 700;
}
body table.cart td.product-remove a.remove {
	width: 44px;
	height: 44px;
}
body table.cart td.product-remove a.remove::before {
	width: 18px;
	height: 18px;
	background-color: var(--ink-2);
}
body table.cart td.product-quantity .quantity {
	display: inline-flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 136px;
	height: var(--tap);
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-sm);
	background: #ffffff;
}
body table.cart td.product-quantity .quantity .qty {
	width: 40px;
	min-height: 0;
	height: 40px;
	padding: 0;
	border: 0;
	box-shadow: none;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
}
body table.cart td.product-quantity .quantity .quantity-nav {
	position: absolute;
	inset: 0;
	width: auto;
	height: auto;
	pointer-events: none;
}
body table.cart td.product-quantity .quantity .quantity-button {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 44px;
	height: auto;
	pointer-events: auto;
}
body table.cart td.product-quantity .quantity .quantity-button.quantity-down {
	right: auto;
	left: 0;
}
body table.cart td.product-quantity .quantity .quantity-button.quantity-up {
	right: 0;
	left: auto;
}
body table.cart .quantity-button.quantity-down::before,
body table.cart .quantity-button.quantity-up::before {
	width: 16px;
	height: 16px;
	background: var(--ink);
}
body #shipping_method li {
	display: flex;
	align-items: center;
	min-height: 44px;
	margin: 0;
}
body #shipping_method li label {
	display: flex;
	flex: 1;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	cursor: pointer;
}
body #shipping_method li label .amount {
	margin-left: auto;
}
body #shipping_method li input[type="radio"] {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	margin: 0 10px 0 0;
	accent-color: var(--link);
}
.woocommerce-shipping-calculator .shipping-calculator-button {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}
body .bmp-cart-sellers {
	--bmp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10v10h16V10M3.2 10L5 4h14l1.8 6zM9.5 20v-5.5h5V20'/%3E%3C/svg%3E");
	position: relative;
	margin: 0 0 20px;
	padding: 12px 14px 12px 46px;
	border: 0;
	border-radius: var(--r-box);
	background: var(--sel);
	color: var(--sel-ink);
}
body .bmp-cart-sellers::before {
	content: "";
	position: absolute;
	top: 13px;
	left: 14px;
	width: 22px;
	height: 22px;
	background: currentColor;
	-webkit-mask: var(--bmp-icon) center / 22px no-repeat;
	mask: var(--bmp-icon) center / 22px no-repeat;
}
body .bmp-cart-sellers[hidden] {
	display: none;
}
.bmp-cart-sellers__shops {
	font-weight: 800;
}
body .bmp-cart-sellers__how {
	margin-top: 2px;
	color: var(--ink-2);
	font-size: 15px;
}
/* Cart lines: the shop under the name; WooCommerce's short description left out. */
.wc-block-cart .wc-block-components-product-metadata__description,
.wc-block-checkout .wc-block-components-product-metadata__description,
.wc-block-components-order-summary-item .wc-block-components-product-metadata__description {
	display: none;
}
.wc-block-components-product-name,
.wc-block-cart .wc-block-components-product-name {
	display: inline-block;
	box-sizing: border-box;
	min-height: 24px;
	padding: 2px 0;
	color: var(--ink);
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
}
.wc-block-components-product-details {
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
}
.wc-block-components-product-details li {
	margin: 0;
	color: var(--muted);
	font-size: 14px;
}
.wc-block-components-product-details__sold-by,
.wc-block-components-product-details__verkocht-door {
	color: var(--ink-2);
}
.wc-block-components-product-details__sold-by .wc-block-components-product-details__value,
.wc-block-components-product-details__verkocht-door .wc-block-components-product-details__value {
	font-weight: 700;
}
.wc-block-components-quantity-selector {
	border-radius: var(--r-sm);
}
.wc-block-components-quantity-selector::after {
	border-color: var(--line-2);
	border-radius: var(--r-sm);
}
.wc-block-cart-item__remove-link {
	min-width: 44px;
	min-height: 44px;
}
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	min-height: 52px;
	border-radius: var(--r-btn);
	font-weight: 800;
}
/* Checkout: fields and choices in Design A; the order summary as a card. */
.wc-block-components-text-input input,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-address-form__country select,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea {
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-sm);
}
.wc-block-components-text-input.is-active input:focus,
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--link);
	box-shadow: 0 0 0 3px var(--sel);
}
.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: inset 0 0 0 2px var(--link);
}
.wc-block-components-radio-control--highlight-checked {
	border-radius: var(--r-sm);
}
body .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	width: 24px;
	min-width: 24px;
	height: 24px;
}
body .wc-block-components-checkbox .wc-block-components-checkbox__mark {
	margin-top: 3px;
	margin-left: 4.5px;
}
.min-ck .site-header .menu-toggle {
	display: none !important;
}
/* The order confirmation: a plain card (Shoptimizer's folded corner reaches past a phone's edge). */
.woocommerce-order-received .woocommerce-order-details {
	border-color: var(--line);
	border-radius: var(--r-box);
}
.woocommerce-order-received .woocommerce-order-details::before,
.woocommerce-order-received .woocommerce-order-details::after {
	display: none;
}
@media (max-width: 992px) {
	.woocommerce-order-received .woocommerce-order-details {
		padding: 16px;
	}
}
@media (min-width: 993px) {
	.wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block {
		padding: 0 16px;
		border-radius: var(--r-box);
		background: var(--soft);
	}
	.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block {
		border-color: var(--line);
		border-radius: var(--r-box);
	}
}

/* ===== My account (WooCommerce's pages and Marketplace Core's customer pages inside them) ===== */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register,
.woocommerce-account .lost_reset_password {
	max-width: 32rem;
	margin: 0 0 24px;
	padding: 0;
	border: 0;
}
.woocommerce-form-login .woocommerce-form-login__rememberme,
.woocommerce-form__label-for-checkbox {
	display: flex;
	width: fit-content;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	margin: 4px 0;
	cursor: pointer;
}
.woocommerce-form__label-for-checkbox input[type="checkbox"],
.woocommerce-form-login__rememberme input[type="checkbox"] {
	width: 20px;
	height: 20px;
	margin: 0;
	accent-color: var(--link);
}
.woocommerce form .password-input .show-password-input,
.woocommerce-page form .password-input .show-password-input {
	top: 50%;
	right: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin-top: -22px;
}
.woocommerce-MyAccount-navigation ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}
.woocommerce-MyAccount-navigation ul li {
	margin: 0;
	padding: 0;
	border: 0;
}
.woocommerce-MyAccount-navigation ul li a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 16px;
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-pill);
	background: #ffffff;
	color: var(--ink);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
}
.woocommerce-MyAccount-navigation ul li a::before {
	display: none;
}
.woocommerce-MyAccount-navigation ul li.is-active a {
	border-color: var(--ink);
	background: var(--ink);
	color: #ffffff;
}
.woocommerce-MyAccount-navigation ul li a:hover {
	border-color: var(--ink);
}
.woocommerce-account .woocommerce-MyAccount-content {
	min-width: 0;
}
.woocommerce-account table.shop_table,
.woocommerce-account table.woocommerce-orders-table {
	border: 1px solid var(--line);
	border-radius: var(--r-box);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td {
	padding: 12px 14px;
	border-color: var(--line);
}
.woocommerce-account .woocommerce-orders-table .button,
.woocommerce-account .woocommerce-MyAccount-content .button {
	min-height: 44px;
	padding: 0 16px;
	font-size: 15px;
}
@media (min-width: 993px) {
	.woocommerce-MyAccount-navigation ul {
		display: grid;
		gap: 6px;
	}
	.woocommerce-MyAccount-navigation ul li a {
		display: flex;
		border-radius: var(--r-sm);
	}
}

/* ===== Marketplace Core's own pages in the theme: parts pages, seller pages, the ranking page ===== */
body:has(.bmp-parts-page) .woocommerce-breadcrumb {
	display: none;
}

/* ===== Footer (Shoptimizer's "Footer" and "Copyright" widgets, the withdrawal link between) ===== */
.site-footer,
footer.copyright,
.bmp-foot-withdraw {
	background: var(--foot-bg);
	color: var(--foot-muted);
}
.site-footer a,
footer.copyright a {
	color: #ffffff;
}
.site-footer a:hover,
footer.copyright a:hover {
	color: var(--cta);
}
.site-footer .widget .widget-title,
.site-footer .widget h2 {
	color: #ffffff;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: none;
}
.site-footer ul {
	margin: 0;
	list-style: none;
}
.site-footer li {
	margin: 0;
}
.site-footer li a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	text-decoration: none;
}
@media (min-width: 700px) {
	.site-footer {
		padding-bottom: 24px;
	}
}
/* The statutory withdrawal function (Marketplace Core's link), on every page. */
.bmp-foot-withdraw .col-full {
	padding-top: 8px;
	padding-bottom: 28px;
}
.bmp-withdrawal-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: var(--tap);
	padding: 0 18px 0 14px;
	border: 2px solid #ffffff;
	border-radius: var(--r-btn);
	color: #ffffff;
	font-size: 15px;
	font-weight: 800;
	text-decoration: none;
}
.bmp-withdrawal-link::before {
	content: "";
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 14L4 9l5-5'/%3E%3Cpath d='M4 9h10.5a5.5 5.5 0 0 1 0 11H11'/%3E%3C/svg%3E") center / 20px no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 14L4 9l5-5'/%3E%3Cpath d='M4 9h10.5a5.5 5.5 0 0 1 0 11H11'/%3E%3C/svg%3E") center / 20px no-repeat;
}
.bmp-foot-withdraw .bmp-withdrawal-link:hover,
.bmp-foot-withdraw .bmp-withdrawal-link:focus-visible {
	background: #ffffff;
	color: var(--foot-bg);
}
.bmp-foot-withdraw .bmp-withdrawal-link:focus-visible {
	outline-color: var(--cta);
}
footer.copyright,
.site-footer ~ footer.copyright {
	margin-top: 0;
	padding: 20px 0 28px;
	border-top: 1px solid var(--foot-line);
	font-size: 13px;
}
footer.copyright .col-full {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
}
footer.copyright .widget {
	margin: 0;
}
footer.copyright p {
	margin: 0;
}
/* Payment methods as text chips (a list with the class bmp-pay in a Copyright widget). */
.bmp-pay {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bmp-pay li {
	margin: 0;
	padding: 4px 10px;
	border-radius: 6px;
	background: #ffffff;
	color: var(--ink);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.4;
}
.bmp-acc__toggle {
	display: none;
	width: 100%;
	min-height: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-align: left;
}
@media (max-width: 699px) {
	.bmp-acc__label {
		display: none;
	}
	.site-footer {
		padding-top: 16px;
		padding-bottom: 8px;
	}
	.site-footer .col-full {
		display: block;
	}
	.site-footer .widget.bmp-acc {
		margin: 0;
		border-bottom: 1px solid var(--foot-line);
	}
	.site-footer .bmp-acc .widget-title {
		margin: 0;
	}
	.bmp-acc__toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 56px;
		cursor: pointer;
	}
	.site-footer .bmp-acc__toggle:focus-visible {
		outline-offset: -3px;
	}
	.bmp-acc__toggle::after {
		content: "";
		width: 18px;
		height: 18px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center / 18px no-repeat;
	}
	.bmp-acc__toggle[aria-expanded="true"]::after {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
	}
	.bmp-acc__content {
		padding-bottom: 12px;
	}
	.bmp-foot-withdraw .col-full {
		padding-top: 20px;
	}
	.bmp-withdrawal-link {
		width: 100%;
		justify-content: center;
	}
	footer.copyright .col-full {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.site-header,
	.bmp-mini,
	.col-full-nav,
	.col-full-nav .sub-menu-wrapper {
		transition: none !important;
	}
}
