/* =============================================================================
   BilligKanel — main.css
   Aesthetic: "Nordic Spice Editorial"
   ─ Display: Fraunces (variable serif, opsz)
   ─ Body:    Manrope (variable sans)
   ─ Palette: warm cream + espresso, cinnamon accent, saffron details
   ============================================================================= */

/* ---------- Tokens ---------- */
:root {
	/* Surface & ink — matched to live billigkanel.dk (Avada) palette */
	--bk-cream-50:  #fffdfb;   /* page bg */
	--bk-cream-100: #fff8f3;   /* paper / soft surface */
	--bk-cream-200: #f9f7f0;   /* divider tint */
	--bk-stone-300: #e7ddd6;   /* hairline border */
	--bk-stone-400: #d8c9bd;   /* muted border accent */
	--bk-stone-500: #6a5448;   /* muted text */
	--bk-stone-700: #4a3528;   /* soft text */
	--bk-espresso:  #2c1810;   /* primary text */
	--bk-ink:       #2b1b12;   /* dark surface */

	/* Spice palette — live cinnamon browns */
	--bk-cinnamon-50:  #f8ede3;
	--bk-cinnamon-100: #f0dccb;
	--bk-cinnamon-200: #e4c3a6;
	--bk-cinnamon-500: #c1843f;
	--bk-cinnamon:     #a2602f  /* WCAG AA: 4,9:1 mod hvid (var #b86f3a = 3,9:1) */;   /* primary accent */
	--bk-cinnamon-700: #8d4f24;   /* hover / dark */
	--bk-cinnamon-900: #5e3417;
	--bk-saffron:      #c69a4f;   /* gold accent */
	--bk-rust:         #8e3a17;
	--bk-paprika:      #c14b1f;
	--bk-link-hover:   #65bc7b;   /* live green link hover */

	/* Status */
	--bk-success: #2f7d3a;
	--bk-success-soft: #e0f0e3;
	--bk-danger: #b32027;
	--bk-info:   #345fb4;

	/* Aliases — kept for legacy compatibility */
	--bk-color-bg: var(--bk-cream-50);
	--bk-color-surface: #ffffff;
	--bk-color-surface-2: var(--bk-cream-100);
	--bk-color-line: var(--bk-stone-300);
	--bk-color-text: var(--bk-espresso);
	--bk-color-text-soft: var(--bk-stone-700);
	--bk-color-muted: var(--bk-stone-500);
	--bk-color-accent: var(--bk-cinnamon);
	--bk-color-accent-hover: var(--bk-cinnamon-700);
	--bk-color-accent-soft: var(--bk-cinnamon-100);
	--bk-color-success: var(--bk-success);
	--bk-color-success-soft: var(--bk-success-soft);
	--bk-color-danger: var(--bk-danger);
	--bk-color-info: var(--bk-info);

	/* Typography — live pairing: Playfair Display (headings) + PT Sans (body) */
	--bk-font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--bk-font-body: 'PT Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
	--bk-font-mono: ui-monospace, 'SF Mono', 'Cascadia Mono', Menlo, monospace;
	--bk-font-sans: var(--bk-font-body);

	/* Type scale (mobile-first; bumped on lg) */
	--bk-fs-300: 0.8125rem;
	--bk-fs-400: 1rem;
	--bk-fs-500: 1.125rem;
	--bk-fs-600: 1.375rem;
	--bk-fs-700: 1.75rem;
	--bk-fs-800: 2.375rem;
	--bk-fs-900: 3rem;
	--bk-fs-1000: 3.75rem;

	/* Spacing */
	--bk-space-1: 0.25rem;
	--bk-space-2: 0.5rem;
	--bk-space-3: 0.75rem;
	--bk-space-4: 1rem;
	--bk-space-5: 1.25rem;
	--bk-space-6: 1.5rem;
	--bk-space-8: 2rem;
	--bk-space-10: 2.5rem;
	--bk-space-12: 3rem;
	--bk-space-16: 4rem;
	--bk-space-20: 5rem;
	--bk-space-24: 6rem;

	/* Layout */
	--bk-container: 1240px;
	--bk-container-narrow: 760px;
	--bk-radius-sm: 6px;
	--bk-radius: 12px;
	--bk-radius-lg: 20px;
	--bk-radius-pill: 999px;

	--bk-shadow-xs: 0 1px 2px rgba(26, 20, 16, 0.05);
	--bk-shadow-sm: 0 2px 6px rgba(26, 20, 16, 0.06), 0 1px 2px rgba(26, 20, 16, 0.04);
	--bk-shadow:    0 14px 32px -12px rgba(26, 20, 16, 0.18), 0 4px 12px rgba(26, 20, 16, 0.05);
	--bk-shadow-lg: 0 30px 60px -20px rgba(26, 20, 16, 0.24), 0 10px 20px rgba(26, 20, 16, 0.06);

	--bk-header-height: 76px;
	--bk-header-height-mobile: 60px;
	--bk-trust-bar-height: 36px;
	--bk-sticky-cta-height: 64px;

	/* Variable-font axes baked in for nice, characterful display text */
	--bk-display-opsz: 96;
	--bk-display-soft: 30;
}

/* =============================================================================
   Breakpoint system — kanonisk:
   --bk-bp-sm: 480px   | store mobiler / phablet
   --bk-bp-md: 768px   | tablet portrait + grænse for mobile-nav
   --bk-bp-lg: 1024px  | tablet landscape / small desktop
   --bk-bp-xl: 1280px  | large desktop
   Brug kun disse i ny CSS. Eksisterende ad hoc breakpoints konsolideres
   gradvist (se /Users/jannicklangkjaer/.claude/plans/du-skal-gennemg-...).
   ============================================================================= */

@media (min-width: 768px) {
	:root {
		--bk-fs-800: 2.75rem;
		--bk-fs-900: 3.5rem;
		--bk-fs-1000: 4.5rem;
	}
}
@media (min-width: 1200px) {
	:root {
		--bk-fs-900: 4rem;
		--bk-fs-1000: 5.25rem;
	}
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { margin: 0; }
body {
	font-family: var(--bk-font-body);
	font-size: var(--bk-fs-400);
	line-height: 1.6;
	color: var(--bk-color-text);
	background: var(--bk-cream-50);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	background-image:
		radial-gradient(1200px 620px at 100% -10%, rgba(198, 154, 79, 0.10), transparent 62%),
		radial-gradient(960px 520px at -10% 108%, rgba(184, 111, 58, 0.08), transparent 60%),
		linear-gradient(180deg, #fffdfb 0%, #fdf6ee 55%, #fbf1e6 100%);
	background-attachment: fixed, fixed, fixed;
}
img, picture, svg, video { display: block; max-width: 100%; height: auto; }
button { font: inherit; color: inherit; }
input, select, textarea { font: inherit; color: inherit; }
a { color: var(--bk-cinnamon); text-decoration: none; transition: color .12s ease; }
a:hover { color: var(--bk-link-hover); text-decoration: underline; text-underline-offset: 3px; }
hr { border: 0; border-top: 1px solid var(--bk-stone-300); margin: var(--bk-space-8) 0; }

h1, h2, h3, h4, h5 {
	font-family: var(--bk-font-display);
	line-height: 1.12;
	margin: 0 0 var(--bk-space-4);
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--bk-espresso);
}
/* Fluid headings — clamp(min, fluid-mid, max). Mobile-first så h1 ikke
   overflyder 320-px-skærme; pages/components må stadig override locally. */
h1 { font-size: clamp(2.25rem, 4vw + 1rem, 4.25rem); font-weight: 700; letter-spacing: -0.015em; }
h2 { font-size: clamp(1.75rem, 3vw + 1rem, 3rem); font-weight: 700; letter-spacing: -0.01em; }
h3 { font-size: clamp(1.4rem, 2vw + 0.8rem, 2rem); font-weight: 700; letter-spacing: -0.005em; }
h4 { font-size: clamp(1.2rem, 1.4vw + 0.75rem, 1.5rem); font-weight: 700; }
h5 { font-size: var(--bk-fs-500); font-weight: 600; letter-spacing: -0.01em; }
p { margin: 0 0 var(--bk-space-4); }
strong { font-weight: 700; color: var(--bk-espresso); }
small { font-size: 0.86em; }

ul, ol { margin: 0 0 var(--bk-space-4); padding-left: 1.4rem; }
ul li::marker { color: var(--bk-cinnamon); }

/* Display class for hero/marquee headlines */
.bk-display {
	font-family: var(--bk-font-display);
	font-weight: 400;
	font-style: italic;
	font-variation-settings: "opsz" 144, "SOFT" 50, "WONK" 1;
	letter-spacing: -0.04em;
	line-height: 0.95;
}

/* Visually hidden */
.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;
}

/* Skip link */
.skip-link {
	position: absolute; left: -9999px; top: 0;
	background: var(--bk-cinnamon); color: #fff;
	padding: var(--bk-space-2) var(--bk-space-4);
	z-index: 9999;
	border-radius: 0 0 var(--bk-radius-sm) 0;
	font-weight: 600;
}
.skip-link:focus { left: 0; top: 0; }

/* Selection */
::selection { background: var(--bk-cinnamon); color: #fff; }

/* ---------- Layout primitives ---------- */
.bk-container {
	width: 100%;
	max-width: var(--bk-container);
	margin-inline: auto;
	padding-inline: var(--bk-space-4);
}
@media (min-width: 768px) { .bk-container { padding-inline: var(--bk-space-6); } }
@media (min-width: 1200px) { .bk-container { padding-inline: var(--bk-space-8); } }
.bk-container--narrow { max-width: var(--bk-container-narrow); }
.bk-container--wide { max-width: 1480px; }

.bk-section { padding-block: var(--bk-space-16); position: relative; }
@media (min-width: 1024px) { .bk-section { padding-block: var(--bk-space-24); } }
.bk-section--tight { padding-block: var(--bk-space-10); }
.bk-section--bleed { padding-inline: 0; }

.bk-stack > * + * { margin-top: var(--bk-space-4); }
.bk-stack-lg > * + * { margin-top: var(--bk-space-6); }
.bk-stack-xl > * + * { margin-top: var(--bk-space-8); }

/* Eyebrow & section number markers */
.bk-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--bk-cinnamon);
	margin-bottom: var(--bk-space-3);
	font-feature-settings: "ss02";
}
.bk-eyebrow::before {
	content: "";
	display: inline-block;
	width: 1.4rem;
	height: 1px;
	background: currentColor;
	opacity: 0.6;
}
.bk-eyebrow--center { justify-content: center; }
.bk-eyebrow--center::before { display: none; }
.bk-eyebrow--center::after,
.bk-eyebrow--center::before {
	content: "";
	display: inline-block;
	width: 1.4rem;
	height: 1px;
	background: currentColor;
	opacity: 0.6;
}
.bk-eyebrow--center::before { display: inline-block; }

.bk-section-num {
	display: inline-block;
	font-family: var(--bk-font-display);
	font-style: italic;
	font-size: 0.86rem;
	color: var(--bk-stone-500);
	letter-spacing: 0.04em;
	margin-bottom: var(--bk-space-2);
	font-variation-settings: "opsz" 14;
}

/* ---------- Buttons ---------- */
.bk-btn,
.button,
button.button,
.woocommerce a.button,
.woocommerce button.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	padding: 0.95rem 1.6rem;
	border-radius: var(--bk-radius);
	background: var(--bk-espresso);
	color: #fff !important;
	border: 1px solid var(--bk-espresso);
	font-family: var(--bk-font-body);
	font-weight: 600;
	font-size: var(--bk-fs-400);
	line-height: 1.2;
	letter-spacing: -0.005em;
	cursor: pointer;
	text-decoration: none;
	transition: background .18s ease, border-color .18s ease, transform .08s ease, box-shadow .18s ease;
	min-height: 50px;
	box-shadow: 0 1px 2px rgba(0,0,0,.05);
	-webkit-tap-highlight-color: transparent;
}
.bk-btn:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
	background: var(--bk-ink);
	border-color: var(--bk-ink);
	color: #fff !important;
	text-decoration: none;
	box-shadow: 0 8px 24px -8px rgba(26, 20, 16, 0.4);
	transform: translateY(-1px);
}
.bk-btn:active,
.button:active { transform: translateY(0); box-shadow: var(--bk-shadow-xs); }
.bk-btn:focus-visible,
.button:focus-visible {
	outline: 3px solid var(--bk-cinnamon);
	outline-offset: 3px;
}

/* Primary cinnamon — used for hero CTAs and add-to-cart */
.bk-btn--primary,
.bk-btn--accent,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.single_add_to_cart_button,
.checkout-button,
#place_order {
	background: var(--bk-cinnamon);
	border-color: var(--bk-cinnamon);
	color: #fff !important;
}
.bk-btn--primary:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
#place_order:hover {
	background: var(--bk-cinnamon-700);
	border-color: var(--bk-cinnamon-700);
}

.bk-btn--secondary {
	background: transparent;
	color: var(--bk-espresso) !important;
	border-color: var(--bk-stone-400);
}
.bk-btn--secondary:hover {
	background: var(--bk-cream-100);
	border-color: var(--bk-espresso);
	color: var(--bk-espresso) !important;
}

.bk-btn--ghost {
	background: transparent;
	color: var(--bk-espresso) !important;
	border-color: transparent;
	box-shadow: inset 0 0 0 1px var(--bk-stone-300);
}
.bk-btn--ghost:hover {
	background: var(--bk-cream-100);
	color: var(--bk-espresso) !important;
	box-shadow: inset 0 0 0 1px var(--bk-espresso);
}

.bk-btn--full { width: 100%; }
.bk-btn--lg { padding: 1.1rem 1.9rem; font-size: var(--bk-fs-500); min-height: 56px; border-radius: var(--bk-radius); }
.bk-btn--sm { padding: 0.7rem 1.1rem; min-height: 44px; font-size: 0.86rem; border-radius: var(--bk-radius-sm); }
.bk-btn--pill { border-radius: var(--bk-radius-pill); }

/* Icon button */
.bk-btn--icon {
	width: 44px;
	height: 44px;
	padding: 0;
	min-height: 44px;
	border-radius: var(--bk-radius-sm);
}

/* ---------- Forms ---------- */
input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
input[type="search"], input[type="password"], input[type="url"], select, textarea {
	width: 100%;
	padding: 0.8rem 1rem;
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius-sm);
	background: #fff;
	min-height: 48px;
	font-family: inherit;
	transition: border-color .15s ease, box-shadow .15s ease;
}
select { padding-right: 2.4rem; appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--bk-stone-700) 50%), linear-gradient(135deg, var(--bk-stone-700) 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
input:focus, select:focus, textarea:focus {
	outline: none;
	border-color: var(--bk-cinnamon);
	box-shadow: 0 0 0 3px var(--bk-cinnamon-100);
}
label { font-weight: 600; color: var(--bk-espresso); }

/* ---------- Trust bar (kontinuerlig højre-mod-venstre marquee) ---------- */
.bk-trust-bar {
	background: var(--bk-ink);
	color: var(--bk-cream-50);
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	min-height: var(--bk-trust-bar-height);
	overflow: hidden;
	/* fade ind/ud på kanterne så marqueen aldrig "afbryder" hårdt */
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 56px, #000 calc(100% - 56px), transparent 100%);
	        mask-image: linear-gradient(90deg, transparent 0, #000 56px, #000 calc(100% - 56px), transparent 100%);
}
.bk-trust-bar__viewport {
	overflow: hidden;
	width: 100%;
	display: flex;
	align-items: center;
	min-height: var(--bk-trust-bar-height);
}
.bk-trust-bar__track {
	display: flex;
	align-items: center;
	width: max-content;
	flex: 0 0 auto;
	animation: bk-trust-marquee 48s linear infinite;
	will-change: transform;
}
.bk-trust-bar:hover .bk-trust-bar__track,
.bk-trust-bar:focus-within .bk-trust-bar__track {
	animation-play-state: paused;
}
.bk-trust-bar__group {
	display: inline-flex;
	align-items: center;
	gap: var(--bk-space-5);
	padding-right: var(--bk-space-5);
	flex: 0 0 auto;
	white-space: nowrap;
}
.bk-trust-bar__item {
	display: inline-flex;
	gap: 0.45rem;
	align-items: center;
	color: rgba(252, 249, 244, 0.92);
	white-space: nowrap;
}
.bk-trust-bar__item svg { color: var(--bk-saffron); width: 14px; height: 14px; flex-shrink: 0; }
.bk-trust-bar__sep {
	color: rgba(252, 249, 244, 0.28);
	font-size: 0.92rem;
	line-height: 1;
}
@keyframes bk-trust-marquee {
	from { transform: translate3d(0, 0, 0); }
	to   { transform: translate3d(-50%, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.bk-trust-bar__track { animation: none; }
}

/* ---------- Header ---------- */
.bk-header {
	background: rgba(252, 249, 244, 0.85);
	backdrop-filter: saturate(180%) blur(10px);
	-webkit-backdrop-filter: saturate(180%) blur(10px);
	border-bottom: 1px solid rgba(214, 196, 173, 0.5);
	position: sticky;
	top: 0;
	z-index: 50;
}
.bk-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--bk-space-3);
	min-height: var(--bk-header-height-mobile);
	padding-block: var(--bk-space-2);
}
@media (min-width: 768px) {
	.bk-header__inner {
		gap: var(--bk-space-4);
		min-height: var(--bk-header-height);
		padding-block: var(--bk-space-3);
	}
}
.bk-logo a {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--bk-espresso);
	text-decoration: none;
	font-family: var(--bk-font-display);
	font-weight: 500;
	font-size: 1.2rem;
	letter-spacing: -0.025em;
	font-variation-settings: "opsz" 24, "SOFT" 30;
}
@media (min-width: 768px) {
	.bk-logo a { font-size: 1.4rem; }
}
.bk-logo a:hover { text-decoration: none; color: var(--bk-cinnamon); }
.bk-logo img { max-height: 32px; width: auto; }
@media (min-width: 768px) {
	.bk-logo img { max-height: 40px; }
}
.bk-logo span:last-child { color: var(--bk-cinnamon); }

/* Main nav (desktop, inline) */
.bk-nav {
	display: none;
}
.bk-nav__list {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: var(--bk-space-1);
}
.bk-nav__list a {
	color: var(--bk-espresso);
	font-weight: 500;
	font-size: 0.96rem;
	padding: 0.55rem 0.9rem;
	display: inline-block;
	border-radius: var(--bk-radius-sm);
	position: relative;
}
/* Desktop nav: an animated underline indicator that grows from the centre on
   hover / for the active item — a more premium feel than the old flat pill.
   Scoped to the inline desktop nav so the off-canvas mobile menu is untouched. */
.bk-nav:not(.bk-nav--mobile) .bk-nav__list a::after {
	content: "";
	position: absolute;
	left: 0.85rem;
	right: 0.85rem;
	bottom: 0.3rem;
	height: 2px;
	border-radius: 2px;
	background: var(--bk-cinnamon);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .22s cubic-bezier(0.16, 1, 0.3, 1);
}
.bk-nav:not(.bk-nav--mobile) .bk-nav__list a:hover,
.bk-nav:not(.bk-nav--mobile) .bk-nav__list .current-menu-item > a,
.bk-nav:not(.bk-nav--mobile) .bk-nav__list .current-menu-parent > a {
	color: var(--bk-cinnamon);
	background: transparent;
	text-decoration: none;
}
.bk-nav:not(.bk-nav--mobile) .bk-nav__list a:hover::after,
.bk-nav:not(.bk-nav--mobile) .bk-nav__list a:focus-visible::after,
.bk-nav:not(.bk-nav--mobile) .bk-nav__list .current-menu-item > a::after,
.bk-nav:not(.bk-nav--mobile) .bk-nav__list .current-menu-parent > a::after {
	transform: scaleX(1);
}
@media (prefers-reduced-motion: reduce) {
	.bk-nav:not(.bk-nav--mobile) .bk-nav__list a::after { transition: none; }
}
@media (min-width: 1024px) {
	.bk-nav:not(.bk-nav--mobile) { display: flex; }
}

/* Hamburger toggle — vises < lg */
.bk-nav-toggle {
	display: inline-flex;
	background: transparent;
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius-sm);
	padding: 0.55rem 0.65rem;
	cursor: pointer;
	min-height: 44px;
	min-width: 44px;
	align-items: center;
	justify-content: center;
	transition: border-color .12s, background .12s;
	-webkit-tap-highlight-color: transparent;
}
.bk-nav-toggle:hover { border-color: var(--bk-espresso); background: var(--bk-cream-100); }
.bk-nav-toggle:focus-visible {
	outline: 3px solid var(--bk-cinnamon);
	outline-offset: 2px;
}
@media (min-width: 1024px) { .bk-nav-toggle { display: none; } }

/* Off-canvas mobile/tablet nav drawer (slider ind fra højre, matcher cart-drawer) */
.bk-nav--mobile {
	position: fixed;
	inset: 0;
	z-index: 90;
	pointer-events: none;
	display: block;
	background: transparent;
	border: 0;
	padding: 0;
	box-shadow: none;
	/* Hide off-screen panel content while closed — but keep it in the DOM
	   for screen-reader / focus management. */
}
.bk-nav--mobile[aria-hidden="false"] { pointer-events: auto; }
.bk-nav--mobile::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(13, 9, 7, 0.45);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	opacity: 0;
	transition: opacity .25s ease;
	pointer-events: none;
	z-index: 0;
}
.bk-nav--mobile.is-open::before {
	opacity: 1;
	pointer-events: auto;
}
.bk-nav--mobile__panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(86vw, 360px);
	background: var(--bk-cream-50);
	box-shadow: var(--bk-shadow-lg);
	transform: translateX(100%);
	transition: transform .3s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
	outline: none;
	z-index: 1;
}
.bk-nav--mobile.is-open .bk-nav--mobile__panel { transform: translateX(0); }
.bk-nav--mobile__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--bk-space-4) var(--bk-space-5);
	border-bottom: 1px solid var(--bk-stone-300);
	background: #fff;
	flex-shrink: 0;
}
.bk-nav--mobile__title {
	margin: 0;
	font-family: var(--bk-font-display);
	font-size: 1.15rem;
	font-weight: 500;
	letter-spacing: -0.015em;
	color: var(--bk-espresso);
	font-variation-settings: "opsz" 60, "SOFT" 30;
}
.bk-nav--mobile__close {
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 0.5rem;
	color: var(--bk-stone-700);
	border-radius: var(--bk-radius-sm);
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
	line-height: 1;
	transition: color .12s, background .12s;
}
.bk-nav--mobile__close:hover { background: var(--bk-cream-100); color: var(--bk-cinnamon); }
.bk-nav--mobile .bk-nav__list {
	display: flex;
	flex-direction: column;
	gap: 0;
	flex: 1 1 auto;
	overflow-y: auto;
	padding: var(--bk-space-3);
	margin: 0;
	list-style: none;
	width: 100%;
	min-height: 0;
}
.bk-nav--mobile .bk-nav__list li {
	display: block;
	list-style: none;
	width: 100%;
}
.bk-nav--mobile .bk-nav__list li::marker { content: ""; }
.bk-nav--mobile .bk-nav__list a {
	display: flex;
	align-items: center;
	min-height: 52px;
	padding: 0.85rem var(--bk-space-3);
	border-radius: var(--bk-radius-sm);
	font-family: var(--bk-font-display);
	font-size: 1.1rem;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: var(--bk-espresso);
	border-bottom: 1px solid rgba(31, 26, 20, 0.06);
	width: 100%;
}
.bk-nav--mobile .bk-nav__list li:last-child a { border-bottom: 0; }
.bk-nav--mobile .bk-nav__list a:hover {
	background: var(--bk-cream-100);
	color: var(--bk-cinnamon);
	text-decoration: none;
}
@media (min-width: 1024px) {
	.bk-nav--mobile { display: none; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) {
	.bk-nav--mobile::before,
	.bk-nav--mobile__panel { transition: none; }
}

/* Cart trigger */
.bk-cart-trigger { display: inline-block; }
.bk-cart-trigger__btn {
	position: relative;
	background: transparent;
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius-sm);
	padding: 0.55rem 0.65rem;
	min-height: 44px;
	min-width: 44px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: border-color .12s, background .12s, color .12s;
}
.bk-cart-trigger__btn:hover { border-color: var(--bk-espresso); background: var(--bk-cream-100); color: var(--bk-cinnamon); }
.bk-cart-trigger__count {
	position: absolute;
	top: -7px; right: -7px;
	background: var(--bk-cinnamon);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 700;
	min-width: 20px;
	height: 20px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 5px;
	box-shadow: 0 0 0 2px var(--bk-cream-50);
	font-variant-numeric: tabular-nums;
}
.bk-cart-trigger__btn svg { width: 22px; height: 22px; }
.bk-cart-trigger.is-bumping .bk-cart-trigger__btn,
.bk-cart-trigger__btn.is-bumping {
	animation: bk-cart-bump .55s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes bk-cart-bump {
	0%   { transform: scale(1); }
	35%  { transform: scale(1.18) rotate(-4deg); }
	60%  { transform: scale(0.96) rotate(2deg); }
	100% { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
	.bk-cart-trigger.is-bumping .bk-cart-trigger__btn,
	.bk-cart-trigger__btn.is-bumping { animation: none; }
}

/* ---------- Footer ---------- */
.bk-footer {
	background: var(--bk-ink);
	color: rgba(252, 249, 244, 0.7);
	padding-top: var(--bk-space-16);
	margin-top: 0;
	font-size: 0.92rem;
	position: relative;
	overflow: hidden;
}
.bk-footer::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(800px 400px at 0% 0%, rgba(196, 154, 79, 0.08), transparent 60%),
		radial-gradient(800px 400px at 100% 100%, rgba(164, 71, 33, 0.08), transparent 60%);
	pointer-events: none;
}
.bk-footer > .bk-container { position: relative; }
.bk-footer__brand {
	margin-bottom: var(--bk-space-12);
	padding-bottom: var(--bk-space-10);
	border-bottom: 1px solid rgba(252, 249, 244, 0.08);
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-8);
}
@media (min-width: 800px) {
	.bk-footer__brand {
		grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
		align-items: center;
		gap: var(--bk-space-12);
	}
}
/* Left column: claim → trustpilot → CTAs, stacked. Previously these were loose
   grid children of .bk-footer__brand and scattered across the two tracks. */
.bk-footer__brand-main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--bk-space-5);
}
.bk-footer__logo {
	display: inline-flex;
	line-height: 0;
}
.bk-footer__logo-img {
	height: 40px;
	width: auto;
}
.bk-footer__brand h3 {
	color: #fff;
	font-size: var(--bk-fs-800);
	margin: 0;
	max-width: 18ch;
}
.bk-footer__brand h3 em {
	font-style: italic;
	color: var(--bk-saffron);
	font-variation-settings: "opsz" 144, "SOFT" 70;
}
.bk-footer__brand-claim {
	color: inherit;
	text-decoration: none;
}
/* No hover treatment on the brand claim — it stays static (only a keyboard
   focus ring remains, for accessibility). */
.bk-footer__brand-claim:hover {
	color: inherit;
	text-decoration: none;
}
.bk-footer__brand-claim:focus-visible {
	outline: 3px solid var(--bk-saffron);
	outline-offset: 3px;
	border-radius: 2px;
}
.bk-footer__brand-cta {
	display: flex;
	gap: var(--bk-space-3);
	flex-wrap: wrap;
}

.bk-footer__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-8);
	padding-bottom: var(--bk-space-12);
}
@media (min-width: 600px) { .bk-footer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .bk-footer__grid { grid-template-columns: repeat(4, 1fr); column-gap: var(--bk-space-10); } }
.bk-footer__col h4 {
	color: #fff;
	font-family: var(--bk-font-body);
	font-size: 0.78rem;
	font-weight: 700;
	margin-bottom: var(--bk-space-4);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--bk-saffron);
}
.bk-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
}
.bk-footer__col ul li::marker { content: ""; }
.bk-footer__col a {
	color: rgba(252, 249, 244, 0.78);
	text-decoration: none;
	transition: color .12s;
}
.bk-footer__col a:hover { color: #fff; text-decoration: none; }

.bk-payments {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin-bottom: var(--bk-space-4);
}
.bk-payments img,
.bk-payments svg {
	height: 24px;
	width: auto;
	background: #fff;
	border-radius: 4px;
	padding: 4px 6px;
}

.bk-footer__bottom {
	border-top: 1px solid rgba(252, 249, 244, 0.08);
	padding: var(--bk-space-5) 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bk-space-3) var(--bk-space-6);
	justify-content: space-between;
	align-items: center;
	font-size: 0.8rem;
	color: rgba(252, 249, 244, 0.5);
}
.bk-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 var(--bk-space-5);
	list-style: none;
	margin: 0;
	padding: 0;
}
.bk-footer__legal ul { display: flex; flex-wrap: wrap; align-items: center; gap: 0 var(--bk-space-5); list-style: none; margin: 0; padding: 0; }
.bk-footer__legal li { list-style: none; display: inline-flex; align-items: center; }
.bk-footer__legal li::marker { content: ""; }
.bk-footer__legal a {
	color: rgba(252, 249, 244, 0.7);
	font-size: 0.82rem;
	letter-spacing: 0.01em;
	padding: 0.25rem 0;
	position: relative;
}
.bk-footer__legal a:hover { color: #fff; text-decoration: none; }
.bk-footer__legal > a:not(:last-child)::after,
.bk-footer__legal li:not(:last-child) a::after {
	content: "·";
	margin-left: var(--bk-space-5);
	color: rgba(252, 249, 244, 0.25);
	pointer-events: none;
}

/* ---------- Notices ----------
   The default WooCommerce stylesheet places an icon font glyph as a ::before
   pseudo-element with absolute positioning. Without proper text-indent the icon
   sits BEHIND the text. Override with a flex layout so the icon sits beside
   the message and never overlaps. */
.bk-notice,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	border: 1px solid var(--bk-stone-300);
	background: #fff;
	border-radius: var(--bk-radius);
	padding: var(--bk-space-4) var(--bk-space-5);
	margin: 0 0 var(--bk-space-4);
	list-style: none;
	box-shadow: var(--bk-shadow-xs);
	font-size: 0.96rem;
	color: var(--bk-espresso);
	line-height: 1.5;
}
.woocommerce-message { border-color: var(--bk-success); background: var(--bk-success-soft); color: #1f4d28; }
.woocommerce-error   { border-color: var(--bk-danger);  background: #fdecec; color: #6b1217; }
.woocommerce-info    { border-color: var(--bk-info);    background: #ecf2fb; color: #1d3970; }

/* Replace the WC icon-font glyph with a native, in-flow chip. */
.bk-notice::before,
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before {
	content: "" !important;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	margin-top: 2px;
	border-radius: 50%;
	font-family: inherit !important;
	background: var(--bk-stone-500);
	color: #fff !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-size: 0.78rem;
	font-weight: 700;
	position: static !important;
	left: auto !important;
	top: auto !important;
}
.woocommerce-message::before { content: "✓" !important; background: var(--bk-success); }
.woocommerce-error::before   { content: "!" !important; background: var(--bk-danger); }
.woocommerce-info::before    { content: "i" !important; background: var(--bk-info); font-style: italic; }

.woocommerce-message a,
.woocommerce-info a,
.woocommerce-error a {
	color: inherit;
	text-decoration: underline;
	font-weight: 600;
}
/* WC's "View cart" button inside a success notice */
.woocommerce-message .button {
	margin-left: auto;
	padding: 0.55rem 1.1rem !important;
	min-height: 38px !important;
	font-size: 0.86rem !important;
	border-radius: 8px !important;
}

/* ---------- Trust bullets variant ---------- */
.bk-trust-bullets {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bk-space-3) var(--bk-space-5);
	list-style: none;
	margin: 0;
	padding: 0;
	color: var(--bk-stone-700);
	font-size: 0.92rem;
}
.bk-trust-bullets li {
	display: inline-flex;
	gap: 0.45rem;
	align-items: center;
}
.bk-trust-bullets svg { width: 18px; height: 18px; color: var(--bk-cinnamon); flex-shrink: 0; }
.bk-trust-bullets--inline {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bk-space-3) var(--bk-space-5);
}
.bk-trust-bullets--stack {
	flex-direction: column;
	gap: 0.55rem;
}

/* ---------- Cards ---------- */
.bk-card {
	background: #fff;
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius);
	padding: var(--bk-space-5);
	box-shadow: var(--bk-shadow-xs);
	transition: border-color .15s, box-shadow .2s, transform .1s;
}
.bk-card--hover:hover {
	border-color: var(--bk-stone-400);
	box-shadow: var(--bk-shadow);
	transform: translateY(-2px);
}
.bk-card--feature {
	background: var(--bk-cream-100);
	border-color: var(--bk-cream-200);
}

/* ---------- Breadcrumbs ---------- */
.woocommerce-breadcrumb,
.bk-breadcrumbs {
	font-size: 0.82rem;
	color: var(--bk-stone-500);
	margin: var(--bk-space-4) 0;
	letter-spacing: 0.02em;
}
.woocommerce-breadcrumb a,
.bk-breadcrumbs a {
	color: var(--bk-stone-700);
	text-decoration: none;
}
.woocommerce-breadcrumb a:hover,
.bk-breadcrumbs a:hover { color: var(--bk-cinnamon); text-decoration: underline; }

/* ---------- Search ---------- */
.bk-search-form {
	display: flex;
	gap: var(--bk-space-2);
}
.bk-search-form input { flex: 1; }

/* ---------- Cookie banner ---------- */
.bk-cookie {
	position: fixed;
	bottom: var(--bk-space-4); left: var(--bk-space-4); right: var(--bk-space-4);
	background: var(--bk-ink);
	color: var(--bk-cream-50);
	padding: var(--bk-space-4) var(--bk-space-5);
	z-index: 60;
	transform: translateY(120%);
	transition: transform .25s cubic-bezier(0.16, 1, 0.3, 1);
	border-radius: var(--bk-radius);
	box-shadow: var(--bk-shadow-lg);
	max-width: 720px;
	margin-inline: auto;
}
.bk-cookie.is-visible { transform: translateY(0); }
.bk-cookie__inner {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bk-space-4);
	align-items: center;
	justify-content: space-between;
}
.bk-cookie__text { font-size: 0.86rem; max-width: 540px; line-height: 1.5; margin: 0; }
.bk-cookie__link { color: var(--bk-cream-50); text-decoration: underline; text-underline-offset: 2px; }
.bk-cookie__link:hover { color: #fff; }
.bk-cookie__actions { display: flex; gap: var(--bk-space-2); }
.bk-cookie .bk-btn--ghost { color: var(--bk-cream-50) !important; box-shadow: inset 0 0 0 1px rgba(252, 249, 244, 0.3); }
.bk-cookie .bk-btn--ghost:hover { background: rgba(252, 249, 244, 0.06); box-shadow: inset 0 0 0 1px var(--bk-cream-50); }
.bk-cookie .bk-btn { background: var(--bk-cinnamon); border-color: var(--bk-cinnamon); }
.bk-cookie .bk-btn:hover { background: var(--bk-cinnamon-700); border-color: var(--bk-cinnamon-700); }

/* ---------- Decorative dividers ---------- */
.bk-divider {
	display: flex;
	align-items: center;
	gap: var(--bk-space-3);
	color: var(--bk-stone-500);
	font-size: 0.78rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.bk-divider::before, .bk-divider::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--bk-stone-300);
}

/* ---------- Animations ---------- */
@keyframes bk-rise {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: translateY(0); }
}
@keyframes bk-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}
.bk-rise { animation: bk-rise .7s cubic-bezier(0.16, 1, 0.3, 1) both; }
.bk-fade { animation: bk-fade .8s ease both; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ---------- Utility ---------- */
.bk-hide-mobile { display: none; }
@media (min-width: 800px) { .bk-hide-mobile { display: initial; } .bk-hide-desktop { display: none; } }

.bk-grain {
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0.5;
	mix-blend-mode: multiply;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");
	background-size: 200px 200px;
}

/* =============================================================================
   Premium polish — trust-bar with claim, header actions (search + cart),
   newsletter, footer trust badges.
   ============================================================================= */

/* ---------- Trust-bar claim (link inde i marquee) ---------- */
.bk-trust-bar__claim {
	display: inline-flex; align-items: center; gap: 8px;
	color: var(--bk-cream-50);
	text-decoration: none;
	font-size: 0.78rem;
	letter-spacing: 0.02em;
	white-space: nowrap;
}
.bk-trust-bar__claim:hover {
	color: var(--bk-saffron);
	text-decoration: none;
}
.bk-trust-bar__claim-text {
	font-weight: 600;
	color: var(--bk-cream-50);
}
.bk-trust-bar__claim-dot {
	width: 6px; height: 6px; border-radius: 50%;
	background: var(--bk-saffron);
	box-shadow: 0 0 0 2.5px rgba(198, 154, 79, 0.32);
	animation: bk-claim-pulse 2.4s ease-in-out infinite;
	flex-shrink: 0;
}
@keyframes bk-claim-pulse {
	0%, 100% { box-shadow: 0 0 0 2.5px rgba(198, 154, 79, 0.32); }
	50% { box-shadow: 0 0 0 5px rgba(198, 154, 79, 0.18); }
}
@media (prefers-reduced-motion: reduce) {
	.bk-trust-bar__claim-dot { animation: none; }
}

/* ---------- Header actions (cart + buy CTA) ---------- */
.bk-header__actions {
	display: inline-flex; align-items: center; gap: 10px;
	flex-shrink: 0;
}
/* Buy CTA shows alongside the inline desktop nav (≥1024px); on smaller screens
   the hamburger + cart carry the header, so the CTA would only crowd it. */
.bk-header__cta { display: none; }
@media (min-width: 1024px) {
	.bk-header__cta {
		display: inline-flex;
		min-height: 0;
		padding: 0.5rem 1.05rem;
		font-size: 0.9rem;
	}
}

/* ---------- Footer contact block (replaces newsletter) ---------- */
.bk-footer__contact {
	width: 100%;
	max-width: 480px;
	margin: 0;
	padding: var(--bk-space-5) var(--bk-space-6);
	background: rgba(252, 249, 244, 0.04);
	border: 1px solid rgba(252, 249, 244, 0.10);
	border-radius: var(--bk-radius);
	position: relative;
}
.bk-footer__contact::before {
	content: "";
	position: absolute;
	top: -1px; left: var(--bk-space-6);
	width: 40px; height: 2px;
	background: linear-gradient(90deg, var(--bk-saffron), transparent);
	border-radius: 2px;
}
.bk-footer__contact-title {
	font-family: var(--bk-font-display);
	font-style: italic;
	font-size: 1.05rem;
	font-weight: 400;
	color: var(--bk-saffron);
	letter-spacing: 0;
	margin: 0 0 var(--bk-space-3);
	font-variation-settings: "opsz" 60, "SOFT" 70;
	text-transform: none;
}
.bk-footer__contact-list {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--bk-space-3);
}
.bk-footer__contact-row {
	display: grid;
	grid-template-columns: 78px 1fr;
	align-items: baseline;
	gap: var(--bk-space-3);
	padding-bottom: var(--bk-space-3);
	border-bottom: 1px dashed rgba(252, 249, 244, 0.08);
}
.bk-footer__contact-row:last-child { border-bottom: 0; padding-bottom: 0; }
.bk-footer__contact-row dt {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(252, 249, 244, 0.45);
	margin: 0;
}
.bk-footer__contact-row dd {
	margin: 0;
	font-size: 0.92rem;
	color: rgba(252, 249, 244, 0.85);
	line-height: 1.45;
}
.bk-footer__contact-row dd a {
	color: var(--bk-cream-50);
	font-weight: 500;
}
.bk-footer__contact-row dd a:hover { color: var(--bk-saffron); text-decoration: none; }
.bk-footer__contact-meta {
	display: block;
	font-size: 0.74rem;
	color: rgba(252, 249, 244, 0.45);
	margin-top: 2px;
	letter-spacing: 0.02em;
}
.bk-footer__contact-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--bk-space-4);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--bk-saffron);
	text-decoration: none;
	transition: gap 180ms ease;
}
.bk-footer__contact-link:hover {
	color: var(--bk-cream-50);
	gap: 10px;
	text-decoration: none;
}

.bk-footer__badges {
	display: flex; flex-wrap: wrap; gap: var(--bk-space-2);
	margin: 0;
	padding: 0;
}
.bk-footer__badge {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 6px 12px;
	background: rgba(252, 249, 244, 0.04);
	border: 1px solid rgba(252, 249, 244, 0.12);
	border-radius: 999px;
	font-size: 0.74rem;
	color: rgba(252, 249, 244, 0.78);
}
.bk-footer__badge::before {
	content: "✓";
	color: var(--bk-saffron);
	font-weight: 700;
}

.bk-footer__trustpilot {
	display: inline-flex; align-items: center; gap: 8px;
	margin: 0;
	padding: 8px 14px;
	background: rgba(252, 249, 244, 0.05);
	border: 1px solid rgba(252, 249, 244, 0.12);
	border-radius: 8px;
}
.bk-footer__trustpilot-stars {
	color: #00b67a;
	font-size: 1.2rem;
	letter-spacing: 1px;
}
.bk-footer__trustpilot-text {
	font-size: 0.78rem;
	color: rgba(252, 249, 244, 0.78);
}
.bk-footer__trustpilot-rating {
	font-weight: 700;
	color: var(--bk-cream-50);
}

/* ---------- Contact list (kontakt page) ---------- */
.bk-contact-list {
	list-style: none; padding: 0;
	display: flex; flex-direction: column; gap: var(--bk-space-4);
	margin: var(--bk-space-6) 0;
}
.bk-contact-list li {
	padding: var(--bk-space-4) var(--bk-space-5);
	background: var(--bk-color-surface);
	border: 1px solid rgba(31, 26, 20, 0.08);
	border-radius: 12px;
	font-size: 0.96rem;
	line-height: 1.5;
}
.bk-contact-list li strong {
	display: block;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--bk-stone-700);
	margin-bottom: 2px;
}
.bk-contact-list li a {
	font-weight: 500;
	color: var(--bk-cinnamon);
}

/* ---------- Lead paragraph (used in trust pages) ---------- */
.bk-lead {
	font-size: var(--bk-fs-500);
	color: var(--bk-stone-700);
	line-height: 1.6;
	font-weight: 400;
}

/* ---------- Footer payment strip (Betaling / Tryghed / Sikker shopping) ---------- */
.bk-payment-strip {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-6);
	margin: var(--bk-space-6) 0 var(--bk-space-4);
	padding: var(--bk-space-6) 0;
	border-top: 1px solid rgba(252, 249, 244, 0.10);
}
@media (min-width: 768px) {
	.bk-payment-strip {
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: var(--bk-space-10);
		align-items: start;
	}
}
/* Trust badges flow horizontally (and wrap) — they used to be forced into a
   vertical column, which read as a stray list of pills standing on end. */
.bk-payment-strip__col--badges .bk-footer__badges {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--bk-space-2);
}
.bk-payment-strip__title {
	font-size: 0.86rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	color: var(--bk-cream-50);
	margin: 0 0 var(--bk-space-3);
}
.bk-payment-strip__icons {
	display: flex; flex-wrap: wrap; gap: 4px;
	align-items: center;
}
.bk-payment-strip__icons svg {
	flex-shrink: 0;
	width: 46px; height: 32px;
	display: block;
}

/* =============================================================================
   Contrast safety net — guard against dark-on-dark / light-on-light edge cases.
   ============================================================================= */

/* Dark surfaces (footer, CTA band, rupture, cookie banner) — anything inside
   them that defaults to dark-on-cream needs to be lifted to cream-on-dark. */
.bk-footer .bk-card,
.bk-footer .woocommerce-message,
.bk-footer .woocommerce-info,
.bk-cta-band .bk-card {
	background: rgba(252, 249, 244, 0.06);
	color: var(--bk-cream-50);
	border-color: rgba(252, 249, 244, 0.12);
}
.bk-footer p,
.bk-footer li,
.bk-footer dd,
.bk-footer dt {
	color: rgba(252, 249, 244, 0.78);
}
.bk-footer h1, .bk-footer h2, .bk-footer h3, .bk-footer h4, .bk-footer h5,
.bk-cta-band h1, .bk-cta-band h2, .bk-cta-band h3,
.bk-rupture h1, .bk-rupture h2, .bk-rupture h3,
.bk-page-hero--ink h1, .bk-page-hero--ink h2, .bk-page-hero--ink h3,
.bk-feature-split--ink h1, .bk-feature-split--ink h2, .bk-feature-split--ink h3, .bk-feature-split--ink h4,
.bk-cat-tile--ink h1, .bk-cat-tile--ink h2, .bk-cat-tile--ink h3, .bk-cat-tile--ink h4,
.bk-size-card.is-popular h1, .bk-size-card.is-popular h2, .bk-size-card.is-popular h3 {
	color: var(--bk-cream-50);
}
.bk-cat-tile--ink p,
.bk-page-hero--ink p,
.bk-feature-split--ink p,
.bk-rupture p {
	color: rgba(252, 249, 244, 0.82);
}
.bk-cta-band .bk-btn--secondary,
.bk-cta-band .bk-btn--ghost {
	color: var(--bk-cream-50) !important;
	border-color: rgba(252, 249, 244, 0.3);
	box-shadow: inset 0 0 0 1px rgba(252, 249, 244, 0.3);
}
.bk-cta-band .bk-btn--secondary:hover,
.bk-cta-band .bk-btn--ghost:hover {
	color: var(--bk-ink) !important;
	background: var(--bk-cream-50);
	border-color: var(--bk-cream-50);
	box-shadow: inset 0 0 0 1px var(--bk-cream-50);
}

/* Light surfaces — make sure default text isn't washed out on cream cards. */
.bk-card,
.bk-card p,
.bk-card li {
	color: var(--bk-stone-700);
}
.bk-card h2, .bk-card h3, .bk-card h4 {
	color: var(--bk-espresso);
}

/* Inline links inside light backgrounds need enough contrast — cinnamon meets
   AA on cream/white. Don't let it drop to stone-500. */
.bk-page a:not([class]),
.bk-main a:not([class]) {
	color: var(--bk-cinnamon);
}

/* Pre-footer and footer: the section before footer should not leave a cream
   gap. Sections already have their own bottom padding; the footer's
   margin-top has been removed above. Keep this rule to avoid stray space
   coming back via .bk-section utilities or page templates. */
.bk-cta-band + .bk-footer,
.bk-rupture + .bk-footer,
.bk-front-tradition + .bk-footer { margin-top: 0; }

/* =============================================================================
   Toast + fly-to-cart — global because the cart drawer & loop AJAX run on
   every page that has a header.
   ============================================================================= */
.bk-toast {
	position: fixed;
	left: 50%;
	bottom: var(--bk-space-6);
	transform: translateX(-50%) translateY(20px);
	background: var(--bk-ink);
	color: var(--bk-cream-50);
	padding: 0.85rem 1.2rem;
	border-radius: 999px;
	box-shadow: 0 22px 50px -16px rgba(0,0,0,0.4);
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	font-size: 0.92rem;
	font-weight: 500;
	z-index: 200;
	opacity: 0;
	transition: transform .26s cubic-bezier(0.16, 1, 0.3, 1), opacity .22s ease;
	pointer-events: none;
	max-width: calc(100vw - 2rem);
}
.bk-toast.is-visible { transform: translateX(-50%) translateY(0); opacity: 1; }
.bk-toast__icon {
	width: 18px; height: 18px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 0.78rem;
	background: var(--bk-success);
	color: #fff;
}
.bk-toast--ok .bk-toast__icon::before { content: "✓"; }
.bk-toast--err .bk-toast__icon { background: var(--bk-danger); }
.bk-toast--err .bk-toast__icon::before { content: "!"; }

.bk-cart-fly {
	position: fixed;
	z-index: 199;
	width: 14px; height: 14px;
	border-radius: 50%;
	background: var(--bk-cinnamon);
	box-shadow: 0 0 0 4px rgba(164, 71, 33, 0.18);
	pointer-events: none;
	transition: transform .65s cubic-bezier(0.7, 0.0, 0.84, 0.0), opacity .65s ease;
	will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
	.bk-toast { transition: opacity .15s ease; transform: translateX(-50%); }
	.bk-cart-fly { display: none; }
}

/* =============================================================================
   Sticky bottom CTA — generic mobil/tablet-bar (single product, kurv, checkout).
   Vises kun under lg-bruddet (1024px). Skjules som default; JS slår
   .is-visible til når reference-elementet (fx pack-builder) er ude af viewport.
   ============================================================================= */
.bk-sticky-cta {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 80;
	display: none;
	background: rgba(252, 249, 244, 0.96);
	backdrop-filter: saturate(180%) blur(14px);
	-webkit-backdrop-filter: saturate(180%) blur(14px);
	border-top: 1px solid rgba(31, 26, 20, 0.08);
	box-shadow: 0 -10px 28px -16px rgba(31, 26, 20, 0.18);
	padding: 0.6rem var(--bk-space-4) calc(0.6rem + env(safe-area-inset-bottom, 0px));
	transform: translateY(calc(100% + env(safe-area-inset-bottom, 0px)));
	transition: transform .28s cubic-bezier(0.16, 1, 0.3, 1);
	pointer-events: none;
}
@media (max-width: 1023.98px) {
	.bk-sticky-cta { display: block; }
}
.bk-sticky-cta.is-visible {
	transform: translateY(0);
	pointer-events: auto;
}
.bk-sticky-cta__inner {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--bk-space-3);
	align-items: center;
	max-width: var(--bk-container);
	margin-inline: auto;
}
.bk-sticky-cta__info {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}
.bk-sticky-cta__label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bk-stone-500);
	line-height: 1;
}
.bk-sticky-cta__price {
	font-family: var(--bk-font-display);
	font-size: 1.3rem;
	font-weight: 500;
	color: var(--bk-cinnamon);
	letter-spacing: -0.01em;
	font-variant-numeric: tabular-nums;
	line-height: 1.1;
	font-variation-settings: "opsz" 96, "SOFT" 50;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.bk-sticky-cta__btn {
	min-height: 52px;
	padding: 0.85rem 1.4rem;
	font-size: 0.96rem;
	letter-spacing: 0.005em;
	font-weight: 600;
	white-space: nowrap;
}

/* Page-bottom spacer — sat på <body> når sticky bar er aktiv, så
   sidste indhold ikke skjules bag baren ved scroll-end. */
@media (max-width: 1023.98px) {
	body.bk-has-sticky-cta { padding-bottom: calc(var(--bk-sticky-cta-height) + env(safe-area-inset-bottom, 0px)); }
}

@media (prefers-reduced-motion: reduce) {
	.bk-sticky-cta { transition: none; }
}

/* =============================================================================
   Footer heading-element demotions (kept visually identical to the old
   <h3>/<h4> markup; selectors prefixed with .bk-footer so they beat the
   generic ".bk-footer p" colour rule).
   ============================================================================= */
.bk-footer p.bk-footer__brand-claim-wrap {
	color: #fff;
	font-family: var(--bk-font-display);
	font-size: var(--bk-fs-800);
	line-height: 1.05;
	margin: 0;
	max-width: 18ch;
}
.bk-footer p.bk-footer__brand-claim-wrap em {
	font-style: italic;
	color: var(--bk-saffron);
	font-variation-settings: "opsz" 144, "SOFT" 70;
}
.bk-footer p.bk-footer__col-title {
	color: var(--bk-saffron);
	font-family: var(--bk-font-body);
	font-size: 0.78rem;
	font-weight: 700;
	margin: 0 0 var(--bk-space-4);
	text-transform: uppercase;
	letter-spacing: 0.18em;
}
.bk-footer p.bk-footer__contact-title { color: var(--bk-saffron); }
.bk-footer p.bk-payment-strip__title { color: var(--bk-cream-50); margin: 0 0 var(--bk-space-3); }

/* =============================================================================
   Discreet social-share row (Facebook / WhatsApp / copy link). No JS deps.
   ============================================================================= */
.bk-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--bk-space-3);
	margin: var(--bk-space-10) auto 0;
	padding: var(--bk-space-5) var(--bk-space-2) 0;
	max-width: 760px;
	border-top: 1px solid var(--bk-stone-300);
}
.bk-share__label {
	font-size: var(--bk-fs-300);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: var(--bk-stone-500);
}
.bk-share__btn {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.5rem 0.85rem;
	font: inherit;
	font-size: var(--bk-fs-300);
	font-weight: 600;
	line-height: 1;
	color: var(--bk-stone-700);
	background: var(--bk-cream-100);
	border: 1px solid var(--bk-stone-300);
	border-radius: 999px;
	cursor: pointer;
	text-decoration: none;
	transition: color .12s ease, background-color .12s ease, border-color .12s ease, transform .12s ease;
}
.bk-share__btn:hover,
.bk-share__btn:focus-visible {
	color: var(--bk-cinnamon-900);
	background: var(--bk-cinnamon-50);
	border-color: var(--bk-cinnamon-200);
	text-decoration: none;
	transform: translateY(-1px);
}
.bk-share__icon { flex: 0 0 auto; }
.bk-share__btn--fb:hover .bk-share__icon { color: #1877f2; }
.bk-share__btn--wa:hover .bk-share__icon { color: #25d366; }
.bk-share__btn.is-copied {
	color: var(--bk-success);
	background: var(--bk-success-soft);
	border-color: var(--bk-success);
}
@media (max-width: 480px) {
	.bk-share { gap: var(--bk-space-2); padding-top: var(--bk-space-4); }
	.bk-share__text { font-size: var(--bk-fs-300); }
}

/* =============================================================================
   Promo bar (top) — static USP strip, global (sits above the sticky header).
   ============================================================================= */
.bk-promobar {
	background: var(--bk-ink);
	color: var(--bk-cream-50);
	font-size: 0.82rem;
	line-height: 1.2;
}
.bk-promobar__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem 0.85rem;
	min-height: var(--bk-trust-bar-height);
	padding-block: 0.4rem;
	text-align: center;
}
.bk-promobar__item {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	white-space: nowrap;
	color: rgba(255, 253, 251, 0.92);
}
.bk-promobar__item svg { width: 15px; height: 15px; color: var(--bk-saffron); flex: 0 0 auto; }
.bk-promobar__sep { color: rgba(255, 253, 251, 0.35); }
@media (max-width: 600px) {
	.bk-promobar__sep { display: none; }
	.bk-promobar__inner { gap: 0.25rem 1rem; }
}

/* =============================================================================
   Shared section headers (front-page + archive intros).
   ============================================================================= */
.bk-section-head {
	max-width: 760px;
	margin: 0 auto var(--bk-space-10);
	text-align: center;
}
.bk-section-head h2 { margin-bottom: var(--bk-space-3); }
.bk-section-lead {
	color: var(--bk-stone-700);
	font-size: var(--bk-fs-500);
	margin: 0 auto;
	max-width: 64ch;
}
.bk-eyebrow--center { display: block; text-align: center; }

/* Guest-count pSEO page stat row. */
.bk-guest-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--bk-space-4);
	margin: var(--bk-space-8) 0;
	text-align: center;
}
.bk-guest-stat {
	background: var(--bk-color-surface);
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius);
	padding: var(--bk-space-5) var(--bk-space-3);
}
.bk-guest-stat__num {
	display: block;
	font-family: var(--bk-font-display);
	font-size: clamp(1.4rem, 1.5vw + 1rem, 2rem);
	font-weight: 700;
	color: var(--bk-cinnamon);
}
.bk-guest-stat__label {
	display: block;
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--bk-stone-500);
	margin-top: 0.25rem;
}
@media (max-width: 520px) { .bk-guest-stats { grid-template-columns: 1fr; } }

/* =============================================================================
   Cinnamon calculator — shared component (front page, kanel category, pSEO pages).
   ============================================================================= */
.bk-calc { background: linear-gradient(180deg, var(--bk-cream-100) 0%, var(--bk-cream-50) 100%); }
.bk-calc__card {
	max-width: 880px;
	margin-inline: auto;
	background: var(--bk-color-surface);
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius-lg);
	box-shadow: var(--bk-shadow);
	padding: clamp(1.5rem, 3vw, 3rem);
}
.bk-calc__head { text-align: center; max-width: 600px; margin-inline: auto; }
.bk-calc__head h2 { margin: var(--bk-space-2) 0 var(--bk-space-3); font-size: clamp(1.6rem, 2.2vw + 1rem, 2.4rem); }
.bk-calc__sub { color: var(--bk-stone-700); font-size: var(--bk-fs-500); margin: 0 auto; max-width: 50ch; }
.bk-calc__form {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-6);
	margin-top: var(--bk-space-8);
}
@media (min-width: 720px) { .bk-calc__form { grid-template-columns: 1fr 1.5fr; align-items: start; } }
.bk-calc__field { display: flex; flex-direction: column; gap: 0.5rem; }
.bk-calc__label { font-weight: 700; color: var(--bk-espresso); font-size: 0.98rem; }
.bk-calc__field input[type="number"] {
	font-family: var(--bk-font-display);
	font-size: 2rem;
	font-weight: 700;
	min-height: 60px;
	padding: 0.5rem 1rem;
	border: 1.5px solid var(--bk-stone-300);
	border-radius: var(--bk-radius);
	background: var(--bk-cream-50);
	color: var(--bk-espresso);
	width: 100%;
}
.bk-calc__field input[type="number"]:focus-visible {
	outline: none;
	border-color: var(--bk-cinnamon);
	box-shadow: 0 0 0 4px rgba(184, 111, 58, 0.14);
}
.bk-calc__intensity { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.6rem; }
.bk-calc__chip {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	border: 1.5px solid var(--bk-stone-300);
	border-radius: var(--bk-radius);
	padding: 0.8rem 1rem;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.bk-calc__chip:hover { border-color: var(--bk-cinnamon-200); }
.bk-calc__chip input { accent-color: var(--bk-cinnamon); width: 18px; height: 18px; }
.bk-calc__chip span { font-weight: 600; color: var(--bk-espresso); }
.bk-calc__chip small { display: block; font-weight: 400; color: var(--bk-stone-500); }
.bk-calc__chip:has(input:checked) {
	border-color: var(--bk-cinnamon);
	background: var(--bk-cinnamon-50);
	box-shadow: 0 4px 14px -6px rgba(184, 111, 58, 0.4);
}
.bk-calc__result { margin-top: var(--bk-space-8); border-top: 1px solid var(--bk-stone-300); padding-top: var(--bk-space-6); }
.bk-calc__metrics {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--bk-space-4);
	margin: 0 0 var(--bk-space-5);
}
.bk-calc__metrics div { text-align: center; }
.bk-calc__metrics dt {
	font-size: 0.74rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: 700;
	color: var(--bk-stone-500);
	margin-bottom: 0.35rem;
}
.bk-calc__metrics dd {
	margin: 0;
	font-family: var(--bk-font-display);
	font-size: clamp(1.3rem, 1vw + 1rem, 1.85rem);
	font-weight: 700;
	color: var(--bk-cinnamon);
	font-variant-numeric: tabular-nums;
}
.bk-calc__hint { text-align: center; color: var(--bk-stone-700); font-size: 0.92rem; margin: 0 0 var(--bk-space-4); min-height: 1.2em; }

/* ---- Inline variant: wide, low-height card (used on /butik) -----------------
   Goal: keep the widget as SHORT as possible so it doesn't push the product
   grid down. On wide screens the head, form and result sit in one horizontal
   row (no separate head row), and all vertical padding/gaps are tightened. */
.bk-calc--inline.bk-section { padding-block: var(--bk-space-8); }
.bk-calc--inline .bk-calc__card {
	max-width: 1180px;
	padding: clamp(1.25rem, 2vw, 1.75rem);
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-5);
}
/* Tablet: head on top, form + result side by side. */
@media (min-width: 720px) and (max-width: 991.98px) {
	.bk-calc--inline .bk-calc__card {
		grid-template-columns: 1.4fr 1fr;
		column-gap: var(--bk-space-8);
		row-gap: var(--bk-space-5);
		align-items: start;
	}
	.bk-calc--inline .bk-calc__head { grid-column: 1 / -1; }
}
/* Wide: head | form | result on a single low row. */
@media (min-width: 992px) {
	.bk-calc--inline .bk-calc__card {
		grid-template-columns: 0.95fr 1.15fr 1fr;
		column-gap: var(--bk-space-8);
		align-items: center;
	}
	.bk-calc--inline .bk-calc__result {
		border-left: 1px solid var(--bk-stone-300);
		padding-left: var(--bk-space-8);
	}
}
.bk-calc--inline .bk-calc__head { text-align: left; max-width: none; margin-inline: 0; }
.bk-calc--inline .bk-calc__head h2 { margin: 0 0 var(--bk-space-2); font-size: clamp(1.3rem, 1vw + 0.95rem, 1.7rem); line-height: 1.2; }
.bk-calc--inline .bk-calc__sub { margin: 0; max-width: 60ch; font-size: var(--bk-fs-300); line-height: 1.4; }
.bk-calc--inline .bk-calc__form { margin-top: 0; grid-template-columns: 1fr; gap: var(--bk-space-4); align-content: start; }
.bk-calc--inline .bk-calc__field { gap: 0.35rem; }
.bk-calc--inline .bk-calc__field input[type="number"] { min-height: 46px; font-size: 1.5rem; }
.bk-calc--inline .bk-calc__intensity { display: grid; grid-template-columns: 1fr; gap: 0.5rem; }
@media (min-width: 520px) {
	.bk-calc--inline .bk-calc__intensity { grid-template-columns: repeat(3, 1fr); }
}
.bk-calc--inline .bk-calc__chip { padding: 0.55rem 0.6rem; }
.bk-calc--inline .bk-calc__result { margin-top: 0; padding-top: 0; border-top: 0; }
.bk-calc--inline .bk-calc__hint { margin-bottom: var(--bk-space-3); }
.bk-calc--inline .bk-calc__metrics { gap: var(--bk-space-3); margin-bottom: var(--bk-space-3); }
.bk-calc--inline .bk-calc__metrics dd { font-size: clamp(1.15rem, 0.8vw + 0.9rem, 1.5rem); }

/* =============================================================================
   Footer — "impressive" visual upgrade.
   Layers a glowing gold edge-line, an oversized ghost wordmark, a USP ribbon,
   animated gold accents and refined micro-interactions on top of the existing
   footer structure. Built entirely from existing brand tokens — no new colours.
   ============================================================================= */

/* Glowing gold edge-line that separates the footer from the page above it. */
.bk-footer {
	border-top: 1px solid rgba(198, 154, 79, 0.28);
	padding-top: var(--bk-space-12);
}
.bk-footer::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(
		90deg,
		transparent 0%,
		var(--bk-cinnamon) 16%,
		var(--bk-saffron) 50%,
		var(--bk-cinnamon) 84%,
		transparent 100%
	);
	box-shadow: 0 0 24px 1px rgba(198, 154, 79, 0.35);
	pointer-events: none;
	z-index: 2;
}
/* Keep all real content above the watermark + atmosphere layers. */
.bk-footer > .bk-container { z-index: 1; }

/* Oversized faded brand wordmark, fading downward, sitting behind everything. */
.bk-footer__watermark {
	position: absolute;
	left: 50%;
	bottom: -0.16em;
	transform: translateX(-50%);
	margin: 0;
	font-family: var(--bk-font-display);
	font-style: italic;
	font-weight: 700;
	font-size: clamp(4rem, 21vw, 19rem);
	line-height: 0.8;
	letter-spacing: -0.02em;
	white-space: nowrap;
	background: linear-gradient(180deg, rgba(198, 154, 79, 0.13), rgba(198, 154, 79, 0));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	pointer-events: none;
	user-select: none;
	z-index: 0;
}

/* ---- USP ribbon (delivery / speed / security / returns) ---- */
.bk-footer__usps {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-4);
	margin: 0 0 var(--bk-space-12);
	padding-bottom: var(--bk-space-10);
	border-bottom: 1px solid rgba(252, 249, 244, 0.08);
}
@media (min-width: 640px) {
	.bk-footer__usps { grid-template-columns: repeat(2, 1fr); gap: var(--bk-space-5) var(--bk-space-8); }
}
@media (min-width: 1024px) {
	.bk-footer__usps { grid-template-columns: repeat(4, 1fr); }
}
.bk-footer__usp {
	display: flex;
	align-items: center;
	gap: var(--bk-space-3);
}
.bk-footer__usp-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	color: var(--bk-saffron);
	background: radial-gradient(circle at 32% 28%, rgba(198, 154, 79, 0.24), rgba(198, 154, 79, 0.05));
	border: 1px solid rgba(198, 154, 79, 0.3);
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.bk-footer__usp-icon svg { width: 22px; height: 22px; }
.bk-footer__usp:hover .bk-footer__usp-icon {
	transform: translateY(-2px);
	border-color: var(--bk-saffron);
	box-shadow: 0 10px 22px -12px rgba(198, 154, 79, 0.6);
}
.bk-footer__usp-text { display: flex; flex-direction: column; line-height: 1.25; }
.bk-footer .bk-footer__usp-text strong { color: var(--bk-cream-50); font-size: 0.94rem; font-weight: 700; }
.bk-footer .bk-footer__usp-text span { color: rgba(252, 249, 244, 0.58); font-size: 0.8rem; }

/* ---- Shimmering gold brand-claim accent ---- */
.bk-footer p.bk-footer__brand-claim-wrap em {
	background: linear-gradient(
		100deg,
		var(--bk-saffron) 0%,
		#f3ddb0 28%,
		var(--bk-cinnamon-200) 50%,
		#f3ddb0 72%,
		var(--bk-saffron) 100%
	);
	background-size: 220% auto;
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	animation: bk-footer-shimmer 7s linear infinite;
}
@keyframes bk-footer-shimmer { to { background-position: 220% center; } }

/* ---- Column titles: gold underline accent ---- */
.bk-footer p.bk-footer__col-title {
	position: relative;
	padding-bottom: 0.6rem;
	margin-bottom: var(--bk-space-4);
}
.bk-footer p.bk-footer__col-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 28px;
	height: 2px;
	background: linear-gradient(90deg, var(--bk-saffron), transparent);
	border-radius: 2px;
}

/* ---- Column links: sliding gold underline on hover ---- */
.bk-footer__col a {
	display: inline-block;
	background-image: linear-gradient(var(--bk-saffron), var(--bk-saffron));
	background-size: 0% 1px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: background-size 0.22s ease, color 0.15s ease;
}
.bk-footer__col a:hover { color: #fff; text-decoration: none; background-size: 100% 1px; }

/* ---- Trustpilot + trust badges polish ---- */
.bk-footer__trustpilot-stars { text-shadow: 0 0 12px rgba(0, 182, 122, 0.45); }
.bk-footer__badge { transition: background 0.15s ease, border-color 0.15s ease, transform 0.15s ease; }
.bk-footer__badge:hover {
	background: rgba(198, 154, 79, 0.08);
	border-color: rgba(198, 154, 79, 0.4);
	transform: translateY(-1px);
}

/* ---- Contact card: warmer glass + depth ---- */
.bk-footer__contact {
	background: linear-gradient(160deg, rgba(252, 249, 244, 0.06), rgba(252, 249, 244, 0.02));
	box-shadow: 0 26px 60px -42px rgba(0, 0, 0, 0.85);
}

/* ---- Payment / secure icons: subtle lift ---- */
.bk-payment-strip__icons svg {
	border-radius: 6px;
	box-shadow: 0 2px 8px -4px rgba(0, 0, 0, 0.55);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.bk-payment-strip__icons svg:hover {
	transform: translateY(-2px);
	box-shadow: 0 9px 16px -8px rgba(0, 0, 0, 0.7);
}

/* ---- Bottom bar + back-to-top pill ---- */
.bk-footer__bottom { justify-content: flex-start; }
.bk-footer__legal { margin-left: auto; }
.bk-footer__totop {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0.5rem 0.95rem;
	border-radius: 999px;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--bk-cream-50);
	background: rgba(252, 249, 244, 0.04);
	border: 1px solid rgba(198, 154, 79, 0.3);
	transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.bk-footer__totop:hover {
	background: rgba(198, 154, 79, 0.14);
	border-color: var(--bk-saffron);
	color: #fff;
	text-decoration: none;
	transform: translateY(-2px);
}
.bk-footer__totop-arrow { display: inline-flex; transition: transform 0.18s ease; }
.bk-footer__totop:hover .bk-footer__totop-arrow { transform: translateY(-2px); }

/* Ghost buttons on the dark footer (e.g. "Kontakt os"): the global ghost-hover
   flips the background to light cream, which made the cream text disappear.
   Keep it dark-on-dark instead — translucent fill, bright border, cream text. */
.bk-footer .bk-btn--ghost:hover {
	background: rgba(252, 249, 244, 0.08);
	color: var(--bk-cream-50) !important;
	box-shadow: inset 0 0 0 1px rgba(252, 249, 244, 0.55) !important;
	border-color: transparent;
}

/* Smooth scroll for the back-to-top jump (motion-safe only). */
@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}
@media (prefers-reduced-motion: reduce) {
	.bk-footer p.bk-footer__brand-claim-wrap em { animation: none; }
}


/* CRO additions (ecommerce-cro-auditor) */
/* Trustpilot rating badge — reusable across header promobar, checkout trust
   strip, testimonials and product social proof. Renders only when real stats
   are configured (bk_get_brand_stats); see inc/helpers.php. */
.bk-rating-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.82rem;
	line-height: 1.1;
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}
.bk-rating-badge__stars { color: #00b67a; letter-spacing: 0.04em; font-size: 0.95em; }
.bk-rating-badge__text strong { font-weight: 700; }
.bk-rating-badge__count { color: var(--bk-stone-500); }
.bk-rating-badge[href]:hover .bk-rating-badge__text { text-decoration: underline; }
.bk-promobar__item--rating .bk-rating-badge { font-size: inherit; }
.bk-promobar__item--rating .bk-rating-badge__count { color: inherit; opacity: 0.82; }
.bk-testimonials__rating { display: flex; justify-content: center; margin-top: var(--bk-space-2); }
.bk-rating-badge--testimonials { font-size: 0.95rem; }
.bk-product__social-proof { margin: var(--bk-space-2) 0 var(--bk-space-3); }


/* ===== animations.css ===== */
/* ==========================================================================
   Animations — scroll reveals, sticky-header transition, micro-interactions.

   Honors prefers-reduced-motion.
   ========================================================================== */

:root {
	--bk-reveal-distance: 24px;
	--bk-reveal-duration: 720ms;
	--bk-reveal-easing: cubic-bezier(.22,.61,.36,1);
}

/* ----- Reveal initial states ---------------------------------------------- */

[data-bk-reveal] {
	opacity: 0;
	transition:
		opacity var(--bk-reveal-duration) var(--bk-reveal-easing),
		transform var(--bk-reveal-duration) var(--bk-reveal-easing);
	transition-delay: var(--bk-reveal-delay, 0ms);
	will-change: opacity, transform;
}

[data-bk-reveal=""],
[data-bk-reveal="up"] {
	transform: translate3d(0, var(--bk-reveal-distance), 0);
}

[data-bk-reveal="left"] {
	transform: translate3d(calc(-1 * var(--bk-reveal-distance)), 0, 0);
}

[data-bk-reveal="right"] {
	transform: translate3d(var(--bk-reveal-distance), 0, 0);
}

[data-bk-reveal="fade"] {
	transform: none;
}

[data-bk-reveal="scale"] {
	transform: scale(0.96);
}

/* ----- Revealed end state ------------------------------------------------- */

[data-bk-reveal].is-revealed {
	opacity: 1;
	transform: none;
}

/* ----- Reduced motion: skip animation, show end-state immediately --------- */

@media (prefers-reduced-motion: reduce) {
	[data-bk-reveal],
	[data-bk-reveal].is-revealed {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* ----- Sticky header transition ------------------------------------------- */

.bk-header {
	transition:
		background-color 240ms var(--bk-reveal-easing),
		box-shadow 240ms var(--bk-reveal-easing),
		border-color 240ms var(--bk-reveal-easing);
}

body.is-scrolled .bk-header {
	background-color: rgba(252, 249, 244, 0.92);
	backdrop-filter: saturate(150%) blur(12px);
	-webkit-backdrop-filter: saturate(150%) blur(12px);
	box-shadow:
		0 1px 0 rgba(31, 26, 20, 0.06),
		0 12px 40px -28px rgba(31, 26, 20, 0.18);
}

/* ----- Smooth scroll fallback (browsers without JS) ----------------------- */

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

/* ----- Hairline divider utility ------------------------------------------- */

.bk-hairline {
	border: 0;
	border-top: 1px solid rgba(31, 26, 20, 0.08);
	margin: 0;
}

/* ----- Section number eyebrow polish ------------------------------------- */

.bk-section-num {
	display: inline-block;
	font-family: var(--bk-font-mono, ui-monospace, "SF Mono", Menlo, monospace);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--bk-stone-700, #6b6359);
	padding: 4px 10px;
	border: 1px solid rgba(31, 26, 20, 0.12);
	border-radius: 999px;
	margin-bottom: 1.25rem;
}

/* ----- Button micro-interactions ----------------------------------------- */

.bk-btn {
	transition:
		transform 160ms var(--bk-reveal-easing),
		box-shadow 240ms var(--bk-reveal-easing),
		background-color 200ms var(--bk-reveal-easing),
		color 200ms var(--bk-reveal-easing);
}

.bk-btn:hover {
	transform: translateY(-1px);
}

.bk-btn:active {
	transform: translateY(0);
	transition-duration: 80ms;
}

.bk-btn--primary:hover {
	box-shadow:
		0 14px 28px -16px rgba(31, 26, 20, 0.45),
		0 4px 10px -4px rgba(31, 26, 20, 0.20);
}

@media (prefers-reduced-motion: reduce) {
	.bk-btn,
	.bk-btn:hover,
	.bk-btn:active {
		transition: none !important;
		transform: none !important;
	}
}

/* ----- Link underline grow ------------------------------------------------ */

.bk-link-grow {
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0 100%;
	background-repeat: no-repeat;
	background-size: 100% 1px;
	transition: background-size 280ms var(--bk-reveal-easing);
}

.bk-link-grow:hover {
	background-size: 0 1px;
	background-position: 100% 100%;
}

/* ----- Image fade-in once loaded ----------------------------------------- */

.bk-img-fade {
	opacity: 0;
	transition: opacity 480ms var(--bk-reveal-easing);
}

.bk-img-fade.is-loaded,
.bk-img-fade[loading="eager"] {
	opacity: 1;
}


/* ===== woocommerce.css ===== */
/* =============================================================================
   BilligKanel — woocommerce.css
   Replaces WooCommerce default frontend styles. Refined editorial loop.
   ============================================================================= */

.bk-shop-main { margin-bottom: var(--bk-space-20); }
@media (min-width: 1024px) {
	.bk-shop-main { margin-bottom: var(--bk-space-24); }
}
.bk-shop-grid-wrap { padding-block: var(--bk-space-4) var(--bk-space-8); }
@media (min-width: 1024px) {
	.bk-shop-grid-wrap { padding-block: var(--bk-space-6) var(--bk-space-12); }
}

.bk-loop-card__unit-price {
	display: none!important;
}

.bk-archive-header {
	margin-bottom: var(--bk-space-10);
	padding-block: var(--bk-space-16) var(--bk-space-12);
	background: linear-gradient(180deg, #fcf9f4 0%, #fdebd8 60%, #fae0c2 100%);
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.bk-archive-header.bk-section--tight { margin-bottom: 0; }
.bk-archive-header::before {
	content: "";
	position: absolute;
	inset: -10%;
	background:
		radial-gradient(45% 35% at 80% 20%, rgba(196, 154, 79, 0.25), transparent 70%),
		radial-gradient(50% 40% at 10% 90%, rgba(164, 71, 33, 0.18), transparent 70%);
	z-index: -1;
	pointer-events: none;
}
.bk-archive-header::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 1px 1px, rgba(26, 20, 16, 0.05) 1px, transparent 0);
	background-size: 28px 28px;
	pointer-events: none;
	z-index: -1;
	opacity: 0.5;
}
.bk-archive-header__numeral {
	position: absolute;
	top: -10%;
	right: -4%;
	font-family: var(--bk-font-display);
	font-style: italic;
	color: var(--bk-cinnamon);
	font-size: clamp(20rem, 35vw, 38rem);
	font-weight: 400;
	line-height: 0.85;
	letter-spacing: -0.06em;
	opacity: 0.06;
	pointer-events: none;
	font-variation-settings: "opsz" 144, "SOFT" 80;
	z-index: -1;
	user-select: none;
}
.bk-archive-header > .bk-container { position: relative; }
.bk-archive-header__inner {
	max-width: 70ch;
}
.bk-archive-header__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px;
	background: rgba(255, 255, 255, 0.65);
	border: 1px solid rgba(31, 26, 20, 0.1);
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bk-espresso);
	margin-bottom: var(--bk-space-4);
	backdrop-filter: blur(6px);
}
.bk-archive-header__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--bk-cinnamon);
	box-shadow: 0 0 0 3px rgba(164, 71, 33, 0.18);
	animation: bk-pulse 2.4s ease-in-out infinite;
}
@keyframes bk-pulse {
	0%, 100% { box-shadow: 0 0 0 3px rgba(164, 71, 33, 0.18); }
	50% { box-shadow: 0 0 0 6px rgba(164, 71, 33, 0.05); }
}
.bk-archive-header__title {
	font-size: clamp(2.5rem, 5vw + 1rem, 4.5rem);
	letter-spacing: -0.04em;
	font-weight: 400;
	line-height: 1;
	margin: 0 0 var(--bk-space-4);
	color: var(--bk-espresso);
	font-variation-settings: "opsz" 144, "SOFT" 40;
}
.bk-archive-header__title em {
	font-style: italic;
	color: var(--bk-cinnamon);
	font-variation-settings: "opsz" 144, "SOFT" 80, "WONK" 1;
}
.bk-archive-header__desc {
	max-width: 60ch;
	margin: 0;
	color: var(--bk-stone-700);
	font-size: var(--bk-fs-500);
	line-height: 1.55;
}

/* Category strip */
.bk-archive-cats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: var(--bk-space-6);
}
.bk-archive-cats__link {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	padding: 9px 16px;
	background: rgba(255, 255, 255, 0.55);
	border: 1px solid rgba(31, 26, 20, 0.1);
	border-radius: 999px;
	color: var(--bk-espresso);
	text-decoration: none;
	font-size: 0.86rem;
	font-weight: 500;
	letter-spacing: 0.01em;
	transition: background .15s, border-color .15s, color .15s, transform .08s;
	backdrop-filter: blur(6px);
}
.bk-archive-cats__link:hover {
	background: #fff;
	border-color: var(--bk-cinnamon);
	color: var(--bk-cinnamon);
	transform: translateY(-1px);
	text-decoration: none;
}
.bk-archive-cats__link.is-active {
	background: var(--bk-espresso);
	color: var(--bk-cream-50);
	border-color: var(--bk-espresso);
}
.bk-archive-cats__link.is-active small { color: var(--bk-saffron); }
.bk-archive-cats__link small {
	font-size: 0.72rem;
	font-weight: 700;
	color: var(--bk-stone-500);
	letter-spacing: 0.04em;
}
.bk-archive-cats__link.is-active:hover { background: var(--bk-cinnamon); border-color: var(--bk-cinnamon); }
@media (prefers-reduced-motion: reduce) {
	.bk-archive-header__dot { animation: none; }
	.bk-archive-cats__link { transition: none; }
}

.woocommerce-result-count { display: none; }
.bk-orderby select {
	width: auto;
	min-height: 44px;
	padding: 0.55rem 2.4rem 0.55rem 1rem;
	border-radius: var(--bk-radius-sm);
}

/* Reset WooCommerce's legacy float-based product grid (woocommerce-layout.css)
   so our CSS Grid takes over cleanly. */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products {
	list-style: none;
	display: grid !important;
	grid-template-columns: 1fr;
	gap: var(--bk-space-6);
	padding: 0;
	margin: 0;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	clear: none !important;
}
@media (min-width: 540px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	ul.products { grid-template-columns: repeat(2, 1fr); gap: var(--bk-space-6); }
}
@media (min-width: 900px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	ul.products { grid-template-columns: repeat(3, 1fr); gap: var(--bk-space-8); }
}
@media (min-width: 1400px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	ul.products { grid-template-columns: repeat(4, 1fr); gap: var(--bk-space-10); }
}

.bk-loop-card {
	list-style: none;
	background: linear-gradient(180deg, #ffffff 0%, #fffaf3 100%);
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius-lg);
	padding: var(--bk-space-5);
	display: flex;
	flex-direction: column;
	gap: var(--bk-space-4);
	transition: border-color .22s ease, transform .18s ease, box-shadow .25s ease;
	box-shadow: var(--bk-shadow-xs);
	position: relative;
	overflow: hidden;
	min-height: 100%;
}
.bk-loop-card::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent 0%, var(--bk-saffron) 35%, var(--bk-cinnamon) 65%, transparent 100%);
	opacity: 0;
	transition: opacity .22s ease;
}
.bk-loop-card:hover {
	border-color: var(--bk-cinnamon);
	transform: translateY(-3px);
	box-shadow: var(--bk-shadow);
}
.bk-loop-card:hover::before { opacity: 1; }
@media (min-width: 768px) {
	.bk-loop-card { padding: var(--bk-space-6); gap: var(--bk-space-4); }
}
.bk-loop-card__link {
	color: inherit;
	text-decoration: none;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}
.bk-loop-card__link:hover { color: inherit; text-decoration: none; }
.bk-loop-card__media {
	position: relative;
	background: linear-gradient(135deg, var(--bk-cream-100), var(--bk-cream-200));
	border-radius: var(--bk-radius-sm);
	overflow: hidden;
	aspect-ratio: 1 / 1;
}
.bk-loop-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.bk-loop-card:hover .bk-loop-card__img { transform: scale(1.04); }
.bk-loop-card__badge {
	position: absolute;
	top: 10px; left: 10px;
	background: var(--bk-cinnamon);
	color: #fff;
	font-size: 0.68rem;
	font-weight: 700;
	padding: 0.25rem 0.55rem;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.bk-loop-card__title {
	font-family: var(--bk-font-display);
	font-size: var(--bk-fs-600);
	font-weight: 500;
	margin: 0;
	line-height: 1.2;
	letter-spacing: -0.018em;
	font-variation-settings: "opsz" 60, "SOFT" 30;
	color: var(--bk-espresso);
}
.bk-loop-card__price {
	margin: 0;
	color: var(--bk-cinnamon);
	font-weight: 700;
	font-size: 1.15rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.005em;
}
.bk-loop-card__price del {
	color: var(--bk-stone-500);
	font-weight: 500;
	font-size: 0.92rem;
	margin-right: 0.5rem;
}
.bk-loop-card__cta { margin-top: auto; padding-top: var(--bk-space-2); }
.bk-loop-card__cta .button,
.bk-loop-card .button { width: 100%; }

/* Direkte add-to-cart-knap på de syntetiske variation-kort. */
.bk-loop-card__add {
	margin-top: 0.6rem;
	width: 100%;
}
.bk-loop-card__add[disabled],
.bk-loop-card__add.is-loading {
	opacity: 0.6;
	cursor: wait;
}

/* Pagination */
.bk-pagination,
.woocommerce-pagination {
	margin-top: var(--bk-space-10);
	display: flex;
	justify-content: center;
}
.bk-pagination .page-numbers,
.woocommerce-pagination .page-numbers {
	list-style: none;
	display: inline-flex;
	gap: 0.4rem;
	padding: 0;
}
.bk-pagination .page-numbers li,
.woocommerce-pagination .page-numbers li { display: inline-block; }
.bk-pagination a, .bk-pagination span,
.woocommerce-pagination a, .woocommerce-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0.4rem 0.9rem;
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius-sm);
	color: var(--bk-espresso);
	text-decoration: none;
	background: #fff;
	font-weight: 500;
}
.bk-pagination a:hover, .woocommerce-pagination a:hover {
	border-color: var(--bk-espresso);
	color: var(--bk-cinnamon);
	text-decoration: none;
}
.bk-pagination .current,
.woocommerce-pagination .current {
	background: var(--bk-espresso);
	color: #fff;
	border-color: var(--bk-espresso);
}

/* My account */
.woocommerce-MyAccount-navigation ul {
	list-style: none;
	padding: 0;
	display: flex;
	gap: 0.4rem;
	flex-wrap: wrap;
	margin-bottom: var(--bk-space-6);
}
.woocommerce-MyAccount-navigation a {
	padding: 0.6rem 1.1rem;
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius-sm);
	background: #fff;
	color: var(--bk-espresso);
	text-decoration: none;
	font-weight: 500;
}
.woocommerce-MyAccount-navigation a:hover,
.woocommerce-MyAccount-navigation .is-active a {
	border-color: var(--bk-espresso);
	background: var(--bk-espresso);
	color: var(--bk-cream-50);
}

/* =============================================================================
   Shop archive — controls bar, full-bleed header, edge-cases.
   ============================================================================= */

/* Keep the gradient header above; this layer only handles tightenings. */
.bk-archive-header__inner { max-width: 720px; }

.bk-archive-header .page-title {
	font-family: var(--bk-font-display);
	font-size: clamp(2.4rem, 5vw, 3.8rem);
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.05;
	color: var(--bk-espresso);
	margin: 0 0 var(--bk-space-4);
}

/* Shop body — wraps notices, controls, grid + pagination in one container. */
.bk-shop {
	padding-block: var(--bk-space-6) var(--bk-space-16);
}
@media (min-width: 1024px) {
	.bk-shop { padding-block: var(--bk-space-8) var(--bk-space-20); }
}
.bk-shop > .woocommerce-notices-wrapper:empty { display: none; }

.bk-shop-controls {
	display: flex; align-items: center; justify-content: space-between;
	flex-wrap: wrap;
	gap: var(--bk-space-3);
	padding-block: var(--bk-space-5);
	margin-bottom: var(--bk-space-4);
	border-bottom: 1px solid rgba(31, 26, 20, 0.08);
}
.bk-shop-controls__count {
	font-size: 0.92rem;
	color: var(--bk-stone-700);
	font-variant-numeric: tabular-nums;
}
.bk-shop-controls__sort .woocommerce-ordering { margin: 0; }
.bk-shop-controls__sort select {
	min-height: 44px;
	padding: 0 2.4rem 0 var(--bk-space-3);
	border: 1px solid rgba(31, 26, 20, 0.16);
	border-radius: 10px;
	background: #fff;
	font-family: inherit;
	font-size: 0.92rem;
	color: var(--bk-espresso);
	cursor: pointer;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.bk-shop-controls__sort select:hover { border-color: var(--bk-cinnamon); }
.bk-shop-controls__sort select:focus { border-color: var(--bk-cinnamon); box-shadow: 0 0 0 3px var(--bk-cinnamon-100); outline: none; }

/* WooCommerce notices: wrap them so they sit nicely inside the shop container. */
.bk-shop > .woocommerce-message,
.bk-shop > .woocommerce-info,
.bk-shop > .woocommerce-error,
.bk-shop > .woocommerce-notices-wrapper {
	margin-bottom: var(--bk-space-5);
}

/* Kill the WooCommerce ::before/::after clearfix on ul.products — in CSS Grid it
   becomes an empty cell and pushes the first product to the second column. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
ul.products::before,
ul.products::after {
	content: none !important;
	display: none !important;
}

/* Loop card — image edge-to-edge, body + CTA share a padded inner zone. */
.bk-loop-card {
	background: #fff;
	border: 1px solid rgba(31, 26, 20, 0.08);
	border-radius: 16px;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
	transition: border-color .22s ease, transform .18s ease, box-shadow .25s ease;
	box-shadow: 0 1px 2px rgba(31, 26, 20, 0.04);
	position: relative;
	overflow: hidden;
}
@media (min-width: 768px) {
	.bk-loop-card { border-radius: 20px; }
}
.bk-loop-card:hover {
	border-color: rgba(31, 26, 20, 0.18);
	transform: translateY(-3px);
	box-shadow: 0 18px 38px -22px rgba(31, 26, 20, 0.28);
}
.bk-loop-card::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 2px;
	background: linear-gradient(90deg, transparent 0%, var(--bk-saffron) 35%, var(--bk-cinnamon) 65%, transparent 100%);
	opacity: 0;
	transition: opacity .22s ease;
	z-index: 2;
}
.bk-loop-card:hover::before { opacity: 1; }
.bk-loop-card__link {
	display: flex;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}
.bk-loop-card__link:hover { color: inherit; text-decoration: none; }
.bk-loop-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, var(--bk-cream-100), var(--bk-cream-200));
	overflow: hidden;
	border-bottom: 1px solid rgba(31, 26, 20, 0.06);
}
.bk-loop-card__body {
	padding: var(--bk-space-4) var(--bk-space-4) var(--bk-space-3);
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
@media (min-width: 768px) {
	.bk-loop-card__body { padding: var(--bk-space-5) var(--bk-space-5) var(--bk-space-3); gap: 0.5rem; }
}
.bk-loop-card__img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .35s cubic-bezier(0.16, 1, 0.3, 1);
}
.bk-loop-card:hover .bk-loop-card__img { transform: scale(1.04); }
.bk-loop-card__badge {
	position: absolute;
	top: 12px; left: 12px;
	background: var(--bk-cinnamon);
	color: #fff;
	font-size: 0.68rem;
	font-weight: 700;
	padding: 0.3rem 0.65rem;
	border-radius: 999px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	z-index: 1;
}
.bk-loop-card__title {
	font-family: var(--bk-font-display);
	font-size: 1.15rem;
	font-weight: 500;
	margin: 0;
	line-height: 1.25;
	letter-spacing: -0.012em;
	color: var(--bk-espresso);
	font-variation-settings: "opsz" 60, "SOFT" 30;
}
@media (min-width: 768px) {
	.bk-loop-card__title { font-size: 1.25rem; }
}
.bk-loop-card__price {
	margin: 0;
	color: var(--bk-cinnamon);
	font-weight: 700;
	font-size: 1.1rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.005em;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.45rem;
}
.bk-loop-card__price del {
	color: var(--bk-stone-500);
	font-weight: 500;
	font-size: 0.92rem;
}
.bk-loop-card__price ins {
	background: transparent;
	text-decoration: none;
}
.bk-loop-card__cta {
	margin: auto var(--bk-space-4) var(--bk-space-4);
	width: auto;
	display: block;
}
@media (min-width: 768px) {
	.bk-loop-card__cta { margin: auto var(--bk-space-5) var(--bk-space-5); }
}
.bk-loop-card .button,
.bk-loop-card .bk-btn,
.bk-loop-card__add {
	width: 100%;
}
.bk-loop-card__add[disabled],
.bk-loop-card__add.is-loading {
	opacity: 0.6;
	cursor: wait;
}
/* When the AJAX add-to-cart succeeds WC adds .added — show a check inline. */
.bk-loop-card .added_to_cart {
	display: flex; align-items: center; justify-content: center; gap: 6px;
	min-height: 40px;
	padding: 0.5rem 0.9rem;
	margin: 0 var(--bk-space-4) var(--bk-space-4);
	border-radius: 10px;
	background: var(--bk-success-soft);
	color: var(--bk-success);
	font-weight: 600;
	font-size: 0.86rem;
	text-decoration: none;
	border: 1px solid rgba(47, 125, 58, 0.25);
}
@media (min-width: 768px) {
	.bk-loop-card .added_to_cart { margin: 0 var(--bk-space-5) var(--bk-space-5); }
}
.bk-loop-card .added_to_cart::before { content: "✓"; font-weight: 700; }
.bk-loop-card .added_to_cart:hover { color: var(--bk-success); text-decoration: none; }

/* Loop card grid spacings (override the legacy reset above) */
.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--bk-space-3);
	list-style: none;
	padding: 0;
	margin: 0;
	align-items: stretch;
}
/* Card fills its grid cell so the CTA buttons bottom-align across a row. */
.bk-loop-card { min-height: 100%; }
@media (min-width: 640px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	ul.products { gap: var(--bk-space-4); }
}
@media (min-width: 900px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bk-space-5); }
}
@media (min-width: 1280px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--bk-space-6); }
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	margin: 0 !important;
}

/* =============================================================================
   Mobile-first archive header tightening.
   ============================================================================= */
@media (max-width: 767px) {
	.bk-archive-header {
		padding-block: var(--bk-space-10) var(--bk-space-6);
	}
	.bk-archive-header__numeral {
		font-size: clamp(14rem, 60vw, 22rem);
		top: -6%;
		right: -8%;
	}
	.bk-archive-header__title {
		font-size: clamp(2rem, 9vw, 3rem);
	}
	.bk-archive-cats { gap: 6px; }
	.bk-archive-cats__link { padding: 7px 12px; font-size: 0.82rem; }
}

/* ------------------------------------------------------------------ *
 * Product card media: square, full image, no hover zoom.
 * Source product images are square (1254×1254) and the bk-card size
 * is now 640×640, so the whole bag shows without cropping.
 * ------------------------------------------------------------------ */
.bk-loop-card__media {
	aspect-ratio: 1 / 1;
}
.bk-loop-card__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: none;
}
.bk-loop-card:hover .bk-loop-card__img {
	transform: none;
}

/* "Mest solgt" best-seller badge (distinct from the "Tilbud" sale badge). */
.bk-loop-card__badge--bestseller {
	background: var(--bk-espresso);
	color: #fff;
}

/* Discreet kilopris under the price on cinnamon cards. */
.bk-loop-card__unit-price {
	margin: -0.15rem 0 0;
	font-size: 0.78rem;
	font-weight: 400;
	color: var(--bk-stone-500);
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.005em;
}
.bk-loop-card__unit-price .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}


/* ===== pages.css ===== */
/* =============================================================================
   BilligKanel — pages.css
   Editorial section styles for content pages (Om os, Kontakt, guides etc.).
   Loaded conditionally via inc/assets.php for non-formal pages.
   ============================================================================= */

/* ---------- Page hero ---------- */
.bk-page-hero {
	position: relative;
	padding: var(--bk-space-12) 0 var(--bk-space-16);
	overflow: hidden;
	isolation: isolate;
	border-bottom: 1px solid rgba(31, 26, 20, 0.06);
}
@media (min-width: 1024px) {
	.bk-page-hero { padding: var(--bk-space-20) 0 var(--bk-space-24); }
}
.bk-page-hero--cream { background: linear-gradient(180deg, var(--bk-cream-50) 0%, var(--bk-cream-100) 100%); }
.bk-page-hero--saffron { background: linear-gradient(180deg, #fef6e7 0%, #fae9c8 100%); }
.bk-page-hero--cinnamon { background: linear-gradient(180deg, #fdebd8 0%, #fae0c2 100%); }
.bk-page-hero--ink { background: var(--bk-ink); color: var(--bk-cream-50); }
.bk-page-hero--ink .bk-page-hero__title { color: var(--bk-cream-50); }
.bk-page-hero--ink .bk-page-hero__title em { color: var(--bk-saffron); }
.bk-page-hero--ink .bk-page-hero__lead { color: rgba(252, 249, 244, 0.75); }
.bk-page-hero--ink .bk-page-hero__eyebrow { background: rgba(252, 249, 244, 0.06); border-color: rgba(252, 249, 244, 0.18); color: var(--bk-cream-50); }

.bk-page-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 1px 1px, rgba(26, 20, 16, 0.045) 1px, transparent 0);
	background-size: 28px 28px;
	z-index: -1;
	pointer-events: none;
	opacity: 0.55;
}
.bk-page-hero--ink::after {
	background-image: radial-gradient(circle at 1px 1px, rgba(252, 249, 244, 0.05) 1px, transparent 0);
	opacity: 1;
}
.bk-page-hero__numeral {
	position: absolute;
	top: -8%;
	right: -4%;
	font-family: var(--bk-font-display);
	font-style: italic;
	color: var(--bk-cinnamon);
	font-size: clamp(14rem, 28vw, 32rem);
	font-weight: 400;
	line-height: 0.85;
	letter-spacing: -0.06em;
	opacity: 0.06;
	pointer-events: none;
	font-variation-settings: "opsz" 144, "SOFT" 80;
	z-index: -1;
	user-select: none;
}
.bk-page-hero--ink .bk-page-hero__numeral { color: var(--bk-saffron); opacity: 0.08; }
.bk-page-hero__crumbs { margin-bottom: var(--bk-space-6); }
.bk-page-hero__inner { max-width: 64ch; position: relative; }
.bk-page-hero__eyebrow {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 6px 14px;
	background: rgba(255, 255, 255, 0.75);
	border: 1px solid rgba(31, 26, 20, 0.12);
	border-radius: 999px;
	font-size: 0.76rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bk-espresso);
	margin-bottom: var(--bk-space-5);
	backdrop-filter: blur(6px);
}
.bk-page-hero__dot {
	width: 7px; height: 7px;
	border-radius: 50%;
	background: var(--bk-cinnamon);
	box-shadow: 0 0 0 3px rgba(164, 71, 33, 0.18);
}
.bk-page-hero--ink .bk-page-hero__dot { background: var(--bk-saffron); box-shadow: 0 0 0 3px rgba(198, 154, 79, 0.22); }
.bk-page-hero__title {
	font-family: var(--bk-font-display);
	font-size: clamp(2.4rem, 5.2vw + 0.5rem, 4.4rem);
	font-weight: 450;
	letter-spacing: -0.035em;
	line-height: 1.02;
	margin: 0 0 var(--bk-space-5);
	color: var(--bk-espresso);
	font-variation-settings: "opsz" 144, "SOFT" 40;
}
.bk-page-hero__title em {
	font-style: italic;
	color: var(--bk-cinnamon);
	font-variation-settings: "opsz" 144, "SOFT" 80, "WONK" 1;
}
.bk-page-hero__lead {
	font-size: clamp(1.05rem, 1.4vw + 0.6rem, 1.3rem);
	color: var(--bk-stone-700);
	line-height: 1.55;
	margin: 0;
	max-width: 56ch;
}
.bk-page-hero__meta {
	list-style: none;
	margin: var(--bk-space-6) 0 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: var(--bk-space-3);
}
.bk-page-hero__meta li {
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	padding: 5px 11px;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid rgba(31, 26, 20, 0.08);
	color: var(--bk-stone-700);
	font-variant-numeric: tabular-nums;
}
.bk-page-hero--ink .bk-page-hero__meta li {
	background: rgba(252, 249, 244, 0.05);
	border-color: rgba(252, 249, 244, 0.12);
	color: rgba(252, 249, 244, 0.7);
}

/* ---------- Prose ---------- */
.bk-prose-section { padding-block: var(--bk-space-12); }
@media (min-width: 1024px) {
	.bk-prose-section { padding-block: var(--bk-space-16); }
}
.bk-prose { max-width: 720px; margin-inline: auto; }
.bk-prose--wide { max-width: 920px; }
.bk-prose__eyebrow {
	display: inline-block;
	font-family: var(--bk-font-mono, ui-monospace, monospace);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--bk-cinnamon);
	margin-bottom: var(--bk-space-4);
}
.bk-prose__heading {
	font-family: var(--bk-font-display);
	font-size: clamp(2rem, 3.4vw + 0.4rem, 2.8rem);
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 1.1;
	margin: 0 0 var(--bk-space-6);
	color: var(--bk-espresso);
}
.bk-prose__heading em { font-style: italic; color: var(--bk-cinnamon); }
.bk-prose__body {
	font-size: 1.05rem;
	line-height: 1.75;
	color: var(--bk-stone-700);
}
.bk-prose__body > * + * { margin-top: var(--bk-space-4); }
.bk-prose__body h2 {
	font-family: var(--bk-font-display);
	font-size: 1.65rem;
	letter-spacing: -0.02em;
	color: var(--bk-espresso);
	margin-top: var(--bk-space-10);
}
.bk-prose__body h3 {
	font-family: var(--bk-font-display);
	font-size: 1.3rem;
	letter-spacing: -0.015em;
	color: var(--bk-espresso);
	margin-top: var(--bk-space-8);
}

/* Definition lists in prose — e.g. the pickup-partner detail blocks on /afhent-kanel/.
   Each <h3> + <dl class="bk-defs"> pair reads as a tidy card. */
.bk-prose__body h3:has(+ .bk-defs) {
	margin-bottom: var(--bk-space-2);
	color: var(--bk-cinnamon-900);
}
.bk-prose__body .bk-defs {
	margin: var(--bk-space-2) 0 var(--bk-space-6);
	padding: var(--bk-space-5) var(--bk-space-6);
	background: var(--bk-cream-50);
	border: 1px solid var(--bk-stone-300);
	border-left: 3px solid var(--bk-cinnamon);
	border-radius: var(--bk-radius-lg);
	display: grid;
	gap: var(--bk-space-3) var(--bk-space-5);
	font-size: 1rem;
	line-height: 1.55;
}
@media (min-width: 560px) {
	.bk-prose__body .bk-defs {
		grid-template-columns: minmax(7rem, max-content) 1fr;
		align-items: baseline;
		gap: var(--bk-space-3) var(--bk-space-6);
	}
}
.bk-prose__body .bk-defs dt {
	margin: 0;
	font-family: var(--bk-font-body);
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bk-stone-500);
}
.bk-prose__body .bk-defs dd {
	margin: 0;
	color: var(--bk-stone-700);
}
.bk-prose__body .bk-defs dd strong { color: var(--bk-espresso); }
/* On a single column (narrow), give each new pair a little air above its label. */
@media (max-width: 559.98px) {
	.bk-prose__body .bk-defs dd + dt { margin-top: var(--bk-space-2); }
}

.bk-prose__body p { margin: 0; }
.bk-prose__body p:first-of-type::first-letter {
	font-family: var(--bk-font-display);
	font-size: 3.4rem;
	line-height: 0.85;
	float: left;
	padding: 0.18rem 0.55rem 0 0;
	color: var(--bk-cinnamon);
	font-weight: 500;
	font-variation-settings: "opsz" 144, "SOFT" 50;
}
.bk-prose__body ul, .bk-prose__body ol {
	margin: var(--bk-space-3) 0;
	padding-left: 1.5rem;
}
.bk-prose__body ul li, .bk-prose__body ol li {
	margin-bottom: 0.4rem;
	line-height: 1.65;
}
.bk-prose__body strong { color: var(--bk-espresso); font-weight: 700; }
.bk-prose__body blockquote {
	margin: var(--bk-space-6) 0;
	padding: var(--bk-space-4) var(--bk-space-6);
	border-left: 3px solid var(--bk-cinnamon);
	background: var(--bk-cream-100);
	border-radius: 0 var(--bk-radius) var(--bk-radius) 0;
	font-family: var(--bk-font-display);
	font-style: italic;
	font-size: 1.2rem;
	color: var(--bk-espresso);
}

/* ---------- Tabular data (prismatch + leverings-tabel) ---------- */
.bk-prose__body .bk-table {
	width: 100%;
	border-collapse: collapse;
	margin: var(--bk-space-6) 0;
	font-size: 0.95rem;
	background: #fff;
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius);
	overflow: hidden;
}
.bk-prose__body .bk-table thead th {
	background: var(--bk-cream-100);
	color: var(--bk-espresso);
	font-weight: 600;
	text-align: left;
	padding: var(--bk-space-3) var(--bk-space-4);
	border-bottom: 1px solid var(--bk-stone-300);
	font-size: 0.85rem;
	letter-spacing: 0.02em;
}
.bk-prose__body .bk-table tbody th,
.bk-prose__body .bk-table tbody td {
	padding: var(--bk-space-3) var(--bk-space-4);
	border-bottom: 1px solid var(--bk-stone-200);
	vertical-align: top;
	text-align: left;
}
.bk-prose__body .bk-table tbody tr:last-child th,
.bk-prose__body .bk-table tbody tr:last-child td {
	border-bottom: none;
}
.bk-prose__body .bk-table tbody th {
	font-weight: 600;
	color: var(--bk-espresso);
}
.bk-prose__body .bk-table tbody th em,
.bk-prose__body .bk-table tbody td em {
	color: var(--bk-stone-700);
	font-weight: 400;
}
.bk-prose__body .bk-table tfoot td {
	background: var(--bk-cream-50);
	padding: var(--bk-space-3) var(--bk-space-4);
	color: var(--bk-stone-700);
	border-top: 1px solid var(--bk-stone-300);
}
.bk-prose__body .bk-table--prismatch tbody tr:first-child {
	background: var(--bk-cream-50);
}
.bk-prose__body .bk-table-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bk-space-3);
	padding: var(--bk-space-3) var(--bk-space-4);
	background: var(--bk-cream-50);
	border-left: 3px solid var(--bk-cinnamon);
	border-radius: 0 var(--bk-radius) var(--bk-radius) 0;
	font-size: 0.9rem;
	color: var(--bk-stone-700);
	margin: var(--bk-space-4) 0 var(--bk-space-2);
}
.bk-prose__body .bk-table-meta strong {
	color: var(--bk-espresso);
	font-weight: 600;
}
.bk-prose__body .bk-prose__meta {
	font-size: 0.85rem;
	color: var(--bk-stone-700);
	margin-top: var(--bk-space-3);
	line-height: 1.55;
}

/* ---------- Values grid ---------- */
.bk-values-grid { background: var(--bk-cream-50); }
.bk-values-grid--cinnamon { background: linear-gradient(180deg, var(--bk-cream-50) 0%, #fdebd8 100%); }
.bk-values-grid--saffron { background: linear-gradient(180deg, var(--bk-cream-50) 0%, #fef3e0 100%); }
.bk-values-grid__head {
	max-width: 56ch;
	margin: 0 auto var(--bk-space-12);
	text-align: center;
}
.bk-values-grid__head .bk-eyebrow { justify-content: center; }
.bk-values-grid__heading {
	font-family: var(--bk-font-display);
	font-size: clamp(1.9rem, 3vw + 0.4rem, 2.6rem);
	letter-spacing: -0.025em;
	margin: 0 0 var(--bk-space-3);
	color: var(--bk-espresso);
}
.bk-values-grid__lead {
	font-size: 1.05rem;
	color: var(--bk-stone-700);
	line-height: 1.6;
	margin: 0;
}
.bk-values-grid__items {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-5);
}
@media (min-width: 600px) { .bk-values-grid__items { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .bk-values-grid__items { grid-template-columns: repeat(4, 1fr); gap: var(--bk-space-6); } }
.bk-values-card {
	background: #fff;
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius-lg);
	padding: var(--bk-space-6);
	display: flex;
	flex-direction: column;
	gap: var(--bk-space-3);
	transition: transform .25s ease, box-shadow .25s ease, border-color .2s ease;
	position: relative;
	overflow: hidden;
}
.bk-values-card::before {
	content: "";
	position: absolute;
	top: 0; left: 0;
	width: 36px; height: 3px;
	background: var(--bk-cinnamon);
	border-radius: 0 0 3px 0;
}
.bk-values-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--bk-shadow);
	border-color: var(--bk-cinnamon);
}
.bk-values-card__icon {
	display: inline-flex;
	width: 44px; height: 44px;
	align-items: center;
	justify-content: center;
	background: var(--bk-cream-100);
	border-radius: 12px;
	color: var(--bk-cinnamon);
}
.bk-values-card__icon svg { width: 22px; height: 22px; }
.bk-values-card__title {
	font-family: var(--bk-font-display);
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: -0.015em;
	margin: 0;
	color: var(--bk-espresso);
}
.bk-values-card__text {
	font-size: 0.95rem;
	color: var(--bk-stone-700);
	line-height: 1.55;
	margin: 0;
}

/* ---------- Timeline ---------- */
.bk-timeline-section { background: var(--bk-cream-50); }
.bk-timeline__head {
	max-width: 56ch;
	margin: 0 auto var(--bk-space-12);
	text-align: center;
}
.bk-timeline__heading {
	font-family: var(--bk-font-display);
	font-size: clamp(1.9rem, 3vw + 0.4rem, 2.6rem);
	letter-spacing: -0.025em;
	margin: 0;
}
.bk-timeline {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	max-width: 720px;
	position: relative;
}
.bk-timeline::before {
	content: "";
	position: absolute;
	top: 0.6rem; bottom: 0.6rem;
	left: 0.55rem;
	width: 1px;
	background: linear-gradient(180deg, transparent 0%, var(--bk-stone-300) 12%, var(--bk-stone-300) 88%, transparent 100%);
}
@media (min-width: 768px) {
	.bk-timeline::before { left: 7.4rem; }
}
.bk-timeline__item {
	list-style: none;
	position: relative;
	padding: 0 0 var(--bk-space-8) var(--bk-space-6);
}
.bk-timeline__item::marker { content: ""; }
.bk-timeline__item:last-child { padding-bottom: 0; }
@media (min-width: 768px) {
	.bk-timeline__item {
		padding-left: 9.5rem;
	}
}
.bk-timeline__bullet {
	position: absolute;
	left: 0;
	top: 0.55rem;
	width: 13px; height: 13px;
	border-radius: 50%;
	background: var(--bk-cream-50);
	border: 2px solid var(--bk-cinnamon);
	box-shadow: 0 0 0 4px var(--bk-cream-50);
}
@media (min-width: 768px) {
	.bk-timeline__bullet { left: 6.85rem; }
}
.bk-timeline__date {
	display: block;
	font-family: var(--bk-font-mono, ui-monospace, monospace);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bk-cinnamon);
	margin-bottom: var(--bk-space-2);
}
@media (min-width: 768px) {
	.bk-timeline__date {
		position: absolute;
		left: 0;
		top: 0.45rem;
		width: 6rem;
		text-align: right;
	}
}
.bk-timeline__title {
	font-family: var(--bk-font-display);
	font-size: 1.25rem;
	font-weight: 500;
	letter-spacing: -0.015em;
	margin: 0 0 var(--bk-space-2);
	color: var(--bk-espresso);
}
.bk-timeline__text {
	font-size: 0.96rem;
	color: var(--bk-stone-700);
	line-height: 1.6;
	margin: 0;
}

/* ---------- Contact cards ---------- */
.bk-contact-cards-section { background: var(--bk-cream-50); }
.bk-contact-cards__head {
	max-width: 56ch;
	margin: 0 auto var(--bk-space-10);
	text-align: center;
}
.bk-contact-cards__heading {
	font-family: var(--bk-font-display);
	font-size: clamp(1.9rem, 3vw + 0.4rem, 2.6rem);
	letter-spacing: -0.025em;
	margin: 0;
}
.bk-contact-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-5);
	max-width: 1080px;
	margin: 0 auto;
}
@media (min-width: 768px) { .bk-contact-cards { grid-template-columns: repeat(3, 1fr); } }
.bk-contact-card {
	display: flex;
	flex-direction: column;
	gap: var(--bk-space-2);
	padding: var(--bk-space-6);
	background: #fff;
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius-lg);
	color: inherit;
	text-decoration: none;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
	position: relative;
	overflow: hidden;
}
a.bk-contact-card:hover {
	text-decoration: none;
	border-color: var(--bk-cinnamon);
	transform: translateY(-3px);
	box-shadow: var(--bk-shadow);
}
.bk-contact-card__icon {
	display: inline-flex;
	width: 44px; height: 44px;
	align-items: center;
	justify-content: center;
	background: var(--bk-cinnamon-50);
	color: var(--bk-cinnamon);
	border-radius: 12px;
	margin-bottom: var(--bk-space-2);
}
.bk-contact-card__icon svg { width: 22px; height: 22px; }
.bk-contact-card__label {
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bk-stone-500);
}
.bk-contact-card__value {
	font-family: var(--bk-font-display);
	font-size: 1.3rem;
	font-weight: 500;
	letter-spacing: -0.015em;
	color: var(--bk-espresso);
	line-height: 1.2;
}
.bk-contact-card__meta {
	font-size: 0.86rem;
	color: var(--bk-stone-700);
	margin-top: 0.25rem;
}

/* ---------- Info callout ---------- */
.bk-info-callout-section { padding-block: var(--bk-space-8); }
.bk-info-callout {
	border-radius: var(--bk-radius-lg);
	padding: var(--bk-space-6);
	border: 1px solid;
	position: relative;
}
@media (min-width: 768px) { .bk-info-callout { padding: var(--bk-space-8); } }
.bk-info-callout--saffron { background: linear-gradient(135deg, #fef3e0 0%, #fde6c1 100%); border-color: rgba(198, 154, 79, 0.32); }
.bk-info-callout--cinnamon { background: linear-gradient(135deg, #fdebd8 0%, #fae0c2 100%); border-color: rgba(164, 71, 33, 0.22); }
.bk-info-callout--success { background: linear-gradient(135deg, #e9f4ec 0%, #d8eddd 100%); border-color: rgba(47, 125, 58, 0.22); }
.bk-info-callout--warning { background: linear-gradient(135deg, #fbe7d6 0%, #f7d2b1 100%); border-color: rgba(193, 75, 31, 0.28); }
.bk-info-callout__inner { max-width: 56ch; }
.bk-info-callout__eyebrow {
	display: inline-block;
	font-family: var(--bk-font-mono, ui-monospace, monospace);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bk-cinnamon-700);
	margin-bottom: var(--bk-space-3);
	padding: 4px 10px;
	background: rgba(255, 255, 255, 0.6);
	border-radius: 999px;
}
.bk-info-callout__heading {
	font-family: var(--bk-font-display);
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: -0.018em;
	margin: 0 0 var(--bk-space-3);
	color: var(--bk-espresso);
}
.bk-info-callout__text {
	font-size: 1rem;
	color: var(--bk-stone-700);
	line-height: 1.65;
}
.bk-info-callout__text > * + * { margin-top: var(--bk-space-3); }
.bk-info-callout__cta {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: var(--bk-space-4);
	font-weight: 600;
	color: var(--bk-cinnamon);
	font-size: 0.95rem;
	transition: gap 180ms ease;
}
.bk-info-callout__cta:hover { gap: 10px; color: var(--bk-cinnamon-700); text-decoration: none; }

/* ---------- TOC ---------- */
.bk-toc-section { padding-block: var(--bk-space-6) var(--bk-space-10); }
.bk-toc {
	background: #fff;
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius-lg);
	padding: var(--bk-space-5) var(--bk-space-6);
	box-shadow: var(--bk-shadow-xs);
}
.bk-toc__eyebrow {
	display: block;
	font-family: var(--bk-font-mono, ui-monospace, monospace);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--bk-cinnamon);
	margin-bottom: var(--bk-space-4);
}
.bk-toc__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: 1fr;
	gap: 2px;
}
@media (min-width: 600px) { .bk-toc__list { grid-template-columns: repeat(2, 1fr); gap: 2px var(--bk-space-6); } }
.bk-toc__item { list-style: none; margin: 0; padding: 0; }
.bk-toc__item::marker { content: ""; }
.bk-toc__link {
	display: flex;
	align-items: baseline;
	gap: var(--bk-space-3);
	padding: var(--bk-space-3) 0;
	color: var(--bk-espresso);
	text-decoration: none;
	border-bottom: 1px dashed var(--bk-stone-300);
	transition: color .15s ease, padding-left .18s ease;
}
.bk-toc__item:last-child .bk-toc__link { border-bottom: 0; }
.bk-toc__link:hover { color: var(--bk-cinnamon); padding-left: 4px; text-decoration: none; }
.bk-toc__num {
	font-family: var(--bk-font-mono, ui-monospace, monospace);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: var(--bk-cinnamon);
	flex-shrink: 0;
	min-width: 22px;
}
.bk-toc__label {
	font-family: var(--bk-font-display);
	font-size: 1.05rem;
	font-weight: 500;
	letter-spacing: -0.01em;
}

/* ---------- Feature split ---------- */
.bk-feature-split { padding-block: var(--bk-space-12); }
@media (min-width: 1024px) { .bk-feature-split { padding-block: var(--bk-space-20); } }
.bk-feature-split--cream { background: var(--bk-cream-50); }
.bk-feature-split--cinnamon { background: linear-gradient(180deg, #fdebd8 0%, #fae0c2 100%); }
.bk-feature-split--saffron { background: linear-gradient(180deg, #fef3e0 0%, #fde6c1 100%); }
.bk-feature-split--ink { background: var(--bk-ink); color: var(--bk-cream-50); }
.bk-feature-split--ink .bk-feature-split__heading { color: var(--bk-cream-50); }
.bk-feature-split--ink .bk-feature-split__heading em { color: var(--bk-saffron); }
.bk-feature-split--ink .bk-feature-split__body { color: rgba(252, 249, 244, 0.75); }
.bk-feature-split--ink .bk-feature-split__bullets li { color: rgba(252, 249, 244, 0.85); }
.bk-feature-split--ink .bk-feature-split__numeral { color: var(--bk-saffron); opacity: 0.18; }
.bk-feature-split--ink .bk-eyebrow { color: var(--bk-saffron); }
.bk-feature-split--ink .bk-btn--secondary { color: var(--bk-cream-50) !important; border-color: rgba(252, 249, 244, 0.25); }
.bk-feature-split--ink .bk-btn--secondary:hover { background: rgba(252, 249, 244, 0.06); border-color: var(--bk-cream-50); color: var(--bk-cream-50) !important; }

.bk-feature-split__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-10);
	align-items: center;
}
@media (min-width: 900px) {
	.bk-feature-split__grid { grid-template-columns: 0.85fr 1fr; gap: var(--bk-space-16); }
}
.bk-feature-split--reverse .bk-feature-split__grid { direction: ltr; }
@media (min-width: 900px) {
	.bk-feature-split--reverse .bk-feature-split__panel { order: 2; }
	.bk-feature-split--reverse .bk-feature-split__copy { order: 1; }
}
.bk-feature-split__panel {
	position: relative;
	min-height: 280px;
	border-radius: var(--bk-radius-lg);
	background: linear-gradient(160deg, var(--bk-cream-100) 0%, var(--bk-cream-200) 100%);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--bk-space-6);
	box-shadow: var(--bk-shadow-xs);
}
.bk-feature-split--ink .bk-feature-split__panel {
	background: linear-gradient(160deg, rgba(252, 249, 244, 0.04) 0%, rgba(252, 249, 244, 0.08) 100%);
	box-shadow: none;
	border: 1px solid rgba(252, 249, 244, 0.1);
}
.bk-feature-split__panel::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(circle at 1px 1px, rgba(26, 20, 16, 0.06) 1px, transparent 0);
	background-size: 22px 22px;
	pointer-events: none;
	opacity: 0.5;
}
.bk-feature-split__numeral {
	font-family: var(--bk-font-display);
	font-style: italic;
	color: var(--bk-cinnamon);
	font-size: clamp(8rem, 20vw, 18rem);
	font-weight: 400;
	line-height: 0.85;
	letter-spacing: -0.04em;
	opacity: 0.22;
	font-variation-settings: "opsz" 144, "SOFT" 90, "WONK" 1;
	user-select: none;
}
.bk-feature-split__image {
	max-width: 100%;
	height: auto;
	border-radius: var(--bk-radius);
}
.bk-feature-split__caption {
	position: absolute;
	bottom: var(--bk-space-3);
	right: var(--bk-space-4);
	font-family: var(--bk-font-mono, ui-monospace, monospace);
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bk-stone-700);
}
.bk-feature-split__heading {
	font-family: var(--bk-font-display);
	font-size: clamp(1.9rem, 3vw + 0.4rem, 2.6rem);
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 1.1;
	margin: 0 0 var(--bk-space-4);
	color: var(--bk-espresso);
}
.bk-feature-split__heading em { font-style: italic; color: var(--bk-cinnamon); }
.bk-feature-split__body {
	font-size: 1rem;
	color: var(--bk-stone-700);
	line-height: 1.7;
	margin-bottom: var(--bk-space-5);
}
.bk-feature-split__body > * + * { margin-top: var(--bk-space-3); }
.bk-feature-split__body p { margin: 0; }
.bk-feature-split__bullets {
	list-style: none;
	margin: 0 0 var(--bk-space-5);
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--bk-space-2);
}
.bk-feature-split__bullets li {
	display: flex;
	gap: var(--bk-space-3);
	font-size: 0.96rem;
	color: var(--bk-stone-700);
	line-height: 1.55;
	padding-left: 1.4rem;
	position: relative;
}
.bk-feature-split__bullets li::marker { content: ""; }
.bk-feature-split__bullets li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.55em;
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--bk-cinnamon);
	flex-shrink: 0;
}

/* ---------- Pickup grid ---------- */
.bk-pickup-grid-section { background: var(--bk-cream-50); }
.bk-pickup-grid__head {
	max-width: 56ch;
	margin: 0 auto var(--bk-space-10);
	text-align: center;
}
.bk-pickup-grid__heading {
	font-family: var(--bk-font-display);
	font-size: clamp(1.9rem, 3vw + 0.4rem, 2.6rem);
	letter-spacing: -0.025em;
	margin: 0;
}
.bk-pickup-grid__lead {
	font-size: 1.05rem;
	color: var(--bk-stone-700);
	line-height: 1.55;
	margin: var(--bk-space-3) 0 0;
}
.bk-pickup-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-5);
}
@media (min-width: 600px) { .bk-pickup-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .bk-pickup-grid { grid-template-columns: repeat(4, 1fr); gap: var(--bk-space-6); } }
.bk-pickup-card {
	background: #fff;
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius-lg);
	padding: var(--bk-space-6);
	display: flex;
	flex-direction: column;
	gap: var(--bk-space-3);
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
	position: relative;
	overflow: hidden;
}
.bk-pickup-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--bk-shadow);
	border-color: var(--bk-cinnamon);
}
.bk-pickup-card__index {
	position: absolute;
	top: var(--bk-space-4);
	right: var(--bk-space-4);
	font-family: var(--bk-font-mono, ui-monospace, monospace);
	font-size: 0.74rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--bk-stone-500);
}
.bk-pickup-card__city {
	font-family: var(--bk-font-display);
	font-size: 1.55rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	margin: 0;
	color: var(--bk-espresso);
}
.bk-pickup-card__addr {
	font-size: 0.92rem;
	color: var(--bk-stone-700);
	font-style: normal;
	line-height: 1.55;
	margin: 0;
}
.bk-pickup-card__meta {
	display: flex;
	flex-direction: column;
	gap: var(--bk-space-2);
	margin: 0;
	padding-top: var(--bk-space-3);
	border-top: 1px dashed var(--bk-stone-300);
}
.bk-pickup-card__meta div { display: grid; grid-template-columns: 64px 1fr; gap: var(--bk-space-2); align-items: baseline; }
.bk-pickup-card__meta dt {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bk-stone-500);
	margin: 0;
}
.bk-pickup-card__meta dd {
	font-size: 0.86rem;
	color: var(--bk-stone-700);
	margin: 0;
	line-height: 1.4;
}

/* ---------- Stat strip ---------- */
.bk-stat-strip-section { padding-block: var(--bk-space-10); }
.bk-stat-strip {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-6);
	margin: 0;
	padding: var(--bk-space-6) 0;
	border-top: 1px solid var(--bk-stone-300);
	border-bottom: 1px solid var(--bk-stone-300);
}
@media (min-width: 600px) { .bk-stat-strip { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .bk-stat-strip { grid-template-columns: repeat(4, 1fr); gap: var(--bk-space-4); } }
.bk-stat-strip__item {
	display: flex;
	flex-direction: column;
	gap: var(--bk-space-1);
	padding-inline: var(--bk-space-2);
	border-left: 1px solid var(--bk-stone-300);
}
.bk-stat-strip__item:first-child { border-left: 0; }
@media (max-width: 599px) {
	.bk-stat-strip__item { border-left: 0; padding-inline: 0; }
}
.bk-stat-strip__number {
	font-family: var(--bk-font-display);
	font-size: clamp(2.4rem, 4vw + 0.4rem, 3.2rem);
	font-weight: 450;
	letter-spacing: -0.04em;
	line-height: 1;
	color: var(--bk-cinnamon);
	font-variant-numeric: tabular-nums;
	font-variation-settings: "opsz" 144, "SOFT" 50;
}
.bk-stat-strip__number small {
	font-size: 0.55em;
	color: var(--bk-stone-700);
	margin-left: 4px;
}
.bk-stat-strip__label {
	font-family: var(--bk-font-body);
	font-size: 0.96rem;
	font-weight: 600;
	color: var(--bk-espresso);
	margin: 0;
}
.bk-stat-strip__caption {
	font-size: 0.82rem;
	color: var(--bk-stone-500);
	margin: 0;
	line-height: 1.4;
}

/* ---------- Cassia hybrid produkt-CTA (i artikelflow) ---------- */
.bk-cassia-callout {
	margin: var(--bk-space-10) 0 var(--bk-space-6);
	padding: var(--bk-space-8) var(--bk-space-6);
	background: linear-gradient(135deg, var(--bk-cream-100) 0%, #fdebd8 100%);
	border-radius: var(--bk-radius-lg);
	border: 1px solid rgba(164, 71, 33, 0.18);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.6) inset, 0 18px 40px -28px rgba(60, 24, 0, 0.25);
}
.bk-cassia-callout__inner {
	max-width: 640px;
	margin: 0 auto;
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: var(--bk-space-3);
	align-items: center;
}
.bk-cassia-callout__eyebrow {
	display: inline-block;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--bk-cinnamon);
}
.bk-cassia-callout__heading {
	font-family: var(--bk-font-display);
	font-size: clamp(1.5rem, 2.4vw + 0.4rem, 1.95rem);
	color: var(--bk-espresso);
	margin: 0;
	line-height: 1.2;
	letter-spacing: -0.015em;
}
.bk-cassia-callout__body {
	color: var(--bk-stone-700);
	font-size: 1rem;
	line-height: 1.6;
	margin: 0;
	max-width: 56ch;
}
.bk-cassia-callout__cta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--bk-space-3);
	justify-content: center;
	margin-top: var(--bk-space-2);
}

/* ---------- Sticky kalkulator-CTA (efter stat-strip) ---------- */
.bk-calc-sticky-cta {
	position: sticky;
	bottom: 0;
	z-index: 30;
	background: linear-gradient(180deg, rgba(252, 249, 244, 0) 0%, var(--bk-cream-50) 14%, var(--bk-cream-50) 100%);
	padding-block: var(--bk-space-3) var(--bk-space-4);
	margin-top: calc(-1 * var(--bk-space-4));
	border-top: 1px solid rgba(164, 71, 33, 0.12);
	box-shadow: 0 -10px 30px -16px rgba(60, 24, 0, 0.18);
}
.bk-calc-sticky-cta__inner {
	display: flex;
	flex-direction: column;
	gap: var(--bk-space-3);
	align-items: stretch;
}
@media (min-width: 720px) {
	.bk-calc-sticky-cta__inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: var(--bk-space-5);
	}
}
.bk-calc-sticky-cta__summary {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--bk-space-2);
	color: var(--bk-espresso);
	font-size: 1rem;
}
.bk-calc-sticky-cta__pill {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	background: var(--bk-cinnamon);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	border-radius: 999px;
	margin-right: var(--bk-space-2);
}
.bk-calc-sticky-cta__amount,
.bk-calc-sticky-cta__price {
	font-family: var(--bk-font-display);
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--bk-espresso);
}
.bk-calc-sticky-cta__divider {
	color: var(--bk-stone-500);
	font-size: 1.1rem;
	line-height: 1;
}
.bk-calc-sticky-cta__divider--meta { display: none; }
@media (min-width: 600px) {
	.bk-calc-sticky-cta__divider--meta { display: inline; }
}
.bk-calc-sticky-cta__meta {
	color: var(--bk-stone-700);
	font-size: 0.92rem;
}
.bk-calc-sticky-cta__btn {
	white-space: nowrap;
	flex-shrink: 0;
}
@media (max-width: 719px) {
	.bk-calc-sticky-cta__btn { width: 100%; justify-content: center; text-align: center; }
}

/* ---------- Stagger reveal ---------- */
[data-bk-reveal][style*="--bk-stagger"] { transition-delay: calc(var(--bk-stagger, 0) * 90ms); }

/* ---------- Legal-prose (formal pages) ---------- */
.bk-page--legal .bk-article__header h1 {
	font-family: var(--bk-font-display);
	font-size: clamp(2rem, 3vw + 0.5rem, 2.6rem);
	font-weight: 500;
	letter-spacing: -0.025em;
	color: var(--bk-espresso);
	margin-bottom: var(--bk-space-5);
}
.bk-page--legal .bk-article__content {
	font-size: 1rem;
	color: var(--bk-stone-700);
	line-height: 1.7;
}
.bk-page--legal .bk-article__content h2 {
	font-family: var(--bk-font-display);
	font-size: 1.45rem;
	color: var(--bk-espresso);
	margin: var(--bk-space-8) 0 var(--bk-space-3);
	letter-spacing: -0.018em;
}
.bk-page--legal .bk-article__content h3 {
	font-family: var(--bk-font-display);
	font-size: 1.15rem;
	color: var(--bk-espresso);
	margin: var(--bk-space-6) 0 var(--bk-space-2);
}
.bk-page--legal .bk-article__content p { margin: 0 0 var(--bk-space-3); }
.bk-page--legal .bk-article__content ul, .bk-page--legal .bk-article__content ol {
	margin: var(--bk-space-3) 0; padding-left: 1.4rem;
}
.bk-page--legal .bk-article__content li { margin-bottom: 0.4rem; }

/* ---------- Afhentning: map ---------- */
.bk-pickup-map-section { padding-block: var(--bk-space-10); }
@media (min-width: 1024px) { .bk-pickup-map-section { padding-block: var(--bk-space-12); } }
.bk-pickup-map-shell {
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius-lg);
	overflow: hidden;
	box-shadow: var(--bk-shadow);
	background: var(--bk-cream-100);
}
.bk-pickup-map {
	width: 100%;
	height: 380px;
	z-index: 0; /* keep Leaflet panes under the sticky header */
}
@media (min-width: 768px) { .bk-pickup-map { height: 460px; } }
@media (min-width: 1024px) { .bk-pickup-map { height: 540px; } }
/* Custom SVG pin — strip Leaflet's default divIcon box and add a soft shadow */
.bk-pickup-map .leaflet-div-icon.bk-pin { background: transparent; border: 0; }
.bk-pickup-map .bk-pin svg { filter: drop-shadow(0 3px 4px rgba(26, 20, 16, 0.35)); }
/* Leaflet popup typography to match the theme */
.bk-pickup-map .leaflet-popup-content { font-family: var(--bk-font-body); font-size: 0.92rem; line-height: 1.5; color: var(--bk-espresso); }
.bk-pickup-map .leaflet-popup-content strong { font-family: var(--bk-font-display); font-size: 1.05rem; }
.bk-pickup-map .leaflet-popup-content a { color: var(--bk-cinnamon); font-weight: 700; }

/* ---------- Afhentning: location cards ---------- */
.bk-pickup-cards-section { background: var(--bk-cream-50); padding-top: var(--bk-space-8); }
.bk-pickup-cards__head {
	max-width: 56ch;
	margin: 0 auto var(--bk-space-10);
	text-align: center;
}
.bk-pickup-cards__heading {
	font-family: var(--bk-font-display);
	font-size: clamp(1.9rem, 3vw + 0.4rem, 2.6rem);
	letter-spacing: -0.025em;
	margin: 0;
}
.bk-pickup-cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-5);
	max-width: 1080px;
	margin: 0 auto;
}
@media (min-width: 700px) { .bk-pickup-cards { grid-template-columns: repeat(2, 1fr); } }
/* .bk-pickup-card base (bg/border/radius/hover) is shared with the pickup grid above. */
.bk-pickup-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--bk-space-3);
}
.bk-pickup-card__name {
	font-family: var(--bk-font-display);
	font-size: 1.45rem;
	font-weight: 500;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0;
	color: var(--bk-espresso);
}
.bk-pickup-badge {
	flex: none;
	display: inline-flex;
	align-items: center;
	padding: 0.3rem 0.7rem;
	border-radius: var(--bk-radius-pill);
	background: var(--bk-success-soft);
	color: var(--bk-success);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	white-space: nowrap;
}
.bk-pickup-card__contact {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--bk-space-2);
}
.bk-pickup-card__contact li {
	display: flex;
	align-items: flex-start;
	gap: var(--bk-space-3);
	font-size: 0.95rem;
	color: var(--bk-stone-700);
}
.bk-pickup-card__contact a { color: var(--bk-stone-700); }
.bk-pickup-card__contact a:hover { color: var(--bk-cinnamon); }
.bk-pickup-card__ico {
	flex: none;
	display: inline-flex;
	width: 20px;
	height: 20px;
	color: var(--bk-cinnamon);
	margin-top: 1px;
}
.bk-pickup-card__ico svg { width: 20px; height: 20px; }

.bk-pickup-hours {
	margin-top: auto;
	padding-top: var(--bk-space-4);
	border-top: 1px dashed var(--bk-stone-300);
}
.bk-pickup-hours__title {
	display: flex;
	align-items: center;
	gap: var(--bk-space-2);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--bk-stone-500);
	margin-bottom: var(--bk-space-3);
}
.bk-pickup-hours__list { margin: 0; }
.bk-pickup-hours__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--bk-space-3);
	padding: 0.3rem 0.55rem;
	border-radius: var(--bk-radius-sm);
	font-size: 0.92rem;
	line-height: 1.4;
}
.bk-pickup-hours__row + .bk-pickup-hours__row { border-top: 1px solid var(--bk-cream-200); }
.bk-pickup-hours__row dt { margin: 0; color: var(--bk-stone-700); display: flex; align-items: center; gap: 0.5rem; }
.bk-pickup-hours__row dd { margin: 0; color: var(--bk-espresso); font-variant-numeric: tabular-nums; }
.bk-pickup-hours__row.is-today {
	background: var(--bk-cinnamon-50);
	border-top-color: transparent;
}
.bk-pickup-hours__row.is-today dt,
.bk-pickup-hours__row.is-today dd { color: var(--bk-cinnamon-900); font-weight: 700; }
.bk-pickup-hours__today {
	font-size: 0.6rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #fff;
	background: var(--bk-cinnamon);
	padding: 0.12rem 0.4rem;
	border-radius: var(--bk-radius-pill);
}
.bk-pickup-card__actions { margin-top: var(--bk-space-4); }
.bk-pickup-card__actions .bk-btn { width: 100%; justify-content: center; }
@media (min-width: 480px) { .bk-pickup-card__actions .bk-btn { width: auto; } }

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
	.bk-loop-card, .bk-values-card, .bk-pickup-card, .bk-contact-card { transition: none; }
}

/* --------------------------------------------------------------------------
   Redaktionelle klasser fra ældre indlæg/sider (sales-badge, cta-box m.fl.)
   — porteret så importeret indhold renderer pænt i bk-prose.
   -------------------------------------------------------------------------- */
.bk-prose .sales-badge {
	display: inline-block;
	background: var(--bk-cinnamon);
	color: var(--bk-cream-50);
	font-size: 0.78rem;
	line-height: 1.35;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 700;
	border-radius: 999px;
	padding: 6px 14px;
	margin: 0 0 14px;
}
.bk-prose .bk-lead { font-size: 1.15rem; line-height: 1.75; }
.bk-prose .highlight-box {
	background: var(--bk-cream-100);
	border: 1px solid var(--bk-stone-300);
	border-radius: 14px;
	padding: 20px 22px;
	margin: 1.4em 0;
}
.bk-prose .cta-box {
	background: var(--bk-ink);
	color: var(--bk-cream-100);
	border-radius: 16px;
	padding: 28px 26px;
	margin: 1.6em 0;
}
.bk-prose .cta-box h2,
.bk-prose .cta-box h3 { color: var(--bk-cream-50); }
.bk-prose a.cta-button {
	display: inline-block;
	font-size: 0.95rem;
	line-height: 1.2;
	font-weight: 700;
	color: var(--bk-cream-50);
	background: var(--bk-cinnamon);
	border-radius: 999px;
	padding: 13px 26px;
	text-decoration: none;
	transition: background 0.15s ease;
}
.bk-prose a.cta-button:hover { background: var(--bk-cinnamon-700); color: var(--bk-cream-50); }
.bk-prose .section-divider { height: 1px; background: var(--bk-stone-300); margin: 2.2em 0; }
.bk-prose .bk-faq__item {
	background: var(--bk-cream-100);
	border: 1px solid var(--bk-stone-300);
	border-radius: 12px;
	padding: 12px 16px;
	margin-bottom: 10px;
}
.bk-prose .bk-faq__q { cursor: pointer; font-weight: 700; }
.bk-prose .bk-faq__a { padding-top: 8px; }

/* WCAG AA-kontrast: #b86f3a på hvid er 3,9:1 — #a2602f giver 4,9:1 (Lighthouse color-contrast). */
.bk-toc__eyebrow,.bk-toc__num{color:#a2602f}


/* ===== cart.css ===== */
/* =============================================================================
   BilligKanel — cart.css
   Off-canvas drawer (mini-cart) + dedicated /kurv/-side
   Refined editorial e-commerce treatment.
   ============================================================================= */

html.bk-no-scroll, html.bk-no-scroll body { overflow: hidden; }

/* ---------- Drawer scaffold ---------- */
.bk-cart-drawer {
	position: fixed;
	inset: 0;
	z-index: 100;
	pointer-events: none;
}
.bk-cart-drawer[aria-hidden="false"] { pointer-events: auto; }
.bk-cart-drawer__overlay {
	position: absolute;
	inset: 0;
	background: rgba(13, 9, 7, 0.45);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	opacity: 0;
	transition: opacity .25s ease;
}
.bk-cart-drawer.is-open .bk-cart-drawer__overlay { opacity: 1; }

.bk-cart-drawer__panel {
	position: absolute;
	top: 0; right: 0; bottom: 0;
	width: 100%;
	max-width: 460px;
	background: var(--bk-cream-50);
	box-shadow: var(--bk-shadow-lg);
	transform: translateX(100%);
	transition: transform .3s cubic-bezier(0.16, 1, 0.3, 1);
	display: flex;
	flex-direction: column;
	outline: none;
}
.bk-cart-drawer.is-open .bk-cart-drawer__panel { transform: translateX(0); }

.bk-cart-drawer__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: var(--bk-space-4) var(--bk-space-5);
	border-bottom: 1px solid var(--bk-stone-300);
	background: #fff;
	gap: var(--bk-space-3);
}
@media (min-width: 480px) {
	.bk-cart-drawer__header { padding: var(--bk-space-5) var(--bk-space-6); }
}
.bk-cart-drawer__title-group {
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	min-width: 0;
}
.bk-cart-drawer__header h2 {
	margin: 0;
	font-size: var(--bk-fs-600);
	font-family: var(--bk-font-display);
	font-weight: 500;
	letter-spacing: -0.02em;
	font-variation-settings: "opsz" 60, "SOFT" 30;
}
.bk-cart-drawer__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 24px;
	height: 24px;
	padding: 0 0.45rem;
	border-radius: 999px;
	background: var(--bk-cinnamon);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	font-variant-numeric: tabular-nums;
	line-height: 1;
}
.bk-cart-drawer__count--empty {
	background: var(--bk-stone-300);
	color: var(--bk-stone-700);
}
.bk-cart-drawer__close {
	background: transparent;
	border: 0;
	cursor: pointer;
	padding: 0.55rem;
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--bk-stone-700);
	border-radius: var(--bk-radius-sm);
	transition: color .12s, background .12s;
	-webkit-tap-highlight-color: transparent;
}
.bk-cart-drawer__close:hover { background: var(--bk-cream-100); color: var(--bk-cinnamon); }
.bk-cart-drawer__close:focus-visible {
	outline: 2px solid var(--bk-cinnamon);
	outline-offset: 2px;
}
.bk-cart-drawer__content {
	flex: 1;
	overflow-y: auto;
	padding: var(--bk-space-5) var(--bk-space-6);
}

/* ---------- Mini cart ---------- */
.bk-mini-cart__progress {
	background: var(--bk-cinnamon-50);
	border: 1px solid var(--bk-cinnamon-100);
	border-radius: var(--bk-radius);
	padding: var(--bk-space-3) var(--bk-space-4);
	margin-bottom: var(--bk-space-4);
}
.bk-mini-cart__progress-text {
	margin: 0 0 0.55rem;
	font-size: 0.92rem;
	color: var(--bk-espresso);
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.bk-mini-cart__progress-text svg { width: 16px; height: 16px; color: var(--bk-success); }
.bk-mini-cart__progress-text--met { color: var(--bk-success); font-weight: 700; }
.bk-mini-cart__bar {
	height: 6px;
	background: rgba(26, 20, 16, 0.08);
	border-radius: 3px;
	overflow: hidden;
}
.bk-mini-cart__bar > span {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--bk-cinnamon), var(--bk-saffron));
	transition: width .3s ease;
}
.bk-mini-cart__progress[data-bk-progress="100"] .bk-mini-cart__bar > span,
.bk-mini-cart__progress-text--met ~ .bk-mini-cart__bar > span {
	background: var(--bk-success);
}

.bk-mini-cart__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--bk-space-3);
}
.bk-mini-cart__item {
	display: grid;
	grid-template-columns: 72px 1fr;
	gap: var(--bk-space-3);
	padding: var(--bk-space-3) 0;
	border-bottom: 1px solid var(--bk-stone-300);
	position: relative;
	align-items: start;
}
.bk-mini-cart__item:last-child { border-bottom: 0; }
.bk-mini-cart__thumb img {
	width: 72px;
	height: 72px;
	object-fit: cover;
	border-radius: var(--bk-radius-sm);
	background: var(--bk-cream-100);
}
.bk-mini-cart__body {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	min-width: 0;
}
.bk-mini-cart__name {
	font-family: var(--bk-font-display);
	font-weight: 500;
	color: var(--bk-espresso);
	font-size: 1rem;
	line-height: 1.3;
	text-decoration: none;
	letter-spacing: -0.01em;
}
.bk-mini-cart__name:hover { color: var(--bk-cinnamon); }
.bk-mini-cart__line-total {
	font-weight: 700;
	color: var(--bk-cinnamon);
	white-space: nowrap;
	margin-top: 0.2rem;
	font-size: 1rem;
}
.bk-mini-cart__remove {
	position: absolute;
	top: 0.75rem;
	right: 0;
	background: transparent;
	border: 0;
	color: var(--bk-stone-500);
	padding: 0.3rem;
	display: inline-flex;
	border-radius: var(--bk-radius-sm);
	text-decoration: none !important;
	transition: color .12s, background .12s;
}
.bk-mini-cart__remove:hover { color: var(--bk-danger); background: rgba(179, 32, 39, 0.08); }

/* Qty stepper — 44px touch targets på alle viewports (WCAG AAA). */
.bk-qty-stepper {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius-sm);
	overflow: hidden;
	width: fit-content;
	background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease, opacity .2s ease;
}
.bk-qty-stepper:focus-within {
	border-color: var(--bk-cinnamon);
	box-shadow: 0 0 0 3px var(--bk-cinnamon-100);
}
.bk-qty-stepper.is-loading { opacity: 0.5; pointer-events: none; }
.bk-qty-stepper button {
	background: #fff;
	border: 0;
	width: 44px;
	height: 44px;
	cursor: pointer;
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--bk-espresso);
	transition: background .12s, color .12s, transform .08s;
	-webkit-tap-highlight-color: transparent;
}
.bk-qty-stepper button:hover { background: var(--bk-cream-100); color: var(--bk-cinnamon); }
.bk-qty-stepper button:active { transform: scale(0.94); }
.bk-qty-stepper button:focus-visible {
	outline: 2px solid var(--bk-cinnamon);
	outline-offset: -2px;
}
.bk-qty-stepper input {
	width: 56px;
	height: 44px;
	min-height: 44px;
	border: 0;
	border-left: 1px solid var(--bk-stone-300);
	border-right: 1px solid var(--bk-stone-300);
	text-align: center;
	padding: 0;
	background: #fff;
	-moz-appearance: textfield;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.bk-qty-stepper input::-webkit-outer-spin-button,
.bk-qty-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.bk-qty-stepper input:focus { outline: none; }

/* Drawer footer */
.bk-mini-cart__footer {
	border-top: 1px solid var(--bk-stone-300);
	padding: var(--bk-space-4) var(--bk-space-6) var(--bk-space-5);
	background: #fff;
	display: flex;
	flex-direction: column;
	gap: var(--bk-space-3);
}
.bk-mini-cart__totals {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}
.bk-mini-cart__row {
	display: flex;
	justify-content: space-between;
	font-size: 1rem;
}
.bk-mini-cart__row strong {
	font-family: var(--bk-font-display);
	font-size: 1.3rem;
	color: var(--bk-cinnamon);
	font-weight: 500;
}
.bk-mini-cart__small {
	font-size: 0.78rem;
	color: var(--bk-stone-500);
	margin: 0;
}

/* Empty state */
.bk-mini-cart__empty {
	text-align: center;
	padding: var(--bk-space-8) 0;
}
.bk-mini-cart__empty svg {
	width: 56px;
	height: 56px;
	color: var(--bk-stone-400);
	margin: 0 auto var(--bk-space-4);
}
.bk-mini-cart__empty p {
	font-family: var(--bk-font-display);
	font-size: var(--bk-fs-500);
	font-style: italic;
	color: var(--bk-stone-700);
	margin-bottom: var(--bk-space-5);
	font-variation-settings: "opsz" 60, "SOFT" 50;
}

/* ---------- /kurv/ page ---------- */
.bk-cart-page { margin-top: var(--bk-space-6); }
.bk-cart-page__progress {
	background: var(--bk-cinnamon-50);
	border: 1px solid var(--bk-cinnamon-100);
	border-radius: var(--bk-radius);
	padding: var(--bk-space-4);
	margin-bottom: var(--bk-space-6);
}
.bk-cart-page__progress p { margin: 0 0 0.55rem; display: flex; gap: 0.5rem; align-items: center; }
.bk-cart-page__progress strong { color: var(--bk-cinnamon); font-weight: 700; }
.bk-cart-page__bar {
	height: 6px;
	background: rgba(26, 20, 16, 0.08);
	border-radius: 3px;
	overflow: hidden;
}
.bk-cart-page__bar > span {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--bk-cinnamon), var(--bk-saffron));
}

.bk-cart-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--bk-space-6);
	background: #fff;
	border-radius: var(--bk-radius);
	overflow: hidden;
	box-shadow: var(--bk-shadow-xs);
}
.bk-cart-table th, .bk-cart-table td {
	text-align: left;
	padding: var(--bk-space-4);
	vertical-align: middle;
	border-bottom: 1px solid var(--bk-stone-300);
}
.bk-cart-table thead th {
	font-size: 0.78rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--bk-stone-500);
	background: var(--bk-cream-100);
	border-bottom: 1px solid var(--bk-stone-300);
}
.bk-cart-table .product-thumbnail img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: var(--bk-radius-sm);
	background: var(--bk-cream-100);
}
.bk-cart-table .product-name a {
	color: var(--bk-espresso);
	font-family: var(--bk-font-display);
	font-weight: 500;
	font-size: 1.05rem;
	letter-spacing: -0.01em;
}
.bk-cart-table .product-name a:hover { color: var(--bk-cinnamon); }
.bk-cart-table .product-remove a {
	color: var(--bk-stone-500);
	display: inline-flex;
	padding: 0.45rem;
	border-radius: var(--bk-radius-sm);
}
.bk-cart-table .product-remove a:hover { color: var(--bk-danger); background: rgba(179, 32, 39, 0.08); }
.bk-cart-table .actions {
	background: var(--bk-cream-100);
	display: flex;
	flex-wrap: wrap;
	gap: var(--bk-space-3);
	align-items: center;
}
.bk-coupon { display: inline-flex; align-items: center; gap: var(--bk-space-2); flex-wrap: wrap; padding-top: var(--bk-space-3); }
.bk-coupon input { max-width: 240px; min-height: 44px; padding: 0.6rem 0.9rem; }

/* Collapsible coupon — åben på desktop, foldet på mobil. */
.bk-coupon-collapse {
	border: 1px solid rgba(31, 26, 20, 0.08);
	border-radius: var(--bk-radius-sm);
	background: #fff;
	padding: 0 var(--bk-space-4);
	margin-right: var(--bk-space-2);
}
.bk-coupon-collapse__summary {
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--bk-space-3);
	padding: 0.85rem 0;
	min-height: 44px;
	font-weight: 600;
	font-size: 0.92rem;
	color: var(--bk-stone-700);
	-webkit-tap-highlight-color: transparent;
}
.bk-coupon-collapse__summary::-webkit-details-marker { display: none; }
.bk-coupon-collapse__summary:hover { color: var(--bk-cinnamon); }
.bk-coupon-collapse__chevron {
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	background-image:
		linear-gradient(currentColor, currentColor),
		linear-gradient(currentColor, currentColor);
	background-size: 100% 1.5px, 1.5px 100%;
	background-position: center, center;
	background-repeat: no-repeat;
	color: var(--bk-stone-500);
	transition: transform .25s ease;
}
.bk-coupon-collapse[open] > .bk-coupon-collapse__summary .bk-coupon-collapse__chevron { transform: rotate(45deg); }
.bk-coupon-collapse[open] { padding-bottom: var(--bk-space-3); }
@media (min-width: 768px) {
	/* På desktop er coupon altid åben — gør summary mindre prominent. */
	.bk-coupon-collapse > .bk-coupon-collapse__summary { cursor: default; }
	.bk-coupon-collapse__chevron { display: none; }
}
@media (prefers-reduced-motion: reduce) {
	.bk-coupon-collapse__chevron { transition: none; }
}

.bk-cart-collaterals {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-6);
	margin-bottom: var(--bk-space-12);
}
@media (min-width: 900px) { .bk-cart-collaterals { grid-template-columns: 1fr 1fr; } }

.bk-cart-totals {
	background: #fff;
	border: 1px solid var(--bk-stone-300);
	border-radius: var(--bk-radius);
	padding: var(--bk-space-6);
	box-shadow: var(--bk-shadow-xs);
}
.bk-cart-totals h2 {
	font-size: var(--bk-fs-700);
	margin-bottom: var(--bk-space-4);
	font-family: var(--bk-font-display);
	font-weight: 500;
	letter-spacing: -0.02em;
}
.bk-cart-totals__table { width: 100%; border-collapse: collapse; margin-bottom: var(--bk-space-4); }
.bk-cart-totals__table th, .bk-cart-totals__table td {
	padding: 0.7rem 0;
	border-bottom: 1px solid var(--bk-stone-300);
	text-align: left;
}
.bk-cart-totals__table td { text-align: right; font-weight: 600; }
.bk-cart-totals__table tr.order-total th, .bk-cart-totals__table tr.order-total td {
	font-size: 1.1rem;
	font-family: var(--bk-font-display);
	font-weight: 500;
	border-bottom: 0;
	padding-top: var(--bk-space-4);
	color: var(--bk-cinnamon);
}
.bk-cart-totals .checkout-button { width: 100%; }
.bk-cart-totals__small {
	font-size: 0.78rem;
	color: var(--bk-stone-500);
	margin-top: var(--bk-space-3);
	margin-bottom: 0;
	text-align: center;
}

.bk-cart-empty {
	text-align: center;
	padding: var(--bk-space-16) var(--bk-space-4);
	max-width: 520px;
	margin: 0 auto;
}
.bk-cart-empty .bk-cart-empty__icon {
	width: 72px;
	height: 72px;
	color: var(--bk-stone-400);
	margin: 0 auto var(--bk-space-5);
}
.bk-cart-empty h2 {
	font-size: var(--bk-fs-800);
	font-style: italic;
	font-weight: 400;
	font-variation-settings: "opsz" 144, "SOFT" 80;
}

/* ---------- Mobile cart table responsive ---------- */
@media (max-width: 767.98px) {
	.bk-cart-table thead { display: none; }
	.bk-cart-table tbody tr.woocommerce-cart-form__cart-item {
		display: grid;
		grid-template-columns: 88px 1fr auto;
		grid-template-rows: auto auto auto;
		column-gap: var(--bk-space-3);
		row-gap: 0.35rem;
		padding: var(--bk-space-4);
		border-bottom: 1px solid var(--bk-stone-300);
	}
	.bk-cart-table tbody tr.woocommerce-cart-form__cart-item td { border-bottom: 0; padding: 0; }
	.bk-cart-table tbody td.product-thumbnail { grid-column: 1; grid-row: 1 / span 3; padding: 0; }
	.bk-cart-table tbody td.product-thumbnail img { width: 88px; height: 88px; }
	.bk-cart-table tbody td.product-name {
		grid-column: 2;
		grid-row: 1;
		font-size: 0.96rem;
		line-height: 1.3;
		padding-right: 1.5rem; /* room for remove button */
	}
	.bk-cart-table tbody td.product-price { display: none; } /* baked into subtotal on mobile */
	.bk-cart-table tbody td.product-quantity {
		grid-column: 2;
		grid-row: 2;
	}
	.bk-cart-table tbody td.product-subtotal {
		grid-column: 3;
		grid-row: 2;
		font-weight: 700;
		color: var(--bk-cinnamon);
		font-size: 1rem;
		justify-self: end;
		align-self: center;
	}
	.bk-cart-table tbody td.product-remove {
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
	}
	/* Actions-row som egen full-width footer */
	.bk-cart-table tbody tr:not(.woocommerce-cart-form__cart-item) {
		display: block;
	}
	.bk-cart-table tr td.actions {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: var(--bk-space-3);
		padding: var(--bk-space-4);
		background: var(--bk-cream-100);
	}
	.bk-cart-table tr td.actions .bk-coupon-collapse { margin-right: 0; }
	.bk-cart-table tr td.actions button[name="update_cart"] { width: 100%; }
}

/* =============================================================================
   Cart empty — recommendations, premium CTA layout.
   ============================================================================= */

.bk-cart-empty__cta {
	display: flex; flex-wrap: wrap; gap: var(--bk-space-3);
	justify-content: center;
	margin-top: var(--bk-space-5);
}

.bk-cart-empty-recs {
	max-width: 1100px;
	margin: var(--bk-space-12) auto 0;
	padding: 0 var(--bk-space-4);
}
.bk-cart-empty-recs__head {
	text-align: center;
	margin-bottom: var(--bk-space-6);
}
.bk-cart-empty-recs__head h3 {
	font-family: var(--bk-font-display);
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.1;
	color: var(--bk-espresso);
	margin: 0 0 8px;
}
.bk-cart-empty-recs__head p {
	font-size: 0.96rem;
	color: var(--bk-stone-700);
	margin: 0;
}
.bk-cart-empty-recs__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--bk-space-4);
}
@media (min-width: 600px) { .bk-cart-empty-recs__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .bk-cart-empty-recs__grid { grid-template-columns: repeat(4, 1fr); } }
.bk-cart-empty-recs__card {
	display: flex; flex-direction: column;
	border: 1px solid rgba(31, 26, 20, 0.08);
	border-radius: 14px;
	overflow: hidden;
	background: var(--bk-color-surface);
	text-decoration: none;
	color: inherit;
	transition: transform 240ms ease, box-shadow 240ms ease, border-color 240ms ease;
}
.bk-cart-empty-recs__card:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 40px -28px rgba(31, 26, 20, 0.3);
	border-color: rgba(31, 26, 20, 0.18);
	text-decoration: none;
	color: inherit;
}
.bk-cart-empty-recs__media {
	aspect-ratio: 1 / 1;
	background: var(--bk-cream-100);
	display: flex; align-items: center; justify-content: center;
	overflow: hidden;
}
.bk-cart-empty-recs__media img {
	width: 100%; height: 100%; object-fit: cover;
}
.bk-cart-empty-recs__media-fallback {
	font-family: var(--bk-font-display);
	font-size: 4rem;
	font-weight: 500;
	color: var(--bk-cinnamon);
	opacity: 0.4;
}
.bk-cart-empty-recs__body {
	display: flex; flex-direction: column; gap: 4px;
	padding: var(--bk-space-4);
}
.bk-cart-empty-recs__name {
	font-weight: 600;
	font-size: 0.96rem;
	color: var(--bk-espresso);
	line-height: 1.3;
}
.bk-cart-empty-recs__price {
	font-size: 0.92rem;
	color: var(--bk-cinnamon);
	font-weight: 700;
}
.bk-cart-empty-recs__price del { color: var(--bk-stone-500); margin-right: 6px; }

/* =============================================================================
   Cart drawer 1:1 match til billigkanel.dk live site.
   Header (cart-drawer.php) → scroll-area med freebar + items → fixed footer
   med totals + checkout-btn + marquee.
   ============================================================================= */

/* Drawer content fills full panel; mini-cart styrer eget layout */
.bk-cart-drawer__content {
	flex: 1;
	overflow: hidden;
	padding: 0;
	background: var(--bk-cream-50);
	display: flex;
	flex-direction: column;
}

.bk-mini-cart {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}

.bk-mini-cart__scroll {
	flex: 1 1 auto;
	overflow-y: auto;
	min-height: 0;
}

.bk-mini-cart__body {
	padding: var(--bk-space-5) var(--bk-space-6);
}

/* ---------- Free shipping bar ---------- */
.bk-freebar {
	background: #fff;
	border: 1px solid rgba(31, 26, 20, 0.06);
	border-radius: 12px;
	padding: var(--bk-space-4) var(--bk-space-5);
	margin-bottom: var(--bk-space-5);
}
.bk-freebar__text {
	font-size: 0.92rem;
	color: var(--bk-espresso);
	margin-bottom: var(--bk-space-3);
	line-height: 1.4;
}
.bk-freebar__bold { font-weight: 700; }
.bk-freebar__track {
	height: 6px;
	background: rgba(26, 20, 16, 0.08);
	border-radius: 3px;
	overflow: hidden;
	margin-bottom: 6px;
}
.bk-freebar__fill {
	height: 100%;
	background: linear-gradient(90deg, var(--bk-cinnamon), var(--bk-saffron));
	border-radius: 3px;
	transition: width 320ms cubic-bezier(.22,.61,.36,1);
}
.bk-freebar__values {
	display: flex; justify-content: space-between;
	font-size: 0.74rem;
	color: var(--bk-stone-500);
	font-variant-numeric: tabular-nums;
}

/* ---------- Items list (new flat structure) ---------- */
.bk-mini-cart__list-group { background: transparent; }
.bk-mini-cart__list { display: flex; flex-direction: column; gap: 0; }
.bk-mini-cart__list .bk-mini-cart__item {
	display: grid;
	grid-template-columns: 64px 1fr auto;
	gap: var(--bk-space-3);
	padding: var(--bk-space-4) 0;
	border-bottom: 1px solid rgba(31, 26, 20, 0.08);
	align-items: start;
	list-style: none;
	position: relative;
}
.bk-mini-cart__list .bk-mini-cart__item:first-child { padding-top: var(--bk-space-2); }
.bk-mini-cart__list .bk-mini-cart__item:last-child { border-bottom: 0; }
.bk-mini-cart__thumb img {
	width: 64px; height: 64px;
	object-fit: cover;
	border-radius: 8px;
	background: var(--bk-cream-100);
}
.bk-mini-cart__body-col {
	min-width: 0;
	display: flex; flex-direction: column; gap: 4px;
}
.bk-mini-cart__name {
	font-weight: 600;
	color: var(--bk-espresso);
	font-size: 0.94rem;
	line-height: 1.3;
	text-decoration: none;
	letter-spacing: -0.01em;
}
.bk-mini-cart__name:hover { color: var(--bk-cinnamon); text-decoration: none; }
.bk-mini-cart__meta { font-size: 0.78rem; color: var(--bk-stone-500); }
.bk-mini-cart__row {
	display: flex; justify-content: space-between; align-items: center;
	margin-top: 4px;
}
.bk-mini-cart__line-total {
	font-weight: 700;
	color: var(--bk-espresso);
	font-size: 0.94rem;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}
.bk-mini-cart__list .bk-mini-cart__remove {
	position: static;
	grid-column: 3;
	grid-row: 1;
	color: var(--bk-stone-500);
	background: transparent;
	border: 0;
	padding: 4px;
	display: inline-flex;
	border-radius: 6px;
	align-self: start;
	justify-self: end;
}
.bk-mini-cart__list .bk-mini-cart__remove:hover {
	color: var(--bk-danger);
	background: rgba(179, 32, 39, 0.08);
}
.bk-mini-cart__list .bk-mini-cart__remove svg { width: 14px; height: 14px; }

/* Inline empty state inside items list */
.bk-mini-cart__empty-line {
	margin: 0;
	padding: var(--bk-space-8) 0;
	text-align: center;
	color: var(--bk-stone-500);
	font-size: 0.94rem;
	font-style: normal;
}

/* ---------- Footer (always visible) ---------- */
.bk-mini-cart__footer {
	flex-shrink: 0;
	background: #fff;
	border-top: 1px solid rgba(31, 26, 20, 0.08);
	padding: var(--bk-space-5) var(--bk-space-6) var(--bk-space-4);
	display: flex; flex-direction: column; gap: 0;
}
.bk-mini-cart__totals {
	display: flex; flex-direction: column; gap: 0;
	margin-bottom: var(--bk-space-4);
}
.bk-mini-cart__total-row {
	display: flex; justify-content: space-between; align-items: baseline;
	margin-top: 4px;
	font-size: 0.86rem;
}
.bk-mini-cart__total-row:first-child { margin-top: 0; }
.bk-mini-cart__total-row--accent { color: var(--bk-cinnamon); }
.bk-mini-cart__total-row--accent .bk-mini-cart__total-label,
.bk-mini-cart__total-row--accent .bk-mini-cart__total-value {
	color: var(--bk-cinnamon);
	font-weight: 600;
}
.bk-mini-cart__total-row--grand {
	margin-top: var(--bk-space-3);
	padding-top: var(--bk-space-3);
	border-top: 1px solid rgba(31, 26, 20, 0.08);
}
.bk-mini-cart__total-row--grand .bk-mini-cart__total-label,
.bk-mini-cart__total-row--grand .bk-mini-cart__total-value {
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--bk-espresso);
}
.bk-mini-cart__total-label { color: var(--bk-espresso); }
.bk-mini-cart__total-value {
	font-weight: 600;
	color: var(--bk-espresso);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
.bk-mini-cart__total-value--soft { color: var(--bk-stone-500); font-weight: 500; }
.bk-mini-cart__total-value.is-line-through { text-decoration: line-through; color: var(--bk-stone-500); }
.bk-mini-cart__vat {
	font-size: 0.74rem;
	color: var(--bk-stone-500);
	margin: 4px 0 0;
	text-align: right;
}

/* Checkout CTA */
.bk-mini-cart__checkout {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 100%;
	min-height: 56px;
	padding: 0 var(--bk-space-5);
	background: var(--bk-cinnamon);
	color: #fff;
	font-size: 1.05rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-decoration: none;
	border-radius: 12px;
	margin-top: var(--bk-space-4);
	transition: background 200ms ease, transform 160ms ease, box-shadow 200ms ease;
}
.bk-mini-cart__checkout:hover {
	background: var(--bk-cinnamon-700);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 12px 28px -16px rgba(122, 49, 21, 0.6);
	text-decoration: none;
}
.bk-mini-cart__checkout.is-disabled {
	background: var(--bk-stone-300);
	color: rgba(255, 255, 255, 0.85);
	pointer-events: none;
	box-shadow: none;
	transform: none;
}

.bk-mini-cart__empty-msg {
	text-align: center;
	font-size: 0.86rem;
	color: var(--bk-stone-500);
	margin: var(--bk-space-3) 0 0;
}

/* "Fortsæt med at handle" sekundær tekst-link i drawer footer (mobile-friendly).
   Ser ud som tekst, men er stadig en klikbar <button>. */
.bk-mini-cart__continue {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	margin-top: var(--bk-space-3);
	padding: 0.45rem;
	font-family: inherit;
	font-size: 0.86rem;
	font-weight: 400;
	color: var(--bk-stone-500);
	background: none;
	border: 0;
	border-radius: 0;
	text-decoration: none;
	cursor: pointer;
	transition: color .12s;
	min-height: 44px;
	-webkit-appearance: none;
	appearance: none;
	-webkit-tap-highlight-color: transparent;
}
.bk-mini-cart__continue:hover {
	color: var(--bk-cinnamon);
	background: none;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.bk-mini-cart__continue:focus-visible {
	outline: 2px solid var(--bk-cinnamon);
	outline-offset: 2px;
}

/* ---------- Marquee (payment icons scrolling) ---------- */
.bk-mini-cart__marquee {
	margin-top: var(--bk-space-4);
	overflow: hidden;
	width: 100%;
	mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 40px, #000 calc(100% - 40px), transparent 100%);
}
@media (max-width: 479.98px) {
	/* Marquee tager plads fra checkout-CTA på små mobiler — skjul. */
	.bk-mini-cart__marquee { display: none; }
}
.bk-mini-cart__marquee-track {
	display: flex; gap: 8px;
	width: max-content;
	animation: bk-mini-marquee 28s linear infinite;
}
.bk-mini-cart__marquee-group {
	display: inline-flex; gap: 8px; align-items: center;
	padding-right: 8px;
}
.bk-mini-cart__marquee svg {
	flex-shrink: 0;
	display: block;
	opacity: 0.85;
}
@keyframes bk-mini-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.bk-mini-cart__marquee-track { animation: none; }
}

/* Override drawer panel max-width to be slightly wider — matches live site */
@media (min-width: 480px) {
	.bk-cart-drawer__panel { max-width: 480px; }
}


/* CRO additions (ecommerce-cro-auditor) */
/* Curated cross-sell (safety gear) in cart collaterals. */
.bk-crosssell { margin: var(--bk-space-8) 0 var(--bk-space-6); }
.bk-crosssell__head { margin-bottom: var(--bk-space-4); }
.bk-crosssell__title { font-size: var(--bk-fs-600); margin: 0 0 0.25rem; }
.bk-crosssell__sub { margin: 0; color: var(--bk-stone-500); font-size: 0.9rem; }
.bk-crosssell__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--bk-space-4);
}
@media (max-width: 640px) {
	.bk-crosssell__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bk-space-3); }
}
