/* bundled source: style.css */
/*
Theme Name: Het Broekenpaleis
Theme URI: https://github.com/queever/Broekenpaleis
Author: Broekenpaleis
Description: Custom WooCommerce theme for Het Broekenpaleis. Modern, minimal and performance-focused.
Version: 0.62.4
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 8.1
License: Proprietary
Text Domain: het-broekenpaleis
*/

@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 100 900;
	font-display: optional;
	src: url("../fonts/Montserrat-VariableFont_wght.woff2") format("woff2");
}

:root {
	--bpal-primary: #0e2742;
	--bpal-secondary: #132f4d;
	--bpal-accent: #fb7d26;
	--bpal-neutral: #f5f6f7;
	--bpal-background: #fff;
	--bpal-text: #2b3138;
	--bpal-white: #fff;
	--bpal-line: rgba(14, 39, 66, 0.1);
	--bpal-shadow: 0 8px 24px rgba(14, 39, 66, 0.05);
	--bpal-radius: 3px;
	--bpal-container: 1440px;
	--bpal-heading: Montserrat, "Segoe UI", Arial, sans-serif;
	--bpal-body: Inter, "Segoe UI", Arial, sans-serif;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--bpal-background);
	color: var(--bpal-text);
	font-family: var(--bpal-body);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: var(--bpal-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

a:hover {
	color: var(--bpal-secondary);
}

button,
input,
select,
textarea {
	font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 0.7em;
	color: var(--bpal-primary);
	font-family: var(--bpal-heading);
	font-weight: 600;
	line-height: 1.12;
	letter-spacing: -0.02em;
	overflow-wrap: break-word;
}

h1 { font-size: clamp(1.8rem, 3vw, 2.35rem); }
h2 { font-size: clamp(1.55rem, 2.4vw, 2.1rem); }
h3 { font-size: clamp(1.05rem, 1.5vw, 1.2rem); }
p { margin: 0 0 1.2rem; }

:focus-visible {
	outline: 3px solid var(--bpal-accent);
	outline-offset: 3px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.bpal-container {
	width: min(calc(100% - 40px), var(--bpal-container));
	margin-inline: auto;
}

.bpal-skip-link {
	position: fixed;
	z-index: 9999;
	top: 12px;
	left: 12px;
	padding: 10px 14px;
	background: var(--bpal-primary);
	color: var(--bpal-white);
	transform: translateY(-180%);
}

.bpal-skip-link:focus { transform: translateY(0); }

.bpal-topbar {
	background: var(--bpal-primary);
	color: var(--bpal-white);
	font-family: var(--bpal-heading);
	font-size: 0.78rem;
}

.bpal-topbar__inner {
	display: grid;
	grid-template-columns: repeat(var(--bpal-topbar-items, 4), minmax(0, 1fr));
	gap: 24px;
	align-items: center;
	min-height: 36px;
	text-align: center;
}

/* Decorative checkmarks for each existing topbar message. */
.bpal-topbar__inner > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 0;
}

.bpal-topbar__inner > span::before {
	content: "\2713";
	flex: 0 0 auto;
	color: var(--bpal-accent);
	font-family: Arial, sans-serif;
	font-size: 1.1em;
	font-weight: 700;
	line-height: 1;
}

.bpal-site-header {
	position: sticky;
	z-index: 100;
	top: 0;
	background: rgba(255, 255, 255, 0.98);
	border-bottom: 1px solid var(--bpal-line);
	backdrop-filter: blur(12px);
}

.admin-bar .bpal-site-header { top: 32px; }

.bpal-site-header__inner {
	display: grid;
	grid-template-columns: minmax(210px, 240px) 1fr auto;
	gap: 24px;
	align-items: center;
	min-height: 86px;
}

.bpal-brand__link {
	display: inline-flex;
	gap: 12px;
	align-items: center;
	color: var(--bpal-primary);
	text-decoration: none;
}

.bpal-site-header .bpal-brand__logo {
	width: auto;
	height: 64px;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
}

.bpal-brand__name {
	font-family: var(--bpal-heading);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.1;
	white-space: nowrap;
}

.bpal-primary-nav__list {
	display: flex;
	gap: 0;
	align-items: center;
	padding: 0;
	margin: 0;
	list-style: none;
}

.bpal-primary-nav ul {
	padding: 0;
	margin: 0;
	list-style: none;
}

.bpal-primary-nav li { position: relative; }

.bpal-primary-nav a {
	display: block;
	padding: 12px 13px;
	color: var(--bpal-primary);
	font-family: var(--bpal-heading);
	font-size: 0.88rem;
	font-weight: 500;
	text-decoration: none;
}

.bpal-primary-nav a:hover { color: var(--bpal-accent); }

.bpal-primary-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: -18px;
	display: none;
	min-width: 220px;
	padding: 12px 18px;
	background: var(--bpal-white);
	border: 1px solid var(--bpal-line);
	box-shadow: var(--bpal-shadow);
}

.bpal-primary-nav li:hover > .sub-menu,
.bpal-primary-nav li:focus-within > .sub-menu { display: block; }

.bpal-header-tools {
	display: flex;
	gap: 12px;
	align-items: center;
}

/* The search field of the header (a pill since Theme 0.42.1): assets/css/header-navigation.css. */

.bpal-header-action {
	position: relative;
	display: inline-grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid transparent;
	border-radius: 50%;
	color: var(--bpal-primary);
	font-family: var(--bpal-heading);
	font-weight: 600;
	text-decoration: none;
}

.bpal-header-action:hover {
	border-color: var(--bpal-line);
	background: var(--bpal-white);
}

.bpal-icon {
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
}

.bpal-header-action__count {
	position: absolute;
	top: -2px;
	right: -2px;
	display: grid;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	place-items: center;
	border-radius: 999px;
	background: var(--bpal-accent);
	color: var(--bpal-primary);
	font-size: 0.66rem;
	font-weight: 700;
}

.bpal-menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid var(--bpal-line);
	background: transparent;
	cursor: pointer;
}

.bpal-menu-toggle__bars,
.bpal-menu-toggle__bars::before,
.bpal-menu-toggle__bars::after {
	display: block;
	width: 20px;
	height: 2px;
	margin: auto;
	background: var(--bpal-primary);
	content: "";
	transition: transform 0.2s ease;
}

.bpal-menu-toggle__bars::before { transform: translateY(-6px); }
.bpal-menu-toggle__bars::after { transform: translateY(4px); }

.bpal-main { min-height: 55vh; }

.bpal-hero {
	overflow: hidden;
	background: var(--bpal-white);
}

.bpal-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(420px, 0.85fr);
	min-height: 590px;
}

.bpal-hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: 72px 0;
}


.bpal-eyebrow {
	margin-bottom: 14px;
	color: var(--bpal-secondary);
	font-family: var(--bpal-heading);
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.bpal-hero__lead {
	max-width: 620px;
	margin-bottom: 30px;
	font-size: clamp(1rem, 2vw, 1.22rem);
}

.bpal-button-row {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 30px;
}

.bpal-button {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	padding: 12px 24px;
	border: 1px solid transparent;
	border-radius: var(--bpal-radius);
	font-family: var(--bpal-heading);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.bpal-button--primary { background: var(--bpal-primary); color: var(--bpal-white); }
.bpal-button--primary:hover { background: var(--bpal-secondary); color: var(--bpal-white); }
.bpal-button--accent { background: var(--bpal-accent); color: var(--bpal-primary); }
.bpal-button--accent:hover { background: var(--bpal-primary); color: var(--bpal-white); }
.bpal-button--outline { border-color: var(--bpal-primary); color: var(--bpal-primary); }
.bpal-button--outline:hover { background: var(--bpal-primary); color: var(--bpal-white); }

.bpal-inline-benefits {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 24px;
	padding: 0;
	margin: 0;
	list-style: none;
	font-size: 0.88rem;
}

.bpal-inline-benefits li::before {
	margin-right: 8px;
	color: var(--bpal-accent);
	content: "•";
}

.bpal-hero__media {
	position: relative;
	min-width: 0;
	min-height: 590px;
	overflow: hidden;
}

.bpal-hero__media img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: 100%;
	object-fit: cover;
}

.bpal-hero__placeholder {
	display: grid;
	width: 100%;
	height: 100%;
	min-height: 590px;
	place-items: center;
	background: linear-gradient(135deg, rgba(14, 39, 66, 0.92), rgba(19, 47, 77, 0.98));
	color: var(--bpal-accent);
	font-family: var(--bpal-heading);
	font-size: clamp(5rem, 12vw, 10rem);
	font-weight: 700;
	letter-spacing: -0.08em;
}

.bpal-trust-strip {
	background: var(--bpal-white);
	border-block: 1px solid var(--bpal-line);
}

.bpal-trust-strip__grid {
	display: grid;
	grid-template-columns: repeat(var(--bpal-trust-count, 4), minmax(0, 1fr));
}

.bpal-trust-strip__grid > div {
	display: flex;
	min-height: 94px;
	flex-direction: column;
	justify-content: center;
	padding: 20px 28px;
	border-right: 1px solid var(--bpal-line);
}

.bpal-trust-strip__grid > div:last-child { border-right: 0; }
.bpal-trust-strip strong { color: var(--bpal-primary); font-family: var(--bpal-heading); font-size: 0.92rem; }
.bpal-trust-strip span { font-size: 0.82rem; }

.bpal-section { padding: 74px 0; }
.bpal-section--muted { background: var(--bpal-white); }

.bpal-section-heading {
	display: flex;
	gap: 30px;
	align-items: end;
	justify-content: space-between;
	margin-bottom: 30px;
}

.bpal-section-heading h2 { margin-bottom: 0; }

.bpal-text-link {
	font-family: var(--bpal-heading);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-decoration: none;
	text-transform: uppercase;
}

.bpal-category-grid,
.bpal-product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.bpal-category-card,
.bpal-product-card {
	overflow: hidden;
	background: var(--bpal-white);
	border: 1px solid var(--bpal-line);
	border-radius: var(--bpal-radius);
	color: inherit;
	text-decoration: none;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.bpal-category-card:hover,
.bpal-product-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--bpal-shadow);
}

.bpal-category-card__media {
	display: grid;
	aspect-ratio: 4 / 3;
	place-items: center;
	overflow: hidden;
	background: var(--bpal-neutral);
	color: var(--bpal-primary);
	font-family: var(--bpal-heading);
	font-size: 4rem;
	font-weight: 700;
}

.bpal-category-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.bpal-category-card:hover img { transform: scale(1.025); }

.bpal-category-card__body {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px;
}

.bpal-category-card h3 { margin: 0; font-size: 1rem; }

/* Homepage collection only; other .bpal-section and catalog cards are unchanged. */
.bpal-home-categories__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 15px;
}

.bpal-home-category-card {
	position: relative;
	display: block;
	min-width: 0;
	aspect-ratio: 470 / 240;
	overflow: hidden;
	color: #fff;
	background: var(--bpal-primary);
	text-decoration: none;
}

.bpal-home-category-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.32s ease;
}

.bpal-home-category-card::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(155deg, rgba(255, 255, 255, 0.16), transparent 48%),
		linear-gradient(to top, rgba(14, 39, 66, 0.87), transparent 50%);
	content: '';
	pointer-events: none;
}

.bpal-home-category-card__label {
	position: absolute;
	z-index: 1;
	right: 16px;
	bottom: 12px;
	left: 16px;
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 14px;
	color: #fff;
	font-family: var(--bpal-heading);
	font-size: clamp(1.05rem, 1.6vw, 1.4rem);
	font-weight: 600;
	line-height: 1.2;
}

.bpal-home-category-card:hover .bpal-home-category-card__image,
.bpal-home-category-card:focus-visible .bpal-home-category-card__image { transform: scale(1.035); }
.bpal-home-category-card:focus-visible { outline: 3px solid var(--bpal-primary); outline-offset: 3px; }

.bpal-product-card__media {
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: #f5f6f7;
}

.bpal-product-card__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.bpal-product-card__body { padding: 16px; }

.bpal-product-card__brand,
.bpal-product-card__meta {
	margin: 0 0 4px;
	color: #68717a;
	font-size: 0.78rem;
}

.bpal-product-card__brand {
	color: var(--bpal-primary);
	font-family: var(--bpal-heading);
	font-weight: 600;
	text-transform: uppercase;
}

.bpal-product-card__title { margin-bottom: 10px; font-size: 0.98rem; }
.bpal-product-card__title a { text-decoration: none; }

.bpal-product-card__price {
	margin-top: 12px;
	color: var(--bpal-primary);
	font-family: var(--bpal-heading);
	font-weight: 700;
}

.bpal-product-card__price del { color: #7a7f84; font-weight: 500; }
.bpal-product-card__price ins { text-decoration: none; }

.bpal-fit-cta {
	padding: 72px 0;
	background: var(--bpal-white);
}

.bpal-fit-cta__grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 56px;
	align-items: center;
}

.bpal-fit-cta__grid > div:first-child { max-width: 650px; }

.bpal-fit-cta__panel {
	display: grid;
	min-height: 290px;
	grid-template-columns: repeat(3, 1fr);
	gap: 1px;
	background: var(--bpal-line);
	border: 1px solid var(--bpal-line);
}

.bpal-fit-cta__panel span {
	display: grid;
	place-items: center;
	background: var(--bpal-background);
	color: var(--bpal-primary);
	font-family: var(--bpal-heading);
	font-size: clamp(1.6rem, 5vw, 3.8rem);
	font-weight: 700;
}

.bpal-page-content { padding: 64px 0; }
.bpal-prose { max-width: 860px; }
.bpal-prose > *:first-child { margin-top: 0; }
.bpal-prose img { border-radius: var(--bpal-radius); }
.bpal-page-content .bpal-entry__header h1 {
	font-size: clamp(2rem, 4vw, 2.75rem);
}
.bpal-page-content .bpal-entry__content h2 {
	margin-top: 1.65em;
	font-size: clamp(1.35rem, 2vw, 1.65rem);
}
.bpal-page-content .bpal-entry__content h3 {
	margin-top: 1.35em;
	font-size: clamp(1.05rem, 1.5vw, 1.2rem);
}
.bpal-entry + .bpal-entry { padding-top: 36px; margin-top: 36px; border-top: 1px solid var(--bpal-line); }
.bpal-entry__image { margin: 24px 0; }
.bpal-404 {
	padding: clamp(52px, 7vw, 92px) 0;
	background: var(--bpal-background);
}

.bpal-404__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.84fr) minmax(420px, 1.16fr);
	gap: clamp(40px, 7vw, 88px);
	align-items: center;
}

.bpal-404__content { max-width: 570px; }

.bpal-404 h1 {
	max-width: 10ch;
	margin-bottom: 22px;
	font-size: clamp(2.35rem, 5vw, 3.25rem);
	line-height: 0.98;
}

.bpal-404__lead {
	max-width: 52ch;
	margin-bottom: 30px;
	font-size: clamp(1rem, 1.4vw, 1.12rem);
}

.bpal-404__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.bpal-404__media {
	margin: 0;
	overflow: hidden;
	background: #f5f6f7;
	border: 1px solid var(--bpal-line);
	box-shadow: 0 24px 56px rgba(14, 39, 66, 0.14);
}

.bpal-404__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.bpal-service-page {
	width: 100%;
	max-width: none;
	padding-bottom: 72px;
	background: var(--bpal-background);
}

.bpal-has-service-page .bpal-page-content { padding: 0; }
.bpal-service-page .bpal-entry__header { display: none; }

.bpal-service-hero {
	padding: clamp(48px, 7vw, 82px) max(20px, calc((100% - var(--bpal-container)) / 2));
	background: var(--bpal-primary);
	color: var(--bpal-white);
}

.bpal-service-hero > * { max-width: 760px; }
.bpal-service-hero .bpal-eyebrow { margin-bottom: 10px; color: var(--bpal-accent); }
.bpal-service-hero h1 { margin: 0 0 16px; color: var(--bpal-white); font-size: clamp(1.625rem, 4vw, 3.25rem); }
.bpal-service-hero p:last-child { margin-bottom: 0; color: rgba(255, 255, 255, 0.84); font-size: 1.05rem; }

.bpal-service-content {
	width: min(calc(100% - 40px), var(--bpal-container));
	margin: 48px auto 0;
}

/* WordPress constrained groups may already be stored in existing service pages.
 * Keep only these service layout children free from the global 760px content cap. */
.bpal-service-page .bpal-service-content > *,
.bpal-service-page .bpal-service-layout > * {
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.bpal-service-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 20px;
	margin-bottom: 36px;
}

.bpal-service-card {
	padding: 24px;
	background: var(--bpal-white);
	border: 1px solid var(--bpal-line);
	border-top: 4px solid var(--bpal-accent);
}

.bpal-service-card h2,
.bpal-service-card h3 { margin: 0 0 10px; font-size: 1.1rem; }
.bpal-service-card p:last-child { margin-bottom: 0; }

.bpal-service-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.75fr);
	gap: 28px;
	align-items: start;
}

.bpal-service-main,
.bpal-service-aside {
	padding: clamp(24px, 4vw, 42px);
	background: var(--bpal-white);
	border: 1px solid var(--bpal-line);
}

.bpal-service-main > *:first-child,
.bpal-service-aside > *:first-child { margin-top: 0; }
.bpal-service-main h2 { margin-top: 1.7em; font-size: clamp(1.35rem, 2.3vw, 1.75rem); }
.bpal-service-main h3 { margin-top: 1.35em; font-size: 1.05rem; }
.bpal-service-main ul,
.bpal-service-main ol { padding-left: 1.35rem; }
.bpal-service-main li + li { margin-top: 8px; }

.bpal-service-table-wrap { overflow-x: auto; margin: 22px 0 28px; border: 1px solid var(--bpal-line); }
.bpal-service-table { width: 100%; min-width: 520px; margin: 0; border-collapse: collapse; }
.bpal-service-table th,
.bpal-service-table td { padding: 14px 16px; border-bottom: 1px solid var(--bpal-line); text-align: left; }
.bpal-service-table thead th { background: var(--bpal-primary); color: var(--bpal-white); font-family: var(--bpal-heading); }
.bpal-service-table tbody tr:last-child > * { border-bottom: 0; }

.bpal-service-steps { padding: 0; margin: 24px 0; list-style: none; counter-reset: bpal-service-step; }
.bpal-service-steps li { position: relative; min-height: 42px; padding: 2px 0 18px 54px; counter-increment: bpal-service-step; }
.bpal-service-steps li::before {
	position: absolute;
	top: 0;
	left: 0;
	display: grid;
	width: 36px;
	height: 36px;
	place-items: center;
	background: var(--bpal-primary);
	color: var(--bpal-white);
	font-family: var(--bpal-heading);
	font-weight: 700;
	content: counter(bpal-service-step);
}

.bpal-service-note { padding: 18px 20px; margin: 24px 0; background: rgba(231, 216, 184, 0.32); border-left: 4px solid var(--bpal-accent); }
.bpal-service-note > *:last-child { margin-bottom: 0; }
.bpal-service-aside { background: var(--bpal-primary); color: rgba(255, 255, 255, 0.84); }
.bpal-service-aside h2,
.bpal-service-aside h3 { color: var(--bpal-white); }
.bpal-service-aside a { color: var(--bpal-white); }
.bpal-service-aside .bpal-button { display: inline-flex; margin-top: 8px; background: var(--bpal-accent); color: var(--bpal-primary); }
.bpal-service-aside address { font-style: normal; }

@media (max-width: 860px) {
	.bpal-service-summary { grid-template-columns: 1fr; }
	.bpal-service-layout { grid-template-columns: 1fr; }
}

@media (max-width: 680px) {
	.bpal-service-page { padding-bottom: 48px; }
	.bpal-service-content { width: min(calc(100% - 28px), var(--bpal-container)); margin-top: 28px; }
	.bpal-service-summary { gap: 14px; margin-bottom: 20px; }
	.bpal-service-card { padding: 20px; }
	.bpal-service-main,
	.bpal-service-aside { padding: 24px 20px; }
}

.bpal-contact-page {
	padding-bottom: 72px;
	background: var(--bpal-background);
}

.bpal-contact-hero {
	padding: clamp(56px, 8vw, 96px) 0;
	background: var(--bpal-primary);
	color: var(--bpal-white);
}

.bpal-contact-hero__inner { max-width: 780px; text-align: center; }
.bpal-contact-hero .bpal-eyebrow { color: var(--bpal-accent); }
.bpal-contact-hero h1 { margin-bottom: 18px; color: var(--bpal-white); font-size: clamp(2.25rem, 5vw, 3.25rem); }
.bpal-contact-hero p:last-child { max-width: 680px; margin: 0 auto; color: rgba(255, 255, 255, 0.82); font-size: 1.08rem; }

.bpal-contact-methods {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 22px;
	padding: 48px 0;
}

.bpal-contact-method {
	display: grid;
	grid-template-columns: 104px minmax(0, 1fr);
	gap: 18px;
	align-items: center;
	min-width: 0;
	padding: 24px;
	background: var(--bpal-white);
	border: 1px solid var(--bpal-line);
	box-shadow: 0 12px 32px rgba(14, 39, 66, 0.05);
}

.bpal-contact-method img { width: 104px; height: 104px; object-fit: contain; }
.bpal-contact-method h2 { margin: 0 0 8px; font-size: 1.08rem; }
.bpal-contact-method p { margin: 0 0 8px; font-size: 0.9rem; line-height: 1.55; }
.bpal-contact-method a { font-family: var(--bpal-heading); font-size: 0.88rem; font-weight: 600; }

.bpal-contact-main {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(280px, 0.8fr);
	gap: 28px;
	align-items: start;
	padding: 48px;
	background: var(--bpal-white);
	border: 1px solid var(--bpal-line);
}

.bpal-contact-main__form h2,
.bpal-contact-hours h2,
.bpal-contact-holidays h2 { font-size: clamp(1.6rem, 3vw, 2.25rem); }
.bpal-contact-main__form > p:nth-child(3) { margin-bottom: 28px; }
.bpal-contact-main__details { padding: 30px; background: var(--bpal-primary); color: rgba(255, 255, 255, 0.84); }
.bpal-contact-main__details h2,
.bpal-contact-main__details h3 { color: var(--bpal-white); }
.bpal-contact-main__details h2 { font-size: 1.35rem; }
.bpal-contact-main__details h3 { margin-top: 28px; font-size: 1rem; }
.bpal-contact-main__details address { font-style: normal; }
.bpal-contact-main__details a { color: var(--bpal-white); }
.bpal-contact-main__details hr { margin: 26px 0; border: 0; border-top: 1px solid rgba(255, 255, 255, 0.2); }

/* Theme 0.39.9: links in the blocks with a dark blue background (the aside of a service page, the company details of the contact page).
   The white link colour of these blocks is as specific as the global `a:hover { color: var(--bpal-primary) }` and comes first, so a link
   turned dark blue on dark blue under the mouse (and, on a phone, after a tap). On hover and keyboard focus they get the orange accent, as
   the links in the footer (5:1 on the dark blue). The focus ring was the dark blue of `:focus-visible { outline-color }` on the dark blue, so
   it is orange there too. A button in such a block keeps its own colours; the skip link has a dark background too. */
:is(.bpal-service-aside, .bpal-contact-main__details) a:not(.bpal-button):not(.button):is(:hover, :focus-visible) {
	color: var(--bpal-accent);
	outline-color: var(--bpal-accent);
}
.bpal-skip-link:hover { color: var(--bpal-white); }

.bpal-contact-facts { margin: 0; }
.bpal-contact-facts div { display: grid; grid-template-columns: minmax(88px, 0.75fr) minmax(0, 1.25fr); gap: 12px; padding: 7px 0; }
.bpal-contact-facts dt { color: rgba(255, 255, 255, 0.66); }
.bpal-contact-facts dd { min-width: 0; margin: 0; overflow-wrap: anywhere; color: var(--bpal-white); }

.bpal-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.bpal-form-field { min-width: 0; }
.bpal-form-field--wide { grid-column: 1 / -1; }
.bpal-form-field label { display: block; margin-bottom: 6px; color: var(--bpal-primary); font-family: var(--bpal-heading); font-size: 0.88rem; font-weight: 600; }
.bpal-form-optional { color: #69727c; font-family: var(--bpal-body); font-size: 0.78rem; font-weight: 400; }
.bpal-contact-form input[type="text"],
.bpal-contact-form input[type="email"],
.bpal-contact-form input[type="tel"],
.bpal-contact-form textarea {
	display: block;
	width: 100%;
	padding: 11px 13px;
	background: var(--bpal-white);
	border: 1px solid rgba(14, 39, 66, 0.28);
	border-radius: 2px;
	color: var(--bpal-text);
}
.bpal-contact-form textarea { min-height: 168px; resize: vertical; }
.bpal-contact-form input:focus,
.bpal-contact-form textarea:focus { border-color: var(--bpal-primary); outline: 3px solid rgba(198, 161, 91, 0.38); outline-offset: 1px; }
.bpal-form-consent { display: flex; gap: 10px; align-items: flex-start; margin: 20px 0 8px; font-size: 0.9rem; }
.bpal-form-consent input { width: 18px; height: 18px; margin-top: 3px; accent-color: var(--bpal-primary); }
.bpal-form-required { color: #69727c; font-size: 0.8rem; }
.bpal-form-notice { display: grid; gap: 3px; padding: 16px 18px; margin-bottom: 24px; border-left: 4px solid var(--bpal-accent); background: rgba(231, 216, 184, 0.35); }
.bpal-form-notice--error { border-left-color: #b3261e; background: #fff2f0; }
.bpal-form-honeypot { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; }

.bpal-contact-hours {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
	gap: 56px;
	align-items: start;
	padding: 72px 48px 48px;
}
.bpal-contact-hours__intro { max-width: 590px; }
.bpal-contact-hours__week { padding: 22px 28px; background: var(--bpal-white); border-top: 4px solid var(--bpal-accent); box-shadow: var(--bpal-shadow); }
.bpal-contact-hours__week dl { margin: 0; }
.bpal-contact-hours__week dl > div { display: grid; grid-template-columns: 1fr auto; gap: 24px; padding: 9px 0; border-bottom: 1px solid var(--bpal-line); }
.bpal-contact-hours__week dl > div:last-child { border-bottom: 0; }
.bpal-contact-hours__week dt { font-weight: 600; }
.bpal-contact-hours__week dd { display: flex; min-width: 9rem; gap: 8px; justify-content: flex-end; margin: 0; font-variant-numeric: tabular-nums; text-align: right; }

.bpal-contact-holidays { padding: 0 48px; }
.bpal-table-scroll { overflow-x: auto; border: 1px solid var(--bpal-line); background: var(--bpal-white); }
.bpal-table-scroll:focus { outline: 3px solid rgba(198, 161, 91, 0.45); outline-offset: 3px; }
.bpal-contact-holidays table { width: 100%; min-width: 500px; border-collapse: collapse; }
.bpal-contact-holidays th,
.bpal-contact-holidays td { padding: 13px 18px; border-bottom: 1px solid var(--bpal-line); text-align: left; }
.bpal-contact-holidays thead th { background: var(--bpal-primary); color: var(--bpal-white); font-family: var(--bpal-heading); }
.bpal-contact-holidays tbody th { color: var(--bpal-primary); }
.bpal-contact-holidays tbody tr:last-child > * { border-bottom: 0; }

@media (max-width: 980px) {
	.bpal-contact-methods { grid-template-columns: 1fr; }
	.bpal-contact-main { grid-template-columns: 1fr; }
	.bpal-contact-hours { grid-template-columns: 1fr; gap: 28px; }
}

@media (max-width: 680px) {
	.bpal-contact-page { padding-bottom: 48px; }
	.bpal-contact-methods { padding: 30px 0; }
	.bpal-contact-method { grid-template-columns: 76px minmax(0, 1fr); padding: 18px; }
	.bpal-contact-method img { width: 76px; height: 76px; }
	.bpal-contact-main { padding: 28px 20px; }
	.bpal-contact-main__details { display: block; padding: 24px 20px; }
	.bpal-form-grid { grid-template-columns: 1fr; }
	.bpal-form-field--wide { grid-column: auto; }
	.bpal-contact-hours { padding: 48px 0 36px; }
	.bpal-contact-hours__week { padding: 18px; }
	.bpal-contact-holidays { padding: 0; }
}

.bpal-site-footer {
	padding: 40px 0 16px;
	background: var(--bpal-primary);
	color: rgba(255, 255, 255, 0.82);
}

.bpal-site-footer a { color: var(--bpal-white); text-decoration: none; }
.bpal-site-footer a:hover { color: var(--bpal-accent); }

.bpal-site-footer__grid {
	display: grid;
	grid-template-columns:
		calc(33.333333% - 51px)
		calc(22.222222% - 35.666667px)
		calc(22.222222% - 35.666667px)
		calc(22.222222% - 15.666666px);
	gap: 46px;
}

.bpal-site-footer__brand > a {
	display: inline-flex;
	gap: 14px;
	align-items: center;
	padding: 0;
	background: transparent;
}

.bpal-site-footer__column {
	min-width: 0;
}

.bpal-site-footer__column--2,
.bpal-site-footer__column--3 {
	display: flex;
	flex-direction: column;
}

.bpal-home-columns { padding: 0 0 72px; background: var(--bpal-white); }
.bpal-home-columns__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.bpal-home-column { overflow: hidden; background: var(--bpal-background); border: 1px solid var(--bpal-line); }
.bpal-home-column__image { width: 100%; aspect-ratio: 16 / 7; object-fit: cover; }
.bpal-home-column__body { padding: clamp(24px, 4vw, 40px); }
.bpal-home-column__body h2 { margin-bottom: 12px; }
.bpal-home-column__body p { margin: 0; }

.bpal-site-footer .bpal-site-footer__logo {
	width: auto;
	height: 58px;
	max-width: 100%;
	object-fit: contain;
	object-position: left center;
}

.bpal-site-footer__brand-name {
	color: var(--bpal-white);
	font-family: var(--bpal-heading);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.1;
	white-space: nowrap;
}

.bpal-site-footer__brand p { max-width: 360px; margin-top: 20px; }
.bpal-site-footer h2 { margin-bottom: 16px; color: var(--bpal-white); font-size: 0.95rem; }
.bpal-site-footer h3 { color: var(--bpal-white); font-size: 0.82rem; letter-spacing: 0; }
.bpal-site-footer__content { font-size: 0.88rem; line-height: 1.75; }
.bpal-site-footer__content p { margin: 0 0 10px; }

.bpal-site-footer__logos {
	padding-top: 24px;
	margin-top: auto;
}

.bpal-site-footer__logos h3 {
	margin-bottom: 10px;
}

.bpal-site-footer__logo-list {
	display: flex;
	min-height: 34px;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.bpal-site-footer .bpal-site-footer__partner-logo {
	width: auto;
	max-width: 72px;
	height: 28px;
	object-fit: contain;
}

.bpal-opening-hours { margin: 0; font-size: 0.88rem; line-height: 1.75; }
.bpal-opening-hours__row { display: grid; grid-template-columns: minmax(88px, 1fr) auto; column-gap: 12px; }
.bpal-opening-hours dt,
.bpal-opening-hours dd { margin: 0; }
.bpal-opening-hours dd { display: grid; width: calc(11ch + 8px); grid-template-columns: 5ch 1ch 5ch; column-gap: 4px; align-items: baseline; justify-self: end; font-variant-numeric: tabular-nums; white-space: nowrap; }
.bpal-opening-hours dd span { text-align: center; }
.bpal-opening-hours dd.bpal-opening-hours__closed { display: block; min-width: 0; text-align: right; }
/*
 * Theme 0.62.4: the day (at least 88 px), the gap and the hours (11ch + 8px) need about 11rem + 20px next to each other. A footer column is a share
 * of the window in px, the table grows with the letter size of the browser: at 24 px letters the last of four columns (200 px at 1024 px) is
 * narrower than the table, the hours stuck out of the page and over the day. Below 12rem (192 px, never reached at the default 16 px) the hours
 * go under the day, left-aligned; a browser without container queries keeps the old table.
 */
.bpal-opening-hours { container-type: inline-size; }
@container (max-width: 12rem) {
	.bpal-opening-hours__row { grid-template-columns: minmax(0, 1fr); }
	.bpal-opening-hours dd { justify-self: start; }
	.bpal-opening-hours dd.bpal-opening-hours__closed { text-align: left; }
}
.bpal-opening-hours__row--today dt { color: var(--bpal-accent); font-weight: 600; }
.bpal-opening-hours__exceptions { padding-top: 10px; margin-top: 10px; border-top: 1px solid rgba(255, 255, 255, 0.18); font-size: 0.78rem; line-height: 1.45; }
.bpal-opening-hours__exception-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 8px; align-items: baseline; }
.bpal-opening-hours__exception-row + .bpal-opening-hours__exception-row { margin-top: 6px; }
.bpal-opening-hours__exception-label { min-width: 0; }
.bpal-opening-hours__exception-date { font-weight: 600; }
.bpal-opening-hours__exception-value { width: calc(11ch + 8px); justify-self: end; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }

.bpal-footer-menu { padding: 0; margin: 0; list-style: none; }
.bpal-footer-menu li + li { margin-top: 8px; }
.bpal-footer-menu a { font-size: 0.88rem; }

.bpal-site-footer__bottom {
	display: flex;
	gap: 20px;
	justify-content: space-between;
	padding-top: 16px;
	margin-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	font-size: 0.76rem;
}

/* All site chrome and content now share the approved 1440px container. */

.bpal-main--woocommerce { padding: 48px 0 72px; }
.woocommerce .woocommerce-breadcrumb { margin-bottom: 22px; color: #66717c; font-size: 0.78rem; }
.woocommerce .woocommerce-breadcrumb a { color: var(--bpal-primary); }

.woocommerce .products ul,
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	float: none;
	width: auto;
	margin: 0;
	padding: 0 0 16px;
	background: var(--bpal-white);
	border: 1px solid var(--bpal-line);
}

.woocommerce ul.products li.product a img { margin: 0; background: #f5f6f7; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price { padding-inline: 16px; }
.woocommerce ul.products li.product .button { margin-inline: 16px; }

.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
	border-radius: var(--bpal-radius);
	background: var(--bpal-primary);
	color: var(--bpal-white);
	font-family: var(--bpal-heading);
	font-weight: 600;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
	background: var(--bpal-secondary);
	color: var(--bpal-white);
}

@media (max-width: 1180px) {
	.bpal-site-header__inner { grid-template-columns: minmax(190px, 210px) 1fr auto; gap: 18px; }
	.bpal-primary-nav__list > li > a { padding-inline: 8px; }
	.bpal-category-grid,
	.bpal-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1023px) {
	.admin-bar .bpal-site-header { top: 46px; }
	.bpal-topbar__inner {
		gap: 4px 20px;
		min-height: 42px;
		padding-block: 6px;
		line-height: 1.25;
	}
	.bpal-site-header__inner { grid-template-columns: 1fr auto auto; min-height: 74px; }
	.bpal-menu-toggle { display: block; }

	.bpal-primary-nav {
		position: absolute;
		top: 100%;
		left: 0;
		display: none;
		width: 100%;
		max-height: calc(100vh - 110px);
		overflow-y: auto;
		background: var(--bpal-background);
		border-bottom: 1px solid var(--bpal-line);
		box-shadow: var(--bpal-shadow);
	}

	.bpal-primary-nav.is-open { display: block; }
	.bpal-primary-nav__list,
	.bpal-primary-nav ul { display: block; width: min(calc(100% - 40px), var(--bpal-container)); padding: 12px 0 24px; margin-inline: auto; }
	.bpal-primary-nav a { padding: 13px 0; border-bottom: 1px solid var(--bpal-line); }
	.bpal-primary-nav .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 0 18px; background: transparent; border: 0; box-shadow: none; }
	.bpal-header-search { display: none; }
	.bpal-hero__grid { grid-template-columns: minmax(0, 1fr); min-height: auto; }
	.bpal-hero__content { padding: 60px 0; }
	.bpal-hero__media,
	.bpal-hero__placeholder { min-height: 460px; }
	.bpal-trust-strip__grid { grid-template-columns: repeat(2, 1fr); }
	.bpal-trust-strip__grid > div:nth-child(2) { border-right: 0; }
	.bpal-trust-strip__grid > div:nth-child(-n+2) { border-bottom: 1px solid var(--bpal-line); }
	.bpal-fit-cta__grid { grid-template-columns: 1fr; }
	.bpal-home-columns__grid { grid-template-columns: 1fr; }
	.bpal-404__grid { grid-template-columns: 1fr; gap: 40px; }
	.bpal-404__content { max-width: 680px; }
	.bpal-404 h1 { max-width: 12ch; }
	.bpal-site-footer__grid { grid-template-columns: repeat(2, 1fr); }
	.woocommerce .products ul,
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
	.bpal-home-categories__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.bpal-topbar { display: none; }
}

@media (max-width: 680px) {
	.bpal-home-categories__grid { grid-template-columns: 1fr; }
	.bpal-container { width: min(calc(100% - 28px), var(--bpal-container)); }
	.bpal-brand__link { gap: 9px; }
	.bpal-site-header .bpal-brand__logo { width: auto; height: 46px; }
	.bpal-brand__name { font-size: 0.82rem; }
	.bpal-site-header__inner { grid-template-columns: 1fr auto auto; gap: 8px; }
	.bpal-header-action { width: 38px; height: 38px; }
	.bpal-header-action:not(.bpal-header-action--cart) { display: none; }
	.bpal-hero__content { padding: 46px 0; }
	.bpal-hero__media,
	.bpal-hero__placeholder { min-height: 340px; }
	.bpal-button-row { width: 100%; }
	.bpal-button-row .bpal-button { flex: 1 1 100%; }
	.bpal-404 { padding: 44px 0 54px; }
	.bpal-404__grid { gap: 32px; }
	.bpal-404 h1 { font-size: clamp(2.2rem, 12vw, 3.25rem); }
	.bpal-404__actions { display: grid; }
	.bpal-404__actions .bpal-button { width: 100%; }
	.bpal-inline-benefits { display: grid; grid-template-columns: 1fr; }
	.bpal-trust-strip__grid,
	.bpal-category-grid,
	.bpal-product-grid,
	.bpal-site-footer__grid { grid-template-columns: 1fr; }
	.bpal-trust-strip__grid > div { min-height: 76px; border-right: 0; border-bottom: 1px solid var(--bpal-line); }
	.bpal-trust-strip__grid > div:last-child { border-bottom: 0; }
	.bpal-section { padding: 54px 0; }
	.bpal-section-heading { display: block; }
	.bpal-section-heading .bpal-text-link { display: inline-block; margin-top: 12px; }
	.bpal-category-card__media { aspect-ratio: 16 / 9; }
	.bpal-fit-cta { padding: 54px 0; }
	.bpal-fit-cta__panel { min-height: 200px; }
	.bpal-site-footer__grid { gap: 30px; }
	.bpal-site-footer__bottom { display: grid; }
	.woocommerce .products ul,
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*,
	*::before,
	*::after {
		transition-duration: 0.001ms !important;
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
	}
}
/* Theme 0.31.0: compact homepage entries and editorial size hubs. */
.bpal-size-entries .bpal-home-column { border-top: 3px solid var(--bpal-accent, #FB7D26); }
.bpal-size-entries .bpal-text-link { display: inline-block; margin-top: 18px; }
.bpal-size-hub__intro { max-width: 78ch; line-height: 1.7; margin: 16px 0 20px; }
.bpal-size-hub__categories { margin: 0 0 24px; }
.bpal-size-hub__categories ul { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 0; padding: 0; list-style: none; }
.bpal-size-hub__categories a { display: inline-block; padding-block: 8px; }
.bpal-size-hub__details { max-width: 78ch; padding-block: clamp(32px, 5vw, 64px); line-height: 1.75; }
.bpal-size-hub__details section + section { margin-top: 28px; }
.bpal-size-hub__details h2 { font-size: clamp(1.35rem, 2.5vw, 1.8rem); line-height: 1.3; }
.bpal-catalog-context-hub .woocommerce-products-header:has(.bpal-size-hub__intro) { display: block; }
@media (max-width: 680px) {
	.bpal-size-entries .bpal-home-columns__grid { grid-template-columns: minmax(0, 1fr); }
	.bpal-size-hub__categories ul { gap: 4px 20px; }
}

/* bundled source: assets/css/unna-local.css */
/* latin-ext */
@font-face {
  font-family: 'Unna';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/Unna-Bold-01.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Unna';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/Unna-Bold-02.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* bundled source: assets/css/brand-011.css */
/* Theme 0.11.0 – approved brand refresh. */
:root {
	--bpal-primary: #0e2742;
	--bpal-secondary: #0e2742;
	--bpal-accent: #fb7d26;
}

h1,
h2,
h3,
h4,
h5,
h6,
.bpal-primary-nav a,
.bpal-button,
.bpal-text-link,
.bpal-eyebrow,
.bpal-contact-method a,
.bpal-site-footer h2,
.bpal-site-footer h3 {
	font-family: var(--bpal-heading);
	font-weight: 700;
}

/* Keep the orange accent away from white body text where contrast would be too low. */
a:hover,
.bpal-primary-nav a:hover,
.bpal-primary-nav a:focus-visible {
	color: var(--bpal-primary);
}

.bpal-primary-nav a:hover,
.bpal-primary-nav a:focus-visible,
.bpal-text-link:hover,
.bpal-text-link:focus-visible {
	text-decoration-color: var(--bpal-accent);
	text-decoration-line: underline;
	text-decoration-thickness: 2px;
}

:focus-visible {
	outline-color: var(--bpal-primary);
}

.bpal-button--accent {
	background: var(--bpal-accent);
	color: var(--bpal-primary);
}

.bpal-button--accent:hover,
.bpal-button--accent:focus-visible {
	background: var(--bpal-primary);
	color: var(--bpal-white);
}

/* New wordmark proportions. */
.bpal-site-header .bpal-brand__logo {
	width: min(270px, 29vw) !important;
	height: auto !important;
	max-height: 34px;
}

.bpal-site-footer .bpal-site-footer__logo {
	width: min(320px, 100%) !important;
	height: auto !important;
	max-height: 34px;
}

.bpal-brand__text {
	display: inline-block;
	color: var(--bpal-primary);
	font-family: var(--bpal-heading);
	font-size: clamp(1.05rem, 2vw, 1.35rem);
	font-weight: 700;
	line-height: 1.1;
}

/* Fixed live Google review slot: dimensions exist before the delayed REST response. */
.bpal-header-reviews {
	box-sizing: border-box;
	width: 190px;
	min-width: 190px;
	height: 52px;
	min-height: 52px;
	overflow: hidden;
	padding: 5px 8px;
	background: #fff;
	border: 1px solid var(--bpal-line);
	color: var(--bpal-primary);
}

.bpal-header-reviews__link {
	display: grid;
	height: 100%;
	grid-template-rows: 20px 18px;
	align-content: center;
	gap: 2px;
	color: inherit;
	text-decoration: none;
}

.bpal-header-reviews__summary {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 5px;
	visibility: hidden;
	white-space: nowrap;
}

.bpal-header-reviews.is-ready .bpal-header-reviews__summary {
	visibility: visible;
}

.bpal-header-reviews__rating,
.bpal-header-reviews__count {
	font-variant-numeric: tabular-nums;
}

.bpal-header-reviews__rating {
	min-width: 2.35ch;
	font-family: var(--bpal-heading);
	font-size: 0.9rem;
	font-weight: 700;
	line-height: 1;
}

.bpal-header-reviews__count {
	overflow: hidden;
	color: #5e6670;
	font-size: 0.68rem;
	text-overflow: ellipsis;
}

.bpal-header-reviews__stars {
	position: relative;
	display: inline-block;
	flex: none;
	width: 5.45em;
	font: 0.74rem/1 Arial, sans-serif;
	letter-spacing: 1px;
	color: #c3c6ca;
	white-space: nowrap;
}

.bpal-header-reviews__stars::before,
.bpal-header-reviews__stars::after {
	content: "★★★★★";
	display: block;
}

.bpal-header-reviews__stars::after {
	position: absolute;
	top: 0;
	left: 0;
	width: var(--bpal-rating-fill, 0%);
	max-width: 100%;
	overflow: hidden;
	color: #fbbc04;
	white-space: nowrap;
}

.bpal-header-reviews__attribution {
	display: block;
	width: 98px;
	height: 18px;
	max-width: 98px;
	object-fit: contain;
}

.bpal-header-reviews__link[aria-hidden="true"] {
	pointer-events: none;
}

@media (min-width: 1024px) {
	.bpal-site-header--has-reviews .bpal-site-header__inner {
		grid-template-columns: minmax(250px, 280px) minmax(0, 1fr) 190px auto;
		gap: 16px;
	}

	.bpal-primary-nav {
		min-width: 0;
	}
}

@media (min-width: 1024px) and (max-width: 1220px) {
	.bpal-site-header--has-reviews .bpal-site-header__inner {
		grid-template-columns: minmax(225px, 245px) minmax(0, 1fr) 168px auto;
		gap: 12px;
	}

	.bpal-header-reviews {
		width: 168px;
		min-width: 168px;
	}

	.bpal-site-header .bpal-brand__logo {
		width: min(235px, 25vw) !important;
	}
}

/* Homepage campaign mosaic. */
.bpal-home-campaign {
	padding: 24px 0 0;
	background: var(--bpal-white);
}

.bpal-home-campaign__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-template-rows: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.bpal-home-campaign__tile {
	position: relative;
	display: block;
	min-width: 0;
	overflow: hidden;
	background: #f7f3ed;
	border: 1px solid rgba(14, 39, 66, 0.08);
	color: inherit;
	text-decoration: none;
}

.bpal-home-campaign__tile--primary {
	grid-row: 1 / span 2;
	aspect-ratio: 1 / 1;
}

.bpal-home-campaign__tile--secondary {
	aspect-ratio: 2 / 1;
	background: var(--bpal-primary);
}

.bpal-home-campaign__tile img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	transition: transform 180ms ease;
}

.bpal-home-campaign__tile:hover img,
.bpal-home-campaign__tile:focus-visible img {
	transform: scale(1.012);
}

.bpal-home-campaign__tile:focus-visible {
	outline: 3px solid var(--bpal-primary);
	outline-offset: 3px;
}

/* Contact artwork supplied for the new identity. */
.bpal-contact-method img {
	object-fit: contain;
	background: transparent;
}

@media (max-width: 1023px) {
	.bpal-site-header--has-reviews .bpal-site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto 146px auto;
		gap: 10px;
	}

	.bpal-header-reviews {
		width: 146px;
		min-width: 146px;
		height: 46px;
		min-height: 46px;
		padding: 4px 6px;
	}

	.bpal-header-reviews__link {
		grid-template-rows: 18px 16px;
	}

	.bpal-header-reviews__stars {
		font-size: 0.68rem;
		letter-spacing: 0;
	}

	.bpal-header-reviews__attribution {
		width: 82px;
		height: auto;
	}

	.bpal-home-campaign__grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
	}

	.bpal-home-campaign__tile--primary {
		grid-row: auto;
	}

	.bpal-home-campaign__tile--secondary {
		aspect-ratio: 2 / 1;
	}
}

@media (max-width: 680px) {
	.bpal-site-header--has-reviews .bpal-site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto 96px auto;
		gap: 6px;
	}

	.bpal-site-header .bpal-brand__logo {
		width: min(142px, 39vw) !important;
		max-height: 24px;
	}

	.bpal-header-reviews {
		width: 96px;
		min-width: 96px;
		height: 40px;
		min-height: 40px;
		padding: 3px 5px;
	}

	.bpal-header-reviews__link {
		grid-template-rows: 16px 14px;
		gap: 1px;
	}

	.bpal-header-reviews__rating {
		font-size: 0.76rem;
	}

	.bpal-header-reviews__stars {
		width: 4.7em;
		font-size: 0.6rem;
	}

	.bpal-header-reviews__count {
		display: none;
	}

	.bpal-header-reviews__attribution {
		width: 68px;
		height: auto;
	}

	.bpal-home-campaign {
		padding-top: 14px;
	}

	.bpal-home-campaign__grid {
		gap: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bpal-home-campaign__tile img {
		transition: none;
	}
}

/* bundled source: assets/css/header-navigation.css */
/*
 * Theme 0.16.0 canonical header/navigation layer.
 *
 * This file is the final structural owner for responsive navigation, submenu
 * controls and managed megamenus. The compact/desktop boundary is 1180/1181px
 * in CSS and must remain identical to navigation.js and megamenu-height.js.
 */

.bpal-mobile-nav__utility,
.bpal-submenu-toggle {
	display: none;
}

/*
 * Theme 0.42.1: the search field is one pill (owner, 29 October 2026: "te standaard en te groot"). It was a white block of 199 x 44 px with a
 * separate navy "Zoeken" button; it is now 36 px high (44 px in the mobile menu, where a finger needs it) with a light fill, no visible
 * border and a round navy magnifier button inside the field (markup: inc/header-search.php). The field is the whole pill and the button lies
 * over its right end, so the focus ring of the field is the ring of the pill. The 1 px borders are transparent: invisible at rest, drawn in a
 * system colour in forced-colours mode. The hint text is 5.2:1 on the fill. tests/theme-header-search-browser.mjs measures all of it.
 */
.bpal-header-search,
.bpal-mobile-nav__search,
.bpal-header-search-panel {
	--bpal-search-fill: #eef1f4;
	--bpal-search-fill-hover: #e6ebf0;
	--bpal-search-hint: #5b6570;
	--bpal-search-button-hover: #1d3f66;
	--bpal-search-button-active: #081a2e;
}

:is(.bpal-header-search, .bpal-mobile-nav__search, .bpal-header-search-panel) :is(.search-form, .woocommerce-product-search) {
	position: relative;
	display: block;
	margin: 0;
}

:is(.bpal-header-search, .bpal-mobile-nav__search, .bpal-header-search-panel) input[type="search"] {
	display: block;
	width: 100%;
	min-width: 0;
	height: 36px;
	padding: 0 44px 0 16px;
	background: var(--bpal-search-fill);
	border: 1px solid transparent;
	border-radius: 18px;
	color: var(--bpal-text);
	font-size: 0.875rem;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color 0.15s ease;
}

:is(.bpal-header-search, .bpal-mobile-nav__search, .bpal-header-search-panel) input[type="search"]::placeholder {
	color: var(--bpal-search-hint);
	opacity: 1;
}

:is(.bpal-header-search, .bpal-mobile-nav__search, .bpal-header-search-panel) input[type="search"]::-webkit-search-decoration,
:is(.bpal-header-search, .bpal-mobile-nav__search, .bpal-header-search-panel) input[type="search"]::-webkit-search-cancel-button {
	display: none;
	-webkit-appearance: none;
}

:is(.bpal-header-search, .bpal-mobile-nav__search, .bpal-header-search-panel) :is(.search-form, .woocommerce-product-search):hover input[type="search"] {
	background: var(--bpal-search-fill-hover);
}

:is(.bpal-header-search, .bpal-mobile-nav__search, .bpal-header-search-panel) input[type="search"]:focus-visible,
:is(.bpal-header-search, .bpal-mobile-nav__search, .bpal-header-search-panel) .bpal-search-submit:focus-visible {
	outline: 2px solid var(--bpal-primary);
	outline-offset: 2px;
}

:is(.bpal-header-search, .bpal-mobile-nav__search, .bpal-header-search-panel) .bpal-search-submit {
	position: absolute;
	top: 4px;
	right: 4px;
	display: grid;
	width: 28px;
	height: 28px;
	place-items: center;
	padding: 0;
	margin: 0;
	background: var(--bpal-primary);
	border: 1px solid transparent;
	border-radius: 50%;
	color: var(--bpal-white);
	cursor: pointer;
	transition: background-color 0.15s ease;
}

:is(.bpal-header-search, .bpal-mobile-nav__search, .bpal-header-search-panel) .bpal-search-submit:hover {
	background: var(--bpal-search-button-hover);
}

:is(.bpal-header-search, .bpal-mobile-nav__search, .bpal-header-search-panel) .bpal-search-submit:active {
	background: var(--bpal-search-button-active);
}

/*
 * Theme 0.43.1: the header on a phone and a tablet (docs/KOP-OP-DE-TELEFOON.md; markup: inc/header-compact.php; the opening and closing: navigation.js).
 * Below 1181 px the bar holds four round icons of 44 x 44 px: search, account, cart, menu. The group of the first three, the row under the header
 * and the strip under the header are not displayed on a wide screen, so they are out of the tab order and the accessibility tree there. The strip
 * is shown up to 767 px, where the top bar is hidden; from 768 px the top bar says it all. They are switched on in the media queries below.
 */
.bpal-compact-tools,
.bpal-header-search-panel,
.bpal-info-strip {
	display: none;
}

.bpal-search-submit__icon {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

/*
 * The type of a menu heading: the column titles of the megamenu and, in the desktop bar, the main menu items that open it. One place, so the
 * two cannot drift apart (owner, 25 October 2026: "dezelfde font en grootte"). The column titles add capitals and letter spacing of their own.
 */
.bpal-primary-nav {
	--bpal-menu-heading-font: var(--bpal-heading);
	--bpal-menu-heading-size: 0.76rem;
	--bpal-menu-heading-weight: 600;
}

/* Desktop navigation and managed megamenus. */
@media (min-width: 1181px) {
	.bpal-site-header__inner {
		grid-template-columns: minmax(250px, 320px) minmax(0, 1fr) auto;
		gap: clamp(12px, 1.3vw, 20px);
	}

	.bpal-header-tools .bpal-header-icon,
	.bpal-catalog-quick-actions .bpal-header-icon {
		display: block;
		width: 27px;
		height: 27px;
		object-fit: contain;
	}

	.bpal-header-tools .bpal-icon--legacy,
	.bpal-catalog-quick-actions .bpal-icon--legacy {
		display: none;
	}

	.bpal-primary-nav {
		--bpal-mega-panel-width: min(1180px, calc(100vw - 100px));
		position: relative;
		display: flex;
		min-width: 0;
		align-self: stretch;
		align-items: stretch;
	}

	.bpal-primary-nav__list {
		position: static;
		min-width: 0;
		height: 100%;
		flex-wrap: nowrap;
		align-items: stretch;
	}

	.bpal-primary-nav__list > li {
		display: flex;
		flex: 0 0 auto;
		align-items: stretch;
	}

	.bpal-primary-nav__list > li > a {
		display: flex;
		align-items: center;
		padding-inline: clamp(7px, 0.65vw, 12px);
		white-space: nowrap;
		font-family: var(--bpal-menu-heading-font);
		font-size: var(--bpal-menu-heading-size);
		font-weight: var(--bpal-menu-heading-weight);
	}

	.bpal-header-tools {
		gap: 8px;
		white-space: nowrap;
	}

	.bpal-header-search :is(.search-form, .woocommerce-product-search) {
		width: clamp(148px, 12.5vw, 176px);
	}

	.bpal-primary-nav .bpal-mega-menu {
		position: static;
	}

	.bpal-primary-nav .bpal-mega-menu__panel {
		position: absolute;
		top: 100%;
		left: 50%;
		z-index: 50;
		display: grid;
		/*
		 * Theme 0.62.4: the panel is centred on the navigation bar, not on the window, and the bar sits 23 to 36 px right of the middle (the logo
		 * column is 320 px, the icons 250 px). 100vw also includes the scrollbar (15 px on Windows). With the old 100vw - 48px the panel stuck out
		 * 10 to 20 px on the right at a window of 1181 to 1243 px, hidden as well, and the whole page scrolled sideways. 100vw - 100px keeps the
		 * panel 6 px inside the page at its worst (1181 px) and is the old 1180 px from 1280 px up, so nothing else changes. One value for the
		 * three wide panels (--bpal-mega-panel-width on the navigation: this one, Accessoires and Merken).
		 */
		width: var(--bpal-mega-panel-width);
		height: var(--bpal-mega-menu-height, auto);
		max-height: none;
		grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(230px, 0.85fr);
		align-items: start;
		gap: 24px;
		overflow: hidden;
		padding: 26px 28px;
		background: var(--bpal-white);
		border: 1px solid var(--bpal-line);
		box-shadow: var(--bpal-shadow);
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transform: translateX(-50%);
	}

	.bpal-primary-nav .bpal-mega-menu__panel--no-promo {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		width: min(900px, calc(100vw - 48px));
	}

	.bpal-primary-nav .bpal-mega-menu:hover > .bpal-mega-menu__panel,
	.bpal-primary-nav .bpal-mega-menu:focus-within > .bpal-mega-menu__panel {
		display: grid;
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: translateX(-50%);
	}

	.bpal-primary-nav .bpal-mega-menu__column {
		align-self: start;
	}

	.bpal-primary-nav .bpal-mega-menu__column,
	.bpal-primary-nav .bpal-mega-menu__brand-index,
	.bpal-primary-nav .bpal-mega-menu__brand-list,
	.bpal-primary-nav .bpal-mega-menu__promo {
		position: static;
		min-width: 0;
		list-style: none;
	}

	.bpal-primary-nav .bpal-mega-menu__column > ul,
	.bpal-primary-nav .bpal-mega-menu__brand-list > ul {
		display: grid;
		gap: 0;
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.bpal-primary-nav .bpal-mega-menu__heading,
	.bpal-primary-nav .bpal-mega-menu__brand-index > strong {
		display: block;
		padding: 0 8px 10px;
		color: var(--bpal-primary);
		font-family: var(--bpal-menu-heading-font);
		font-size: var(--bpal-menu-heading-size);
		font-weight: var(--bpal-menu-heading-weight);
		letter-spacing: 0.075em;
		text-transform: uppercase;
	}

	.bpal-primary-nav .bpal-mega-menu__item > a,
	.bpal-primary-nav .bpal-mega-menu__brand-item > a {
		min-height: 36px;
		padding: 8px;
		font-size: 0.84rem;
		font-weight: 500;
		line-height: 1.35;
	}

	.bpal-primary-nav .bpal-mega-menu__item > a:hover,
	.bpal-primary-nav .bpal-mega-menu__item > a:focus-visible,
	.bpal-primary-nav .bpal-mega-menu__brand-item > a:hover,
	.bpal-primary-nav .bpal-mega-menu__brand-item > a:focus-visible {
		background: color-mix(in srgb, var(--bpal-primary) 5%, var(--bpal-white));
		color: var(--bpal-primary);
		outline: none;
	}

	.bpal-primary-nav .bpal-mega-menu__promo {
		grid-column: 4;
		grid-row: 1 / span 2;
		align-self: stretch;
		min-height: 0;
		overflow: hidden;
	}

	.bpal-primary-nav .bpal-mega-menu__promo > a {
		position: relative;
		display: block;
		height: 100%;
		min-height: 0;
		max-height: none;
		padding: 0;
		overflow: hidden;
		background: var(--bpal-neutral);
	}

	.bpal-primary-nav .bpal-mega-menu__promo-image {
		width: 100%;
		height: 100%;
		min-height: 0;
		max-height: none;
		object-fit: cover;
	}

	/* Defensive guard for stale cached pre-0.12.1 promo markup. */
	.bpal-primary-nav .bpal-mega-menu__promo > a > span {
		display: none !important;
	}

	/* Grote maten remains the shared desktop megamenu height reference. */
	.bpal-primary-nav .bpal-mega-menu--measure > .bpal-mega-menu__panel {
		display: grid !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
	}

	.bpal-primary-nav .bpal-mega-menu--accessories .bpal-mega-menu__panel {
		width: var(--bpal-mega-panel-width);
		grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(230px, 0.85fr);
		grid-template-rows: minmax(0, 1fr);
	}

	.bpal-primary-nav .bpal-mega-menu--accessories .bpal-mega-menu__column {
		grid-column: 2;
	}

	.bpal-primary-nav .bpal-mega-menu--accessories .bpal-mega-menu__promo {
		grid-column: 4;
		grid-row: 1;
	}

	.bpal-primary-nav .bpal-mega-menu__brands-panel {
		grid-template-rows: auto 1fr;
	}

	/* Merken uses the former promotional-image column for a fifth brand column. */
	.bpal-primary-nav .bpal-mega-menu--brands .bpal-mega-menu__panel {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		width: var(--bpal-mega-panel-width);
	}

	.bpal-primary-nav .bpal-mega-menu__brand-index {
		grid-column: 1 / -1;
	}

	.bpal-primary-nav .bpal-mega-menu__letters {
		display: flex;
		flex-wrap: wrap;
		gap: 4px;
		padding: 10px 8px 0;
	}

	.bpal-primary-nav .bpal-mega-menu__letters button {
		min-width: 30px;
		min-height: 30px;
		padding: 4px 7px;
		background: transparent;
		border: 1px solid transparent;
		color: var(--bpal-primary);
		font-family: var(--bpal-heading);
		font-size: 0.72rem;
		font-weight: 500;
		letter-spacing: 0.025em;
		cursor: pointer;
	}

	.bpal-primary-nav .bpal-mega-menu__letters button:hover,
	.bpal-primary-nav .bpal-mega-menu__letters button:focus-visible,
	.bpal-primary-nav .bpal-mega-menu__letters button.is-active {
		background: var(--bpal-neutral);
		border-color: var(--bpal-line);
		outline: none;
	}

	.bpal-primary-nav .bpal-mega-menu__brand-list {
		grid-column: 1 / -1;
	}

	.bpal-primary-nav .bpal-mega-menu__brand-list > ul {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 0 20px;
	}

	.bpal-primary-nav .bpal-mega-menu__brand-item[hidden] {
		display: none;
	}

	/*
	 * Merken (0.29.0): the panel follows its content instead of the shared
	 * Grote maten height, at least that height and at most the space below the
	 * navigation (--bpal-mega-menu-max-height, set by megamenu-height.js). The
	 * A-Z row stays put; only the brand list scrolls when it does not fit.
	 */
	.bpal-primary-nav .bpal-mega-menu--brands > .bpal-mega-menu__panel {
		height: auto;
		min-height: min(var(--bpal-mega-menu-height, 0px), var(--bpal-mega-menu-max-height, calc(100vh - 140px)));
		max-height: var(--bpal-mega-menu-max-height, calc(100vh - 140px));
		grid-template-rows: auto minmax(0, 1fr);
	}

	.bpal-primary-nav .bpal-mega-menu--brands .bpal-mega-menu__brand-list {
		min-height: 0;
		align-self: stretch;
		overflow-y: auto;
		overscroll-behavior: contain;
		scrollbar-gutter: stable;
	}

	/* Context menus with another number of menu columns than three. */
	.bpal-primary-nav .bpal-mega-menu__panel[data-bpal-mega-cols] {
		grid-template-columns: repeat(var(--bpal-mega-cols, 3), minmax(0, 1fr)) minmax(230px, 0.85fr);
	}

	.bpal-primary-nav .bpal-mega-menu__panel--no-promo[data-bpal-mega-cols] {
		grid-template-columns: repeat(var(--bpal-mega-cols, 3), minmax(0, 1fr));
	}

	.bpal-primary-nav .bpal-mega-menu__panel[data-bpal-mega-cols] .bpal-mega-menu__promo {
		grid-column: -2 / -1;
	}
}

/* Compact navigation: tablets, narrow desktops and phones share one engine. */
@media (max-width: 1180px) {
	.bpal-header-tools .bpal-header-icon,
	.bpal-catalog-quick-actions .bpal-header-icon {
		display: none;
	}

	.bpal-header-tools .bpal-icon--legacy,
	.bpal-catalog-quick-actions .bpal-icon--legacy {
		display: block;
	}

	html.bpal-menu-open,
	html.bpal-menu-open body {
		overflow: hidden;
	}

	.bpal-site-header__inner {
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: 10px;
		min-height: 74px;
	}

	/* The menu button is the fourth of four round icons: no square frame around it any more. */
	.bpal-menu-toggle {
		display: block;
		border: 0;
		border-radius: 50%;
	}

	.bpal-primary-nav {
		position: absolute;
		top: 100%;
		left: 0;
		display: none;
		width: 100%;
		max-height: var(--bpal-mobile-nav-max-height, calc(100dvh - 110px));
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--bpal-background);
		border-bottom: 1px solid var(--bpal-line);
		box-shadow: var(--bpal-shadow);
	}

	.bpal-primary-nav.is-open {
		display: block;
	}

	.bpal-mobile-nav__utility {
		display: grid;
		width: min(calc(100% - 40px), var(--bpal-container));
		gap: 12px;
		padding: 18px 0 14px;
		margin-inline: auto;
	}

	/* The pill of the mobile menu and of the search row under the header: 44 px for a finger, text of 16 px so that an iPhone does not zoom in on the field. */
	:is(.bpal-mobile-nav__search, .bpal-header-search-panel) input[type="search"] {
		height: 44px;
		padding: 0 52px 0 18px;
		border-radius: 22px;
		font-size: 1rem;
	}

	:is(.bpal-mobile-nav__search, .bpal-header-search-panel) .bpal-search-submit {
		width: 36px;
		height: 36px;
	}

	:is(.bpal-mobile-nav__search, .bpal-header-search-panel) .bpal-search-submit__icon {
		width: 18px;
		height: 18px;
	}

	.bpal-mobile-nav__account {
		display: inline-flex;
		min-height: 44px;
		gap: 10px;
		align-items: center;
		justify-self: start;
		padding: 8px 0;
		color: var(--bpal-primary);
		font-family: var(--bpal-heading);
		font-size: 0.88rem;
		font-weight: 600;
		text-decoration: none;
	}

	.bpal-mobile-nav__account .bpal-icon {
		width: 20px;
		height: 20px;
	}

	.bpal-primary-nav__list,
	.bpal-primary-nav ul {
		display: block;
		width: min(calc(100% - 40px), var(--bpal-container));
		padding: 12px 0 24px;
		margin-inline: auto;
	}

	.bpal-primary-nav__list > li,
	.bpal-primary-nav .bpal-mega-menu {
		position: relative;
		display: block;
	}

	.bpal-primary-nav a {
		padding: 13px 0;
		border-bottom: 1px solid var(--bpal-line);
	}

	.bpal-primary-nav .menu-item-has-children > a {
		padding-right: 52px;
	}

	.bpal-submenu-toggle {
		position: absolute;
		top: 4px;
		right: 0;
		display: grid;
		width: 44px;
		height: 44px;
		place-items: center;
		padding: 0;
		background: transparent;
		border: 0;
		color: var(--bpal-primary);
		cursor: pointer;
	}

	.bpal-submenu-toggle__icon {
		display: block;
		width: 9px;
		height: 9px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg) translate(-1px, -1px);
	}

	.bpal-submenu-toggle[aria-expanded="true"] .bpal-submenu-toggle__icon {
		transform: rotate(225deg) translate(-1px, -1px);
	}

	.bpal-navigation-enhanced .bpal-primary-nav .menu-item-has-children > .sub-menu,
	.bpal-primary-nav .bpal-mega-menu:hover > .bpal-mega-menu__panel,
	.bpal-primary-nav .bpal-mega-menu:focus-within > .bpal-mega-menu__panel {
		position: static;
		display: none;
		width: 100%;
		height: auto !important;
		min-width: 0;
		max-height: none;
		padding: 0 0 4px 18px;
		margin: 0;
		overflow: visible;
		background: transparent;
		border: 0;
		box-shadow: none;
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: none;
	}

	.bpal-navigation-enhanced .bpal-primary-nav .menu-item-has-children.is-submenu-open > .sub-menu {
		display: block;
	}

	.bpal-primary-nav .sub-menu a {
		padding: 11px 0 11px 12px;
		font-size: 0.84rem;
		font-weight: 600;
	}

	.bpal-primary-nav .bpal-mega-menu__column {
		align-self: start;
	}

	.bpal-primary-nav .bpal-mega-menu__column,
	.bpal-primary-nav .bpal-mega-menu__brand-list {
		display: block;
	}

	.bpal-primary-nav .bpal-mega-menu__heading,
	.bpal-primary-nav .bpal-mega-menu__brand-index > strong {
		display: block;
		padding: 12px 0 5px;
		font-size: var(--bpal-menu-heading-size);
	}

	.bpal-primary-nav .bpal-mega-menu__column > ul,
	.bpal-primary-nav .bpal-mega-menu__brand-list > ul {
		padding: 0;
		margin: 0;
		list-style: none;
	}

	.bpal-primary-nav .bpal-mega-menu__item > a,
	.bpal-primary-nav .bpal-mega-menu__brand-item > a {
		padding-left: 12px;
	}

	.bpal-primary-nav .bpal-mega-menu__promo,
	.bpal-primary-nav .bpal-mega-menu__brand-index {
		display: none;
	}

	.bpal-header-search {
		display: none;
	}

	/* The icons of the desktop bar are replaced by the group of four below (printed between the logo and the menu button). */
	.bpal-header-tools {
		display: none;
	}

	.bpal-compact-tools {
		display: flex;
		align-items: center;
	}

	.bpal-compact-tools__button,
	.bpal-compact-tools__link {
		position: relative;
		display: grid;
		width: 44px;
		height: 44px;
		place-items: center;
		padding: 0;
		margin: 0;
		background: transparent;
		border: 0;
		border-radius: 50%;
		color: var(--bpal-primary);
		cursor: pointer;
		text-decoration: none;
	}

	.bpal-compact-tools__button[aria-expanded="true"] {
		background: #eef1f4;
	}

	.bpal-compact-tools :is(.bpal-compact-tools__button, .bpal-compact-tools__link):focus-visible {
		outline: 2px solid var(--bpal-primary);
		outline-offset: -2px;
	}

	.bpal-compact-tools__icon {
		width: 24px;
		height: 24px;
		fill: none;
		stroke: currentColor;
		stroke-linecap: round;
		stroke-linejoin: round;
		stroke-width: 1.8;
	}

	.bpal-compact-tools .bpal-header-action__count {
		top: 3px;
		right: 1px;
	}

	/* The row under the header, like the menu: it lies over the page, so nothing below the header moves when it opens. */
	.bpal-header-search-panel:not([hidden]) {
		position: absolute;
		top: 100%;
		left: 0;
		display: block;
		width: 100%;
		padding: 10px 0 12px;
		background: var(--bpal-background);
		border-bottom: 1px solid var(--bpal-line);
		box-shadow: var(--bpal-shadow);
	}

	/* The button needs the script; without it the menu button is dead too, but a search button that does nothing is not offered. */
	@media (scripting: none) {
		.bpal-compact-tools__button {
			display: none;
		}
	}
}

@media (hover: hover) and (max-width: 1180px) {
	.bpal-compact-tools :is(.bpal-compact-tools__button, .bpal-compact-tools__link):hover,
	.bpal-menu-toggle:hover {
		background: #eef1f4;
	}
}

/* A phone: the top bar is hidden here, so a slim strip under the header says where the shop is and since when. Not sticky: it scrolls away. */
@media (max-width: 767px) {
	.bpal-info-strip {
		display: block;
		padding: 6px 14px;
		margin: 0;
		background: var(--bpal-primary);
		color: var(--bpal-white);
		font-family: var(--bpal-body);
		font-size: 0.875rem;
		font-weight: 500;
		line-height: 1.3;
		text-align: center;
	}

	.bpal-info-strip__separator {
		margin-inline: 2px;
		color: var(--bpal-accent);
	}
}

@media (max-width: 680px) {
	.bpal-site-header__inner {
		gap: 8px;
	}

	.bpal-mobile-nav__utility,
	.bpal-primary-nav__list,
	.bpal-primary-nav ul {
		width: min(calc(100% - 28px), var(--bpal-container));
	}
}
