/* Built by tools/build_css.py from src/upstream.css and src/gf.css. Do not edit this file. */
/*
 * Upstream layer: the Bikemarkt storefront (bmp-shoptimizer-child, ADR-0077), re-coloured to Dutch
 * Ember by tools/upstream/fork_theme.py. Do not edit here: GF's own rules are in src/gf.css.
 * 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: Instrument Sans, Latin (SIL Open Font License, assets/fonts/OFL.txt) =====
   Two static cuts: 400 for text, 700 for headings and buttons (600 to 800 use it). The fallback is
   Arial resized to Instrument Sans' measurements, so text does not move when the font arrives. */
@font-face {
	font-family: "Instrument Sans";
	src: url("../fonts/instrument-sans-regular-latin.woff2") format("woff2");
	font-weight: 300 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Instrument Sans";
	src: url("../fonts/instrument-sans-bold-latin.woff2") format("woff2");
	font-weight: 600 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Instrument Sans Fallback";
	src: local("Arial"), local("Liberation Sans"), local("Helvetica");
	size-adjust: 103.25%;
	ascent-override: 93.95%;
	descent-override: 24.21%;
	line-gap-override: 0%;
}

/* ===== Tokens ===== */
:root {
	--font: "Instrument Sans", "Instrument Sans Fallback", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--ink: #172a38;
	--ink-2: #33444f;
	--muted: #56636a;
	--line: #e6e1d8;
	--line-2: #cec8bd;
	--bg: #ffffff;
	--soft: #faf9f6;
	--link: #172a38;
	--brand: #172a38;
	--cta: #f27b35;
	--cta-ink: #172a38;
	--cta-hover: #f48a4d;
	--sel: #fff1e6;
	--sel-ink: #172a38;
	--ok: #247047;
	--ok-bg: #e7f2eb;
	--warn-ink: #8f4a0e;
	--warn-bg: #fff4e5;
	--sale: #172a38;
	--star: #e99a2b;
	--foot-bg: #172a38;
	--foot-muted: #b7c3cb;
	--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 #e6e1d8;
	--shadow-2: 0 6px 16px rgba(23, 42, 56, 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(23, 42, 56, 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(23, 42, 56, 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='%2356636a' 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='%23247047' 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 {
		margin: 0;
		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(23, 42, 56, 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;
	transition: transform 0.4s var(--ease);
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	ul.products li.product:hover .woocommerce-image__wrapper img {
		transform: scale(1.04);
	}
}
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(23, 42, 56, 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. */
}
/* The script widens the row a tenth of a second before it sizes the pictures: until then a picture
   takes the window's width (a container unit, not a :has() rule on the style attribute, which
   would make every animation on the page re-check the whole document; 1.1.0). */
.woocommerce-js .woocommerce-product-gallery .flex-viewport {
	container-type: inline-size;
}
.woocommerce-js .woocommerce-product-gallery .flex-viewport > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not([style]) {
	width: 100cqw;
}
.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);
	text-wrap: balance;
}
.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). A grid (1.0.4): the
   price with Shoptimizer's discount label beside it, everything else across the card. */
.bmp-buy {
	display: grid;
	grid-template-columns: minmax(0, max-content) minmax(0, 1fr);
	grid-auto-flow: row dense;
	align-items: center;
	gap: 10px 8px;
	margin: 12px 0 16px;
	padding: 16px;
	border: 1px solid var(--line-2);
	border-radius: var(--r-box);
	background: #ffffff;
}
.bmp-buy > * {
	grid-column: 1 / -1;
	min-width: 0;
}
.bmp-buy > .clear,
.bmp-buy > .product-label[style*="hidden"] {
	display: none;
}
/* A product no shop offers yet: no price and no offer box, so no empty card (1.0.2). */
.bmp-buy:not(:has(.bmp-offer)):has(> .price:empty) {
	display: none;
}
.single-product .summary .bmp-buy > .price {
	display: flex;
	flex-wrap: wrap;
	grid-column: 1;
	align-items: baseline;
	gap: 2px 8px;
	float: none;
	margin: 0;
	color: var(--ink);
	font-size: clamp(1.75rem, 1.55rem + 0.9vw, 2.125rem);
	font-weight: 800;
	letter-spacing: -0.015em;
	line-height: 1.1;
}
/* The price now first and large, the earlier price after it, smaller and struck through (1.0.4). */
.single-product .summary .bmp-buy > .price ins,
.single-product .summary .woocommerce-variation-price .price ins,
.bmp-bar__price ins {
	order: -1;
	color: var(--sale);
	font-weight: 800;
	text-decoration: none;
}
.single-product .summary .bmp-buy > .price del,
.single-product .summary .woocommerce-variation-price .price del {
	color: var(--muted);
	font-size: 0.52em;
	font-weight: 600;
	letter-spacing: 0;
	text-decoration-thickness: 1.5px;
}
.single-product .summary .bmp-buy > .price .amount,
.single-product .summary .woocommerce-variation-price .price .amount {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
}
/* A sale price set in WooCommerce: the price in the sale colour (1.0.4). */
.single-product .summary .bmp-buy.is-sale > .price {
	color: var(--sale);
}
/* "From €2.499" for a product whose variants differ in price (1.0.4). */
.bmp-from {
	align-self: center;
	color: var(--muted);
	font-size: 0.5em;
	font-weight: 700;
	letter-spacing: 0;
}
/* Shoptimizer's discount label ("-63%") beside the price, as a chip. */
.single-product .summary .bmp-buy > .product-label {
	display: inline-flex;
	grid-column: 2;
	justify-self: start;
	align-items: center;
	position: static;
	min-width: 0;
	min-height: 0;
	padding: 4px 10px;
	border: 0;
	border-radius: var(--r-pill);
	background: var(--sale);
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.3;
	white-space: nowrap;
}
.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);
}
/* The lithium notice informs, it does not warn (1.0.2): a battery icon on the quiet background. */
.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' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='16' height='10' rx='2'/%3E%3Cpath d='M21 10.5v3M10.5 9l-2 3h4l-2 3'/%3E%3C/svg%3E");
	background: var(--soft);
	color: var(--ink-2);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
}
.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 (also the size chart and a store's
   opening hours, 1.1.0). */
.single-product .summary .bmp-offer details,
.single-product .summary .bmp-size details,
.single-product .summary .bmp-store details {
	border-top: 1px solid var(--line);
}
.single-product .summary .bmp-offer details > summary,
.single-product .summary .bmp-size details > summary,
.single-product .summary .bmp-store 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,
.single-product .summary .bmp-size details > summary::after,
.single-product .summary .bmp-store 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. The quantity (1.0.4): one pill with "−", the number and "+"
   (Shoptimizer's own buttons and script, its arrows redrawn), as tall as the button 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 {
	position: relative;
	display: flex;
	flex: 0 0 auto;
	align-items: stretch;
	width: 128px;
	height: 52px;
	margin: 0;
	border: 1.5px solid var(--line-2);
	border-radius: var(--r-pill);
	background: #fff;
}
.single-product .summary form.cart .quantity.hidden {
	display: none;
}
.single-product .summary form.cart .quantity:focus-within {
	border-color: var(--ink);
}
.single-product .summary form.cart .quantity .input-text {
	order: 2;
	flex: 1 1 auto;
	width: 40px;
	min-width: 0;
	height: auto;
	min-height: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--ink);
	font-size: 17px;
	font-weight: 800;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}
.single-product .summary form.cart .quantity .input-text::-webkit-inner-spin-button,
.single-product .summary form.cart .quantity .input-text::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}
.single-product .summary form.cart .quantity-nav {
	display: contents;
}
.single-product .summary form.cart .quantity-button {
	position: relative;
	inset: auto;
	flex: 0 0 42px;
	width: 42px;
	height: auto;
	border-radius: var(--r-pill);
	background: none;
}
.single-product .summary form.cart .quantity-button.quantity-down {
	order: 1;
}
.single-product .summary form.cart .quantity-button.quantity-up {
	order: 3;
}
.single-product .summary form.cart .quantity-button:hover {
	background: var(--soft);
}
.single-product .summary form.cart .quantity-button:focus-visible {
	outline: 2px solid var(--brand);
	outline-offset: -4px;
}
.single-product .summary form.cart .quantity-button::before {
	width: 16px;
	height: 16px;
	background: var(--ink);
}
.single-product .summary form.cart .quantity-button.quantity-up::before {
	-webkit-mask-image: 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.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
	mask-image: 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.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}
.single-product .summary form.cart .quantity-button.quantity-down::before {
	-webkit-mask-image: 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.6' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
	mask-image: 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.6' stroke-linecap='round'%3E%3Cpath d='M5 12h14'/%3E%3C/svg%3E");
}
.single-product .summary table.variations {
	position: relative;
	margin: 0 0 14px;
}
.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 table.variations tr:last-child td.value {
	padding-bottom: 0;
}
/* "Clear" on the line of the choice's name, at its end (1.0.4): no gap under the choice. */
.single-product .summary .reset_variations {
	position: absolute;
	top: -4px;
	right: 0;
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 2px;
	color: var(--link);
	font-size: 14px;
	font-weight: 600;
}
/* WooCommerce hides "Clear" until a variant is chosen but keeps its room: no gap above the
   add-to-cart button until then (1.0.2). */
.single-product .summary .reset_variations[style*="hidden"] {
	min-height: 0;
	height: 0;
	overflow: hidden;
}
/* The chosen variant's price: theme.js shows it in the buy card at the top (1.0.4), so it is not
   repeated here; without the script it stays here, in the buy card's style. */
.single-product .summary .woocommerce-variation-price .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
	margin: 0 0 10px;
	color: var(--ink);
	font-size: 26px;
	font-weight: 800;
	line-height: 1.15;
}
.single-product .summary form.bmp-price-up .woocommerce-variation-price {
	display: none;
}
.single-product .summary .woocommerce-variation-availability .stock {
	margin: 0 0 12px;
	padding: 0;
	border: 0;
	font-size: 14px;
	font-weight: 600;
}
/* Marketplace Core says per shop whether it has the item: WooCommerce's total is not repeated. */
.single-product .summary:has(.bmp-offer) .woocommerce-variation-availability,
.single-product .summary:has(.bmp-offer) > .stock {
	display: none;
}
.single-product .summary form.cart:not(.variations_form),
.single-product .summary .woocommerce-variation-add-to-cart,
.single-product .summary form.cart .commercekit-sticky-atc-intersector {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 10px;
}
.single-product .summary form.cart .commercekit-sticky-atc-intersector {
	flex: 1 1 100%;
	min-width: 0;
}
.single-product .summary form.cart .single_add_to_cart_button {
	flex: 1 1 160px;
	min-width: 0;
	min-height: 52px;
	margin: 0;
	font-size: 17px;
	white-space: nowrap;
}
/* Before a variant is chosen: a calm grey button; a click leads to the choice (theme.js). */
.single-product .summary form.cart .single_add_to_cart_button.disabled {
	opacity: 1;
	background: #f3f0ea;
	color: var(--muted);
	cursor: pointer;
}
/* The add-to-cart buttons (the page's and the sticky bar's, 1.0.3): a pill with a cart in a white
   circle that springs forward on hover, presses in, nudges once when a variant makes it ready or
   the bar appears, and turns while the cart is loading. No motion with reduced motion. */
.single-product .summary form.cart .single_add_to_cart_button,
.bmp-bar .bmp-bar__add,
.commercekit-atc-sticky-tabs .sticky-atc_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 0 6px 0 24px;
	border-radius: var(--r-pill);
	box-shadow: 0 6px 16px rgba(242, 123, 53, 0.32);
	transition: background-color 0.15s, box-shadow 0.2s, transform 0.15s;
}
.single-product .summary form.cart .single_add_to_cart_button::after,
.bmp-bar .bmp-bar__add::after,
.commercekit-atc-sticky-tabs .sticky-atc_button::after {
	content: "";
	position: static;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	margin: 0;
	border: 0;
	border-radius: 50%;
	opacity: 1;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23172a38' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h2.2l2.3 10.4a1.6 1.6 0 0 0 1.6 1.3h7.7a1.6 1.6 0 0 0 1.6-1.2L20 8H6.2'/%3E%3Ccircle cx='9.5' cy='19.5' r='1.3'/%3E%3Ccircle cx='17' cy='19.5' r='1.3'/%3E%3C/svg%3E") center / 22px no-repeat;
	transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.bmp-bar .bmp-bar__add::after,
.commercekit-atc-sticky-tabs .sticky-atc_button::after {
	width: 34px;
	height: 34px;
	background-size: 19px;
}
.single-product .summary form.cart .single_add_to_cart_button:not(.disabled):hover,
.bmp-bar .bmp-bar__add:hover,
.commercekit-atc-sticky-tabs .sticky-atc_button:hover {
	box-shadow: 0 10px 22px rgba(242, 123, 53, 0.4);
}
.single-product .summary form.cart .single_add_to_cart_button:not(.disabled):hover::after,
.bmp-bar .bmp-bar__add:hover::after,
.commercekit-atc-sticky-tabs .sticky-atc_button:hover::after {
	transform: translateX(4px) rotate(-8deg) scale(1.06);
}
.single-product .summary form.cart .single_add_to_cart_button:active,
.bmp-bar .bmp-bar__add:active {
	transform: scale(0.97);
}
.single-product .summary form.cart .single_add_to_cart_button.disabled {
	box-shadow: none;
}
.bmp-nudge {
	animation: bmp-nudge 0.6s cubic-bezier(0.36, 0.07, 0.19, 0.97);
}
.single-product .summary form.cart .single_add_to_cart_button.is-loading::after,
.bmp-bar .bmp-bar__add.is-loading::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23172a38' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 3a9 9 0 1 0 9 9'/%3E%3C/svg%3E");
	animation: bmp-spin 0.8s linear infinite;
}
@keyframes bmp-nudge {
	20%,
	60% {
		transform: translateX(-4px) rotate(-1deg);
	}
	40%,
	80% {
		transform: translateX(4px) rotate(1deg);
	}
}
@keyframes bmp-spin {
	to {
		transform: rotate(360deg);
	}
}
@media (prefers-reduced-motion: reduce) {
	.bmp-nudge,
	.single-product .summary form.cart .single_add_to_cart_button.is-loading::after,
	.bmp-bar .bmp-bar__add.is-loading::after {
		animation: none;
	}
	.single-product .summary form.cart .single_add_to_cart_button::after,
	.bmp-bar .bmp-bar__add::after {
		transition: none;
	}
}

/* A price reduction (Marketplace Core's, with the lowest price of the 30 days before, ADR-0075):
   the pill on the buy card and the cards, the price in the sale colour, the earlier price struck
   through in Core's sentence (1.0.3). A sale price set in WooCommerce itself (a product no shop
   offers; theme.js follows the chosen variant) gets the same pill (1.0.4); Shoptimizer's own
   "Sale!" badge in the summary is not repeated above the title, and its discount label stands
   beside the price. */
.bmp-sale-pill,
.bmp-card-badge,
.woocommerce span.onsale {
	display: none;
	align-items: center;
	justify-self: start;
	align-self: flex-start;
	min-height: 0;
	padding: 4px 11px;
	border: 0;
	border-radius: var(--r-pill);
	background: var(--sale);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1.4;
}
.bmp-sale-pill::before,
.bmp-card-badge::before {
	content: "";
	width: 14px;
	height: 14px;
	margin-right: 5px;
	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.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8Z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E") center / contain 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='M20.6 13.4 13.4 20.6a2 2 0 0 1-2.8 0L3 13V3h10l7.6 7.6a2 2 0 0 1 0 2.8Z'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bmp-buy:has(.bmp-offer__unit:not([hidden]) .bmp-offer__was) .bmp-sale-pill,
.bmp-buy.is-sale .bmp-sale-pill,
ul.products li.product:has(.bmp-loop-offers__was) .bmp-card-badge,
.woocommerce span.onsale {
	display: inline-flex;
}
.single-product .content-area .summary > .onsale {
	display: none;
}
.single-product .summary .bmp-buy:has(.bmp-offer__unit:not([hidden]) .bmp-offer__was) > .price,
ul.products li.product:has(.bmp-loop-offers__was) .price {
	color: var(--sale);
}
.bmp-card-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
}
/* Core's sentence right under the price, as a soft note in the sale colour (1.0.4). */
.single-product .summary .bmp-buy .bmp-offer__was {
	order: -1;
	padding: 8px 12px;
	border-radius: var(--r-sm);
	background: #fff1e6;
	color: #0f1e29;
	font-weight: 600;
	line-height: 1.4;
}
.bmp-offer__was .amount,
.bmp-loop-offers__was .amount,
.bmp-card__was .amount {
	text-decoration: line-through;
}
.bmp-offer__was .amount {
	font-weight: 800;
}
.bmp-loop-offers__was {
	color: var(--sale);
}
/* Shoptimizer's discount label on a card's picture ("-63%"), as a pill (1.0.4). */
ul.products li.product .product-label {
	top: 10px;
	left: 10px;
	min-width: 0;
	min-height: 0;
	padding: 4px 9px;
	border-radius: var(--r-pill);
	background: var(--sale);
	box-shadow: 0 4px 10px rgba(23, 42, 56, 0.24);
	color: #fff;
	font-size: 12.5px;
	font-weight: 800;
	line-height: 1.3;
}
ul.products li.product .price ins {
	color: var(--sale);
	text-decoration: none;
}

/* The sticky bar's picture (1.0.3). */
.bmp-bar__pic img {
	display: block;
	width: 44px;
	height: 44px;
	border-radius: var(--r-sm);
	background: var(--soft);
	object-fit: cover;
}

/* 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");
}
.bmp-trust__pay {
	--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%3Crect x='5' y='10.5' width='14' height='10' rx='2'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");
}

/* "Including VAT" under the price (1.0.2); the key specifications are in the 1.1.0 section below. */
.single-product .summary .bmp-buy > .bmp-price-note {
	margin: -6px 0 0;
	color: var(--muted);
	font-size: 13px;
}
/* Shoppers do not need WooCommerce's article number ("SKU: N/A" on most products). */
.single-product .product_meta .sku_wrapper {
	display: none;
}

/* "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: #faf9f6;
}
.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(23, 42, 56, 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 {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 6px;
	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 .bmp-from {
	font-size: 12px;
}
/* The chosen variant's price as WooCommerce writes it (inside its own "price" element). */
.bmp-bar__price > .price {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0 6px;
}
.bmp-bar .bmp-bar__add {
	flex: 0 0 auto;
	min-height: 48px;
	padding: 0 6px 0 18px;
	border-radius: var(--r-pill);
	white-space: nowrap;
}
.bmp-bar__pic {
	flex: 0 0 auto;
}
@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;
	}
}

/* CommerceKit's sticky add-to-cart, when it is switched on (1.0.4): on wider screens its bar of
   section links that sticks under the header carries the theme's button, and its side panel
   (CommerceKit's copy of the form) the theme's choice, quantity and button. On phones the theme's
   own bar (picture, price, Marketplace Core's offer) stays the only bar at the bottom. */
.commercekit-atc-sticky-tabs {
	border-bottom: 1px solid var(--line);
	background: #fff;
}
.commercekit-atc-sticky-tabs.commercekit-atc-stuck {
	box-shadow: 0 8px 20px rgba(23, 42, 56, 0.08);
}
.commercekit-atc-tab-links li a {
	color: var(--ink-2);
	font-size: 15px;
	font-weight: 700;
}
.commercekit-atc-tab-links li.active a,
.commercekit-atc-tab-links li a:hover {
	color: var(--ink);
}
.commercekit-atc-tab-links li a::after {
	border-bottom: 3px solid var(--brand);
	border-radius: 3px;
}
.commercekit-atc-sticky-tabs .sticky-atc_button,
#cgkit-tab-commercekit-sticky-atc-title .sticky-atc_button {
	min-height: 46px;
	margin: 4px 0;
	padding: 0 5px 0 20px;
	border-radius: var(--r-pill);
	color: var(--cta-ink);
	font-size: 15px;
	white-space: nowrap;
}
form.cart.commercekit_sticky-atc .commercekit-pdp-sticky-inner {
	padding: 24px;
}
.commercekit-pdp-before-form_wrapper {
	align-items: center;
	gap: 14px;
	margin: 0 0 20px;
}
.commercekit-pdp-before-form .cgkit-sticky-atc-image {
	flex: 0 0 auto;
	margin: 0;
}
.commercekit-pdp-before-form .cgkit-sticky-atc-image img {
	width: 72px;
	height: 72px;
	border-radius: var(--r-sm);
	background: var(--soft);
	object-fit: cover;
}
.commercekit-pdp-before-form .content-title {
	display: block;
	margin: 0 0 4px;
	color: var(--ink);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
}
.commercekit-pdp-before-form .price {
	color: var(--ink);
	font-size: 18px;
	font-weight: 800;
}
.commercekit-pdp-before-form .price ins {
	color: var(--sale);
	text-decoration: none;
}
@media (max-width: 992px) {
	body.bmp-has-bar #cgkit-mobile-commercekit-sticky-atc {
		display: 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='%23172a38' 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;
	}
}

/* ===== 1.1.0 (ADR-0089): the key specifications as tiles, and Marketplace Core's shopping aids
   (ADR-0088: size advice, stores with the item, low stock, compare) in the design's tokens. ===== */
.bmp-specs {
	margin: 4px 0 20px;
}
.single-product .summary .bmp-specs__title,
.single-product .summary .bmp-size__title,
.single-product .summary .bmp-stores__title {
	margin: 0 0 8px;
	color: var(--ink);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.3;
	text-transform: none;
}
.bmp-specs__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bmp-spec {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-content: center;
	column-gap: 10px;
	min-height: 60px;
	margin: 0;
	padding: 9px 10px;
	border: 1px solid var(--line);
	border-radius: var(--r-sm);
	background: var(--bg);
}
.bmp-spec__icon {
	display: grid;
	grid-row: 1 / span 2;
	place-items: center;
	align-self: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: var(--sel);
	color: var(--brand);
}
.bmp-spec__icon::before,
.bmp-card-fact::before {
	content: "";
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--bmp-spec-icon) center / contain no-repeat;
	mask: var(--bmp-spec-icon) center / contain no-repeat;
}
.bmp-spec__label {
	align-self: end;
	color: var(--muted);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.25;
}
.bmp-spec__value {
	display: -webkit-box;
	overflow: hidden;
	align-self: start;
	color: var(--ink);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	overflow-wrap: anywhere;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}
.bmp-specs__all {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 44px;
	color: var(--link);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}
.bmp-specs__all::after {
	content: "";
	width: 16px;
	height: 16px;
	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.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / contain 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='M9 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bmp-specs__all:hover {
	text-decoration: underline;
}
.woocommerce-tabs,
#tab-additional_information,
.bmp-pacc {
	scroll-margin-top: 96px;
}
.bmp-spec--motor {
	--bmp-spec-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='M13 2.5 5 13.5h6.5l-1 8 8-11H12z'/%3E%3C/svg%3E");
}
.bmp-spec--accu {
	--bmp-spec-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%3Crect x='2.5' y='7' width='16.5' height='10' rx='2'/%3E%3Cpath d='M21.5 10.5v3'/%3E%3Cpath d='M7 10.5v3M11 10.5v3'/%3E%3C/svg%3E");
}
.bmp-spec--range {
	--bmp-spec-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 17.5a8.5 8.5 0 1 1 17 0'/%3E%3Cpath d='M12 17.5l4.5-5.5'/%3E%3Cpath d='M12 9v1.5M6.6 11.2l1 1M17.4 11.2l-1 1'/%3E%3C/svg%3E");
}
.bmp-spec--gears {
	--bmp-spec-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='12' r='3.2'/%3E%3Cpath d='M12 2.5v3M12 18.5v3M2.5 12h3M18.5 12h3M5.3 5.3l2.1 2.1M16.6 16.6l2.1 2.1M5.3 18.7l2.1-2.1M16.6 7.4l2.1-2.1'/%3E%3C/svg%3E");
}
.bmp-spec--size {
	--bmp-spec-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 16.5 16.5 3l4.5 4.5L7.5 21z'/%3E%3Cpath d='M7.5 12l2 2M10.5 9l2 2M13.5 6l2 2'/%3E%3C/svg%3E");
}
.bmp-spec--wheel {
	--bmp-spec-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='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Cpath d='M12 3v7M12 14v7M3 12h7M14 12h7'/%3E%3C/svg%3E");
}
.bmp-spec--weight {
	--bmp-spec-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 8a3 3 0 0 1 6 0'/%3E%3Cpath d='M6.5 8h11l1.8 12.5H4.7z'/%3E%3C/svg%3E");
}
.bmp-spec--brakes {
	--bmp-spec-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='12' r='8.5'/%3E%3Ccircle cx='12' cy='12' r='2.5'/%3E%3Cpath d='M12 3.5v3M20.5 12h-3M12 20.5v-3M3.5 12h3'/%3E%3C/svg%3E");
}
.bmp-spec--frame {
	--bmp-spec-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='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.5 9 9h7l2.5 7.5M9 9l3.5 7.5L16 9M8 6.5h3'/%3E%3C/svg%3E");
}
.bmp-spec--year {
	--bmp-spec-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%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");
}
.bmp-spec--type {
	--bmp-spec-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 12.5V4h8.5L21 13.5 12.5 22z'/%3E%3Ccircle cx='7.5' cy='8' r='1.4'/%3E%3C/svg%3E");
}
.bmp-spec--colour {
	--bmp-spec-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 3s6.5 6.6 6.5 11.3a6.5 6.5 0 0 1-13 0C5.5 9.6 12 3 12 3z'/%3E%3C/svg%3E");
}
.bmp-spec--other {
	--bmp-spec-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='12' r='9'/%3E%3Cpath d='M8.5 12.5l2.5 2.5 5-5.5'/%3E%3C/svg%3E");
}

/* Size advice and the stores with the item: Core's boxes in the summary's rhythm. */
.single-product .summary .bmp-size {
	margin: 0 0 20px;
	border-color: var(--line);
	background: var(--soft);
}
.single-product .summary .bmp-size__choose {
	border-radius: var(--r-pill);
}
.single-product .summary .bmp-stores {
	margin: 20px 0;
}
.single-product .summary .bmp-store {
	border-color: var(--line);
	border-radius: var(--r-box);
}

/* "Nog 2 op voorraad": only when true (Core counts it from the shops' stock). */
.single-product .summary .bmp-offer__stock--low,
.bmp-card__left,
.bmp-loop-offers .bmp-loop-offers__left {
	color: var(--warn-ink);
	font-weight: 700;
}
.single-product .summary .bmp-offer__stock--low::before,
.bmp-loop-offers .bmp-loop-offers__left::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	margin: 0 6px 1px 0;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 0 3px var(--warn-bg);
}

/* Compare: the checkbox above the card's covering link, the tray clear of the sticky bar. */
ul.products li.product .bmp-cmp-check {
	position: relative;
	z-index: 2;
	align-self: flex-start;
	margin-top: 8px;
	color: var(--ink-2);
	font-size: 13px;
}
.single-product .summary .bmp-cmp-check--page {
	margin: 12px 0 0;
	color: var(--ink-2);
}
.bmp-cmp-tray {
	transition: bottom 0.2s var(--ease);
}
/* Set on the tray itself: a custom property on the root would restyle the whole page each time
   the bar comes and goes. */
html.bmp-bar-on .bmp-cmp-tray {
	--bmp-tray-bottom: 88px;
}
.single-product .bmp-similar {
	box-sizing: content-box;
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 1em;
}
.bmp-similar__price,
.bmp-similar__link {
	color: var(--ink);
}
.bmp-cmp__view.button {
	background: var(--cta);
	color: var(--cta-ink);
}
.bmp-cmp__view.button:hover {
	background: var(--cta-hover);
}
@media (prefers-reduced-motion: reduce) {
	.bmp-cmp-tray {
		transition: none;
	}
}

/*
 * Goedkoop Fatbikes layer (Concept D, Dutch Ember), after the upstream layer. GF-owned: edit here,
 * then run tools/build_css.py. Shared tokens come from the upstream layer (:root, --ink, --cta, ...);
 * the --gf-* names below are the same values for the gf-site plugin's widgets.
 */
:root {
	--gf-paper: #ffffff;
	--gf-sand: var(--soft);
	--gf-mist: #f3f0ea;
	--gf-mist-2: #e9e4db;
	--gf-line: var(--line);
	--gf-line-2: var(--line-2);
	--gf-ink: var(--ink);
	--gf-ink-2: var(--ink-2);
	--gf-muted: var(--muted);
	--gf-accent: var(--cta);
	--gf-accent-hover: var(--cta-hover);
	--gf-accent-soft: #fff1e6;
	--gf-go: var(--ok);
	--gf-go-soft: var(--ok-bg);
	--gf-warn: var(--warn-ink);
	--gf-warn-soft: var(--warn-bg);
	--gf-well: linear-gradient(180deg, #f6f3ee 0%, #ede8e0 100%);
	--gf-font: var(--font);
	--gf-r-s: 8px;
	--gf-r: 12px;
	--gf-r-l: 18px;
	--gf-r-xl: 24px;
	--gf-focus: 2.5px solid var(--ink);
	--r-btn: 999px;
	--r-box: 16px;
}

/* Elementor's global fonts and colours follow the theme (its default kit names Roboto). */
[class*="elementor-kit-"] {
	--e-global-typography-primary-font-family: var(--font);
	--e-global-typography-secondary-font-family: var(--font);
	--e-global-typography-text-font-family: var(--font);
	--e-global-typography-accent-font-family: var(--font);
	--e-global-color-primary: var(--ink);
	--e-global-color-secondary: var(--ink-2);
	--e-global-color-text: var(--ink);
	--e-global-color-accent: var(--cta);
}

/* ===== Buttons: orange (with navy text) only for buying; every other button is navy ===== */
.button:not(.alt):not(.single_add_to_cart_button):not(.add_to_cart_button):not(.checkout-button):not(.bmp-bar__add),
button.button:not(.alt):not(.single_add_to_cart_button):not(.add_to_cart_button):not(.bmp-bar__add),
.wp-block-button__link {
	background: var(--ink);
	color: #ffffff;
}
.button:not(.alt):not(.single_add_to_cart_button):not(.add_to_cart_button):not(.checkout-button):not(.bmp-bar__add):hover,
button.button:not(.alt):not(.single_add_to_cart_button):not(.add_to_cart_button):not(.bmp-bar__add):hover,
.wp-block-button__link:hover {
	background: #24394a;
	color: #ffffff;
}

/* ---------- logo ---------- */
.gf-logo {
	display: inline-flex;
	align-items: center;
	color: var(--gf-ink);
	text-decoration: none;
}
.gf-logo svg {
	display: block;
	width: auto;
	max-width: 100%;
}
.gf-logo__full svg {
	height: 30px;
}
.gf-logo__compact svg {
	height: 40px;
}
.gf-logo__full {
	display: none;
}
@media (min-width: 700px) {
	.gf-logo__full {
		display: block;
	}
	.gf-logo__compact {
		display: none;
	}
}

/* ---------- Elementor slots ---------- */
.gf-slot {
	margin-block: 32px;
}
.gf-slot--topbar,
.gf-slot--footer {
	margin-block: 0;
}

/*
 * ---------- Elementor starter content (home, category text, help blocks) ----------
 * Spacing and widths go through Elementor's own container variables, so a value set in Elementor's
 * panel for one element still wins over these defaults.
 */
/* Containers inside a section add no padding of their own (Elementor's default is 10 px), so headings
   and rows line up. */
.e-con.gf-sec__head,
.e-con.gf-ctas,
.e-con.gf-seo {
	--padding-top: 0;
	--padding-right: 0;
	--padding-bottom: 0;
	--padding-left: 0;
}
/* The sections' content lines up with the header: Shoptimizer's 1170 px wide column and its side
   margin (2.617924em, about 42 px) on desktop, 16 px on phones. */
.e-con.gf-hero,
.e-con.gf-how,
.e-con.gf-sec,
.e-con.gf-band {
	--content-width: 1170px;
	--padding-left: 16px;
	--padding-right: 16px;
	--padding-top: 24px;
	--padding-bottom: 24px;
}
@media (min-width: 993px) {
	.e-con.gf-hero,
	.e-con.gf-how,
	.e-con.gf-sec,
	.e-con.gf-band {
		--padding-left: 42px;
		--padding-right: 42px;
		--padding-top: 40px;
		--padding-bottom: 40px;
	}
}
.e-con.gf-band {
	--padding-top: 40px;
	--padding-bottom: 40px;
	background: var(--gf-sand);
}
.gf .gf-eyebrow .elementor-heading-title,
.gf p.gf-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--gf-ink-2);
}
.gf .gf-eyebrow .elementor-heading-title::before {
	content: "";
	flex: none;
	width: 9px;
	height: 9px;
	border: 2.5px solid var(--gf-accent);
	border-radius: 50%;
}
.gf .gf-h2 .elementor-heading-title {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -.02em;
	color: var(--gf-ink);
}
.gf .gf-lead p,
.gf .gf-sec__intro p {
	margin: 0;
	font-size: 17px;
	line-height: 1.55;
	color: var(--gf-ink-2);
}
.gf .gf-sec__intro p {
	font-size: 15.5px;
}

/* hero: the apricot ground with a warm glow, the headline with one orange stroke, and the picture
   (GF Hero picture with live offer) beside it on desktop, under it on phones */
.e-con.gf-hero {
	--padding-top: 28px;
	--padding-bottom: 40px;
	--gap: 28px;
	background:
		radial-gradient(60% 70% at 88% 8%, rgba(255, 210, 172, .55) 0%, rgba(255, 210, 172, 0) 70%),
		radial-gradient(40% 50% at 0% 100%, rgba(255, 255, 255, .7) 0%, rgba(255, 255, 255, 0) 70%),
		var(--gf-accent-soft);
}
.e-con.gf-hero__text {
	--width: 100%;
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--gap: 18px;
}
.gf .gf-hero .gf-eyebrow .elementor-heading-title {
	padding: 7px 14px 7px 12px;
	border: 1px solid rgba(242, 123, 53, .28);
	border-radius: 999px;
	background: rgba(255, 255, 255, .78);
}
.gf .gf-hero__title .elementor-heading-title {
	font-size: clamp(38px, 10vw, 66px);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -.035em;
	color: var(--gf-ink);
	text-wrap: balance;
}
/* One hand-drawn orange stroke under the promise (Concept D: orange is rare, this is one of its few
   places). Follows the words when they wrap. */
.gf .gf-hero__title .gf-mark {
	padding-bottom: .06em;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'%3E%3Cpath d='M3 8.5C52 3.5 120 2.2 197 6.4' fill='none' stroke='%23F27B35' stroke-width='5' stroke-linecap='round'/%3E%3C/svg%3E") left 100% / 100% .26em no-repeat;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.gf .gf-hero .gf-lead p,
.gf .gf-hero .gf-lead {
	max-width: 34em;
	margin: 0;
	color: var(--gf-ink-2);
	font-size: 17px;
	line-height: 1.55;
}
.gf .gf-hero__art {
	width: 100%;
}
/* The main button carries an arrow; on phones both buttons take the full width (easy to tap). */
.gf .gf-hero .gf-btn--primary .elementor-button-text::after {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-left: 10px;
	vertical-align: -3px;
	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.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain 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='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .2s ease;
}
.gf .gf-hero .gf-btn--primary .elementor-button:hover .elementor-button-text::after {
	transform: translateX(3px);
}
@media (max-width: 599px) {
	.e-con.gf-hero .e-con.gf-ctas > .elementor-widget-button,
	.e-con.gf-hero .e-con.gf-ctas .elementor-button {
		width: 100%;
	}
	.e-con.gf-hero .e-con.gf-ctas .elementor-button {
		justify-content: center;
	}
}
@media (min-width: 993px) {
	.e-con.gf-hero {
		--padding-top: 64px;
		--padding-bottom: 72px;
		--gap: 56px;
		--flex-wrap: nowrap;
		--align-items: center;
	}
	.e-con.gf-hero__text {
		--width: 47%;
	}
	/* Two lines on a laptop and on a large screen ("Goedkope fatbikes, / eerlijk vergeleken."). */
	.gf .gf-hero__title .elementor-heading-title {
		font-size: clamp(44px, 4.4vw, 62px);
	}
	.gf .gf-hero .gf-lead p,
	.gf .gf-hero .gf-lead {
		font-size: 18.5px;
	}
	.gf .gf-hero__art {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		/* room for the live card that floats over the picture's left edge */
		padding-left: 24px;
	}
}
.e-con.gf-ctas {
	--padding-top: 4px;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--width: 100%;
}

/* buttons placed with Elementor's Button widget */
.gf .gf-btn .elementor-button {
	display: inline-flex;
	align-items: center;
	min-height: 52px;
	padding: 0 26px;
	border: 1.5px solid var(--gf-ink);
	border-radius: 999px;
	background: var(--gf-paper);
	color: var(--gf-ink);
	font-family: var(--gf-font);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.1;
}
.gf .gf-btn--primary .elementor-button {
	background: var(--gf-ink);
	color: #FFFFFF;
}
.gf .gf-btn--primary .elementor-button:hover {
	background: #24394A;
	color: #FFFFFF;
}
.gf .gf-btn--secondary .elementor-button:hover {
	background: var(--gf-sand);
}

/* how it works */
.e-con.gf-how {
	--padding-top: 20px;
	--padding-bottom: 20px;
	border-bottom: 1px solid var(--gf-line);
}
.gf .gf-steps {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: gf-step;
}
.gf .gf-steps li {
	position: relative;
	display: grid;
	align-content: start;
	gap: 2px;
	min-height: 34px;
	padding-left: 46px;
	counter-increment: gf-step;
}
.gf .gf-steps li::before {
	content: counter(gf-step);
	position: absolute;
	left: 0;
	top: 0;
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--gf-ink);
	color: #FFFFFF;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.gf .gf-steps b {
	font-weight: 600;
}
.gf .gf-steps span {
	font-size: 14.5px;
	color: var(--gf-ink-2);
}
.gf .gf-how__rank {
	margin: 0;
	font-size: 14.5px;
}
@media (min-width: 993px) {
	.gf .gf-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 28px;
	}
}

/* "see all" links */
.gf a.gf-more {
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 4px;
}

/* specifications explained */
.gf .gf-explain {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	border-top: 1px solid var(--gf-line-2);
}
.gf .gf-explain > div {
	display: grid;
	gap: 6px;
	align-content: start;
	min-width: 0;
	padding: 18px 14px 18px 0;
	border-bottom: 1px solid var(--gf-line-2);
}
.gf .gf-explain > div:nth-child(even) {
	padding-left: 14px;
	border-left: 1px solid var(--gf-line-2);
}
.gf .gf-explain dt {
	font-size: 38px;
	font-weight: 700;
	line-height: .95;
	letter-spacing: -.02em;
	font-variant-numeric: tabular-nums;
}
.gf .gf-explain dt small {
	margin-left: 3px;
	font-size: 18px;
	font-weight: 600;
}
.gf .gf-explain dd {
	display: grid;
	gap: 4px;
	margin: 0;
	font-size: 14px;
	color: var(--gf-ink-2);
}
.gf .gf-explain dd b {
	font-size: 15px;
	color: var(--gf-ink);
}
@media (min-width: 993px) {
	.gf .gf-explain {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.gf .gf-explain > div,
	.gf .gf-explain > div:nth-child(even) {
		padding: 26px 24px 26px 0;
		border-bottom: 0;
		border-left: 0;
	}
	.gf .gf-explain > div + div {
		padding-left: 24px;
		border-left: 1px solid var(--gf-line-2);
	}
	.gf .gf-explain dt {
		font-size: 56px;
	}
}

/* SEO text and FAQ */
.e-con.gf-seo-faq {
	--gap: 28px;
}
.e-con.gf-seo {
	--width: 100%;
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
}
.gf .gf-faq {
	width: 100%;
}
@media (min-width: 993px) {
	.e-con.gf-seo-faq {
		--gap: 48px;
	}
	.e-con.gf-seo {
		--width: 40%;
	}
	.gf .gf-faq {
		width: calc(60% - 48px);
	}
}
.gf .gf-faq .elementor-accordion-item {
	border: 0;
	border-bottom: 1px solid var(--gf-line);
}
.gf .gf-faq .elementor-tab-title {
	position: relative;
	padding: 18px 40px 18px 0;
	border: 0;
	font-size: 16.5px;
	font-weight: 600;
}
.gf .gf-faq .elementor-tab-title a {
	color: var(--gf-ink);
	text-decoration: none;
}
.gf .gf-faq .elementor-tab-title::after {
	content: "";
	position: absolute;
	right: 4px;
	top: 50%;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23172A38' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .15s ease;
}
.gf .gf-faq .elementor-tab-title.elementor-active::after {
	transform: rotate(180deg);
}
.gf .gf-faq .elementor-tab-content {
	padding: 0 0 18px;
	border: 0;
	color: var(--gf-ink-2);
}

/* help blocks (no search results, page not found) */
.e-con.gf-help {
	--gap: 16px;
}

/*
 * ===== Speed: sections below the first screen are only rendered when they come near ======
 * content-visibility lets the browser skip style, layout and paint for parts of the page that are
 * off screen, so opening the menu or the filters stays quick on a phone (INP). The intrinsic size
 * keeps the scroll bar steady (auto remembers each section's real height once seen).
 */
.elementor .e-con.e-parent:not(:first-child),
.site-footer,
.bmp-compare,
.woocommerce-tabs,
.related.products,
.upsells.products {
	content-visibility: auto;
	contain-intrinsic-size: auto 700px;
}
ul.products li.product:nth-child(n+5) {
	content-visibility: auto;
	contain-intrinsic-size: auto 420px;
}

/* ===== Top bar (desktop): navy with warm white text and an orange tick per promise (Concept D) =====
   The single promises of 0.6 (one text widget each). Since 0.7.0 the bar holds one list of promises with
   their own icons, and phones keep the bar with the first promise: see "Concept D chrome" below. */
@media (min-width: 993px) {
	.top-bar,
	.top-bar a,
	.top-bar a:hover {
		color: #faf9f6;
	}
	.top-bar .textwidget {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		font-weight: 500;
	}
	.top-bar .textwidget::before {
		content: "";
		flex: none;
		width: 14px;
		height: 14px;
		background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f27b35' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat;
	}
	/* The same promises as a row under the header are for phones only. */
	.header-widget-region:has(.gf-usps) {
		display: none;
	}
}

/* ===== Links in running text: navy and underlined (Concept D; orange is for buying) ===== */
.gf .elementor-widget-text-editor a,
.gf .entry-content p a,
.gf .gf-no-offer a {
	color: var(--ink);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.gf .elementor-widget-text-editor a:hover,
.gf .entry-content p a:hover,
.gf .gf-no-offer a:hover {
	text-decoration-thickness: 2px;
}

/* ===== Product page: the buy button inside the buy card (Concept D) =====
   inc/gf.php moves WooCommerce's form into the card; here it goes right after the offer's price, shop,
   stock and delivery, before the seller details, the battery note and the ranking explanation. Core's
   offer box and the shown offer step aside (display: contents) so their parts take part in the card's
   grid; hidden offers (other variants) stay hidden. */
.gf.single-product .summary .bmp-buy .bmp-offer,
.gf.single-product .summary .bmp-buy .bmp-offer__unit:not([hidden]) {
	display: contents;
}
.gf.single-product .summary .bmp-buy .bmp-offer > *,
.gf.single-product .summary .bmp-buy .bmp-offer__unit > * {
	grid-column: 1 / -1;
	min-width: 0;
}
.gf.single-product .summary .bmp-buy > form.cart {
	order: 1;
	margin: 6px 0 0;
}
/* WooCommerce's total stock is not repeated: Core says per shop how many there are (as upstream does
   for the line outside the card). */
.gf.single-product .summary:has(.bmp-offer) .bmp-buy > .stock {
	display: none;
}
.gf.single-product .summary .bmp-buy .bmp-seller,
.gf.single-product .summary .bmp-buy .bmp-offer__lithium,
.gf.single-product .summary .bmp-buy .bmp-ranking {
	order: 2;
}

/* CommerceKit's attribute swatches wrap the buy card's price in div.cgkit-as-variation-price (seen on
   goedkoopfatbikes.nl, 0.7.1). The card reads the same with the wrapper as without it: the wrapper
   steps aside, the price keeps the upstream look, and a product no shop offers shows no empty card. */
.gf.single-product .summary .bmp-buy > .cgkit-as-variation-price {
	display: contents;
}
.gf .bmp-buy:not(:has(.bmp-offer)):has(> .cgkit-as-variation-price > .price:empty) {
	display: none;
}
.gf.single-product .summary .bmp-buy > .cgkit-as-variation-price > .price {
	display: flex;
	flex-wrap: wrap;
	grid-column: 1;
	align-items: baseline;
	gap: 2px 8px;
	float: none;
	margin: 0;
	color: var(--ink);
	font-size: clamp(1.75rem, 1.55rem + 0.9vw, 2.125rem);
	font-weight: 800;
	letter-spacing: -0.015em;
	line-height: 1.1;
}
.gf.single-product .summary .bmp-buy > .cgkit-as-variation-price > .price ins {
	order: -1;
	color: var(--sale);
	font-weight: 800;
	text-decoration: none;
}
.gf.single-product .summary .bmp-buy > .cgkit-as-variation-price > .price del {
	color: var(--muted);
	font-size: 0.52em;
	font-weight: 600;
	letter-spacing: 0;
	text-decoration-thickness: 1.5px;
}
.gf.single-product .summary .bmp-buy > .cgkit-as-variation-price > .price .amount {
	color: inherit;
	font-size: inherit;
	font-weight: inherit;
}
.gf.single-product .summary .bmp-buy.is-sale > .cgkit-as-variation-price > .price,
.gf.single-product .summary .bmp-buy:has(.bmp-offer__unit:not([hidden]) .bmp-offer__was) > .cgkit-as-variation-price > .price {
	color: var(--sale);
}

/* A product no shop offers: one clear sentence instead of an empty buy area. */
.gf .gf-no-offer {
	margin: 12px 0 16px;
	padding: 14px 16px;
	border-radius: var(--r-box);
	background: var(--gf-sand);
	color: var(--ink);
	font-size: 15px;
	line-height: 1.5;
}
.gf .gf-no-offer a {
	display: inline-block;
	margin-top: 2px;
	font-weight: 600;
}
ul.products li.product .gf-card-none {
	margin: 0 0 12px;
	color: var(--muted);
	font-size: 13px;
	font-weight: 600;
}

/* On a narrow phone the card leaves the button less room: the cart icon goes, the words stay. */
@media (max-width: 420px) {
	.gf.single-product .summary .bmp-buy .single_add_to_cart_button:not(.loading):not(.is-loading)::after {
		display: none;
	}
	.gf.single-product .summary .bmp-buy .single_add_to_cart_button {
		justify-content: center;
		padding-left: 12px;
		padding-right: 12px;
	}
}

/* ===== Key specs: values wrap instead of being cut ("(opgave fabrikant)" must stay readable) ===== */
.gf .bmp-spec__value {
	display: block;
	overflow: visible;
	overflow-wrap: break-word;
	hyphens: auto;
	-webkit-line-clamp: unset;
}

/*
 * =====================================================================================================
 * Concept D chrome (0.7.0): top bar, header row, navigation with mega menus, phone header and menu
 * panel, footer. Markup: inc/gf-header.php, inc/gf-menus.php, inc/gf-footer.php; the menus and widgets
 * come from the gf-site set-up tool (class Navigation). Sizes follow the approved prototype.
 * =====================================================================================================
 */
:root {
	--gf-night-2: #1f3546;
	--gf-on-night: #faf9f6;
	--gf-on-night-2: #b7c3cb;
	--gf-line-night: #34495a;
	--gf-ctl: #7e878c;
	--gf-i-store: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9.5 5.5 4h13L20 9.5M4 9.5v10.5h16V9.5M4 9.5c0 1.6 1.3 2.5 2.7 2.5S9.3 11 9.3 9.5c0 1.6 1.3 2.5 2.7 2.5s2.7-.9 2.7-2.5c0 1.6 1.3 2.5 2.7 2.5S20 11 20 9.5M9.5 20v-5h5v5'/%3E%3C/svg%3E");
	--gf-i-tag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 12.5V4.5h8l9 9-8 8-9-9Z'/%3E%3Ccircle cx='8' cy='9' r='1.4'/%3E%3C/svg%3E");
	--gf-i-return: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 7 4 11l4 4'/%3E%3Cpath d='M4 11h11a5 5 0 0 1 0 10h-3'/%3E%3C/svg%3E");
	--gf-i-wheel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1.3'/%3E%3C/svg%3E");
	--gf-i-check: 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='m4.5 12.5 4.5 4.5 10.5-10.5'/%3E%3C/svg%3E");
	--gf-i-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.5 18a7.5 7.5 0 1 1 0-15 7.5 7.5 0 0 1 0 15Zm5.3-2.2L21 21'/%3E%3C/svg%3E");
	--gf-i-chevd: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E");
}
.gf .gf-ico {
	display: block;
	flex: none;
	width: 24px;
	height: 24px;
}

/* ---------- top bar: promises with Concept D's icons; the service links right ---------- */
.gf .gf-promises {
	display: flex;
	align-items: center;
	gap: 6px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.gf .gf-promise {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	color: var(--gf-on-night);
	font-size: 13px;
	font-weight: 500;
	white-space: nowrap;
}
.gf .gf-promise::before {
	content: "";
	flex: none;
	width: 15px;
	height: 15px;
	background: var(--gf-accent);
	-webkit-mask: var(--gf-i-store) center / 15px no-repeat;
	mask: var(--gf-i-store) center / 15px no-repeat;
}
.gf .gf-promise--vat::before {
	-webkit-mask-image: var(--gf-i-tag);
	mask-image: var(--gf-i-tag);
}
.gf .gf-promise--return::before {
	-webkit-mask-image: var(--gf-i-return);
	mask-image: var(--gf-i-return);
}
/* The upstream tick belongs to the single promises of 0.6; the list draws its own icons. */
.gf .top-bar .textwidget:has(.gf-promises)::before {
	display: none;
}
.gf .top-bar .widget_nav_menu ul {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.gf .top-bar .widget_nav_menu ul li + li::before {
	content: none;
}
.gf .top-bar .widget_nav_menu a {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	color: var(--gf-on-night-2);
	font-size: 13px;
	text-decoration: none;
}
.gf .top-bar .widget_nav_menu a:hover {
	color: var(--gf-on-night);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.gf .top-bar :focus-visible {
	outline-color: var(--gf-on-night);
}
@media (max-width: 992px) {
	/* Concept D keeps the navy bar on phones, with the first promise only. */
	.gf .col-full.topbar-wrapper.hide-on-mobile,
	.gf .col-full.topbar-wrapper {
		display: block !important;
		max-width: none;
		margin: 0;
		padding: 0;
		background: var(--gf-ink);
	}
	.gf .top-bar .col-full {
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 34px;
	}
	.gf .top-bar-center,
	.gf .top-bar-right,
	.gf .gf-promise:not(:first-child) {
		display: none;
	}
	.gf .top-bar .textwidget {
		display: block;
	}
	.gf .top-bar-left {
		width: auto;
		margin: 0 auto;
	}
	.gf .gf-promises {
		justify-content: center;
	}
	.gf .top-bar .textwidget::before {
		display: none;
	}
	.gf .header-widget-region:has(.gf-usps) {
		display: none;
	}
}

/* ---------- logo: the wordmark only (the upstream tile is Bikemarkt's) ---------- */
.gf .site-header .site-title a.gf-logo::before,
.gf .bmp-panel-head .gf-logo::before {
	content: none;
	display: none;
}

/* ---------- search field: warm field, icon left, arrow button right ---------- */
.gf .site-search .woocommerce-product-search::before,
.gf .bmp-mini__search .woocommerce-product-search::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 16px;
	z-index: 1;
	display: block;
	width: 21px;
	height: 21px;
	margin-top: -10.5px;
	background: var(--gf-ink);
	-webkit-mask: var(--gf-i-search) center / 21px no-repeat;
	mask: var(--gf-i-search) center / 21px no-repeat;
	pointer-events: none;
}
.gf .site-header .site-search input.search-field,
.gf .bmp-mini__search input.search-field {
	height: 52px;
	min-height: 52px;
	padding: 0 56px 0 48px;
	border: 1.5px solid transparent;
	border-radius: 14px;
	background: var(--gf-mist);
	color: var(--gf-ink);
	font-size: 15.5px;
	transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.gf .site-header .site-search input.search-field:hover,
.gf .bmp-mini__search input.search-field:hover {
	border-color: var(--gf-ctl);
	background: #ffffff;
}
.gf .site-header .site-search input.search-field:focus,
.gf .bmp-mini__search input.search-field:focus {
	border-color: var(--gf-ink);
	background: #ffffff;
	box-shadow: 0 0 0 4px rgba(23, 42, 56, 0.08);
	outline: none;
}
.gf .site-header .site-search button.gf-search-go,
.gf .bmp-mini__search button.gf-search-go {
	top: 6px;
	right: 6px;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: inset 0 0 0 1px var(--gf-line);
	color: var(--gf-ink);
	font-size: inherit;
	text-indent: 0;
}
.gf .site-header .site-search button.gf-search-go:hover,
.gf .bmp-mini__search button.gf-search-go:hover {
	box-shadow: inset 0 0 0 1.5px var(--gf-ink);
}
.gf button.gf-search-go .gf-ico {
	width: 19px;
	height: 19px;
}

/* CommerceKit's Ajax Search adds its suggestions box to the form, which is a flex row centred on the
   field: without a top of its own the box would centre on the field and cover it. It opens under the
   field, above the navigation and its mega menus (0.7.2, seen on goedkoopfatbikes.nl). */
.gf .site-search .commercekit-ajs-results,
.gf .bmp-mini__search .commercekit-ajs-results,
.gf .bmp-panel-search .commercekit-ajs-results {
	top: calc(100% + 6px);
	bottom: auto;
	z-index: 60;
}

/* ---------- header actions: Account, Favorieten, Winkelwagen ---------- */
.gf .gf-act a,
.gf .site-header .gf-cart a.cart-contents,
.gf .bmp-mini .gf-cart a.cart-contents {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	color: var(--gf-ink-2);
	text-decoration: none;
}
.gf .gf-act__label {
	font-size: 12.5px;
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
}
.gf .gf-act .gf-ico,
.gf .gf-cart .gf-ico {
	color: var(--gf-ink);
}
.gf .gf-cart .shoptimizer-cart-icon {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
}
.gf .gf-cart .mini-count {
	position: absolute;
	top: -7px;
	right: -11px;
	min-width: 18px;
	height: 18px;
	margin: 0;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--gf-accent);
	box-shadow: 0 0 0 2px #ffffff;
	color: var(--gf-ink);
	font-size: 11px;
	font-weight: 700;
	line-height: 18px;
	text-align: center;
}
.gf .gf-cart .mini-count.is-empty,
.gf .site-header .gf-cart .shoptimizer-cart-icon .mini-count.is-empty,
.gf .bmp-mini .gf-cart .shoptimizer-cart-icon .mini-count.is-empty {
	display: none !important;
}
@media (min-width: 993px) {
	.gf .site-header .main-header.col-full {
		align-items: center;
		gap: 4px;
		min-height: 82px;
	}
	.gf .site-header .site-title {
		margin-right: 32px;
	}
	.gf .site-header .site-search,
	.gf.header-5 .site-header .site-search {
		flex: 1 1 auto;
		max-width: 680px;
		margin: 0 auto 0 0;
	}
	.gf .gf-act {
		margin-left: 4px;
	}
	.gf .gf-act--account {
		margin-left: 32px;
	}
	.gf .gf-act a,
	.gf.header-5 .site-header .shoptimizer-cart a.cart-contents,
	.gf .site-header .gf-cart a.cart-contents {
		flex-direction: column;
		width: auto;
		min-width: 70px;
		height: auto;
		min-height: 56px;
		padding: 6px 4px;
		border-radius: 12px;
		background: none;
	}
	.gf .gf-act a:hover,
	.gf.header-5 .site-header .shoptimizer-cart a.cart-contents:hover,
	.gf .site-header .gf-cart a.cart-contents:hover {
		background: var(--gf-mist);
		color: var(--gf-ink);
	}
	.gf .site-header .site-header-cart,
	.gf.header-5 .site-header .site-header-cart {
		margin-left: 4px;
	}
	.gf .site-header .secondary-navigation {
		margin-left: 8px;
	}
}

/* ---------- navigation row: chevrons, the orange dot, Mijn fiets on the right ---------- */
@media (min-width: 993px) {
	.gf .col-full-nav {
		border-bottom: 1px solid var(--gf-line);
	}
	.gf .menu-primary-menu-container:not(.shoptimizer-mobile-menu) > ul.menu {
		display: flex;
		align-items: stretch;
		width: 100%;
	}
	.gf .menu-primary-menu-container > ul > li > a,
	.gf .menu-primary-menu-container > ul > li.nolink > span {
		font-size: 15px;
		font-weight: 500;
	}
	.gf .menu-primary-menu-container > ul > li > a span::before {
		border-color: var(--gf-accent);
		border-bottom-width: 2.5px;
	}
	.gf .main-navigation ul.menu > li.gf-deal > a > span::after {
		content: none;
	}
	.gf .main-navigation ul.menu > li.gf-deal > a::before {
		content: "";
		display: inline-block;
		flex: none;
		width: 7px;
		height: 7px;
		margin-right: 7px;
		border-radius: 50%;
		background: var(--gf-accent);
		vertical-align: 2px;
	}
	.gf .main-navigation ul.menu > li.gf-mybike {
		margin-left: auto;
	}
	.gf .main-navigation ul.menu > li.gf-mybike > a {
		font-size: 14px;
		color: var(--gf-ink-2);
	}
	.gf .main-navigation ul.menu > li.gf-mybike > a::before {
		content: "";
		display: inline-block;
		width: 16px;
		height: 16px;
		margin-right: 7px;
		background: var(--gf-ink);
		vertical-align: -3px;
		-webkit-mask: var(--gf-i-wheel) center / 16px no-repeat;
		mask: var(--gf-i-wheel) center / 16px no-repeat;
	}
}

/* ---------- mega menus (desktop): tiles, link columns, brands, a featured product ---------- */
@media (min-width: 993px) {
	.gf .main-navigation ul.menu li.gf-mega > .sub-menu-wrapper {
		border-top: 1px solid var(--gf-line);
		box-shadow: 0 30px 60px rgba(23, 42, 56, 0.14);
	}
	/* A closed panel is not drawn at all (Shoptimizer only makes it invisible): its pictures load when
	   it opens, not with every page. */
	.gf .main-navigation ul.menu li.gf-mega > .sub-menu-wrapper {
		display: none;
	}
	.gf .main-navigation ul.menu li.gf-mega:hover > .sub-menu-wrapper,
	.gf .main-navigation ul.menu li.gf-mega:focus-within > .sub-menu-wrapper,
	.gf .main-navigation ul.menu li.gf-mega.dropdown-open > .sub-menu-wrapper {
		display: block;
	}
	.gf .main-navigation ul li.gf-mega > .sub-menu-wrapper > .container > ul.sub-menu {
		display: grid;
		grid-template-columns: minmax(0, 6.2fr) minmax(0, 1.8fr) minmax(0, 1.8fr) minmax(0, 2.8fr);
		gap: 0 36px;
		align-items: start;
		padding: 24px 0 30px;
	}
	.gf .main-navigation ul li.gf-mega > .sub-menu-wrapper > .container > ul.sub-menu > li,
	.gf .main-navigation ul li.gf-mega > .sub-menu-wrapper > .container > ul.sub-menu > li:last-child {
		width: auto;
		margin: 0;
		padding: 0;
		border: 0;
	}
	/* A column's own list: no Shoptimizer box, no indent. */
	.gf .main-navigation ul.menu li.gf-mega li > .sub-menu-wrapper,
	.gf .main-navigation ul.menu li.gf-mega li > .sub-menu-wrapper > .container {
		position: static;
		width: auto;
		max-width: none;
		margin: 0;
		padding: 0;
		box-shadow: none;
		border: 0;
		background: none;
	}
	.gf .main-navigation ul.menu li.gf-mega li > .sub-menu-wrapper ul.sub-menu {
		width: auto;
		margin: 0;
		padding: 0;
		box-shadow: none;
	}
	.gf .gf-mega__head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		margin-bottom: 12px;
	}
	.gf .gf-mega__h,
	.gf .main-navigation ul.menu li.gf-mega li.nolink > .gf-mega__h {
		display: block;
		margin: 0 0 12px;
		padding: 0;
		color: var(--gf-muted);
		font-size: 12px;
		font-weight: 600;
		letter-spacing: 0.09em;
		line-height: 1.4;
		text-transform: uppercase;
	}
	.gf .gf-mega__head .gf-mega__h {
		margin: 0;
	}
	.gf .main-navigation ul.menu li.gf-mega .gf-mega__all {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		min-height: 38px;
		padding: 0 14px;
		border: 1.5px solid var(--gf-ink);
		border-radius: 999px;
		background: #ffffff;
		color: var(--gf-ink);
		font-size: 14px;
		font-weight: 600;
	}
	.gf .main-navigation ul.menu li.gf-mega .gf-mega__all:hover {
		background: var(--gf-sand);
	}
	.gf .gf-mega__all .gf-ico {
		width: 16px;
		height: 16px;
	}
	/* Tiles: three per row. */
	.gf .main-navigation ul.menu li.gf-mega-tiles > .sub-menu-wrapper ul.sub-menu {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 10px;
	}
	.gf .main-navigation ul.menu li.gf-mega-tiles > .sub-menu-wrapper ul.sub-menu > li {
		margin: 0;
		padding: 0;
	}
	.gf .main-navigation ul.menu li.gf-mega .gf-tile {
		display: grid;
		align-content: start;
		gap: 4px;
		min-height: 0;
		height: 100%;
		padding: 10px 10px 12px;
		border-radius: 16px;
		background: var(--gf-well);
		color: var(--gf-ink);
		font-size: 15px;
		font-weight: 600;
		line-height: 1.25;
	}
	.gf .main-navigation ul.menu li.gf-mega .gf-tile:hover {
		background: var(--gf-well);
		box-shadow: inset 0 0 0 1.5px var(--gf-ink);
		color: var(--gf-ink);
	}
	.gf .gf-tile__pic {
		position: relative;
		display: grid;
		place-items: center;
		aspect-ratio: 16 / 10;
		margin-bottom: 4px;
		overflow: hidden;
		border-radius: 10px;
		color: var(--gf-muted);
	}
	.gf .gf-tile__pic .gf-ico {
		width: 48px;
		height: 48px;
	}
	.gf .gf-tile__img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		mix-blend-mode: multiply;
	}
	.gf .gf-tile__s {
		color: var(--gf-muted);
		font-size: 12.5px;
		font-weight: 500;
	}
	/* Link columns (Budget) and the brands. */
	.gf .main-navigation ul.menu li.gf-mega-col li > a,
	.gf .main-navigation ul.menu li.gf-mega .gf-mega__links a {
		display: flex;
		align-items: center;
		min-height: 34px;
		padding: 0;
		border-radius: 0;
		background: none;
		color: var(--gf-ink-2);
		font-size: 15px;
		font-weight: 400;
	}
	.gf .main-navigation ul.menu li.gf-mega-col li > a:hover,
	.gf .main-navigation ul.menu li.gf-mega .gf-mega__links a:hover {
		background: none;
		color: var(--gf-ink);
		text-decoration: underline;
		text-underline-offset: 3px;
	}
	.gf .gf-mega__links {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.gf .gf-mega__links li {
		margin: 0;
	}
	/* The featured product. */
	.gf .main-navigation ul.menu li.gf-mega .gf-promo {
		display: grid;
		align-content: start;
		gap: 4px;
		min-height: 0;
		padding: 14px;
		border-radius: 18px;
		background: var(--gf-sand);
		color: var(--gf-ink);
		font-size: 14px;
		font-weight: 400;
	}
	.gf .main-navigation ul.menu li.gf-mega .gf-promo:hover {
		background: var(--gf-sand);
		box-shadow: inset 0 0 0 1.5px var(--gf-ink);
	}
	.gf .main-navigation ul.menu li.gf-mega li.nolink .gf-promo__pic {
		position: relative;
		display: block;
		aspect-ratio: 16 / 10;
		margin-bottom: 6px;
		padding: 0;
		overflow: hidden;
		border-radius: 12px;
		background: var(--gf-well);
	}
	.gf .gf-promo__pic img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		mix-blend-mode: multiply;
	}
	/* Shoptimizer shows every span of a "nolink" item as a block; the card's own parts set their own. */
	.gf .main-navigation ul.menu li.gf-mega li.nolink .gf-promo span {
		padding: 0;
	}
	.gf .main-navigation ul.menu li.gf-mega li.nolink .gf-promo__price span,
	.gf .main-navigation ul.menu li.gf-mega li.nolink .gf-promo__lines span {
		display: inline;
	}
	.gf .main-navigation ul.menu li.gf-mega li.nolink .gf-promo__go {
		display: inline-flex;
	}
	.gf .gf-promo__tag {
		color: var(--gf-muted);
		font-size: 12px;
		font-weight: 600;
		letter-spacing: 0.09em;
		text-transform: uppercase;
	}
	/* A sample product wears the same navy "Voorbeeld" label as on its card. */
	.gf .main-navigation ul.menu li.gf-mega li.nolink .gf-promo--sample .gf-promo__tag {
		display: inline-flex;
		align-items: center;
		justify-self: start;
		min-height: 24px;
		padding: 0 9px;
		border-radius: 6px;
		background: var(--gf-ink);
		color: #ffffff;
		letter-spacing: 0.02em;
		text-transform: none;
	}
	.gf .gf-promo__name {
		font-size: 17px;
		font-weight: 600;
		line-height: 1.3;
	}
	.gf .gf-promo__price {
		color: var(--gf-ink);
		font-size: 17px;
		font-weight: 700;
	}
	.gf .gf-promo__lines {
		color: var(--gf-ink-2);
		font-size: 13.5px;
	}
	.gf .gf-promo__go {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		margin-top: 4px;
		font-weight: 600;
		text-decoration: underline;
		text-decoration-thickness: 1.5px;
		text-underline-offset: 4px;
	}
	.gf .gf-promo__go .gf-ico {
		width: 16px;
		height: 16px;
	}
}

/* ---------- phone header: menu, logo in the middle, account and bag; the search field below ---------- */
@media (max-width: 992px) {
	.gf .site-header .main-header.col-full {
		grid-template-columns: 44px 44px minmax(0, 1fr) 44px 44px;
		grid-template-areas:
			"menu . logo account cart"
			"search search search search search";
		column-gap: 0;
		padding: 0 6px;
	}
	.gf .site-header .site-branding button.menu-toggle {
		width: 44px;
		height: 44px;
	}
	.gf .site-header .menu-toggle .bar-text {
		display: none;
	}
	.gf .site-header .site-title {
		justify-content: center;
		padding-left: 0;
	}
	.gf .gf-logo__compact svg {
		height: 35px;
	}
	.gf .gf-act--wishlist,
	.gf .gf-act__label {
		display: none;
	}
	.gf .site-header .gf-act--account a,
	.gf .site-header .gf-cart a.cart-contents {
		width: 44px;
		height: 44px;
		border-radius: 12px;
	}
	.gf .site-header .gf-cart a.cart-contents .amount {
		display: none;
	}
	.gf.m-search-bh .site-header .site-search {
		padding: 0 10px 10px;
	}
	.gf .site-header .site-search input.search-field {
		height: 50px;
		min-height: 50px;
		padding-right: 14px;
	}
	/* As in the prototype: on phones the keyboard's search key sends the search. */
	.gf .site-header .site-search button.gf-search-go {
		display: none;
	}
	.gf .bmp-mini .gf-cart a.cart-contents {
		width: 44px;
		height: 44px;
	}
}

/* ---------- phone menu panel: rows with live figures, Aanbiedingen and Advies, the account links ---------- */
@media (max-width: 992px) {
	.gf .bmp-row__pic {
		background: var(--gf-well);
	}
	.gf .bmp-row__title {
		font-size: 17px;
		font-weight: 600;
	}
	.gf .bmp-row__pic--icon {
		width: 24px;
		height: 24px;
		background: none;
		color: var(--gf-ink);
	}
	.gf .bmp-row__pic--icon .gf-ico {
		width: 22px;
		height: 22px;
	}
	.gf .col-full-nav .shoptimizer-mobile-menu > ul > li.gf-row-deal .bmp-row,
	.gf .col-full-nav .shoptimizer-mobile-menu > ul > li.gf-row-advice .bmp-row {
		min-height: 56px;
	}
	.gf .gf-panel-links {
		margin: 20px 16px 0;
		padding: 0;
		list-style: none;
	}
	.gf .gf-panel-links li {
		margin: 0;
		border-bottom: 1px solid var(--gf-line);
	}
	.gf .gf-panel-links a {
		display: flex;
		align-items: center;
		gap: 12px;
		min-height: 48px;
		color: var(--gf-ink);
		font-size: 16px;
		font-weight: 500;
		text-decoration: none;
	}
	.gf .gf-panel-links .gf-ico {
		width: 20px;
		height: 20px;
		color: var(--gf-ink-2);
	}
	.gf .col-full-nav .bmp-panel-bike {
		padding: 20px 16px 24px;
	}
}
@media (min-width: 993px) {
	.gf .gf-panel-links {
		display: none;
	}
}

/* ---------- category pages: the filter button on phones, the category text, one toolbar (Concept D) ---------- */
@media (max-width: 992px) {
	/* Shoptimizer's "Filters tonen" bar becomes the prototype's rounded button, inside the page margins. */
	.gf .mobile-filter.shoptimizer-mobile-toggle,
	.gf button.mobile-filter {
		justify-content: center;
		width: 100%;
		min-height: 46px;
		margin: 0 0 14px;
		padding: 0 16px;
		border: 1.5px solid var(--gf-ctl);
		border-radius: 12px;
		background: #ffffff;
		box-shadow: 0 6px 16px -10px rgba(23, 42, 56, 0.35);
		color: var(--gf-ink);
		font-size: 14.5px;
		font-weight: 600;
		letter-spacing: 0;
		text-transform: none;
	}
	.gf .mobile-filter.shoptimizer-mobile-toggle svg {
		position: static;
		flex: none;
		width: 18px;
		height: 18px;
		transform: none;
	}
	/* Shoptimizer centres the category text on phones; the title above it is left. */
	.gf header.woocommerce-products-header {
		align-items: stretch;
	}
}
/* Below the products only the page numbers: sorting and the count stay at the top. */
.gf .shoptimizer-sorting.sorting-end .woocommerce-ordering,
.gf .shoptimizer-sorting.sorting-end .woocommerce-result-count {
	display: none;
}
.gf .shoptimizer-sorting.sorting-end {
	justify-content: center;
}
.gf .shoptimizer-sorting.sorting-end .woocommerce-pagination {
	margin-left: 0;
}
.gf .shoptimizer-sorting.sorting-end:not(:has(.woocommerce-pagination)) {
	display: none;
}

/* ---------- footer: one navy band ---------- */
.gf .gf-foot-slot {
	background: var(--foot-bg);
	color: var(--gf-on-night-2);
}
.gf .gf-foot-slot .col-full {
	padding-top: 40px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--gf-line-night);
}
.gf .gf-foot-slot .gf-slot {
	margin: 0;
}
/* The row is a grid (also when Elementor boxes it: then its inner wrapper is the grid). */
.gf .gf-foot-slot .e-con.gf-foot-top {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--width: 100%;
	--content-width: 100%;
}
.gf .gf-foot-slot .e-con.gf-foot-top:not(.e-con-boxed),
.gf .gf-foot-slot .e-con.gf-foot-top > .e-con-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	width: 100%;
	max-width: none;
	padding: 0;
}
@media (min-width: 993px) {
	.gf .gf-foot-slot .col-full {
		padding-top: 56px;
		padding-bottom: 40px;
	}
	.gf .gf-foot-slot .e-con.gf-foot-top:not(.e-con-boxed),
	.gf .gf-foot-slot .e-con.gf-foot-top > .e-con-inner {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		align-items: start;
		gap: 48px;
	}
}
.e-con.gf-foot-about,
.e-con.gf-foot-help {
	--padding-top: 0;
	--padding-bottom: 0;
	--padding-left: 0;
	--padding-right: 0;
	--width: 100%;
	align-content: start;
}
.gf .gf-foot-about p {
	max-width: 50ch;
	margin: 0;
	color: var(--gf-on-night-2);
	font-size: 14.5px;
	line-height: 1.6;
}
.gf .gf-foot-about a {
	color: var(--gf-on-night);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.gf .gf-foot-logo .gf-logo-mark svg {
	display: block;
	width: auto;
	height: 30px;
}
.gf .gf-ticks {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.gf .gf-ticks li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: var(--gf-on-night);
	font-size: 14.5px;
}
.gf .gf-ticks li::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	background: #7fd3a6;
	-webkit-mask: var(--gf-i-check) center / 18px no-repeat;
	mask: var(--gf-i-check) center / 18px no-repeat;
}
.e-con.gf-foot-help {
	--padding-top: 20px;
	--padding-bottom: 20px;
	--padding-left: 20px;
	--padding-right: 20px;
	border-radius: 18px;
	background: var(--gf-night-2);
}
.gf .gf-foot-help__title,
.gf .gf-foot-help__title .elementor-heading-title {
	margin: 0;
	color: var(--gf-on-night);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
}
.gf .gf-foot-help p {
	margin: 0;
	color: var(--gf-on-night-2);
	font-size: 14.5px;
}
.gf .gf-btn--light .elementor-button {
	min-height: 46px;
	padding: 0 20px;
	border-color: var(--gf-on-night);
	background: var(--gf-on-night);
	color: var(--gf-ink);
	font-size: 15px;
}
.gf .gf-btn--light .elementor-button:hover {
	background: #ffffff;
	color: var(--gf-ink);
}
.gf .gf-btn--ghost .elementor-button {
	min-height: 46px;
	padding: 0 20px;
	border-color: rgba(250, 249, 246, 0.45);
	background: transparent;
	color: var(--gf-on-night);
	font-size: 15px;
}
.gf .gf-btn--ghost .elementor-button:hover {
	border-color: var(--gf-on-night);
	background: transparent;
	color: var(--gf-on-night);
}
.gf .gf-foot-slot :focus-visible,
.gf .gf-foot-legal :focus-visible {
	outline-color: var(--gf-on-night);
}
/* The link columns. */
.gf .site-footer {
	padding-top: 0;
	padding-bottom: 0;
}
.gf .site-footer .col-full {
	padding-top: 30px;
	padding-bottom: 30px;
}
.gf .site-footer .widget .widget-title,
.gf .site-footer .widget h2,
.gf .site-footer .bmp-acc__label {
	color: var(--gf-on-night-2);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}
.gf .site-footer li a {
	color: var(--gf-on-night);
	font-size: 14.5px;
}
.gf .site-footer li a:hover {
	color: var(--gf-on-night);
	text-decoration: underline;
	text-underline-offset: 3px;
}
@media (min-width: 993px) {
	/* Every footer row lines up with the header (Shoptimizer's content width and side padding). */
	.gf .site-footer .col-full,
	.gf footer.copyright .col-full {
		max-width: 1170px;
		padding-right: 2.617924em;
		padding-left: 2.617924em;
	}
	.gf .site-footer .col-full {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 26px 16px;
		padding-top: 40px;
		padding-bottom: 40px;
	}
	.gf .site-footer .widget {
		width: auto;
		margin: 0;
		padding: 0;
	}
}
.gf footer.copyright .col-full {
	justify-content: flex-start;
}
/* The legal row: the withdrawal button and the legal guarantee. */
.gf .gf-foot-legal .col-full {
	display: grid;
	gap: 18px;
	padding-top: 26px;
	padding-bottom: 26px;
	border-top: 1px solid var(--gf-line-night);
}
.gf .gf-foot-legal__withdraw {
	margin: 0;
}
.gf .gf-foot-legal__guarantee {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	max-width: 70ch;
	margin: 0;
	color: var(--gf-on-night-2);
	font-size: 13.5px;
	line-height: 1.55;
}
.gf .gf-foot-legal__guarantee .gf-ico {
	width: 18px;
	height: 18px;
	margin-top: 1px;
	color: var(--gf-on-night);
}
.gf .gf-foot-legal__guarantee a {
	color: var(--gf-on-night);
	text-decoration: underline;
	text-underline-offset: 3px;
}
@media (min-width: 993px) {
	.gf .gf-foot-legal .col-full {
		grid-template-columns: auto minmax(0, 1fr);
		align-items: center;
		gap: 32px;
	}
}
.gf footer.copyright {
	border-top: 1px solid var(--gf-line-night);
	color: var(--gf-on-night-2);
}

/* ---------- sample products: a clear label (gf-site, Sample_Catalogue) ---------- */
.gf .gf-sample-label {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	min-height: 24px;
	padding: 0 9px;
	border-radius: 6px;
	background: var(--gf-ink);
	color: #ffffff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
.gf .gf-sample-label--page {
	position: static;
	margin: 0 0 10px;
	background: var(--gf-accent-soft);
	color: var(--gf-ink);
}
.gf .gf-w-products__empty {
	margin: 0;
	padding: 16px 18px;
	border-radius: var(--gf-r-l);
	background: var(--gf-sand);
	color: var(--gf-ink-2);
}
