/* 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.2
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; }
.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 {
		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;
		width: min(1180px, calc(100vw - 48px));
		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: min(1180px, calc(100vw - 48px));
		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: min(1180px, calc(100vw - 48px));
	}

	.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));
	}
}

/* bundled source: assets/css/newsletter.css */
/* Two 720 x 300 image cards: never enlarge them to fill a wide viewport. */
.bpal-home-store-links { margin: 0; padding: 0; background: #fff; }
.bpal-home-store-links__grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 720px));
  gap: 0; width: 100%; max-width: 1440px; margin-inline: auto;
}
.bpal-home-store-card {
  display: block; position: relative; isolation: isolate; min-width: 0; aspect-ratio: 12 / 5; height: auto;
  overflow: hidden; color: #fff; background: #342d27; text-decoration: none;
}
.bpal-home-store-card img { position: absolute; z-index: -2; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.bpal-home-store-card::before {
  position: absolute; z-index: -1; inset: 0; content: '';
  background: linear-gradient(90deg, rgba(32, 27, 23, .08) 0%, rgba(32, 27, 23, .42) 42%, rgba(32, 27, 23, .94) 100%);
}
.bpal-home-store-card__content {
  display: flex; position: absolute; inset-block: 0; right: 4.5%; width: 42%; max-width: 420px;
  flex-direction: column; align-items: flex-start; justify-content: center; gap: 14px;
  min-width: 0; padding: 15px 0; box-sizing: border-box;
}
.bpal-home-store-card__content strong {
  display: block; max-width: 100%; color: #fff; font-family: var(--bpal-heading);
  font-size: clamp(1.28rem, 1.65vw, 2rem); font-weight: 600; line-height: 1.14;
}
.bpal-home-store-card__benefits { display: flex; flex-direction: column; gap: 4px; max-width: 100%; }
.bpal-home-store-card__benefit { position: relative; display: block; padding-left: 27px; overflow: hidden; color: #fff; font-size: clamp(.81rem, .86vw, 1rem); line-height: 1.4; white-space: nowrap; text-overflow: ellipsis; }
.bpal-home-store-card__benefit::before { content: '✓'; position: absolute; left: 0; color: #c4b184; font-size: 1.18em; }
.bpal-home-store-card__button {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px;
  max-width: 100%; min-height: 47px; padding: 10px 20px; box-sizing: border-box;
  background: #f7f3e9; color: #142b43; font-family: var(--bpal-heading); font-size: clamp(.68rem, .77vw, .86rem);
  font-weight: 600; line-height: 1.25; letter-spacing: .02em; text-align: center; text-transform: uppercase;
}
.bpal-home-store-card:hover .bpal-home-store-card__button,
.bpal-home-store-card:focus-visible .bpal-home-store-card__button { background: #fff; color: #142b43; }
.bpal-home-store-card:focus-visible { outline: 3px solid #f7f3e9; outline-offset: -5px; }

.bpal-newsletter { padding: 0; margin: 0; background: #1b4263; }
.bpal-newsletter > .bpal-container { width: 100%; max-width: none; }
.bpal-newsletter .bpal-newsletter__banner {
  height: 112px; min-height: 112px; overflow: hidden; box-shadow: none; border: 0;
  background: #1b4263;
}
.bpal-newsletter .bpal-newsletter__content {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 566px); align-items: center; justify-content: center; gap: 24px;
  position: static; width: min(calc(100% - 40px), 1280px); height: 100%; max-width: 1280px;
  margin: 0 auto; padding: 0; box-sizing: border-box; transform: none; background: transparent; box-shadow: none;
}
.bpal-newsletter__copy { min-width: 0; text-align: left; overflow-wrap: anywhere; }
.bpal-newsletter__copy h2 {
  margin: 0 0 5px; color: #fff; font-family: var(--bpal-heading);
  font-size: clamp(.96rem, 1.04vw, 1.16rem); font-weight: 600; line-height: 1.2;
  white-space: normal;
}
.bpal-newsletter__subtitle {
  margin: 0; color: #e2e4e8; font-size: clamp(.75rem, .76vw, .82rem);
  line-height: 1.3; white-space: normal;
}
.bpal-newsletter__form { display: grid; grid-template-columns: minmax(0, 1fr) 200px; gap: 0; width: 100%; min-width: 0; margin: 0; }
.bpal-newsletter__form input[type="email"] {
  display: block; min-width: 0; width: 100%; height: 52px; min-height: 52px; padding: 0 17px;
  box-sizing: border-box; border: 1px solid #cfd3d6; border-radius: 0; background: #fff; color: #142b43; font-size: .94rem;
}
.bpal-newsletter__form input[type="email"]::placeholder { color: #68727c; }
.bpal-newsletter__form .bpal-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 11px; width: 100%; min-width: 0;
  height: 52px; min-height: 52px; padding: 0 13px; border: 0; border-radius: 0;
  background: var(--bpal-accent, #fb7d26); color: var(--bpal-primary, #142b43); font-size: .84rem; line-height: 1; white-space: nowrap;
}
.bpal-newsletter__form .bpal-button:hover,
.bpal-newsletter__form .bpal-button:focus-visible { background: var(--bpal-primary, #142b43); color: #fff; }
.bpal-newsletter__form input:focus-visible,
.bpal-newsletter__form button:focus-visible { outline: 3px solid #fff; outline-offset: -4px; }
@media (max-width: 1399px) {
  .bpal-home-store-card__content { width: 48%; right: 3%; gap: 11px; }
  .bpal-home-store-card__button { padding-inline: 12px; }
}
@media (max-width: 1150px) {
  .bpal-home-store-links__grid { grid-template-columns: minmax(0, 720px); justify-content: center; }
  .bpal-home-store-card { height: auto; aspect-ratio: 12 / 5; }
  .bpal-home-store-card__content { right: 6%; width: 43%; max-width: 420px; }
  .bpal-newsletter .bpal-newsletter__content { gap: 16px; grid-template-columns: minmax(0, 1fr) minmax(0, 48%); }
  .bpal-newsletter__form { grid-template-columns: minmax(0, 1fr) 145px; }
  .bpal-newsletter__form .bpal-button { font-size: .72rem; padding-inline: 6px; }
}
@media (max-width: 670px) {
  .bpal-home-store-card { height: 270px; aspect-ratio: auto; }
  .bpal-home-store-card__content { width: 56%; right: 4%; }
  .bpal-home-store-card__content strong { font-size: clamp(1.18rem, 4.8vw, 1.6rem); }
  .bpal-home-store-card__benefit { font-size: .83rem; }
  .bpal-newsletter .bpal-newsletter__banner { height: 165px; min-height: 165px; }
  .bpal-newsletter .bpal-newsletter__content {
    width: calc(100% - 28px); grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 52px;
    justify-content: center; align-content: center; gap: 11px;
  }
  .bpal-newsletter__copy h2 { font-size: .96rem; margin-bottom: 5px; }
  .bpal-newsletter__subtitle { font-size: .76rem; }
  .bpal-newsletter__form { grid-template-columns: minmax(0, 1fr) minmax(118px, 36%); }
  .bpal-newsletter__form input[type="email"], .bpal-newsletter__form .bpal-button { height: 52px; min-height: 52px; }
}
@media (max-width: 390px) {
  .bpal-home-store-card__content { width: 65%; right: 3%; }
  .bpal-home-store-card__button { min-height: 43px; font-size: .67rem; }
  .bpal-newsletter__form { grid-template-columns: minmax(0, 1fr) 118px; }
  .bpal-newsletter__form .bpal-button { font-size: .62rem; }
}

/* bundled source: assets/css/storefront-white.css */
/* Theme v0.1.61 white storefront system. Presentation only. */

:root {
	--bpal-neutral: #f5f6f7;
	--bpal-background: #fff;
	--bpal-line: rgba(14, 39, 66, 0.1);
	--bpal-shadow: 0 8px 24px rgba(14, 39, 66, 0.05);
}

body,
.bpal-main,
.bpal-page-content,
.bpal-main--woocommerce,
.bpal-brands-page,
.bpal-service-page,
.bpal-contact-page,
.bpal-404,
.bpal-fit-cta,
.bpal-home-columns,
.bpal-newsletter {
	background: var(--bpal-white);
}

.bpal-site-header {
	background: rgba(255, 255, 255, 0.98);
	border-bottom-color: rgba(14, 39, 66, 0.09);
	box-shadow: none;
}

.bpal-primary-nav .sub-menu {
	background: var(--bpal-white);
	border-color: rgba(14, 39, 66, 0.1);
	box-shadow: 0 10px 24px rgba(14, 39, 66, 0.06);
}

.bpal-hero {
	background: var(--bpal-white);
	border-bottom: 1px solid var(--bpal-line);
}

.bpal-section--muted {
	background: var(--bpal-white);
	border-block: 1px solid var(--bpal-line);
}

.bpal-category-card,
.bpal-product-card {
	background: var(--bpal-white);
	border-color: rgba(14, 39, 66, 0.09);
	box-shadow: none;
}

.bpal-category-card:hover,
.bpal-product-card:hover {
	transform: none;
	box-shadow: none;
	border-color: rgba(14, 39, 66, 0.18);
}

.bpal-category-card__media,
.bpal-product-card__media,
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img {
	background: #f5f6f7;
}

.bpal-product-card {
	border-width: 0 0 1px;
	border-radius: 0;
}

.bpal-product-card__body {
	padding-inline: 4px;
}

.bpal-fit-cta__panel {
	background: rgba(14, 39, 66, 0.08);
	border-color: rgba(14, 39, 66, 0.08);
}

.bpal-fit-cta__panel span {
	background: var(--bpal-white);
}

.bpal-404__media {
	background: #f5f6f7;
	border-color: rgba(14, 39, 66, 0.09);
	box-shadow: none;
}

.bpal-service-hero,
.bpal-contact-hero {
	background: var(--bpal-white);
	border-bottom: 1px solid var(--bpal-line);
	color: var(--bpal-text);
}

.bpal-service-hero h1,
.bpal-contact-hero h1 {
	color: var(--bpal-primary);
}

.bpal-service-hero .bpal-eyebrow,
.bpal-contact-hero .bpal-eyebrow {
	color: var(--bpal-accent);
}

.bpal-service-hero p:last-child,
.bpal-contact-hero p:last-child {
	color: #59636d;
}

.bpal-service-card,
.bpal-service-main,
.bpal-contact-method,
.bpal-contact-main,
.bpal-contact-hours__week,
.bpal-table-scroll,
.bpal-home-column,
.bpal-brands-alphabet,
.bpal-brand-card,
.bpal-brands-admin-note {
	background: var(--bpal-white);
	border-color: rgba(14, 39, 66, 0.1);
	box-shadow: none;
}

.bpal-service-card {
	border-top: 2px solid var(--bpal-accent);
}

.bpal-service-note,
.bpal-form-notice {
	background: #f8f9fa;
	border-left-width: 2px;
}

.bpal-contact-hours__week {
	border: 1px solid rgba(14, 39, 66, 0.1);
	border-top: 2px solid var(--bpal-accent);
}

.bpal-home-column {
	background: var(--bpal-white);
}

.bpal-button--accent {
	background: var(--bpal-primary);
	border-color: var(--bpal-primary);
	color: var(--bpal-white);
}

.bpal-button--accent:hover {
	background: var(--bpal-secondary);
	border-color: var(--bpal-secondary);
	color: var(--bpal-white);
}

.bpal-service-aside .bpal-button {
	background: var(--bpal-white);
	border-color: var(--bpal-white);
	color: var(--bpal-primary);
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	background: var(--bpal-white);
	border: 0;
	border-bottom: 1px solid rgba(14, 39, 66, 0.09);
	box-shadow: none;
}

.bpal-catalog-layout.is-enhanced .bpal-filter-panel,
.bpal-catalog-layout.bpal-catalog-layout--server-ready .bpal-filter-panel,
.bpal-filter-sort select,
.bpal-filter-size-button,
.bpal-catalog-layout .bpal-filter-chip,
.bpal-filter-empty,
.bpal-filter-page {
	background: var(--bpal-white);
}

.bpal-newsletter__banner {
	background: var(--bpal-white);
	border-block: 0;
	box-shadow: none;
}

.bpal-newsletter__shade {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.03) 100%);
}

.bpal-newsletter__content {
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 0 18px rgba(255, 255, 255, 0.92);
}

@media (max-width: 1023px) {
	.bpal-primary-nav {
		background: var(--bpal-white);
		box-shadow: 0 10px 24px rgba(14, 39, 66, 0.06);
	}
}

@media (max-width: 760px) {
	.bpal-newsletter__content {
		background: var(--bpal-white);
		border-block: 1px solid var(--bpal-line);
		box-shadow: none;
	}
}

/* bundled source: assets/css/release-012.css */
/* Theme 0.12.0 — readability and campaign layout; legacy megamenu geometry retired in 0.12.3. */
:root {
  --bpal-heading: Montserrat, "Segoe UI", Arial, sans-serif;
}
/* Theme 0.61.4: all headings are Montserrat (--bpal-heading); the serif (Unna) is no longer used. */
h1, h2, h3, h4, h5, h6 { font-family: var(--bpal-heading); font-weight: 700; }
/* Theme 0.62.1: the footer headings (h2 of the columns, h3 of the logo groups) follow that rule too; they were in the body font until 0.62.0. */
.bpal-primary-nav a,
.bpal-button,
.bpal-text-link,
.bpal-eyebrow,
.bpal-contact-method a,
.bpal-header-reviews,
.bpal-header-reviews__rating,
.bpal-topbar,
.bpal-header-search,
.bpal-mobile-nav__account,
.bpal-submenu-toggle { font-family: var(--bpal-body); }
.bpal-header-reviews { border: 0; background: transparent; padding-inline: 0; }
.bpal-site-header .bpal-brand__logo { width: min(320px, 24vw) !important; max-height: 46px; object-fit: contain; object-position: left center; }
.bpal-site-footer .bpal-site-footer__logo { width: min(300px, 100%) !important; max-height: 48px; object-fit: contain; object-position: left center; }
.bpal-home-campaign__grid { aspect-ratio: 2 / 1; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); align-items: stretch; }
.bpal-home-campaign__tile,
.bpal-home-campaign__tile--secondary { background: transparent; border: 0; }
.bpal-home-campaign__tile--primary { grid-row: 1 / span 2; aspect-ratio: auto; }
.bpal-home-campaign__tile--secondary { aspect-ratio: auto; }
.bpal-home-campaign__tile img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
@media (min-width: 1221px) {
  .bpal-site-header--has-reviews .bpal-site-header__inner { grid-template-columns: minmax(290px, 330px) minmax(0, 1fr) 190px auto; }
}
/* Megamenu geometry is owned by header-navigation.css from Theme 0.12.3 onward. */
@media (min-width: 1024px) and (max-width: 1220px) {
  .bpal-site-header .bpal-brand__logo { width: min(270px, 25vw) !important; max-height: 40px; }
}
@media (max-width: 1180px) {
  /* Theme 0.16.1: do not break sticky positioning by locking html/body overflow. */
  html.bpal-menu-open,
  html.bpal-menu-open body { overflow: visible; }
}
/*
 * Theme 0.17.0: keep the 681px+ campaign mosaic on one deterministic 2x2 grid.
 * Per-tile 1:1 / 2:1 aspect ratios conflict with the 16px grid gap and can make
 * CSS Grid widen the primary column. The grid owns geometry; images crop inside it.
 */
@media (max-width: 680px) {
  .bpal-site-header .bpal-brand__logo { width: min(160px, 42vw) !important; max-height: 30px; }
  .bpal-home-campaign__grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    aspect-ratio: auto;
  }
  .bpal-home-campaign__tile--primary,
  .bpal-home-campaign__tile--secondary {
    grid-column: 1;
    grid-row: auto;
    aspect-ratio: auto;
  }
  .bpal-home-campaign__tile img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
}

/* bundled source: assets/css/release-0121.css */
/* Theme 0.12.1 retained accent/review corrections; megamenu geometry now lives in the base navigation stylesheet. */
:root { --bpal-accent: #fb7d26; }

.bpal-button--primary {
  background: var(--bpal-accent) !important;
  border-color: var(--bpal-accent) !important;
  color: var(--bpal-primary) !important;
}
.bpal-button--primary:hover,
.bpal-button--primary:focus-visible {
  background: var(--bpal-primary) !important;
  border-color: var(--bpal-primary) !important;
  color: var(--bpal-white) !important;
}

.bpal-header-reviews { transform: translateX(8px); }

@media (max-width: 1023px) {
  .bpal-header-reviews { transform: none; }
}

/* bundled source: assets/css/release-015.css */
/*
 * Theme 0.16.0 compatibility presentation layer.
 *
 * Navigation structure no longer lives here. header-navigation.css is the
 * canonical owner for responsive header/navigation/megamenus.
 */

/* Google reviews belong to the trust bar, not the navigation row. */
.bpal-topbar .bpal-header-reviews {
	box-sizing: border-box;
	width: auto;
	min-width: 0;
	height: auto;
	min-height: 0;
	overflow: visible;
	padding: 0;
	background: transparent;
	border: 0;
	color: var(--bpal-white);
	transform: none;
}

.bpal-topbar .bpal-header-reviews__link {
	display: inline-flex;
	height: auto;
	min-height: 36px;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: inherit;
	text-decoration: none;
}

.bpal-topbar .bpal-header-reviews__summary {
	display: inline-flex;
	min-width: 0;
	align-items: center;
	gap: 4px;
	visibility: hidden;
	white-space: nowrap;
}

.bpal-topbar .bpal-header-reviews.is-ready .bpal-header-reviews__summary {
	visibility: visible;
}

.bpal-topbar .bpal-header-reviews__rating {
	min-width: auto;
	color: var(--bpal-white);
	font-family: var(--bpal-body);
	font-size: 0.76rem;
	font-weight: 700;
	line-height: 1;
}

.bpal-topbar .bpal-header-reviews__count {
	color: rgba(255, 255, 255, 0.82);
	font-size: 0.68rem;
}

.bpal-topbar .bpal-header-reviews__stars {
	width: 5.2em;
	font-size: 0.68rem;
	letter-spacing: 0.7px;
}

/*
 * The attribution is text now, but the older rule for the logo image (a 98 x 18 box)
 * still reaches it: without its own height the text hugs the top of that box and sits
 * above the stars. Let the box follow the text so the row centres it on the stars.
 */
.bpal-topbar .bpal-header-reviews__attribution {
	display: inline-flex;
	align-items: center;
	width: auto;
	max-width: none;
	height: auto;
	color: rgba(255, 255, 255, 0.7);
	font-family: Roboto, Arial, sans-serif;
	font-size: calc(0.72rem - 2px);
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1;
	white-space: nowrap;
}

.bpal-topbar__inner {
	align-items: center;
}

.bpal-topbar__inner > span {
	justify-self: center;
}

.bpal-topbar__inner > span:first-child {
	justify-self: start;
}

.bpal-topbar .bpal-header-reviews {
	justify-self: end;
}

.bpal-topbar .bpal-header-reviews__link:focus-visible {
	outline-color: var(--bpal-accent);
}

@media (max-width: 1180px) {
	.bpal-topbar__inner {
		gap: 4px 14px;
		min-height: 42px;
		padding-block: 4px;
		line-height: 1.2;
	}

	.bpal-topbar .bpal-header-reviews__link {
		min-height: 38px;
		flex-direction: column;
		gap: 0;
	}
}

/* Keep campaign tiles clickable without the previous noticeable zoom. */
.bpal-home-campaign__tile:hover img,
.bpal-home-campaign__tile:focus-visible img {
	transform: scale(1.004);
}

@media (prefers-reduced-motion: reduce) {
	.bpal-home-campaign__tile:hover img,
	.bpal-home-campaign__tile:focus-visible img {
		transform: none;
	}
}

/* bundled source: assets/css/homepage-landing.css */
/* Homepage opening (Theme 0.58.1): hero, product group tiles and suits banner. Bundled into homepage-pre.css only.
   Mobile first; the hero turns into two columns from 1200px and the tiles into three columns from 960px.
   The photos are the size they are (1198 px wide at most), so no box asks for more than 1.25 times their own pixels. */

.bpal-home-hero {
	background: #f7f4ee;
}

.bpal-home-hero__inner {
	--bpal-home-hero-h: clamp(440px, 34vw, 520px);
	display: grid;
	max-width: 1440px;
	margin-inline: auto;
	/* A zero-minimum track: with an automatic one the column grows with the longest word of the h1 and the page scrolls sideways
	   when the browser's default letter size is larger. */
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "copy" "media" "usps";
}

.bpal-home-hero__copy {
	grid-area: copy;
	padding: 32px 20px 24px;
	/* The box the h1 sizes itself against (cqi below). The track of this column has a zero minimum, so the box does not depend on its text. */
	container-type: inline-size;
}

/* Theme 0.62.2: a word of the heading is never broken. The size is in rem, so a larger default letter size of the browser (Chrome "Very large":
   24 px) makes it grow while the column stays as wide as it was: at 1280 px "Herenkleding" (7.04em in Montserrat 700, 546 px at 78 px) did not fit
   the column of 512 px and broke as "Herenkledin" + "g". The second font-size caps the size at the width of the box: the longest word then takes
   at most 13.6cqi * 7.04 = 95.7% of the box, at any width and any letter size. With the standard letter size the cap never binds (36 px at 320 px
   needs a box of 265 px, 14.5% of it; the cap is 13.6%): nothing changes. The first font-size stays as the fall-back for browsers without container
   query units (and the overflow-wrap below keeps the page from scrolling sideways there). max-width 7.5em instead of 7.2em: 6.5% room round the
   word instead of 2.3%; the heading still has the same three lines (a box of 8.3em would be needed for "Herenkleding in"). */
.bpal-home-hero h1 {
	max-width: 7.5em;
	margin: 0;
	color: var(--bpal-primary);
	font-family: var(--bpal-heading);
	font-size: clamp(2.25rem, 10.7vw, 3.5rem);
	font-size: min(clamp(2.25rem, 10.7vw, 3.5rem), 13.6cqi);
	font-weight: 700;
	line-height: 1.02;
	letter-spacing: -0.01em;
	overflow-wrap: break-word;
	text-wrap: balance;
}

.bpal-home-hero__lead {
	max-width: 30em;
	margin: 18px 0 0;
	color: var(--bpal-text);
	font-size: 1.0625rem;
	line-height: 1.55;
}

.bpal-home-hero__media {
	grid-area: media;
}

.bpal-home-hero__media img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: 78% 50%;
}

.bpal-home-usps {
	grid-area: usps;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 16px;
	margin: 0;
	padding: 28px 20px 32px;
	list-style: none;
}

.bpal-home-usps li {
	display: grid;
	align-content: start;
	justify-items: start;
	gap: 2px;
}

.bpal-home-usps__icon {
	margin-bottom: 8px;
	color: var(--bpal-accent);
}

.bpal-home-usps strong {
	color: var(--bpal-primary);
	font-family: var(--bpal-heading);
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.25;
}

/* Buttons of the tiles and the banner: always on a dark surface. */
.bpal-home-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 20px;
	border: 1.5px solid transparent;
	border-radius: var(--bpal-radius);
	font-family: var(--bpal-heading);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.bpal-home-button--accent {
	border-color: var(--bpal-accent);
	background: var(--bpal-accent);
	color: var(--bpal-primary);
}

.bpal-home-button--accent:hover,
.bpal-home-button--accent:focus-visible {
	border-color: #ff9a4d;
	background: #ff9a4d;
	color: var(--bpal-primary);
}

.bpal-home-button--ghost {
	border-color: #fff;
	background: rgba(14, 39, 66, 0.35);
	color: #fff;
}

.bpal-home-button--ghost:hover,
.bpal-home-button--ghost:focus-visible {
	background: #fff;
	color: var(--bpal-primary);
}

.bpal-home-button:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 2px;
}

.bpal-home-tiles,
.bpal-home-suits {
	max-width: 1440px;
	margin: 8px auto 0;
}

.bpal-home-tiles__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	justify-items: center;
	gap: 8px;
}

.bpal-home-tile {
	position: relative;
	width: min(100%, 480px);
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--bpal-primary);
	color: #fff;
	container-type: inline-size;
}

.bpal-home-tile__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 10%;
}

.bpal-home-tile::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(7, 20, 36, 0.95) 0%, rgba(7, 20, 36, 0.84) 34%, rgba(7, 20, 36, 0) 68%);
	content: "";
}

.bpal-home-tile__body {
	position: absolute;
	inset: auto 0 0;
	z-index: 1;
	padding: 0 24px 24px;
}

/* Theme 0.62.2: the heading is capped at the width of the text box of the tile (the tile is the container; the body has 24 px at each side, 16 px
   below 360 px): "Overhemden" is 6.78em wide in Montserrat 700, so 1/7.1 of the box makes it take at most 95.5% of it, also with a larger default
   letter size of the browser. With the standard letter size the cap never binds (34 px needs a box of 241 px, the cap is 261 px at the narrowest
   tile in a row, 309 px at 960 px). */
.bpal-home-tile h2 {
	margin: 0;
	color: #fff;
	font-family: var(--bpal-heading);
	font-size: 2.125rem;
	font-size: min(2.125rem, calc((100cqi - 48px) / 7.1));
	font-weight: 700;
	line-height: 1.1;
}

.bpal-home-tile p {
	margin: 6px 0 16px;
	color: rgba(255, 255, 255, 0.92);
	font-size: 0.9375rem;
	line-height: 1.45;
}

.bpal-home-tile__actions,
.bpal-home-suits__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

@container (max-width: 359px) {
	.bpal-home-tile__body { padding: 0 16px 16px; }
	.bpal-home-tile h2 { font-size: min(1.75rem, calc((100cqi - 32px) / 7.1)); }
	.bpal-home-tile__actions { flex-direction: column; gap: 8px; }
	.bpal-home-tile .bpal-home-button { justify-content: space-between; }
}

.bpal-home-suits {
	position: relative;
	display: grid;
	overflow: hidden;
	background: var(--bpal-primary);
	color: #fff;
}

.bpal-home-suits__image {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: 20% 40%;
}

.bpal-home-suits__panel {
	padding: 28px 20px 32px;
	/* The box the heading sizes itself against (cqi below, Theme 0.62.2). */
	container-type: inline-size;
}

.bpal-home-suits__eyebrow {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 12px;
	font-family: var(--bpal-heading);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.bpal-home-suits__eyebrow::after {
	width: 44px;
	height: 2px;
	background: var(--bpal-accent);
	content: "";
}

/* Theme 0.62.2: capped at the width of the panel (its own box): "Kostuums" is 5.21em wide in Montserrat 700, so 18.3cqi makes it take at most 95.4%
   of the box, also with a larger default letter size of the browser. With the standard letter size the cap never binds (40 px needs 208 px of 280). */
.bpal-home-suits h2 {
	margin: 0;
	color: #fff;
	font-family: var(--bpal-heading);
	font-size: clamp(2rem, 8vw, 2.5rem);
	font-size: min(clamp(2rem, 8vw, 2.5rem), 18.3cqi);
	font-weight: 700;
	line-height: 1.08;
	text-wrap: balance;
}

.bpal-home-suits__accent {
	color: var(--bpal-accent);
}

.bpal-home-suits__text {
	max-width: 34em;
	margin: 14px 0 24px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 1rem;
	line-height: 1.55;
}

@media (min-width: 720px) {
	.bpal-home-hero__copy { padding: 44px 40px 28px; }
	.bpal-home-hero__lead { font-size: 1.125rem; }
	.bpal-home-hero__media img { aspect-ratio: 21 / 9; object-position: 100% 50%; }
	.bpal-home-usps { grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 32px 40px 40px; }
	.bpal-home-suits__image { aspect-ratio: 21 / 9; }
	.bpal-home-suits__panel { padding: 36px 40px 44px; }
}

@media (min-width: 960px) {
	.bpal-home-tiles__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.bpal-home-tile { width: 100%; }
}

@media (min-width: 1024px) {
	.bpal-home-suits { min-height: clamp(340px, 28vw, 400px); }
	.bpal-home-suits__image { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; object-position: 0 40%; }
	.bpal-home-suits__panel {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		z-index: 1;
		margin-left: 46%;
		padding: 48px 7% 48px 20%;
	}
	.bpal-home-suits__panel::before {
		position: absolute;
		inset: 0;
		z-index: -1;
		background: linear-gradient(90deg, rgba(9, 27, 48, 0.98), rgba(9, 27, 48, 0.94) 60%, rgba(9, 27, 48, 0.82));
		clip-path: polygon(18% 0, 100% 0, 100% 100%, 0 100%);
		content: "";
	}
	.bpal-home-suits h2 {
		font-size: clamp(2.25rem, 3.2vw, 2.75rem);
		font-size: min(clamp(2.25rem, 3.2vw, 2.75rem), 18.3cqi);
	}
}

@media (min-width: 1200px) {
	.bpal-home-hero__inner {
		grid-template-columns: minmax(0, 1fr) calc(var(--bpal-home-hero-h) * 1.53);
		grid-template-rows: 1fr auto;
		grid-template-areas: "copy media" "usps media";
		min-height: var(--bpal-home-hero-h);
	}
	.bpal-home-hero__copy { align-self: center; padding: 40px 24px 20px 56px; }
	.bpal-home-hero h1 {
		font-size: clamp(3.25rem, 4.4vw, 4.25rem);
		font-size: min(clamp(3.25rem, 4.4vw, 4.25rem), 13.6cqi);
	}
	.bpal-home-usps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; padding: 0 24px 36px 56px; }
	/* The left edge of the photo is a blurred street: it fades into the cream so the text can stand on it. The photo is as high as
	   the hero (at least --bpal-home-hero-h): between 1200 and 1359px the text and the two rows of selling points are higher than
	   the photo, and a fixed height would leave a cream strip under it. The image fills the box from inside, so it needs no
	   percentage height. */
	.bpal-home-hero__media {
		position: relative;
		min-height: var(--bpal-home-hero-h);
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14%);
		mask-image: linear-gradient(90deg, transparent 0, #000 14%);
	}
	.bpal-home-hero__media img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; object-position: 100% 50%; }
}

/* Room for the four selling points in one row, with a line between them. */
@media (min-width: 1360px) {
	.bpal-home-usps { grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.3fr); gap: 0; }
	.bpal-home-usps li { padding-right: 12px; }
	.bpal-home-usps li + li { padding-left: 16px; border-left: 1px solid rgba(14, 39, 66, 0.14); }
	/* The man stays sharp (owner, 1 November 2026): only the blurred street left of him fades into the cream. The picture keeps the
	   height of the hero and is not clipped by its column any more: it reaches left, under the right of the text column, and what
	   lies there is transparent. The fade is a mask on the picture, in percent of the picture, so it ends before the man whatever
	   the height of the hero is (he stands at 51% of the width, the picture is opaque from 51%) and starts after the text (the
	   text ends before 43% of the picture from 1360px). tests/theme-homepage-landing-browser.mjs compares the pixels of the man
	   with and without the mask. Below 1360px the text column is too wide for this, and the picture keeps the narrow column with
	   the fade of 0.58.1. */
	.bpal-home-hero__copy,
	.bpal-home-usps { position: relative; z-index: 1; }
	.bpal-home-hero__media {
		pointer-events: none;
		-webkit-mask-image: none;
		mask-image: none;
	}
	.bpal-home-hero__media img {
		inset: 0 0 0 auto;
		width: auto;
		max-width: none;
		-webkit-mask-image: linear-gradient(90deg, transparent 0, transparent 43%, #000 51%);
		mask-image: linear-gradient(90deg, transparent 0, transparent 43%, #000 51%);
	}
}

/* Wider than the container: the photo ends before the screen edge, so its right edge fades as well. */
@media (min-width: 1441px) {
	.bpal-home-hero__media img {
		-webkit-mask-image: linear-gradient(90deg, transparent 0, transparent 43%, #000 51%, #000 94%, transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0, transparent 43%, #000 51%, #000 94%, transparent 100%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.bpal-home-button { transition: none; }
}
