/* kerstavontuur-2026 core bundle — auto-generated, do not edit */

/* --- variables.css --- */
/**
 * Design tokens — Kerstavontuur (kleuren afgeleid uit logo)
 */

:root {
	/* Basis: warm ivoor i.p.v. koel wit/blauwgrijs */
	--color-ivory: #ffffff;
	--color-ivory-alt: #f5f0e8;
	--color-cream: #faf6ef;
	--color-warm-white: #faf6ef;
	--color-border: #e8e2d6;

	/* Sectievlakken homepage (warm ivoor + blush; mint = zelfde warme basis) */
	--color-surface-mint: #faf6ef;
	--color-surface-blush: #fff5f2;
	--color-surface-cool: #faf6ef;
	--color-surface-neutral: #faf6ef;

	/* Tekst — warm bruin i.p.v. bijna-zwart / bosgroen */
	--color-ink: #4a3b33;
	--color-heading: #4a3b33;
	--color-text: #4a3b33;
	--color-muted: #7a6a58;

	/* Logo-kleuren */
	--color-red: #e23b33;
	--color-red-deep: #c42a26;
	--color-gold: #f2a81c;
	--color-gold-soft: #ffd27a;
	/* Interactie-accent (goud alleen nog op tricolor-lijn) */
	--color-accent: var(--color-red);
	--color-accent-hover: var(--color-red-deep);
	/* Merk-groen: alleen spaarzaam (logo / welkomstband) */
	--color-green: #2a6349;
	--color-green-deep: #1e5240;
	--color-green-bright: #327a5c;

	/* Voorheen bosgroen — nu warm bruin (past bij ivoor) */
	--color-forest: #4a3b33;
	--color-forest-light: #5c4a40;

	--color-link: var(--color-red);
	--color-link-hover: var(--color-red-deep);

	--color-header-bg: rgba(255, 255, 255, 0.94);
	--color-header-bg-scrolled: #ffffff;
	--header-nav-ease: cubic-bezier(0.19, 1, 0.22, 1);

	--font-heading: 'Plus Jakarta Sans', 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--font-body: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--font-display: var(--font-heading);

	--font-size-body: 1.125rem;
	--line-height-body: 1.8;
	--content-max: 1200px;
	/* Zelfde zijmarge voor header, content en footer → geen “bredere” header */
	--page-gutter: clamp(1rem, 4vw, 1.5rem);
	--radius-sm: 4px;
	--radius-md: 8px;
	--radius-lg: 12px;
	--shadow-soft: 0 8px 22px -14px rgba(40, 20, 10, 0.12);
	--shadow-page: 0 2px 16px rgba(27, 26, 24, 0.05);
	--transition: 0.2s ease;

	--info-accent-top: 3px solid rgba(226, 59, 51, 0.45);
	--info-accent-side: 4px solid rgba(226, 59, 51, 0.45);

	--header-sticky-offset: 5rem;
	--site-header-offset: 0px;
}


/* --- main.css --- */
/**
 * Base layout, typography, header/footer shell — mobile-first
 */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	max-width: 100%;
	/*
	 * Hash/TOC-links: browser scrollt anders met kopregel onder de fixed header.
	 * main.js zet --header-sticky-offset = onderkant header t.o.v. viewport (px).
	 */
	scroll-padding-top: calc(var(--header-sticky-offset, 5rem) + 12px);
}

body {
	margin: 0;
	max-width: 100%;
	/* Geen overflow-x hier: kan position:fixed (header) in sommige engines breken; horizontaal afvangen op html */
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.75;
	color: var(--color-text);
	background-color: var(--color-ivory);
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

a {
	color: var(--color-forest);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color var(--transition), text-decoration-color var(--transition);
}

a:hover,
a:focus-visible {
	color: var(--color-gold);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--font-heading);
	font-weight: 700;
	font-style: normal;
	line-height: 1.15;
	color: var(--color-forest);
}

h1 {
	font-size: clamp(28px, 4vw, 48px);
}

h2 {
	font-size: clamp(22px, 3vw, 36px);
}

h3 {
	font-size: clamp(18px, 2.5vw, 26px);
}

p {
	margin: 0 0 1rem;
}

/* Sans accenten — geen serif italic meer */
.text-accent,
.article-meta__date,
.article-intro,
blockquote {
	font-family: var(--font-body);
	font-weight: 500;
	font-style: normal;
	color: var(--color-muted);
}

/* UI: DM Sans */
nav,
.cat-tag,
.article-meta,
.sidebar-label,
.btn,
.nav-primary a,
.primary-menu a {
	font-family: var(--font-body);
}

/* Header hoofdmenu: geen underline op hover/focus (overschrijft globale link-stijl + UA-defaults) */
.site-header .main-navigation a,
.site-header .main-navigation a:hover,
.site-header .main-navigation a:focus,
.site-header .main-navigation a:focus-visible,
.site-header .main-navigation a:active {
	text-decoration: none !important;
	text-decoration-line: none !important;
	text-underline-offset: 0 !important;
	text-decoration-thickness: 0 !important;
	-webkit-text-decoration: none !important;
}

/* Artikelbody */
.article-content,
.entry-content {
	font-family: var(--font-body);
	font-size: 17px;
	line-height: 1.8;
	color: var(--color-text);
}

.article-content p,
.entry-content p {
	margin-bottom: 1.4rem;
}

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	word-wrap: normal !important;
}

.skip-link:focus {
	clip: auto !important;
	clip-path: none;
	height: auto;
	width: auto;
	left: 8px;
	top: 8px;
	z-index: 100000;
	padding: 12px 16px;
	background: var(--color-forest);
	color: var(--color-warm-white);
	text-decoration: none;
	border-radius: var(--radius-sm);
}

/* Geen min-height: 100vh — voorkomt soms rare tussenlayout bij laden (flex + vaste header). */
.site {
	width: 100%;
	max-width: 100%;
	overflow-x: hidden;
	display: flex;
	flex-direction: column;
	/* Alleen bij echt fixed header vult JS --site-header-offset (anders 0: geen dubbele marge) */
	padding-top: var(--site-header-offset, 0px);
}

/* —— Header (licht + frosted, redactioneel-modern) —— */
.site-header {
	position: fixed !important;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 9998;
	color: var(--color-forest);
	background: var(--color-header-bg);
	border-bottom: 1px solid rgba(232, 224, 212, 0.75);
	box-shadow: 0 1px 0 rgba(30, 58, 47, 0.05);
}

/* WordPress admin bar: header onder de toolbar */
body.admin-bar .site-header {
	top: 32px !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar .site-header {
		top: 46px !important;
	}
}

.site-header::before {
	content: "";
	display: block;
	height: 2px;
	background: linear-gradient(
		90deg,
		rgba(201, 149, 58, 0.85) 0%,
		rgba(201, 149, 58, 0.35) 35%,
		rgba(201, 149, 58, 0.06) 72%,
		transparent 100%
	);
	pointer-events: none;
	opacity: 1;
}

.site-header__inner {
	width: 100%;
	max-width: var(--content-max);
	margin: 0 auto;
	padding: 0.65rem var(--page-gutter);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 1rem;
	min-height: 0;
	box-sizing: border-box;
}

.site-header__start {
	flex: 0 1 auto;
	min-width: auto;
	display: flex;
	align-items: center;
}

.site-header__logo--custom {
	flex: 0 0 auto;
	flex-shrink: 0;
	width: auto;
	max-width: none;
}

.site-header__logo--custom .custom-logo-link {
	display: block;
	line-height: 0;
	flex-shrink: 0;
}

.site-header__logo--custom .custom-logo {
	display: block;
	flex-shrink: 0;
	width: clamp(4.5rem, 16vmin, 5.75rem);
	height: auto;
	max-width: none;
	max-height: none;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	object-position: left center;
}

.site-header__logo--bundled .custom-logo {
	width: clamp(4.5rem, 16vmin, 5.75rem);
	height: auto;
	max-width: none;
	max-height: none;
	aspect-ratio: 1 / 1;
	object-fit: contain;
}

.site-header .site-logo-text {
	font-family: var(--font-display);
	font-size: clamp(1.55rem, 3.6vw, 2.05rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--color-forest);
	text-decoration: none;
}

.site-header .site-logo-text__accent {
	color: var(--color-gold);
}

.site-header__nav {
	flex: 1 0 100%;
	order: 3;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	min-width: 0;
}

.site-header__end {
	flex: 0 0 auto;
	order: 2;
	margin-left: auto;
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0;
	background: transparent;
	border: none;
	box-shadow: none;
}

.site-header__search-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(30, 58, 47, 0.1);
	border-radius: 10px;
	background: var(--color-warm-white);
	color: var(--color-forest);
	cursor: pointer;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
	transition:
		background 0.25s var(--header-nav-ease),
		color 0.25s var(--header-nav-ease),
		border-color 0.25s var(--header-nav-ease),
		box-shadow 0.25s var(--header-nav-ease);
}

.site-header__search-toggle:hover {
	color: var(--color-gold);
	background: rgba(201, 149, 58, 0.08);
	border-color: rgba(201, 149, 58, 0.35);
	box-shadow: none;
}

.site-header__search-toggle:focus-visible {
	outline: 2px solid var(--color-gold);
	outline-offset: 2px;
}

/* Instagram (Customizer URL) — zelfde “pill” als zoekknop */
.site-social-instagram--header {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid rgba(30, 58, 47, 0.1);
	border-radius: 10px;
	background: var(--color-warm-white);
	color: var(--color-forest);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
	text-decoration: none;
	transition:
		background 0.25s var(--header-nav-ease),
		color 0.25s var(--header-nav-ease),
		border-color 0.25s var(--header-nav-ease),
		box-shadow 0.25s var(--header-nav-ease);
}

.site-social-instagram--header:hover {
	color: var(--color-gold);
	background: rgba(201, 149, 58, 0.08);
	border-color: rgba(201, 149, 58, 0.35);
	box-shadow: none;
}

.site-social-instagram--header:focus-visible {
	outline: 2px solid var(--color-gold);
	outline-offset: 2px;
}

.site-social-instagram__icon {
	display: inline-flex;
	line-height: 0;
}

.site-header__search-panel {
	display: none;
	width: 100%;
	padding: 0;
	background: var(--color-header-bg-scrolled);
	border-top: 1px solid rgba(232, 224, 212, 0.8);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

.site-header__search-panel.is-open {
	display: block;
}

.site-header__search-inner {
	width: 100%;
	max-width: var(--content-max);
	margin: 0 auto;
	padding: 0.85rem var(--page-gutter) 1rem;
	box-sizing: border-box;
}

.site-header__search-panel .search-form {
	display: flex;
	gap: 0.5rem;
	align-items: stretch;
	width: 100%;
}

.site-header__search-panel .search-form__input,
.site-header__search-panel input[type="search"],
.site-header__search-panel input[type="text"] {
	flex: 1;
	min-width: 0;
	padding: 0.75rem 1rem;
	border: 1px solid var(--color-border);
	border-radius: 10px;
	font-family: var(--font-body);
	font-size: 1rem;
	background: var(--color-warm-white);
	color: var(--color-text);
	box-shadow: 0 1px 3px rgba(30, 58, 47, 0.05);
}

.site-header__search-panel .search-form__input:focus-visible,
.site-header__search-panel input:focus-visible {
	outline: 2px solid var(--color-gold);
	outline-offset: 1px;
}

.site-header__search-panel .search-form__submit,
.site-header__search-panel button[type="submit"],
.site-header__search-panel input[type="submit"] {
	padding: 0.65rem 1.25rem;
	background: var(--color-gold);
	color: var(--color-forest);
	border: none;
	border-radius: 10px;
	font-weight: 600;
	font-size: 0.95rem;
	cursor: pointer;
	white-space: nowrap;
	transition: filter 0.25s var(--header-nav-ease), box-shadow 0.25s var(--header-nav-ease);
	box-shadow: 0 2px 8px rgba(201, 149, 58, 0.28);
}

.site-header__search-panel .search-form__submit:hover,
.site-header__search-panel button[type="submit"]:hover {
	filter: brightness(1.05);
	box-shadow: 0 4px 14px rgba(201, 149, 58, 0.35);
}

/* Primary nav */
.menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid rgba(30, 58, 47, 0.1);
	border-radius: 10px;
	background: var(--color-warm-white);
	color: var(--color-forest);
	cursor: pointer;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
	transition:
		background 0.25s var(--header-nav-ease),
		color 0.25s var(--header-nav-ease),
		border-color 0.25s var(--header-nav-ease),
		box-shadow 0.25s var(--header-nav-ease);
}

.menu-toggle:hover {
	color: var(--color-gold);
	background: rgba(201, 149, 58, 0.08);
	border-color: rgba(201, 149, 58, 0.35);
	box-shadow: none;
}

.menu-toggle:focus-visible {
	outline: 2px solid var(--color-gold);
	outline-offset: 2px;
}

.menu-toggle__bar {
	display: block;
	width: 20px;
	height: 2px;
	background: currentColor;
	margin: 0 auto;
	border-radius: 1px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

body.nav-open .menu-toggle .menu-toggle__bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

body.nav-open .menu-toggle .menu-toggle__bar:nth-child(2) {
	opacity: 0;
}

body.nav-open .menu-toggle .menu-toggle__bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.main-navigation.site-header__nav {
	min-width: 0;
}

.primary-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	row-gap: 0.35rem;
	column-gap: 0.15rem;
}

.primary-menu > .menu-item {
	position: relative;
}

/* Desktop: geen verticale streepjes — lucht + pill-links */
@media (min-width: 1024px) {
	.primary-menu {
		column-gap: 0.15rem;
	}

	.primary-menu > .menu-item + .menu-item {
		margin-left: 0;
		padding-left: 0;
		border-left: none;
	}
}

.primary-menu > .menu-item > a {
	display: inline-block;
	color: var(--color-forest);
	text-decoration: none !important;
	text-decoration-line: none !important;
	-webkit-text-decoration: none !important;
	font-size: clamp(0.85rem, 1.1vw, 0.95rem);
	font-weight: 600;
	letter-spacing: 0.01em;
	padding: 0.55rem 1rem;
	border-radius: 4px;
	border: 1px solid transparent;
	background: transparent;
	box-shadow: none;
	filter: none;
	-webkit-tap-highlight-color: transparent;
	transition:
		color 0.25s var(--header-nav-ease),
		background 0.25s var(--header-nav-ease),
		border-color 0.25s var(--header-nav-ease);
}

.primary-menu > .menu-item > a:hover {
	color: var(--color-forest);
	background: rgba(30, 58, 47, 0.05);
	border-color: rgba(30, 58, 47, 0.08);
	box-shadow: none;
	text-decoration: none !important;
	text-decoration-line: none !important;
	-webkit-text-decoration: none !important;
}

.primary-menu > .menu-item > a:focus {
	outline: none;
	box-shadow: none;
	text-decoration: none !important;
}

.primary-menu > .menu-item > a:focus-visible {
	color: var(--color-forest);
	background: rgba(30, 58, 47, 0.05);
	border-color: rgba(201, 149, 58, 0.45);
	box-shadow: none;
	outline: 2px solid var(--color-gold);
	outline-offset: 2px;
	text-decoration: none !important;
	text-decoration-line: none !important;
	-webkit-text-decoration: none !important;
}

.primary-menu > .menu-item.current-menu-item > a,
.primary-menu > .menu-item.current-menu-ancestor > a,
.primary-menu > .menu-item.current_page_item > a {
	color: var(--color-forest);
	background: rgba(201, 149, 58, 0.14);
	border-color: rgba(201, 149, 58, 0.35);
	box-shadow: none;
	text-decoration: none !important;
	text-decoration-line: none !important;
	-webkit-text-decoration: none !important;
}

.primary-menu .sub-menu a {
	color: var(--color-forest);
	padding: 0.5rem 1rem;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	text-decoration: none !important;
	text-decoration-line: none !important;
	-webkit-text-decoration: none !important;
}

.main-navigation .sub-menu {
	list-style: none;
	margin: 0.35rem 0 0;
	padding: 0.45rem 0;
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 210;
	background: #ffffff;
	min-width: 228px;
	border-radius: 12px;
	box-shadow:
		0 14px 36px -10px rgba(15, 14, 13, 0.14),
		0 4px 14px -4px rgba(15, 14, 13, 0.08);
	border: 1px solid var(--color-border);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition:
		opacity 0.28s var(--header-nav-ease),
		visibility 0.28s var(--header-nav-ease),
		transform 0.35s var(--header-nav-ease);
}

.main-navigation .menu-item:hover > .sub-menu,
.main-navigation .menu-item:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.main-navigation .sub-menu .menu-item {
	position: relative;
}

.main-navigation .sub-menu a {
	display: block;
	padding: 0.5rem 1rem;
	font-size: 0.88rem;
	border-bottom: none;
}

.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu a:focus-visible {
	background: rgba(226, 59, 51, 0.06);
	color: var(--color-red);
	text-decoration: none !important;
	text-decoration-line: none !important;
	-webkit-text-decoration: none !important;
}

@media (min-width: 1024px) {
	.site-header__inner {
		flex-wrap: nowrap;
		padding: 0.75rem var(--page-gutter);
		min-height: 0;
	}

	.site-header__logo--custom .custom-logo {
		width: 7rem;
	}

	.site-header__logo--bundled .custom-logo {
		width: 7rem;
		height: auto;
		max-width: none;
		max-height: none;
	}

	.site-header__start {
		flex: 0 0 auto;
		order: 0;
	}

	/* Logo | gecentreerd menu | acties — geen overflow: hidden/auto hier of op .primary-menu:
	   dat knipt position:absolute submenus af (dropdowns). */
	.site-header__nav {
		flex: 1 1 auto;
		order: 0;
		flex-basis: auto;
		min-width: 0;
		justify-content: center;
		overflow: visible;
		padding-inline: 0.25rem;
	}

	.primary-menu {
		flex-wrap: nowrap;
		row-gap: 0;
		flex: 0 1 auto;
		justify-content: center;
		margin-inline: auto;
		max-width: 100%;
		overflow: visible;
	}

	.primary-menu > .menu-item > a {
		white-space: nowrap;
	}

	.site-header__end {
		order: 0;
		margin-left: 0;
		flex-shrink: 0;
	}

	/* Accordion-knoppen alleen mobiel — op desktop gewone dropdowns */
	.submenu-toggle {
		display: none !important;
	}
}

/* Compactere pills op small laptop (minder horizontaal scrollen) */
@media (min-width: 1024px) and (max-width: 1399px) {
	.primary-menu > .menu-item > a {
		padding: 0.5rem 0.75rem;
		font-size: clamp(0.8rem, 0.5vw + 0.52rem, 0.9rem);
	}
}

@media (max-width: 1023px) {
	body.nav-open {
		overflow: hidden;
		touch-action: none;
	}

	.menu-toggle {
		display: flex;
	}

	.site-header__nav {
		display: none;
		padding: 0.25rem 0 0.75rem;
		border-top: 1px solid var(--color-border);
		margin-top: 0.35rem;
	}

	.site-header__nav.is-open {
		display: block;
		background: var(--color-ivory);
		border: 1px solid rgba(232, 224, 212, 0.95);
		border-radius: var(--radius-lg);
		margin-top: 0.5rem;
		padding: 0.5rem 0.65rem 0.75rem;
		box-shadow: var(--shadow-soft);
		max-height: min(78vh, 520px);
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
	}

	.primary-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		justify-content: flex-start;
	}

	.primary-menu > .menu-item + .menu-item {
		margin-left: 0;
		padding-left: 0;
		border-left: none;
	}

	/* Eén zachte scheiding tussen top-level items (incl. uitgeklapt submenu) */
	.primary-menu > .menu-item:not(:last-child) {
		padding-bottom: 0.35rem;
		margin-bottom: 0.35rem;
		border-bottom: 1px solid rgba(232, 224, 212, 0.85);
	}

	.primary-menu > .menu-item > a {
		padding: 0.85rem 0.5rem 0.85rem 0.6rem;
		border-radius: 0;
		border: none;
	}

	.primary-menu > .menu-item:not(.menu-item-has-children) > a {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}

	/* Actieve pagina: volle rij, geen “pill” alleen achter tekst */
	.primary-menu > .menu-item.current-menu-item > a,
	.primary-menu > .menu-item.current-menu-ancestor > a,
	.primary-menu > .menu-item.current_page_item > a {
		background: transparent;
		border-color: transparent;
		box-shadow: none;
	}

	.primary-menu > .menu-item.current-menu-item,
	.primary-menu > .menu-item.current-menu-ancestor,
	.primary-menu > .menu-item.current_page_item {
		background: rgba(201, 149, 58, 0.12);
		border-radius: var(--radius-md);
		padding: 0.15rem 0.2rem;
		margin-left: -0.1rem;
		margin-right: -0.1rem;
	}

	.primary-menu > .menu-item.current-menu-ancestor > .submenu-toggle {
		background: transparent;
	}

	/* Accordion: eerste rij = link + chevron (geen raster / geen verticale scheidingslijn) */
	.primary-menu > .menu-item-has-children {
		display: flex;
		flex-wrap: wrap;
		align-items: stretch;
	}

	.primary-menu > .menu-item-has-children > a {
		flex: 1 1 auto;
		min-width: 0;
		align-self: center;
		padding-right: 0.35rem;
	}

	.submenu-toggle {
		flex: 0 0 2.75rem;
		width: 2.75rem;
		min-height: 2.75rem;
		margin: 0.2rem 0.15rem 0.2rem 0;
		padding: 0;
		border: none;
		border-radius: 999px;
		background: rgba(30, 58, 47, 0.06);
		color: var(--color-forest);
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		align-self: center;
		-webkit-tap-highlight-color: transparent;
		transition:
			background 0.2s ease,
			transform 0.2s ease;
	}

	.submenu-toggle:hover {
		background: rgba(30, 58, 47, 0.1);
	}

	.submenu-toggle:focus-visible {
		outline: 2px solid var(--color-gold);
		outline-offset: 2px;
	}

	.primary-menu > .menu-item-has-children.is-submenu-open > .submenu-toggle {
		background: rgba(30, 58, 47, 0.1);
	}

	.submenu-toggle::after {
		content: "";
		display: block;
		width: 0.45rem;
		height: 0.45rem;
		margin-top: -0.15rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(45deg);
		transition: transform 0.28s var(--header-nav-ease);
	}

	.primary-menu > .menu-item-has-children.is-submenu-open > .submenu-toggle::after {
		transform: rotate(225deg);
		margin-top: 0.12rem;
	}

	/* Ingeklapt submenu: licht nest, geen donkere desktop-dropdown */
	.primary-menu > .menu-item-has-children > .sub-menu {
		position: static;
		flex: 1 0 100%;
		width: 100%;
		max-height: 0;
		overflow: hidden;
		opacity: 0;
		visibility: hidden;
		transform: none;
		box-shadow: none;
		border: none;
		background: var(--color-ivory-alt);
		border-radius: var(--radius-md);
		border-left: 3px solid rgba(226, 59, 51, 0.35);
		margin: 0.2rem 0 0 0.35rem;
		padding: 0;
		transition:
			max-height 0.38s var(--header-nav-ease),
			opacity 0.24s ease,
			padding 0.24s ease,
			visibility 0.24s ease;
	}

	.primary-menu > .menu-item-has-children.is-submenu-open > .sub-menu {
		max-height: min(70vh, 1000px);
		opacity: 1;
		visibility: visible;
		padding: 0.4rem 0;
		margin-bottom: 0.15rem;
	}

	.main-navigation .sub-menu a {
		padding: 0.55rem 0.85rem 0.55rem 1rem;
		color: var(--color-forest);
		font-size: 0.9rem;
		border-radius: 0;
	}

	.main-navigation .sub-menu a:hover,
	.main-navigation .sub-menu a:focus-visible {
		background: rgba(226, 59, 51, 0.06);
		color: var(--color-red);
		text-decoration: none !important;
		text-decoration-line: none !important;
		-webkit-text-decoration: none !important;
	}

	/* Touch: geen “plakkende” :hover (iOS) */
	.primary-menu > .menu-item > a {
		-webkit-tap-highlight-color: transparent;
		touch-action: manipulation;
	}

	.primary-menu > .menu-item:not(.current-menu-item):not(.current-menu-ancestor):not(.current_page_item) > a:hover {
		background: transparent;
		border-color: transparent;
		color: var(--color-forest);
	}

	.main-navigation .sub-menu a:hover {
		background: transparent;
		color: var(--color-forest);
	}

	.main-navigation .sub-menu a:active {
		background: rgba(30, 58, 47, 0.08);
	}
}

/* —— Footer —— */
.site-footer {
	position: relative;
	margin-top: auto;
	color: #4a3b33;
	background-color: #faf6ef;
	background-image: none;
	border-top: none;
	box-shadow: none;
}

.site-footer::before {
	content: "";
	display: block;
	height: 4px;
	background: #e23b33;
	opacity: 1;
}

.site-footer__grid {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 2rem);
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	column-gap: clamp(1.35rem, 2.8vw, 2rem);
	row-gap: clamp(1.75rem, 3vw, 2.25rem);
}

.site-footer__col {
	min-width: 0;
}

.site-footer__col--about {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.5rem;
}

/* Logo + tagline altijd onder het label (en eventueel onder about-tekst) */
.site-footer__brand-mark {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.35rem;
	width: 100%;
}

.site-footer__col-label {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	max-width: 100%;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-weight: 700;
	color: #c42f27;
	margin: 0 0 0.85rem;
	opacity: 1;
	line-height: 1.35;
	overflow-wrap: break-word;
	word-break: break-word;
	hyphens: auto;
}

.site-footer__about {
	font-size: 0.92rem;
	line-height: 1.65;
	color: #4a3b33;
	hyphens: auto;
	-webkit-hyphens: auto;
	word-break: normal;
	overflow-wrap: break-word;
}

.site-footer__about p {
	margin: 0 0 0.75rem;
}

.site-footer__about p:last-child {
	margin-bottom: 0;
}

.site-footer a {
	color: #4a3b33;
	text-decoration: none;
	transition: color var(--transition), opacity var(--transition);
}

.site-footer a:hover {
	color: #c42f27;
}

.site-footer a:focus-visible {
	outline: 2px solid #c42f27;
	outline-offset: 3px;
	border-radius: 2px;
}

.footer-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-menu li {
	margin: 0 0 0.45rem;
	padding: 0;
	line-height: 0;
}

.footer-menu li:last-child {
	margin-bottom: 0;
}

/* Zelfde ritme in Pagina's / Categorieën / Dit seizoen */
.footer-menu a {
	display: block;
	color: #4a3b33;
	text-decoration: none;
	font-size: 0.92rem;
	line-height: 1.45;
	padding: 0;
	margin: 0;
	word-break: normal;
	overflow-wrap: break-word;
}

.footer-menu a:hover {
	color: #c42f27;
}

/* Lange seizoenstitels: max 2 regels, zelfde line-height als overige footerlinks */
.footer-menu--footer-posts a {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	line-height: 1.45;
	overflow-wrap: break-word;
	word-break: break-word;
}

.site-footer .site-footer__brand-mark .site-footer__logo {
	margin: 0;
}

.site-footer .site-footer__logo a.custom-logo-link {
	display: inline-block;
	line-height: 0;
	border-radius: var(--radius-sm);
}

.site-footer .site-footer__logo a.custom-logo-link:focus-visible {
	outline: 2px solid #c42f27;
	outline-offset: 4px;
}

.site-footer__logo--custom .custom-logo {
	display: block;
	height: auto;
	width: auto;
	max-height: clamp(88px, 12vw, 120px);
	max-width: min(100%, 320px);
	object-fit: contain;
	object-position: left center;
}

.site-footer__logo--bundled .custom-logo {
	max-height: clamp(100px, 14vw, 140px);
	max-width: clamp(100px, 14vw, 140px);
	width: auto;
	height: auto;
	object-fit: contain;
	object-position: left center;
	filter: none;
}

.site-footer .site-logo-text {
	font-family: var(--font-heading);
	font-size: clamp(1.65rem, 3.6vw, 2.15rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #4a3b33;
	text-decoration: none;
	line-height: 1.15;
}

.site-footer .site-logo-text__accent {
	color: #c42f27;
}

.site-footer__tagline {
	font-size: 0.92rem;
	color: #4a3b33;
	margin: 0.35rem 0 0;
	line-height: 1.55;
	max-width: none;
	width: 100%;
	hyphens: none;
	-webkit-hyphens: none;
	word-break: keep-all;
	overflow-wrap: normal;
}

.site-footer__legal {
	padding: 1.35rem clamp(1.25rem, 4vw, 2rem) 2rem;
	text-align: center;
	font-size: 0.8rem;
	color: #7a6a58;
	background: #f2ece0;
	border-top: 1px solid rgba(74, 59, 51, 0.1);
}

.site-footer__copyright {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 0.35rem 0.5rem;
	row-gap: 0.35rem;
}

.site-footer__copyright-sep {
	color: #7a6a58;
	font-weight: 400;
	user-select: none;
}

.site-footer__copyright-part {
	display: inline-block;
}

.site-footer__affiliate {
	margin: 0.4rem 0 0;
	font-size: 0.65rem;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0.01em;
	color: #a89886;
	opacity: 0.85;
}

.site-footer__legal-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 1rem;
	row-gap: 0.5rem;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(74, 59, 51, 0.12);
}

.site-footer__legal-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 1rem;
	row-gap: 0.5rem;
	font-size: 0.78rem;
	line-height: 1.4;
}

.site-footer__legal-menu li {
	margin: 0;
	display: inline-flex;
	align-items: center;
}

/* Scheidingstekens tussen juridische links */
.site-footer__legal-menu li + li::before {
	content: "";
	flex-shrink: 0;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #7a6a58;
	margin-right: 0.55rem;
}

.site-footer__legal-inline {
	display: inline-flex;
	align-items: center;
}

/* Bolletje na menu, voor eerste link (Instagram of Mediakit) */
.site-footer__legal-nav > ul.site-footer__legal-menu + .site-footer__legal-inline::before {
	content: "";
	flex-shrink: 0;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #7a6a58;
	margin-right: 0.55rem;
}

/* Bolletje tussen Instagram en Mediakit (of tussen twee inline juridische links) */
.site-footer__legal-nav > .site-footer__legal-inline + .site-footer__legal-inline::before {
	content: "";
	flex-shrink: 0;
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: #7a6a58;
	margin-right: 0.55rem;
}

.site-social-instagram--footer {
	display: inline-flex;
	align-items: center;
	gap: 0;
	font-size: 0.78rem;
	line-height: 1.4;
	color: #7a6a58;
	text-decoration: none;
	transition: color var(--transition), opacity var(--transition);
}

.site-social-instagram--footer:hover,
.site-social-instagram--footer:focus-visible {
	color: #c42f27;
}

.site-footer__legal-menu a,
.site-footer__legal-nav a.site-footer__legal-inline {
	font-size: 0.78rem;
	line-height: 1.4;
	color: #7a6a58;
	text-decoration: none;
	transition: color var(--transition), opacity var(--transition);
}

.site-footer__legal-menu a:hover,
.site-footer__legal-menu a:focus-visible,
.site-footer__legal-nav a.site-footer__legal-inline:hover,
.site-footer__legal-nav a.site-footer__legal-inline:focus-visible {
	color: #c42f27;
}

/* Hoofdinhoud: vult scherm onder header */
.site-main {
	flex: 1;
	width: 100%;
	min-width: 0;
	/* Voorkomt dat flex-items soms een enorme minimale hoogte krijgen (lege “gat” onder de header) */
	min-height: 0;
	padding-top: 0;
}

body.kerstavontuur-front .site-main--front {
	padding-top: 0;
}

/* Standaard pagina’s: #page.site heeft --site-header-offset; extra lucht zoals bij single zodat broodkruimels niet tegen de balk plakken */
body.page .site-main--page {
	background: linear-gradient(
		180deg,
		var(--color-ivory-alt) 0%,
		var(--color-ivory) min(32vh, 380px),
		var(--color-ivory) 100%
	);
	padding-top: clamp(0.5rem, 1.4vw, 1rem);
	padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

/*
 * Kerstmarkten-plugin: zelfde schil als .page, maar body class is o.a. post-type-archive-ka_kerstmarkt
 * of single-ka_kerstmarkt — zonder dit blijft padding-top: 0 en plakken broodkruimels tegen de vaste header.
 */
body.post-type-archive-ka_kerstmarkt .site-main--page,
body.single-ka_kerstmarkt .site-main--page,
body.tax-ka_provincie .site-main--page,
body.tax-ka_markt_type .site-main--page {
	background: linear-gradient(
		180deg,
		var(--color-ivory-alt) 0%,
		var(--color-ivory) min(32vh, 380px),
		var(--color-ivory) 100%
	);
	/* Iets royaaler dan .page: CPT gebruikt dezelfde broodkruimels maar had geen body.page-marge. */
	padding-top: clamp(0.75rem, 1.8vw, 1.35rem);
	padding-bottom: clamp(2rem, 5vw, 3.5rem);
}

/*
 * Single / archief: egale ivoor-pagina (kaarten blijven wit).
 */
body.single .site-main--single {
	background: #faf6ef;
	padding-top: clamp(0.5rem, 1.4vw, 1rem);
	padding-bottom: 0;
}

body.archive .site-main--archive,
body.search .site-main--search,
body.blog .site-main--archive {
	background: #faf6ef;
	padding-bottom: 0;
}

/* Generic container */
.container {
	max-width: var(--content-max);
	margin: 0 auto;
	padding-left: var(--page-gutter);
	padding-right: var(--page-gutter);
	box-sizing: border-box;
}


/* --- components.css --- */
/**
 * Components — BEM (editorial homepage + archives + single)
 */

/* Homepage: tagline (volle breedte onder header, los van .home-lead) */
.editorial-tagline {
	width: 100%;
	max-width: none;
	margin: 0;
	box-sizing: border-box;
	background: var(--color-forest);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: 0.85rem clamp(1rem, 4vw, 2rem);
	text-align: center;
}

.editorial-tagline__text {
	margin: 0 auto;
	max-width: min(100%, var(--content-max));
	font-family: var(--font-body);
	font-size: clamp(11px, 1.65vw, 13px);
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-warm-white);
}

/* =============================================
   EDITORIAL OPENER — featured + recent (witte kaart, ~60/40, geen datums)
   ============================================= */

/* Homepage: opener + uitgelicht als één kolom; zachte overgang i.p.v. losse rand */
.home-lead {
	max-width: var(--content-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(1rem, 4vw, 1.5rem);
	padding-right: clamp(1rem, 4vw, 1.5rem);
}

.home-lead .editorial-opener {
	border-bottom: none;
	padding: clamp(1.5rem, 4vw, 2.75rem) 0 clamp(1.25rem, 3vw, 2rem);
}

/* Voorpagina: uitgelicht grid eerst, daarna categorie-ingangen (beide buiten .home-lead) */
.site-main--front > .featured-grid {
	max-width: var(--content-max);
	margin-left: auto;
	margin-right: auto;
	margin-top: 0;
	padding-top: clamp(1.75rem, 3.5vw, 2.75rem);
	padding-bottom: clamp(2.25rem, 5vw, 3.25rem);
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	border-top: 1px solid rgba(74, 59, 51, 0.1);
}

.site-main--front > .category-entrances {
	max-width: var(--content-max);
	margin-left: auto;
	margin-right: auto;
	padding: clamp(1.25rem, 3vw, 2rem) clamp(1rem, 4vw, 1.5rem) clamp(1rem, 2.5vw, 1.5rem);
	border-top: 1px solid rgba(74, 59, 51, 0.1);
}

.site-main--front > .featured-grid .featured-grid__head {
	border-left: 3px solid #c42f27;
	padding-left: 0.85rem;
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

.editorial-opener {
	padding: clamp(1.25rem, 3vw, 2rem) clamp(1rem, 4vw, 1.5rem) clamp(2rem, 4vw, 2.75rem);
	border-bottom: 1px solid #e8e2d9;
	background: transparent;
}

.editorial-opener__shell {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

/* Één kaart: wit, rand, hoeken; twee kolommen 60% / 40% */
.editorial-opener__grid {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	gap: 0;
	align-items: stretch;
	margin: 0;
	padding: 0;
	background: #ffffff;
	border: 1px solid #e8e2d9;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
}

/* Homepage refresh: uitgelicht artikel — goudaccent op de kaart, sterkere kop */
.home-lead .editorial-opener__grid {
	border: 1px solid rgba(201, 149, 58, 0.42);
	box-shadow:
		0 12px 40px rgba(30, 58, 47, 0.08),
		0 0 0 1px rgba(201, 149, 58, 0.12) inset,
		0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

.home-lead .editorial-opener__title {
	font-size: clamp(1.75rem, 2.85vw, 2.35rem);
	line-height: 1.14;
	letter-spacing: -0.02em;
}

/* Linkerkolom: kolom is wit; opbouw = beeld → (padding) badge/lijn → titel | excerpt | lees meer */
.editorial-opener__main {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-width: 0;
	min-height: 0;
	padding: 0 32px 32px;
	background: #ffffff;
}

.editorial-opener__main-link {
	text-decoration: none;
	display: block;
	color: inherit;
	flex-shrink: 0;
}

.editorial-opener__figure {
	position: relative;
	overflow: hidden;
	margin: 0 -32px 0;
	width: calc(100% + 64px);
	max-width: none;
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border-radius: 12px 0 0 0;
}

.editorial-opener__img {
	width: 100%;
	height: min(52vw, 320px);
	min-height: 260px;
	object-fit: cover;
	object-position: center;
	display: block;
	flex-shrink: 0;
	transition: transform 0.45s cubic-bezier(0.19, 1, 0.22, 1);
}

.editorial-opener__main-link:hover .editorial-opener__img {
	transform: scale(1.02);
}

.editorial-opener__img--placeholder {
	min-height: 260px;
	height: min(52vw, 320px);
	background: #f0ece6;
}

/* Categorie-chip onder de foto */
.editorial-opener__pill {
	position: static;
	align-self: flex-start;
	margin: 26px 32px 0;
	padding: 0.45rem 0.75rem 0.45rem 0.6rem;
	border-radius: 4px;
	pointer-events: none;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 0.45rem;
	font-family: var(--font-body);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #4a3b33;
	background: #ffffff;
	border: 1px solid rgba(74, 59, 51, 0.14);
	box-shadow: none;
}

.editorial-opener__pill::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	flex-shrink: 0;
	background: radial-gradient(circle at 30% 30%, #e8d4a8, #b8924a);
	box-shadow: 0 0 0 2px rgba(201, 149, 58, 0.22);
}

.editorial-opener__pill::after {
	content: none;
	display: none;
}

.editorial-opener__title {
	font-family: var(--font-display), Georgia, serif;
	font-weight: 600;
	font-size: clamp(1.65rem, 2.6vw, 2.125rem);
	line-height: 1.18;
	color: #4a3b33;
	margin: 20px 0 0;
	transition: color 0.2s;
}

.editorial-opener__main-link:hover .editorial-opener__title {
	color: #142a22;
}

.editorial-opener__excerpt {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.65;
	color: var(--color-text);
	margin: 16px 0 0;
	max-width: 42rem;
	/* Geen line-clamp: lengte wordt per woord in PHP begrensd */
}

.editorial-opener__read {
	margin-top: 22px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 500;
	color: #4a3b33;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	gap: 0.35rem;
	padding: 10px 18px;
	border-radius: 4px;
	background: #f5f0e8;
	border: 1px solid rgba(74, 59, 51, 0.14);
	box-shadow: none;
	transition:
		background 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease,
		transform 0.2s ease;
}

.editorial-opener__read:hover,
.editorial-opener__read:focus-visible {
	color: #ffffff;
	background: #c8a96e;
	border-color: #c8a96e;
	box-shadow: 0 4px 14px rgba(200, 169, 110, 0.35);
	transform: translateY(-1px);
}

.editorial-opener__read::after {
	display: none;
}

/* Rechterkolom: compacte lijst (duimnail + badge + titel), fonts gelijk aan rest van thema */
.editorial-opener__rail {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
	min-height: 0;
	background: #faf8f5;
	border-left: 1px solid #e8e2d9;
	padding: 0;
}

.editorial-opener__rail-head {
	padding: 1.25rem 1.35rem 0.85rem;
	border-bottom: 1px solid #e8e2d9;
	flex-shrink: 0;
}

.editorial-opener__rail-heading {
	margin: 0;
}

.editorial-opener__rail-list {
	display: flex;
	flex-direction: column;
	flex: 0 1 auto;
	min-width: 0;
	min-height: 0;
}

.editorial-opener__rail-item {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 0.875rem;
	padding: 1rem 1.35rem;
	border-bottom: 1px solid rgba(232, 224, 212, 0.95);
	text-decoration: none;
	color: inherit;
	transition: background 0.2s ease;
}

.editorial-opener__rail-item:hover {
	background: rgba(30, 58, 47, 0.04);
}

.editorial-opener__rail-item:hover .editorial-opener__rail-title,
.editorial-opener__rail-item:focus-visible .editorial-opener__rail-title {
	color: var(--color-red);
}

.editorial-opener__rail-thumb {
	width: 72px;
	height: 72px;
	border-radius: var(--radius-sm);
	overflow: hidden;
	flex-shrink: 0;
	background: var(--color-ivory-alt);
}

.editorial-opener__rail-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.editorial-opener__rail-thumb-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 72px;
	background: var(--color-ivory-alt);
}

.editorial-opener__rail-body {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	min-width: 0;
	flex: 1;
}

.editorial-opener__rail-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: flex-start;
	gap: 0.35rem 0.45rem;
}

/* Categorielabel: warm ivoor i.p.v. koel mint/groen */
.editorial-opener__rail-cat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-body);
	font-size: 0.625rem;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: #4a3b33;
	background: #faf6ef;
	border: 1px solid rgba(74, 59, 51, 0.12);
	padding: calc(0.24rem - 1px) 0.5rem;
	border-radius: 4px;
}

/* Publicatiedatum in de rail — zelfde chip-taal als kaart-datums */
.editorial-opener__rail-date {
	display: inline-flex;
	align-items: center;
	font-family: var(--font-body);
	font-size: 0.5625rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.02em;
	color: rgba(74, 59, 51, 0.72);
	background: rgba(74, 59, 51, 0.05);
	border: 1px solid rgba(74, 59, 51, 0.12);
	border-radius: 4px;
	padding: 0.14rem 0.4rem;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.editorial-opener__rail-title {
	font-family: var(--font-display), Georgia, serif;
	font-weight: 600;
	font-size: clamp(0.9375rem, 1.6vw, 1.0625rem);
	line-height: 1.35;
	color: var(--color-forest);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	transition: color 0.2s ease;
	word-break: break-word;
}

.editorial-opener__rail-all {
	font-family: var(--font-body);
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-gold);
	text-decoration: none;
	padding: 1rem 1.35rem;
	display: block;
	margin-top: auto;
	flex-shrink: 0;
	transition: color 0.2s ease, background 0.2s ease;
}

.editorial-opener__rail-all:hover,
.editorial-opener__rail-all:focus-visible {
	color: #a8894a;
	background: rgba(200, 169, 110, 0.08);
}

@media (max-width: 1023px) {
	.editorial-opener__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.editorial-opener__figure {
		border-radius: 12px 12px 0 0;
	}

	.editorial-opener__rail {
		border-left: none;
		border-top: 1px solid #e8e2d9;
		min-width: 0;
	}
}

@media (max-width: 768px) {
	.editorial-opener__main {
		padding: 0 20px 26px;
	}

	.editorial-opener__figure {
		margin-left: -20px;
		margin-right: -20px;
		width: calc(100% + 40px);
	}

	.editorial-opener__pill {
		margin: 22px 20px 0;
	}

	.editorial-opener__title {
		font-size: clamp(1.4rem, 5.2vw, 2rem);
	}

	.editorial-opener__img,
	.editorial-opener__img--placeholder {
		min-height: 220px;
		height: min(48vw, 280px);
	}

	.editorial-opener__rail-thumb {
		width: 64px;
		height: 64px;
	}

	.editorial-opener__rail-thumb-placeholder {
		min-height: 64px;
	}
}

/* —— Hero fullwidth (legacy / optioneel) —— */
.editorial-hero {
	position: relative;
	min-height: min(72vh, 640px);
	display: flex;
	align-items: flex-end;
	color: var(--color-warm-white);
}

.editorial-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.editorial-hero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.editorial-hero__placeholder {
	position: absolute;
	inset: 0;
	background: linear-gradient(145deg, var(--color-forest) 0%, var(--color-forest-light) 100%);
}

.editorial-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: rgba(30, 58, 47, 0.5);
}

.editorial-hero__inner {
	position: relative;
	z-index: 2;
	max-width: var(--content-max);
	width: 100%;
	margin: 0 auto;
	padding: clamp(2.5rem, 6vw, 4rem) clamp(1rem, 4vw, 1.5rem);
}

.editorial-hero__title {
	font-family: var(--font-display);
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	font-weight: 600;
	margin: 0 0 1rem;
	line-height: 1.1;
	color: var(--color-warm-white);
}

.editorial-hero__title em {
	font-style: italic;
	font-weight: 600;
	color: var(--color-gold);
}

.editorial-hero__lead {
	font-family: var(--font-body);
	font-size: clamp(1rem, 2vw, 1.2rem);
	max-width: 36rem;
	margin: 0 0 1.75rem;
	opacity: 0.95;
	line-height: 1.65;
}

.editorial-hero__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.85rem 1.5rem;
	font-family: var(--font-body);
	font-size: 0.95rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: var(--radius-sm);
	border: 2px solid transparent;
	cursor: pointer;
	transition: background var(--transition), color var(--transition), border-color var(--transition);
}

.btn--gold {
	background: var(--color-gold);
	color: var(--color-forest);
	border-color: var(--color-gold);
}

.btn--gold:hover {
	background: #ddb24d;
	color: var(--color-forest);
}

.btn--outline-light {
	background: transparent;
	color: var(--color-warm-white);
	border-color: rgba(255, 255, 255, 0.85);
}

.btn--outline-light:hover {
	border-color: var(--color-gold);
	color: var(--color-gold);
}

/* —— Category rail —— */
.cat-rail-wrap {
	position: relative;
	z-index: 50;
}

.cat-rail {
	background: var(--color-ivory);
	border-bottom: 1px solid var(--color-border);
}

.cat-rail--sticky {
	position: sticky;
	top: var(--header-sticky-offset);
	z-index: 150;
	box-shadow: 0 2px 12px rgba(30, 58, 47, 0.06);
}

.cat-rail__track {
	display: flex;
	gap: 0.75rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding: 1rem clamp(1rem, 4vw, 1.5rem);
	max-width: var(--content-max);
	margin: 0 auto;
}

.cat-rail__track::-webkit-scrollbar {
	height: 4px;
}

.cat-card {
	flex: 0 0 auto;
	scroll-snap-align: start;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.65rem 1rem;
	background: #ffffff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	text-decoration: none;
	color: var(--color-heading);
	font-size: 0.85rem;
	font-weight: 600;
	transition:
		background var(--transition),
		color var(--transition),
		border-color var(--transition),
		box-shadow var(--transition);
}

.cat-card:hover {
	background: rgba(226, 59, 51, 0.05);
	color: var(--color-red);
	border-color: rgba(226, 59, 51, 0.35);
	box-shadow: 0 2px 10px rgba(226, 59, 51, 0.08);
}

.cat-card__icon {
	width: 28px;
	height: 28px;
	flex-shrink: 0;
	opacity: 0.9;
}

/* Category archive: subcategorieën / menu-children als kaarten */
.category-subcards {
	margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
	padding: 0;
}

.category-subcards__title {
	font-family: var(--font-display), Georgia, serif;
	font-size: clamp(1.15rem, 2.5vw, 1.35rem);
	font-weight: 600;
	color: var(--color-heading);
	margin: 0 0 1rem;
	line-height: 1.25;
}

.category-subcards__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(158px, 1fr));
	gap: 0.75rem;
}

.category-subcards__grid .category-subcards__card.cat-card {
	flex: none;
	width: 100%;
	min-width: 0;
	scroll-snap-align: unset;
	justify-content: flex-start;
	align-items: center;
	gap: 0.65rem;
	padding: 0.75rem 1rem;
}

.category-subcards__card-title {
	min-width: 0;
	overflow-wrap: anywhere;
	line-height: 1.3;
}

/* —— Featured grid (homepage) — één typografie- + CTA-systeem —— */
.featured-grid {
	padding: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 4vw, 1.5rem);
	max-width: var(--content-max);
	margin: 0 auto;
}

.featured-grid__head {
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
}

/* Label: caps-kicker, merkrood (zelfde taal als footer-kolomkoppen) */
.featured-grid__label {
	font-family: var(--font-body);
	font-style: normal;
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #c42f27;
	margin: 0 0 0.5rem;
}

.featured-grid__title {
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 600;
	margin: 0;
	line-height: 1.15;
	color: var(--color-forest);
}

.featured-grid__layout {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 1fr;
}

.featured-grid__layout > * {
	min-width: 0;
}

.featured-grid__side {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
}

.featured-grid__side .article-card:nth-last-child(1):nth-child(odd):not(:only-child) {
	grid-column: 1 / -1;
}

/* Categorie + titels: warme labels; hover titel = rood */
.featured-grid .article-card__cat {
	font-family: var(--font-body);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.28rem 0.55rem;
	background: #faf6ef;
	color: #4a3b33;
	border: 1px solid rgba(74, 59, 51, 0.12);
	border-radius: 3px;
}

.featured-grid .article-card__tag--year {
	font-size: 0.625rem;
	padding: calc(0.35rem - 1px) 0.45rem;
}

.featured-grid .article-card__tag--topic {
	font-size: 0.625rem;
	padding: calc(0.32rem - 1px) 0.48rem;
}

.featured-grid .article-card__title {
	font-family: var(--font-display);
	font-weight: 600;
	color: var(--color-forest);
}

.featured-grid .article-card__link:hover .article-card__title {
	color: #c42f27;
}

/* Grote kaart (links) */
.featured-grid__layout > .article-card--featured {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 0;
}

.featured-grid__layout > .article-card--featured .article-card__link {
	flex: 1;
	min-height: 0;
	border-radius: var(--radius-lg);
	background: #ffffff;
	box-shadow: 0 2px 16px rgba(20, 19, 18, 0.06);
}

.featured-grid__layout > .article-card--featured .article-card__link:hover {
	box-shadow: 0 8px 28px rgba(20, 19, 18, 0.09);
	transform: translateY(-2px);
}

.featured-grid__layout > .article-card--featured .article-card__media {
	aspect-ratio: 16 / 9;
}

.featured-grid__layout > .article-card--featured .article-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	padding: 1.25rem 1.35rem 1.2rem;
}

.featured-grid__layout > .article-card--featured .article-card__title {
	font-size: clamp(1.5rem, 4vw, 2rem);
	line-height: 1.22;
	margin-bottom: 0.65rem;
}

@media (min-width: 768px) {
	.featured-grid__layout > .article-card--featured .article-card__title {
		font-size: 2rem;
	}
}

.featured-grid__layout > .article-card--featured .article-card__excerpt {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--color-text);
	margin-bottom: 0 !important;
	max-width: 42em;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Kleine kaarten */
.featured-grid__side .article-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: var(--radius-md);
	transition: box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}

.featured-grid__side .article-card__link:hover {
	transform: translateY(-2px);
}

.featured-grid__side .article-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	padding: 0.9rem 1rem 1rem;
}

.featured-grid__side .article-card__title {
	font-size: 1.05rem;
	line-height: 1.28;
	margin-bottom: 0.4rem;
}

.featured-grid__side .article-card__excerpt {
	font-size: 0.875rem;
	line-height: 1.45;
	margin-bottom: 0 !important;
	color: var(--color-text);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.featured-grid__side .article-card {
	height: auto;
}

/* Footer meta-rij: datum + Lees meer (zie style.css voor uitlijning) */

/* —— Article card —— */
.article-card {
	height: 100%;
}

.article-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
	background: #ffffff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: var(--shadow-soft);
	transition: box-shadow var(--transition), transform var(--transition);
}

.article-card__link:hover {
	box-shadow: 0 8px 32px rgba(30, 58, 47, 0.12);
	transform: translateY(-2px);
}

.article-card__link:hover .article-card__title {
	color: var(--color-gold);
}

.article-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--color-ivory-alt);
}

.article-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.article-card__body {
	padding: 1rem 1.15rem 1.25rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.article-card__badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-self: flex-start;
	gap: 0.3rem 0.4rem;
	margin-bottom: 0.45rem;
	max-width: 100%;
}

.article-card__badges .article-card__cat,
.article-card__badges .article-card__tag--year,
.article-card__badges .article-card__tag--topic,
.article-card__badges .article-card__tag--collab {
	margin-top: 0;
	margin-bottom: 0;
}

.article-card__cat {
	display: inline-flex;
	align-items: center;
	font-size: 0.625rem;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #4a3b33;
	background: #faf6ef;
	border: 1px solid rgba(74, 59, 51, 0.12);
	padding: 0.28rem 0.55rem;
	border-radius: 3px;
	margin-bottom: 0;
	text-decoration: none;
	box-shadow: none;
	transition:
		color var(--transition),
		border-color var(--transition),
		background var(--transition);
}

/* Jaartag — zelfde chip-taal als categorie (geen goud, geen pill) */
.article-card__tag--year {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	font-family: var(--font-body);
	font-size: 0.625rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.06em;
	color: #4a3b33;
	background: #ffffff;
	border: 1px solid rgba(74, 59, 51, 0.12);
	padding: 0.28rem 0.5rem;
	border-radius: 4px;
	line-height: 1;
	flex-shrink: 0;
	box-shadow: none;
}

/* Post-tags (bijv. “recept”) — zelfde chip-taal als jaartag; op single ook als link */
.article-card__tag--topic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	font-family: var(--font-body);
	font-size: 0.625rem;
	font-weight: 700;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: var(--color-forest);
	background: linear-gradient(
		180deg,
		rgba(255, 252, 247, 0.98) 0%,
		rgba(232, 224, 212, 0.55) 100%
	);
	border: 1px solid rgba(30, 58, 47, 0.12);
	padding: calc(0.26rem - 1px) 0.5rem;
	border-radius: 4px;
	line-height: 1.15;
	flex-shrink: 0;
	max-width: 100%;
	box-shadow: none;
	text-decoration: none;
}

a.article-card__tag--topic:hover {
	color: var(--color-gold);
	border-color: rgba(201, 149, 58, 0.45);
}

a.article-card__tag--topic:focus-visible {
	outline: 2px solid var(--color-gold);
	outline-offset: 2px;
}

/* Samenwerking — kleiner/secundair t.o.v. categorie, geen gouden “sticker” */
.article-card__tag--collab {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	font-family: var(--font-body);
	font-size: 0.5625rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #7a6a58;
	background: #ffffff;
	border: 1px solid rgba(74, 59, 51, 0.14);
	padding: 0.18rem 0.4rem;
	border-radius: 3px;
	line-height: 1;
	flex-shrink: 0;
	max-width: 100%;
	text-align: center;
	box-shadow: none;
}

.article-card__title {
	font-family: var(--font-heading);
	font-size: 1.2rem;
	font-weight: 600;
	margin: 0 0 0.4rem;
	line-height: 1.28;
	color: var(--color-heading);
	transition: color var(--transition);
}

/* Kaarttitels gelijk houden in grids (niet de grote homepage-uitlichting) */
.article-card:not(.article-card--featured) .article-card__title {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	word-break: normal;
	overflow-wrap: break-word;
	hyphens: auto;
}

.article-card__excerpt {
	font-size: 0.875rem;
	color: var(--color-text);
	margin: 0 0 0.65rem;
	line-height: 1.5;
}

.article-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.35rem 0.5rem;
	margin-top: auto;
	min-height: 2.25rem; /* voldoende rij voor ::after “Lees meer” als er geen datum-chip is (cadeaus) */
}

.article-card__meta-badge {
	display: inline-block;
	font-family: var(--font-body);
	font-size: 0.6875rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0.03em;
	color: var(--color-forest);
	background: rgba(30, 58, 47, 0.05);
	border: 1px solid rgba(30, 58, 47, 0.12);
	border-radius: 4px;
	padding: 0.2rem 0.45rem;
}

.article-card__meta-badge--date {
	display: inline-block;
	color: var(--color-muted);
	font-weight: 500;
	font-size: 0.75rem;
	background: none;
	border: none;
	border-radius: 0;
	padding: 0;
	white-space: nowrap;
	flex-shrink: 0;
}

.article-card--horizontal .article-card__link {
	flex-direction: row;
	align-items: stretch;
}

.article-card--horizontal .article-card__media {
	width: 120px;
	min-width: 120px;
	aspect-ratio: 1;
}

.article-card--horizontal .article-card__body {
	padding: 0.75rem 1rem;
}

/* —— Trend strip —— */
.trend-strip {
	padding: clamp(2rem, 4vw, 3rem) 0;
	background: var(--color-ivory-alt);
	background-image: none;
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}

/* Zelfde effen band als .trend-strip (geen gradient) — o.a. recepten-spotlight */
.section-showcase.section-showcase--strip {
	max-width: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding: clamp(2rem, 4vw, 3rem) 0;
	background: var(--color-ivory-alt);
	background-image: none;
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
}

.section-showcase.section-showcase--strip .section-showcase__inner {
	max-width: var(--content-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(1rem, 4vw, 1.5rem);
	padding-right: clamp(1rem, 4vw, 1.5rem);
}

.trend-strip__inner {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: 0 clamp(1rem, 4vw, 1.5rem);
}

.trend-strip__label {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #c42f27;
	margin: 0 0 1rem;
}

.trend-strip__grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
}

/* —— Section showcase —— */
.section-showcase {
	padding: clamp(2.5rem, 5vw, 3.5rem) clamp(1rem, 4vw, 1.5rem);
	max-width: var(--content-max);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.section-showcase--alt {
	background: var(--color-ivory-alt);
}

.section-showcase__inner {
	width: 100%;
	margin: 0 auto;
}

.section-showcase__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.5rem;
}

.section-showcase__links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem 1.75rem;
}

.section-showcase__title-wrap {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.section-showcase__icon {
	width: 36px;
	height: 36px;
	color: var(--color-forest);
}

.section-showcase__title {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	margin: 0;
}

.section-showcase__all {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--color-forest);
	text-decoration: none;
	border-bottom: 2px solid var(--color-red);
	padding-bottom: 2px;
}

.section-showcase__all:hover {
	color: var(--color-red-deep);
}

.section-showcase__grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 1fr;
}

.section-showcase__head--with-intro {
	align-items: flex-start;
}

.section-showcase__head-text {
	flex: 1;
	min-width: min(100%, 36rem);
}

.section-showcase__intro {
	margin: 0.65rem 0 0;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--color-muted);
	max-width: 38rem;
}

.section-showcase__grid--recepten .article-card__media {
	aspect-ratio: 4 / 3;
}

.section-showcase__grid--recepten .article-card__media img {
	object-fit: cover;
}

.section-showcase__grid--cadeaus .article-card__media {
	aspect-ratio: 4 / 3;
}

.section-showcase__grid--cadeaus .article-card__media img {
	object-fit: cover;
}

/* Cadeaus (homepage): eigen ivoren band + vlakkere “shop”-kaarten t.o.v. Uitgelicht */
.section-showcase.section-showcase--cadeaus,
.section-showcase.section-showcase--cadeaus-reviews {
	max-width: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding: clamp(2.5rem, 5.5vw, 4rem) 0;
	background: var(--color-ivory-alt);
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
	box-sizing: border-box;
}

.section-showcase.section-showcase--cadeaus .section-showcase__inner,
.section-showcase.section-showcase--cadeaus-reviews .section-showcase__inner {
	max-width: var(--content-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(1rem, 4vw, 1.5rem);
	padding-right: clamp(1rem, 4vw, 1.5rem);
}

.section-showcase.section-showcase--cadeaus .section-showcase__title-wrap,
.section-showcase.section-showcase--cadeaus-reviews .section-showcase__title-wrap {
	padding-left: 0.75rem;
	border-left: 3px solid var(--color-red);
}

.section-showcase--cadeaus .section-showcase__grid .article-card__link,
.section-showcase--cadeaus-reviews .section-showcase__grid .article-card__link {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(30, 58, 47, 0.11);
	box-shadow: 0 1px 3px rgba(30, 58, 47, 0.05);
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.section-showcase--cadeaus .section-showcase__grid .article-card__link:hover,
.section-showcase--cadeaus-reviews .section-showcase__grid .article-card__link:hover {
	transform: translateY(-2px);
	border-color: rgba(30, 58, 47, 0.2);
	box-shadow: 0 10px 32px rgba(30, 58, 47, 0.1);
}

.section-showcase__empty-wrap {
	padding: 0.25rem 0 0.5rem;
}

.section-showcase__empty {
	margin: 0 0 1rem;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--color-muted);
	max-width: 40rem;
}

.section-showcase__empty-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--color-forest);
	text-decoration: none;
	border-bottom: 2px solid var(--color-red);
	padding-bottom: 2px;
}

.section-showcase__empty-cta:hover {
	color: var(--color-red-deep);
}

/* —— Long read row —— */
.long-read-row {
	padding: clamp(2rem, 4vw, 3rem) clamp(1rem, 4vw, 1.5rem);
	max-width: var(--content-max);
	margin: 0 auto;
}

.long-read-row__list {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.long-read-card {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1rem;
	background: var(--color-warm-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	overflow: hidden;
	box-shadow: var(--shadow-soft);
}

.long-read-card__media {
	min-height: 200px;
	background: var(--color-ivory-alt);
}

.long-read-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	min-height: 200px;
}

.long-read-card__body {
	padding: 1.25rem 1.5rem 1.5rem;
}

.long-read-card__title {
	font-family: var(--font-display);
	font-size: 1.65rem;
	margin: 0 0 0.5rem;
}

.long-read-card__title a {
	color: var(--color-forest);
	text-decoration: none;
}

.long-read-card__title a:hover {
	color: var(--color-gold);
}

/* Long read: cadeaus + reviews (twee kolommen) */
.long-read-row--gifts-reviews {
	border-top: 1px solid var(--color-border);
	border-bottom: 1px solid var(--color-border);
	background: var(--color-ivory-alt);
	background-image: none;
}

.long-read-row__intro {
	max-width: 42rem;
	margin-bottom: clamp(1.25rem, 3vw, 1.75rem);
}

.long-read-row__section-title {
	font-family: var(--font-display);
	font-size: clamp(1.5rem, 2.5vw, 1.85rem);
	margin: 0 0 0.5rem;
	color: var(--color-forest);
	line-height: 1.2;
}

.long-read-row__section-lead {
	margin: 0;
	font-size: 1rem;
	color: var(--color-muted);
	line-height: 1.5;
}

.long-read-row__duo {
	display: grid;
	gap: clamp(1.75rem, 4vw, 2.5rem);
	grid-template-columns: 1fr;
}

.long-read-row__duo--single {
	max-width: 720px;
}

.long-read-row__col-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 1rem;
	margin-bottom: 1rem;
	padding-bottom: 0.65rem;
	border-bottom: 2px solid var(--color-border);
}

.long-read-row__col-title {
	font-family: var(--font-body);
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin: 0;
	color: var(--color-forest);
}

.long-read-row__col-more {
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--color-gold);
	text-decoration: none;
	white-space: nowrap;
}

.long-read-row__col-more:hover,
.long-read-row__col-more:focus-visible {
	text-decoration: underline;
}

.long-read-card--review .long-read-card__meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	margin-bottom: 0.45rem;
}

.long-read-card__merk {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-muted);
}

.long-read-card__stars {
	font-size: 0.95rem;
	line-height: 1;
	color: var(--color-gold);
}

/* —— Newsletter —— */
.newsletter-cta {
	position: relative;
	overflow: hidden;
	color: var(--color-warm-white);
	padding: clamp(2.75rem, 6vw, 4.25rem) clamp(1.25rem, 4vw, 2rem);
	background-color: var(--color-green-deep);
	background-image: linear-gradient(145deg, #1e5240 0%, #256b4f 48%, #2a6349 100%);
	border-top: 3px solid transparent;
	border-bottom: none;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.newsletter-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 12% 22%, rgba(242, 168, 28, 0.14) 0%, transparent 34%),
		radial-gradient(circle at 88% 78%, rgba(242, 168, 28, 0.1) 0%, transparent 36%),
		radial-gradient(circle at 70% 18%, rgba(255, 255, 255, 0.05) 0%, transparent 28%);
	pointer-events: none;
}

.newsletter-cta::after {
	content: "";
	position: absolute;
	left: 10%;
	right: 10%;
	top: 0;
	height: 3px;
	background: linear-gradient(90deg, transparent 0%, var(--color-gold) 20%, var(--color-gold) 80%, transparent 100%);
	pointer-events: none;
}

.newsletter-cta__star {
	position: absolute;
	color: var(--color-gold);
	opacity: 0.4;
	font-size: 0.75rem;
	pointer-events: none;
	z-index: 1;
	animation: newsletterTwinkle 3.2s ease-in-out infinite;
}

.newsletter-cta__star--1 { top: 18%; left: 6%; }
.newsletter-cta__star--2 { top: 28%; right: 8%; animation-delay: 0.7s; font-size: 0.9rem; }
.newsletter-cta__star--3 { bottom: 22%; left: 12%; animation-delay: 1.3s; }
.newsletter-cta__star--4 { bottom: 30%; right: 14%; animation-delay: 1.9s; font-size: 0.65rem; }

@keyframes newsletterTwinkle {
	0%, 100% { opacity: 0.28; transform: scale(1); }
	50% { opacity: 0.7; transform: scale(1.15); }
}

.newsletter-cta__inner {
	position: relative;
	z-index: 2;
	max-width: 980px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr);
	gap: clamp(1.5rem, 4vw, 3rem);
	align-items: center;
}

.newsletter-cta__copy {
	text-align: left;
}

.newsletter-cta__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	margin: 0 0 0.9rem;
	color: var(--color-gold-soft);
	font-family: var(--font-body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.newsletter-cta__icon {
	display: inline-flex;
	color: var(--color-gold);
}

.newsletter-cta__icon svg {
	display: block;
}

.newsletter-cta__title {
	font-family: var(--font-display);
	font-size: clamp(1.7rem, 3.4vw, 2.35rem);
	font-weight: 600;
	font-style: normal;
	line-height: 1.2;
	margin: 0 0 0.75rem;
	color: #ffffff;
	letter-spacing: -0.02em;
}

.newsletter-cta__lead {
	font-size: 1.05rem;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.88);
	opacity: 1;
	margin: 0;
	max-width: 32rem;
}

.newsletter-cta__action {
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: var(--radius-md);
	padding: clamp(1.15rem, 2.5vw, 1.5rem);
	backdrop-filter: blur(6px);
}

.newsletter-cta__note {
	margin: 0.85rem 0 0;
	font-size: 0.78rem;
	color: rgba(255, 255, 255, 0.7);
	text-align: center;
}

.newsletter-cta__form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	justify-content: stretch;
}

.newsletter-cta__form input[type="email"] {
	flex: 1 1 180px;
	min-width: 0;
	padding: 0.95rem 1.05rem;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: var(--radius-sm);
	background: rgba(255, 255, 255, 0.96);
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: 1rem;
}

.newsletter-cta__form input::placeholder {
	color: rgba(122, 106, 88, 0.8);
}

.newsletter-cta__form input:focus {
	outline: 2px solid rgba(242, 168, 28, 0.55);
	outline-offset: 1px;
	border-color: var(--color-gold);
}

.newsletter-cta__form button,
.newsletter-cta__form .newsletter-cta__btn {
	padding: 0.95rem 1.45rem;
	background: var(--color-gold);
	color: #2a1f18;
	border: none;
	border-radius: var(--radius-sm);
	font-weight: 700;
	cursor: pointer;
	font-family: var(--font-body);
	transition: filter 0.2s ease, transform 0.15s ease;
	white-space: nowrap;
}

.newsletter-cta__form button:hover,
.newsletter-cta__form .newsletter-cta__btn:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
}

.newsletter-cta__form--shortcode .mailster-form,
.newsletter-cta__form--shortcode form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	justify-content: stretch;
	align-items: stretch;
	width: 100%;
	margin: 0;
	text-align: left;
}

.newsletter-cta__form--shortcode .mailster-form-fields,
.newsletter-cta__form--shortcode .mailster-field {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	flex: 1 1 auto;
	align-items: stretch;
	justify-content: stretch;
	min-width: 0;
	width: 100%;
}

.newsletter-cta__form--shortcode input[type="email"],
.newsletter-cta__form--shortcode input[type="text"],
.newsletter-cta__form--shortcode input[type="tel"] {
	flex: 1 1 160px;
	min-width: 0;
	padding: 0.95rem 1.05rem;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: var(--radius-sm);
	background: rgba(255, 255, 255, 0.96);
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: 1rem;
}

.newsletter-cta__form--shortcode input::placeholder {
	color: rgba(122, 106, 88, 0.8);
}

.newsletter-cta__form--shortcode input:focus {
	outline: 2px solid rgba(242, 168, 28, 0.55);
	outline-offset: 1px;
	border-color: var(--color-gold);
}

.newsletter-cta__form--shortcode input[type="submit"],
.newsletter-cta__form--shortcode button[type="submit"],
.newsletter-cta__form--shortcode .submit-button,
.newsletter-cta__form--shortcode .mailster-submit {
	padding: 0.95rem 1.35rem;
	background: var(--color-gold);
	color: #2a1f18;
	border: none;
	border-radius: var(--radius-sm);
	font-weight: 700;
	font-family: var(--font-body);
	cursor: pointer;
	transition: filter 0.2s ease, transform 0.15s ease;
	white-space: nowrap;
}

.newsletter-cta__form--shortcode input[type="submit"]:hover,
.newsletter-cta__form--shortcode button[type="submit"]:hover,
.newsletter-cta__form--shortcode .mailster-submit:hover {
	filter: brightness(1.06);
	transform: translateY(-1px);
}

.newsletter-cta__form--shortcode .mc4wp-form,
.newsletter-cta__form--shortcode .fluentform {
	width: 100%;
	margin: 0;
}

/* Mailster block form: leesbaar label, ruimte, afgeronde knoppen */
.newsletter-cta .wp-block-mailster-form-outside-wrapper,
.newsletter-cta .mailster-block-form,
.newsletter-cta .mailster-block-form-inner,
.newsletter-cta .mailster-block-form-inner .wp-block-columns {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0.6rem !important;
	background: transparent !important;
	box-shadow: none !important;
}

.newsletter-cta .mailster-block-form-inner .wp-block-columns {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
}

.newsletter-cta .mailster-block-form-inner .wp-block-column {
	display: flex !important;
	align-items: stretch !important;
	gap: 0 !important;
	min-width: 0 !important;
}

.newsletter-cta .wp-block-mailster-field-email,
.newsletter-cta .wp-block-mailster-field-submit,
.newsletter-cta .mailster-wrapper {
	position: relative !important;
	margin: 0 !important;
	min-width: 0 !important;
	max-width: none !important;
	align-self: stretch !important;
}

.newsletter-cta .wp-block-mailster-field-email {
	flex: 1 1 auto !important;
	width: 100% !important;
}

.newsletter-cta .wp-block-mailster-field-submit {
	flex: 0 0 auto !important;
	width: 100% !important;
}

.newsletter-cta .mailster-block-form .input,
.newsletter-cta .mailster-block-form input.input[type="email"] {
	height: 3.15rem !important;
	min-height: 3.15rem !important;
	padding: 1.15rem 1.05rem 0.55rem !important;
	border: 1px solid rgba(255, 255, 255, 0.28) !important;
	border-radius: 6px !important;
	background: #ffffff !important;
	color: #4a3b33 !important;
	font-family: var(--font-body) !important;
	font-size: 1rem !important;
	line-height: 1.3 !important;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06) !important;
	caret-color: #4a3b33 !important;
}

.newsletter-cta .mailster-block-form .mailster-label {
	color: #7a6a58 !important;
	font-family: var(--font-body) !important;
	font-size: 0.9rem !important;
	font-weight: 500 !important;
	opacity: 1 !important;
}

.newsletter-cta .mailster-wrapper-inline .mailster-label,
.newsletter-cta .mailster-wrapper-asterisk .mailster-label {
	color: #7a6a58 !important;
}

.newsletter-cta .mailster-block-form .submit-button,
.newsletter-cta .mailster-block-form input[type="submit"].submit-button,
.newsletter-cta .mailster-block-form .wp-block-button__link.submit-button {
	height: 3.15rem !important;
	min-height: 3.15rem !important;
	width: 100% !important;
	padding: 0 1.35rem !important;
	border: none !important;
	border-radius: 6px !important;
	background: #f2a81c !important;
	color: #2a1f18 !important;
	font-family: var(--font-body) !important;
	font-size: 0.98rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
	transition: filter 0.2s ease, transform 0.15s ease !important;
	cursor: pointer !important;
}

.newsletter-cta .mailster-block-form .submit-button:hover,
.newsletter-cta .mailster-block-form input[type="submit"].submit-button:hover {
	filter: brightness(1.06) !important;
	transform: translateY(-1px) !important;
}

.newsletter-cta .mailster-block-form-close {
	display: none !important;
}

/* Rustige sidebar-nieuwsbrief (zelfde kaart als andere sidebar-widgets) */
.sidebar-widget--newsletter {
	padding-bottom: 1.1rem;
}

.sidebar-widget--newsletter .sidebar-widget__title {
	margin-bottom: 0.55rem;
	padding-bottom: 0.55rem;
}

.sidebar-widget--newsletter .sidebar-newsletter__lead {
	margin: 0 0 0.85rem;
	font-size: 0.86rem;
	line-height: 1.4;
	color: var(--color-muted, #7a6a58);
}

.sidebar-widget--newsletter .sidebar-newsletter__note {
	margin: 0.5rem 0 0;
	font-size: 0.7rem;
	line-height: 1.35;
	color: #a89886;
}

.sidebar-widget--newsletter .sidebar-newsletter__form {
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
}

.sidebar-widget--newsletter .sidebar-newsletter__form .mailster-form,
.sidebar-widget--newsletter .sidebar-newsletter__form form,
.sidebar-widget--newsletter .sidebar-newsletter__form .mailster-form-fields,
.sidebar-widget--newsletter .sidebar-newsletter__form .mailster-block-form,
.sidebar-widget--newsletter .sidebar-newsletter__form .mailster-block-form-inner,
.sidebar-widget--newsletter .sidebar-newsletter__form .mailster-block-form-inner .wp-block-columns,
.sidebar-widget--newsletter .sidebar-newsletter__form .wp-block-mailster-form-outside-wrapper {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 0.45rem !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

.sidebar-widget--newsletter .sidebar-newsletter__form p:empty,
.sidebar-widget--newsletter .sidebar-newsletter__form .mailster-block-form-close,
.sidebar-widget--newsletter .sidebar-newsletter__form .mailster-block-form-info {
	display: none !important;
}

/* Mailster: label zichtbaar boven het veld (niet floating / niet verbergen) */
.sidebar-widget--newsletter .sidebar-newsletter__form .mailster-wrapper-type-email {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	position: relative !important;
}

.sidebar-widget--newsletter .sidebar-newsletter__form .mailster-label {
	display: block !important;
	position: static !important;
	order: -1;
	margin: 0 0 0.3rem !important;
	padding: 0 !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--color-muted, #7a6a58) !important;
	pointer-events: none;
	transform: none !important;
	opacity: 1 !important;
}

.sidebar-widget--newsletter .sidebar-newsletter__form .mailster-wrapper-asterisk .mailster-label::after {
	content: none !important;
}

.sidebar-widget--newsletter .sidebar-newsletter__form input[type="email"],
.sidebar-widget--newsletter .sidebar-newsletter__form input.input[type="email"],
.sidebar-widget--newsletter .sidebar-newsletter__form .mailster-block-form .input,
.sidebar-widget--newsletter .sidebar-newsletter__form input[type="text"]:not([name="_n_hp_mail"]) {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
	min-width: 0 !important;
	height: 2.65rem !important;
	min-height: 2.65rem !important;
	max-height: 2.65rem !important;
	box-sizing: border-box !important;
	padding: 0 0.75rem !important;
	border: 1px solid rgba(74, 59, 51, 0.22) !important;
	border-width: 1px !important;
	border-radius: 6px !important;
	background: #fff !important;
	background-color: #fff !important;
	color: #4a3b33 !important;
	caret-color: #4a3b33 !important;
	font-size: 0.9rem !important;
	line-height: 1.25 !important;
	box-shadow: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.sidebar-widget--newsletter .sidebar-newsletter__form input::placeholder {
	color: #a89886 !important;
	opacity: 1 !important;
}

.sidebar-widget--newsletter .sidebar-newsletter__form button,
.sidebar-widget--newsletter .sidebar-newsletter__form input[type="submit"],
.sidebar-widget--newsletter .sidebar-newsletter__form .mailster-submit,
.sidebar-widget--newsletter .sidebar-newsletter__form .submit-button,
.sidebar-widget--newsletter .sidebar-newsletter__form .wp-block-button__link.submit-button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 2.65rem !important;
	min-height: 2.65rem !important;
	box-sizing: border-box !important;
	padding: 0 0.85rem !important;
	border: 0 !important;
	border-radius: 6px !important;
	background: #4a3b33 !important;
	background-color: #4a3b33 !important;
	color: #fff !important;
	font-size: 0.88rem !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	cursor: pointer !important;
	box-shadow: none !important;
}

.sidebar-widget--newsletter .sidebar-newsletter__form button:hover,
.sidebar-widget--newsletter .sidebar-newsletter__form input[type="submit"]:hover,
.sidebar-widget--newsletter .sidebar-newsletter__form .mailster-submit:hover,
.sidebar-widget--newsletter .sidebar-newsletter__form .submit-button:hover {
	filter: brightness(1.06);
}

.sidebar-widget--newsletter .wp-block-mailster-field-email,
.sidebar-widget--newsletter .wp-block-mailster-field-submit,
.sidebar-widget--newsletter .mailster-block-form-inner .wp-block-column,
.sidebar-widget--newsletter .mailster-wrapper {
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 0 !important;
}

.sidebar-widget--newsletter .wp-block-mailster-field-submit.wp-block-button {
	width: 100% !important;
}

@media (max-width: 820px) {
	.newsletter-cta__inner {
		grid-template-columns: 1fr;
		gap: 1.35rem;
		text-align: center;
	}

	.newsletter-cta__copy {
		text-align: center;
	}

	.newsletter-cta__lead {
		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 560px) {
	.newsletter-cta .mailster-block-form-inner .wp-block-columns {
		flex-wrap: wrap !important;
	}

	.newsletter-cta .wp-block-mailster-field-email,
	.newsletter-cta .wp-block-mailster-field-submit,
	.newsletter-cta .mailster-block-form-inner .wp-block-column {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}
}

@media (max-width: 520px) {
	.newsletter-cta__form,
	.newsletter-cta__form--shortcode .mailster-form,
	.newsletter-cta__form--shortcode form,
	.newsletter-cta__form--shortcode .mailster-form-fields {
		flex-direction: column;
	}

	.newsletter-cta__form input[type="email"],
	.newsletter-cta__form button,
	.newsletter-cta__form--shortcode input[type="email"],
	.newsletter-cta__form--shortcode input[type="submit"],
	.newsletter-cta__form--shortcode button[type="submit"],
	.newsletter-cta__form--shortcode .mailster-submit {
		width: 100%;
	}
}


/* —— Key dates / snippet box (artikelen) —— */
.single-article .entry-content .post-key-dates,
.page-article .entry-content .post-key-dates,
.single-article .entry-content .post-snippet-answer,
.page-article .entry-content .post-snippet-answer {
	margin: 1.85rem 0 2.15rem;
	padding: clamp(1.35rem, 3vw, 1.75rem) clamp(1.25rem, 3.2vw, 1.85rem);
	background: #ffffff;
	border: 1px solid var(--color-border);
	border-top: 3px solid var(--color-gold);
	border-radius: var(--radius-sm);
	box-shadow: none;
}

.single-article .entry-content .post-snippet-answer::before,
.page-article .entry-content .post-snippet-answer::before {
	content: "Kort antwoord";
	display: block;
	margin: 0 0 0.7rem;
	font-family: var(--font-body);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-red);
}

.single-article .entry-content .post-key-dates__title,
.page-article .entry-content .post-key-dates__title {
	margin: 0 0 0.9rem;
	font-family: var(--font-body);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-red);
}

.single-article .entry-content .post-snippet-answer__lead,
.page-article .entry-content .post-snippet-answer__lead {
	margin: 0 0 0.85rem;
	font-family: var(--font-body);
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.7;
	color: var(--color-text);
}

.single-article .entry-content .post-snippet-answer > p:not(.post-snippet-answer__lead),
.page-article .entry-content .post-snippet-answer > p:not(.post-snippet-answer__lead) {
	margin: 0;
	color: var(--color-muted);
	font-size: 0.98rem;
	line-height: 1.65;
}

.single-article .entry-content .post-snippet-answer > p:last-child,
.page-article .entry-content .post-snippet-answer > p:last-child {
	margin-bottom: 0;
}

.single-article .entry-content .post-key-dates .wp-block-table,
.page-article .entry-content .post-key-dates .wp-block-table {
	margin: 0 0 0.9rem;
	box-shadow: none;
	border-radius: var(--radius-sm);
	border-color: var(--color-border);
}

.single-article .entry-content .post-key-dates__note,
.page-article .entry-content .post-key-dates__note {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--color-muted);
}

/* —— Affiliate box —— */
.affiliate-box {
	border: 2px solid var(--color-gold);
	border-radius: var(--radius-md);
	background: var(--color-ivory);
	overflow: hidden;
	margin: 1.5rem 0;
}

.affiliate-box__head {
	background: var(--color-forest);
	color: var(--color-warm-white);
	padding: 0.65rem 1rem;
	font-size: 0.85rem;
	font-weight: 700;
}

.affiliate-box__body {
	padding: 1rem 1.15rem 1.25rem;
}

.affiliate-box__merchant {
	font-size: 0.8rem;
	color: var(--color-muted);
	margin: 0 0 0.35rem;
}

.affiliate-box__title {
	font-family: var(--font-display);
	font-size: 1.25rem;
	margin: 0 0 0.75rem;
	color: var(--color-forest);
}

.affiliate-box__price {
	font-weight: 700;
	margin-bottom: 0.75rem;
	color: var(--color-text);
}

.affiliate-box__cta {
	display: inline-flex;
	padding: 0.65rem 1.25rem;
	background: var(--color-forest);
	color: var(--color-warm-white) !important;
	text-decoration: none;
	border-radius: var(--radius-sm);
	font-weight: 600;
	font-size: 0.9rem;
}

.affiliate-box__cta:hover {
	background: var(--color-forest-light);
	color: var(--color-warm-white) !important;
}

/* —— TOC —— */
.toc-sidebar {
	display: none;
}

.toc-box {
	position: sticky;
	top: 5.75rem;
	background: #ffffff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 1.35rem 1.25rem 1.25rem;
	font-size: 0.9rem;
	box-shadow: 0 2px 16px rgba(20, 19, 18, 0.05);
}

.toc-box::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	border-radius: var(--radius-md) var(--radius-md) 0 0;
	background: linear-gradient(90deg, var(--color-red), rgba(226, 59, 51, 0.25));
}

.toc-box__title {
	font-family: var(--font-display);
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #7a6a58;
	margin: 0 0 1rem;
	padding-bottom: 0.65rem;
	border-bottom: 1px solid rgba(74, 59, 51, 0.1);
}

.toc-box ol {
	margin: 0;
	padding-left: 0;
	list-style: none;
	counter-reset: toc-i;
}

.toc-box ol li {
	counter-increment: toc-i;
	margin-bottom: 0.4rem;
	padding-left: 1.5rem;
	position: relative;
}

.toc-box ol li::before {
	content: counter(toc-i) ".";
	position: absolute;
	left: 0;
	top: 0;
	font-size: 0.75rem;
	font-weight: 600;
	color: #c42f27;
}

.toc-box a {
	color: #4a3b33;
	text-decoration: none;
	line-height: 1.45;
	transition: color 0.2s ease;
}

.toc-box a:hover {
	color: #c42f27;
}

/* —— Archive / category —— */
.archive-layout__primary {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.archive-head {
	margin-bottom: 1.5rem;
}

.archive-head__breadcrumbs.breadcrumbs--panel {
	margin-bottom: 1rem;
}

.archive-head__row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 0.75rem 2rem;
	margin-bottom: 0.35rem;
}

.archive-head__title {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: clamp(1.75rem, 3.5vw, 2.35rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--color-heading);
	margin: 0;
	padding-left: 0.75rem;
	border-left: 3px solid var(--color-red);
	max-width: 100%;
	overflow-wrap: anywhere;
	flex: 1 1 14rem;
}

.archive-head__desc {
	margin: 0.75rem 0 0;
	padding-left: calc(0.75rem + 3px);
	max-width: 42rem;
	color: var(--color-muted);
	font-size: 1rem;
	line-height: 1.6;
}

.archive-head__desc p {
	margin: 0 0 0.75rem;
}

.archive-head__desc p:last-child {
	margin-bottom: 0;
}

.archive-head__desc:empty {
	display: none;
}

.filter-bar--inline {
	background: transparent;
	border: none;
	padding: 0;
	margin: 0;
	flex: 0 0 auto;
}

.filter-bar--inline .filter-bar__inner {
	padding-left: 0;
	padding-right: 0;
	max-width: none;
	margin: 0;
}

.content-layout--archive {
	padding-top: clamp(1rem, 2vw, 1.35rem);
	padding-bottom: clamp(2rem, 5vw, 3rem);
}

.content-layout--archive .content-layout__main {
	min-width: 0;
}

@media (max-width: 767px) {
	.archive-head__row {
		flex-direction: column;
		align-items: stretch;
	}

	.archive-head__row .filter-bar--inline {
		width: 100%;
	}
}

/* —— Broodkruimels —— */
.breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.35rem;
	font-family: var(--font-body);
	font-size: 0.75rem;
	line-height: 1.35;
	margin: 0 0 0.75rem;
	letter-spacing: 0.01em;
}

.breadcrumbs__sep {
	color: #7a6a58;
	opacity: 0.35;
	font-weight: 400;
	user-select: none;
	font-size: 0.65rem;
}

/* Geen “kaart”-streep — rustig pad boven content */
.breadcrumbs--panel {
	max-width: 100%;
	padding: 0;
	margin: 0 0 0.75rem;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
}

.breadcrumbs--panel .breadcrumbs__sep {
	color: #7a6a58;
	opacity: 0.35;
	font-size: 0.65rem;
}

.breadcrumbs--panel a {
	color: #7a6a58;
	text-decoration: none;
	font-weight: 400;
}

.breadcrumbs--panel a:hover,
.breadcrumbs--panel a:focus-visible {
	color: #c42f27;
	text-decoration: none;
}

.breadcrumbs--panel .breadcrumbs__current {
	color: #7a6a58;
	font-weight: 400;
	max-width: min(36ch, 100%);
	line-height: 1.35;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* —— Standaard pagina’s (page.php) —— */
.single-shell {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: clamp(0.35rem, 1.5vw, 0.75rem) clamp(1rem, 4vw, 1.5rem) clamp(1.25rem, 3vw, 2rem);
	box-sizing: border-box;
}

.single-shell--page {
	padding-top: 0;
}

.single-shell__surface {
	background: var(--color-warm-white);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-page);
	overflow: hidden;
}

.page-article {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: clamp(1.75rem, 4vw, 3rem) clamp(1.35rem, 4vw, 2.5rem) clamp(2.25rem, 4vw, 3.25rem);
}

.page-article .entry-header {
	margin-bottom: 0;
	max-width: none;
	width: 100%;
}

.entry-title--page {
	font-family: var(--font-display);
	font-size: clamp(1.85rem, 4.2vw, 2.5rem);
	font-weight: 700;
	line-height: 1.12;
	margin: 0 0 clamp(1.15rem, 3vw, 1.65rem);
	letter-spacing: -0.03em;
	color: var(--color-forest);
	padding-bottom: 0.75rem;
	border-bottom: 1px solid rgba(201, 149, 58, 0.4);
}

.page-featured-media {
	max-width: none;
	width: 100%;
	margin: 0 0 clamp(1.35rem, 3vw, 1.85rem);
	border-radius: var(--radius-md);
	overflow: hidden;
	line-height: 0;
	border: 1px solid rgba(232, 224, 212, 0.95);
	box-shadow: var(--shadow-page);
}

.page-featured-media__img {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: top;
}

.page-article .entry-content {
	font-family: var(--font-body);
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--color-text);
	max-width: 100%;
}

/* Gutenberg “constrained” / flow: niet smaller dan de pagina-shell */
body.page .page-article .entry-content :where(.wp-block-group.is-layout-constrained) {
	max-width: 100%;
}

/* Pagina: zelfde bruikbare breedte als shell / grids (geen smalle 42rem-kolom) */
.page-article .entry-content > p,
.page-article .entry-content > .wp-block-separator {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.page-article .entry-content > *:first-child {
	margin-top: 0;
}

.page-article .entry-content > p {
	margin-bottom: 1.35rem;
}

.page-article .entry-content > .envira-gallery-wrap,
.page-article .entry-content > .wp-block-gallery,
.page-article .entry-content > .wp-block-media-text,
.page-article .entry-content > .alignwide {
	max-width: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.page-article .entry-content .wp-block-group:not(.alignfull) .envira-gallery-wrap {
	max-width: none;
}

/* Envira Gallery: volle breedte binnen de pagina-shell, rustigere cellen */
.page-article .entry-content .envira-gallery-wrap {
	margin-top: clamp(1.25rem, 3vw, 1.85rem);
	margin-bottom: clamp(1.75rem, 4vw, 2.5rem);
	clear: both;
}

.page-article .envira-gallery-public {
	border-radius: var(--radius-md);
	background: rgba(30, 58, 47, 0.02);
	border: 1px solid rgba(232, 224, 212, 0.85);
	padding: clamp(0.5rem, 1.5vw, 0.85rem);
	box-sizing: border-box;
}

.page-article .envira-gallery-item-inner {
	border-radius: 6px;
	overflow: hidden;
}

.page-article .envira-gallery-item img {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: top;
}

/* Print-knop per thumb: klein en niet visueel domineren */
.page-article .envira-printing-button {
	opacity: 0.85;
}

.page-article .envira-printing-button a {
	font-size: 0.65rem !important;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.2rem 0.45rem;
	border-radius: 4px;
	background: rgba(250, 249, 245, 0.92);
	border: 1px solid rgba(30, 58, 47, 0.12);
	color: var(--color-forest) !important;
	text-decoration: none !important;
}

.page-article .envira-printing-button a:hover {
	border-color: rgba(201, 149, 58, 0.45);
	color: var(--color-gold) !important;
}

@media (max-width: 600px) {
	.page-article .envira-gallery-public[class*="envira-gallery-"][class*="-columns"] .envira-gallery-item {
		padding-left: 4px !important;
		padding-right: 4px !important;
		padding-bottom: 12px !important;
	}
}

.page-article .entry-content h2 {
	font-family: var(--font-display);
	font-size: clamp(1.3rem, 2.5vw, 1.55rem);
	font-weight: 700;
	max-width: none;
	margin: 2rem 0 0.65rem;
	line-height: 1.22;
	color: var(--color-forest);
}

.page-article .entry-content h3 {
	font-family: var(--font-display);
	font-size: clamp(1.1rem, 2vw, 1.28rem);
	font-weight: 700;
	max-width: none;
	margin: 1.5rem 0 0.5rem;
	color: var(--color-forest);
}

.page-article .entry-content > ul,
.page-article .entry-content > ol {
	max-width: none;
	margin: 0 0 1.25rem;
	padding-left: 1.35rem;
	box-sizing: border-box;
}

.page-article .entry-content ul ul,
.page-article .entry-content ol ol,
.page-article .entry-content li > ul,
.page-article .entry-content li > ol {
	max-width: none;
	margin-left: 0;
}

.page-article .entry-content li {
	margin-bottom: 0.4rem;
}

.page-article .entry-content blockquote {
	font-family: var(--font-display);
	font-style: italic;
	color: var(--color-gold);
	border-left: 3px solid rgba(201, 149, 58, 0.45);
	max-width: none;
	margin: 1.5rem 0;
	padding: 0.25rem 0 0.25rem 1.15rem;
	box-sizing: border-box;
}

.page-article .entry-content .wp-block-group,
.page-article .entry-content .wp-block-columns {
	margin-bottom: 1.5rem;
}

.page-links {
	margin-top: 2rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--color-border);
	font-size: 0.9rem;
	color: var(--color-muted);
}

.filter-bar {
	position: static;
	background: var(--color-ivory);
	border-bottom: 1px solid var(--color-border);
	padding: 0.75rem 0;
}

.filter-bar__inner {
	max-width: var(--content-max);
	margin: 0 auto;
	padding-left: clamp(1rem, 4vw, 1.5rem);
	padding-right: clamp(1rem, 4vw, 1.5rem);
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

.filter-bar__label {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--color-muted);
}

.filter-bar select,
.filter-bar a {
	font-family: var(--font-body);
	font-size: 0.9rem;
}

.filter-bar__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
}

.filter-bar__links a {
	text-decoration: none;
	color: var(--color-forest);
	padding: 0.35rem 0;
	border-bottom: 2px solid transparent;
}

.filter-bar__links a.is-active,
.filter-bar__links a:hover {
	border-bottom-color: var(--color-red);
	color: var(--color-red);
}

.post-grid {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: 1fr;
}

/* —— Single layout — zelfde shell als archief (.content-layout.container) —— */
.site-main--single .single-layout.content-layout.container {
	max-width: var(--content-max);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding-top: clamp(1rem, 2vw, 1.35rem);
	padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
	padding-left: var(--page-gutter);
	padding-right: var(--page-gutter);
	box-sizing: border-box;
}

.single-layout {
	padding-top: clamp(1rem, 2vw, 1.35rem);
	padding-bottom: clamp(2rem, 5vw, 3rem);
}

.single-layout__main,
.single-layout__sidebar {
	min-width: 0;
	max-width: 100%;
}

.site-main--single .single-layout {
	padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.site-main--single .single-article,
.site-main--single .entry-content {
	min-width: 0;
	max-width: 100%;
}

/* Uitgelichte afbeelding: beperkt i.v.m. boven de fold (was 90vh/900px) */
.single-hero {
	margin: 0 0 1.5rem;
	border-radius: var(--radius-md);
	overflow: hidden;
}

.single-hero img,
.single-hero .single-hero__img {
	width: 100%;
	height: min(42vh, 400px);
	max-height: min(42vh, 400px);
	display: block;
	object-fit: cover;
	object-position: center;
}

.single-hero__caption {
	display: block;
	margin: 0;
	padding: 0.55rem 0.85rem 0.65rem;
	font-family: var(--font-body);
	font-size: 0.8rem;
	font-style: normal;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: normal;
	color: #7a6a58;
	text-align: left;
	box-sizing: border-box;
	background: #ffffff;
	border-top: 1px solid rgba(74, 59, 51, 0.08);
}

.single-hero__caption .wp-element-caption__body {
	display: block;
	min-width: 0;
}

.single-hero__caption .wp-element-caption__text {
	display: inline;
	font-size: 0.8rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.45;
	color: #7a6a58;
}

.single-hero__caption .wp-element-caption__credit {
	display: inline;
	font-size: 0.7rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.45;
	letter-spacing: normal;
	color: #9a8b7a;
}

.single-hero__caption .wp-element-caption__credit::before {
	content: ' · ';
	color: #b5a99a;
}

.single-hero__caption .wp-element-caption__credit a {
	color: #7a6a58;
	text-decoration: underline;
	text-decoration-color: rgba(122, 106, 88, 0.4);
	text-underline-offset: 2px;
}

.single-hero__caption .wp-element-caption__credit a:hover {
	color: #c42f27;
	text-decoration-color: rgba(196, 47, 39, 0.45);
}

.single-hero__caption .wp-element-caption__social {
	display: none;
}

.single-hero__caption p {
	margin: 0 0 0.35rem;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.single-hero__caption p:last-child {
	margin-bottom: 0;
}

.site-main--single .single-layout__main > .single-hero {
	margin: 0;
	border: 1px solid var(--color-border);
	border-bottom: none;
	border-radius: var(--radius-lg) var(--radius-lg) 0 0;
	overflow: hidden;
	background: var(--color-ivory-alt);
}

.site-main--single .single-layout__main > .single-hero .single-hero__caption {
	padding-left: clamp(1rem, 3vw, 1.5rem);
	padding-right: clamp(1rem, 3vw, 1.5rem);
	border-top: 1px solid rgba(74, 59, 51, 0.08);
	background: #ffffff;
}

.site-main--single .single-layout__main > .single-article {
	position: relative;
	margin: 0;
	margin-top: -1px;
	padding: clamp(1.5rem, 3.5vw, 2.35rem) clamp(1.25rem, 3vw, 2rem) clamp(2.5rem, 5vw, 3.5rem);
	background: var(--color-warm-white);
	border: 1px solid var(--color-border);
	border-radius: 0 0 var(--radius-lg) var(--radius-lg);
	box-shadow: var(--shadow-page);
}

.site-main--single .single-layout__main > .single-article .entry-header,
.site-main--single .single-layout__main > .single-article .entry-content,
.site-main--single .single-layout__main > .single-article .kerstmarkt-tips,
.site-main--single .single-layout__main > .single-article .kerstmarkt-infobox-wrap,
.site-main--single .single-layout__main > .single-article .kerstmarkt-infobox,
.site-main--single .single-layout__main > .single-article .author-bio,
.site-main--single .single-layout__main > .single-article #comments,
.site-main--single .single-layout__main > .single-article .comment-respond {
	max-width: 45rem;
	margin-left: auto;
	margin-right: auto;
}

.entry-header .entry-title {
	font-size: clamp(2rem, 4vw, 3rem);
	margin: 0 0 0.85rem;
}

.entry-content a {
	color: var(--color-forest);
	text-decoration: underline;
	text-decoration-color: var(--color-gold);
	text-underline-offset: 3px;
}

.entry-content a:hover {
	color: var(--color-gold);
}

/* Afbeeldingen: onderschrift (Gutenberg “Onderschrift” / klassieke wp-caption) — apart van alt-tekst */
.entry-content figure:has(figcaption) {
	margin-top: 0;
	margin-bottom: 1.75rem;
}

.entry-content .wp-block-image figcaption,
.entry-content .wp-element-caption,
.entry-content .wp-caption .wp-caption-text,
.entry-content figure:not(.wp-block-gallery) figcaption {
	display: block;
	margin: 0.4rem 0 0;
	padding: 0.2rem 0 0 0.55rem;
	font-family: var(--font-body);
	font-size: 0.75rem;
	font-weight: 400;
	font-style: normal;
	line-height: 1.45;
	letter-spacing: 0.03em;
	color: var(--color-muted);
	border-left: 2px solid rgba(201, 149, 58, 0.38);
	background: transparent;
	border-radius: 0;
	max-width: 42rem;
}

.entry-content .wp-caption {
	margin-bottom: 1.75rem;
	max-width: 100%;
}

.entry-content .wp-caption img {
	border-radius: var(--radius-sm);
}

/*
 * Artikelafbeeldingen: volle breedte-kader, hele foto zichtbaar (contain),
 * klik opent het origineel. Onderschrift + credit (+ Instagram-icoon).
 */
.single-article .entry-content .wp-block-image,
.single-article .entry-content .wp-block-gallery > .wp-block-image:only-child {
	width: 100%;
	max-width: 100%;
	margin: 2rem 0 1.75rem;
	padding: 0;
	background: #faf6ef;
	border: 1px solid rgba(74, 59, 51, 0.1);
	border-radius: 4px;
	box-shadow: none;
	overflow: hidden;
	box-sizing: border-box;
}

.single-article .entry-content .wp-block-image > a,
.single-article .entry-content .wp-block-image .wp-block-image__zoom {
	display: block;
	position: relative;
	background: #efe8dc;
	line-height: 0;
}

.single-article .entry-content .wp-block-image img,
.single-article .entry-content .wp-caption img {
	display: block;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: min(70vh, 40rem);
	margin: 0 auto;
	object-fit: contain;
	object-position: center;
	border-radius: 0;
	background: transparent;
	border: none;
	box-shadow: none;
}

/* Gutenberg “is-resized” + inline width:…px mag de kolom niet forceren */
.single-article .entry-content .wp-block-image.is-resized {
	width: 100% !important;
	max-width: 100% !important;
}

/* Content-tabellen: merkstyling i.p.v. kale browserborders */
.single-article .entry-content .wp-block-table,
.page-article .entry-content .wp-block-table {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 1.75rem 0 2rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-border);
	background: var(--color-ivory);
	box-shadow: var(--shadow-soft);
}

.single-article .entry-content .wp-block-table table,
.page-article .entry-content .wp-block-table table,
.single-article .entry-content > table,
.page-article .entry-content > table {
	display: table;
	width: 100%;
	min-width: 28rem;
	margin: 0;
	border-collapse: separate;
	border-spacing: 0;
	font-family: var(--font-body);
	font-size: 0.98rem;
	line-height: 1.45;
	color: var(--color-text);
}

.single-article .entry-content > table,
.page-article .entry-content > table {
	display: table;
	width: 100%;
	max-width: 100%;
	margin: 1.75rem 0 2rem;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--radius-lg);
	border: 1px solid var(--color-border);
	background: var(--color-ivory);
	box-shadow: var(--shadow-soft);
	overflow: hidden;
	font-family: var(--font-body);
	font-size: 0.98rem;
	line-height: 1.45;
	color: var(--color-text);
}

.single-article .entry-content .wp-block-table thead th,
.page-article .entry-content .wp-block-table thead th,
.single-article .entry-content > table thead th,
.page-article .entry-content > table thead th {
	padding: 0.85rem 1.1rem;
	font-family: var(--font-heading);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-align: left;
	color: var(--color-green-deep);
	background: linear-gradient(180deg, #f3ebe0 0%, var(--color-ivory-alt) 100%);
	border: none;
	border-bottom: 1px solid var(--color-border);
	white-space: nowrap;
}

.single-article .entry-content .wp-block-table tbody td,
.page-article .entry-content .wp-block-table tbody td,
.single-article .entry-content > table tbody td,
.page-article .entry-content > table tbody td {
	padding: 0.85rem 1.1rem;
	vertical-align: top;
	border: none;
	border-bottom: 1px solid rgba(232, 226, 214, 0.9);
	background: transparent;
}

.single-article .entry-content .wp-block-table tbody tr:nth-child(even) td,
.page-article .entry-content .wp-block-table tbody tr:nth-child(even) td,
.single-article .entry-content > table tbody tr:nth-child(even) td,
.page-article .entry-content > table tbody tr:nth-child(even) td {
	background: rgba(245, 240, 232, 0.55);
}

.single-article .entry-content .wp-block-table tbody tr:last-child td,
.page-article .entry-content .wp-block-table tbody tr:last-child td,
.single-article .entry-content > table tbody tr:last-child td,
.page-article .entry-content > table tbody tr:last-child td {
	border-bottom: none;
}

.single-article .entry-content .wp-block-table tbody tr:hover td,
.page-article .entry-content .wp-block-table tbody tr:hover td,
.single-article .entry-content > table tbody tr:hover td,
.page-article .entry-content > table tbody tr:hover td {
	background: rgba(242, 168, 28, 0.08);
}

.single-article .entry-content .wp-block-table td strong,
.page-article .entry-content .wp-block-table td strong,
.single-article .entry-content > table td strong,
.page-article .entry-content > table td strong {
	font-weight: 600;
	color: var(--color-heading);
}

.single-article .entry-content .wp-block-table figcaption,
.page-article .entry-content .wp-block-table figcaption {
	margin: 0;
	padding: 0.65rem 1.1rem 0.85rem;
	font-size: 0.88rem;
	color: var(--color-muted);
	border-top: 1px solid var(--color-border);
	background: var(--color-cream);
}

@media (max-width: 640px) {
	.single-article .entry-content .wp-block-table table,
	.page-article .entry-content .wp-block-table table {
		font-size: 0.92rem;
	}

	.single-article .entry-content .wp-block-table thead th,
	.page-article .entry-content .wp-block-table thead th,
	.single-article .entry-content .wp-block-table tbody td,
	.page-article .entry-content .wp-block-table tbody td {
		padding: 0.7rem 0.85rem;
	}
}

.single-article .entry-content iframe,
.single-article .entry-content embed,
.single-article .entry-content video {
	max-width: 100%;
}

.single-article .entry-content .wp-block-image > a:hover img,
.single-article .entry-content .wp-block-image > a:focus-visible img {
	opacity: 0.96;
}

.single-article .entry-content .wp-block-image > a {
	cursor: zoom-in;
}

/* In-page lightbox (geen nieuw tabblad) */
.ka-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: max(1.25rem, env(safe-area-inset-top, 0px)) max(1.25rem, env(safe-area-inset-right, 0px)) max(1.25rem, env(safe-area-inset-bottom, 0px)) max(1.25rem, env(safe-area-inset-left, 0px));
	box-sizing: border-box;
	background: rgba(40, 28, 22, 0.88);
	overflow: auto;
	overscroll-behavior: contain;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity 0.2s ease,
		visibility 0.2s ease;
}

.ka-lightbox.is-open {
	display: flex !important;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.ka-lightbox__dialog {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 1 auto;
	width: auto;
	max-width: min(96vw, 72rem);
	max-height: min(92vh, 100%);
	margin: auto;
	padding: 0;
	border: none;
	background: transparent;
	outline: none;
}

.ka-lightbox__img {
	display: block;
	flex: 0 1 auto;
	width: auto !important;
	height: auto !important;
	max-width: min(96vw, 72rem) !important;
	max-height: min(88vh, calc(100vh - 2.5rem)) !important;
	margin: 0;
	border-radius: 4px;
	box-shadow: 0 18px 48px -18px rgba(0, 0, 0, 0.55);
	background: #efe8dc;
	object-fit: contain;
	object-position: center;
}

.ka-lightbox__img.is-loading {
	opacity: 0.01;
	min-width: 12rem;
	min-height: 8rem;
}

.ka-lightbox__close {
	position: fixed;
	top: max(1rem, env(safe-area-inset-top, 0px));
	right: max(1rem, env(safe-area-inset-right, 0px));
	z-index: 100001;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	padding: 0;
	border: 1px solid rgba(74, 59, 51, 0.14);
	border-radius: 4px;
	background: #faf6ef;
	color: #4a3b33;
	cursor: pointer;
	box-shadow: 0 6px 16px -8px rgba(0, 0, 0, 0.4);
}

.ka-lightbox__close:hover,
.ka-lightbox__close:focus-visible {
	background: #ffffff;
	color: #c42f27;
	outline: none;
}

.ka-lightbox__close-icon {
	display: block;
	width: 1rem;
	height: 1rem;
	background: currentColor;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 6l12 12M18 6L6 18' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M6 6l12 12M18 6L6 18' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.single-article .entry-content .wp-block-image > a::after {
	content: '';
	position: absolute;
	right: 0.65rem;
	bottom: 0.65rem;
	width: 2.15rem;
	height: 2.15rem;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M9 4H5a1 1 0 0 0-1 1v4M15 4h4a1 1 0 0 1 1 1v4M9 20H5a1 1 0 0 1-1-1v-4M15 20h4a1 1 0 0 0 1-1v-4' stroke='%234a3b33' stroke-width='1.75' stroke-linecap='round'/%3E%3C/svg%3E") center / 1.05rem no-repeat;
	border: 1px solid rgba(74, 59, 51, 0.12);
	box-shadow: 0 4px 12px -6px rgba(40, 20, 10, 0.35);
	pointer-events: none;
	opacity: 0.92;
}

/* Losse content-img zonder figure */
.single-article .entry-content > p > img:only-child,
.single-article .entry-content > img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: min(70vh, 40rem);
	margin: 2rem auto 1.75rem;
	object-fit: contain;
	object-position: center;
	padding: 0;
	background: #faf6ef;
	border: 1px solid rgba(74, 59, 51, 0.1);
	border-radius: 4px;
	box-sizing: border-box;
}

/* Captionbalk: tekst links, Instagram-icoon rechts */
.single-article .entry-content .wp-block-image figcaption,
.single-article .entry-content .wp-block-image .wp-element-caption {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 0.85rem 1.1rem;
	margin: 0;
	padding: 0.75rem 0.95rem 0.85rem;
	border-left: none;
	border-top: 1px solid rgba(74, 59, 51, 0.08);
	max-width: none;
	text-align: left;
	font-family: var(--font-body);
	font-style: normal;
	letter-spacing: normal;
	background: #ffffff;
}

.single-article .entry-content .wp-block-image .wp-element-caption__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	min-width: 0;
	flex: 1 1 auto;
}

.single-article .entry-content .wp-block-image .wp-element-caption__text {
	display: block;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.45;
	color: #4a3b33;
}

.single-article .entry-content .wp-block-image .wp-element-caption__credit {
	display: block;
	font-size: 0.75rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: #7a6a58;
}

.single-article .entry-content .wp-block-image .wp-element-caption__credit a {
	color: #c42f27;
	text-decoration: underline;
	text-decoration-color: rgba(196, 47, 39, 0.35);
	text-underline-offset: 2px;
}

.single-article .entry-content .wp-block-image .wp-element-caption__credit a:hover {
	color: #a32620;
	text-decoration-color: #a32620;
}

.single-article .entry-content .wp-block-image .wp-element-caption__social {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.35rem;
	height: 2.35rem;
	border-radius: 4px;
	color: #4a3b33;
	background: #faf6ef;
	border: 1px solid rgba(74, 59, 51, 0.12);
	text-decoration: none;
	transition:
		color 0.15s ease,
		background 0.15s ease,
		border-color 0.15s ease;
}

.single-article .entry-content .wp-block-image .wp-element-caption__social:hover,
.single-article .entry-content .wp-block-image .wp-element-caption__social:focus-visible {
	color: #ffffff;
	background: #c42f27;
	border-color: #c42f27;
}

.single-article .entry-content .wp-block-image .wp-element-caption__social-svg {
	display: block;
}

.single-article .entry-content .wp-block-image figcaption:not(:has(.wp-element-caption__body)) {
	font-size: 0.9rem;
	line-height: 1.45;
	color: #4a3b33;
}

/* Eén foto in cropped galerij → zelfde volle-breedte kader */
.single-article .entry-content .wp-block-gallery.has-nested-images > .wp-block-image:only-child,
.single-article .entry-content .wp-block-gallery.is-cropped > .wp-block-image:only-child {
	width: 100%;
	max-width: 100%;
	margin-left: 0;
	margin-right: 0;
}

.single-article .entry-content .wp-block-gallery.has-nested-images.is-cropped > .wp-block-image:only-child,
.single-article .entry-content .wp-block-gallery.has-nested-images.is-cropped > .wp-block-image:only-child a {
	flex: none !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: auto !important;
}

.single-article .entry-content .wp-block-gallery.has-nested-images.is-cropped > .wp-block-image:only-child img {
	flex: none !important;
	width: auto !important;
	max-width: 100% !important;
	height: auto !important;
	max-height: min(70vh, 40rem) !important;
	object-fit: contain !important;
	object-position: center !important;
	aspect-ratio: auto !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Meer foto’s in een cropped galerij */
.single-article .entry-content .wp-block-gallery:not(:has(> .wp-block-image:only-child)) {
	gap: 0.5rem;
	padding: 0.5rem;
	background: #faf6ef;
	border: 1px solid rgba(74, 59, 51, 0.1);
	border-radius: 4px;
	box-shadow: none;
}

.single-article .entry-content .wp-block-gallery.has-nested-images.is-cropped > .wp-block-image:not(:only-child) img,
.single-article .entry-content .wp-block-gallery.is-cropped .blocks-gallery-item img {
	object-fit: cover !important;
	width: 100%;
	height: 100%;
	border-radius: 2px;
	border: none;
}

.entry-content .blocks-gallery-item__caption {
	font-family: var(--font-body);
	font-size: 0.8rem;
	line-height: 1.4;
	color: var(--color-warm-white);
	background: linear-gradient(0deg, rgba(30, 58, 47, 0.88) 0%, transparent 100%);
	padding: 2rem 0.65rem 0.5rem;
}

/* —— Sidebar kolom (single + archief) —— */
.single-layout__sidebar,
.content-layout__sidebar {
	display: flex;
	flex-direction: column;
	gap: clamp(1.35rem, 2.5vw, 1.85rem);
}

.archive-sidebar {
	display: flex;
	flex-direction: column;
	gap: clamp(1.35rem, 2.5vw, 1.85rem);
	min-width: 0;
	width: 100%;
}

.archive-sidebar__wp-widgets {
	display: flex;
	flex-direction: column;
	gap: clamp(1.35rem, 2.5vw, 1.85rem);
}

/* Zoek-widget (klassiek + blok) in archief-sidebar */
.content-layout__sidebar .widget_search .search-form,
.archive-sidebar .widget_search .search-form {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.5rem;
}

.content-layout__sidebar .widget_search .search-form__input,
.archive-sidebar .widget_search .search-form__input {
	flex: 1 1 8rem;
	min-width: 0;
	padding: 0.55rem 0.75rem;
	font-family: var(--font-body);
	font-size: 0.92rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-warm-white);
}

.content-layout__sidebar .widget_search .search-form__submit,
.archive-sidebar .widget_search .search-form__submit {
	flex: 0 0 auto;
	padding: 0.55rem 1rem;
	font-family: var(--font-body);
	font-size: 0.88rem;
	font-weight: 600;
	cursor: pointer;
	border: 1px solid var(--color-forest);
	border-radius: var(--radius-sm);
	background: var(--color-forest);
	color: var(--color-warm-white);
	transition: background 0.2s ease, border-color 0.2s ease;
}

.content-layout__sidebar .widget_search .search-form__submit:hover,
.archive-sidebar .widget_search .search-form__submit:hover {
	background: var(--color-forest-light);
	border-color: var(--color-forest-light);
}

.single-layout__sidebar .sidebar-widget,
.content-layout__sidebar .widget,
.content-layout__sidebar .sidebar-widget {
	position: relative;
	background: #ffffff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 1.4rem 1.35rem 1.25rem;
	box-shadow: var(--shadow-soft);
}

.single-layout__sidebar .sidebar-widget::before,
.content-layout__sidebar .widget::before,
.content-layout__sidebar .sidebar-widget::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 2px;
	border-radius: var(--radius-md) var(--radius-md) 0 0;
	background: linear-gradient(90deg, var(--color-red), rgba(226, 59, 51, 0.25));
}

.sidebar-widget__title,
.content-layout__sidebar .widget-title {
	font-family: var(--font-heading);
	font-size: 1.05rem;
	font-weight: 600;
	color: #4a3b33;
	margin: 0 0 1rem;
	padding-bottom: 0.7rem;
	border-bottom: 1px solid rgba(74, 59, 51, 0.1);
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.widget-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.widget-list li {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.45;
	border-bottom: 1px solid rgba(232, 224, 212, 0.9);
}

.widget-list li:last-child {
	border-bottom: none;
}

.widget-list a {
	display: block;
	padding: 0.7rem 0;
	color: #4a3b33;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.2s ease, transform 0.2s ease;
}

.widget-list a:hover {
	color: #c42f27;
	transform: translateX(2px);
}

/* Populair: genummerde rang */
.widget-list--ranked {
	counter-reset: side-rank;
}

.widget-list--ranked li {
	padding-left: 2.15rem;
	position: relative;
	border-bottom-color: rgba(232, 224, 212, 0.65);
}

.widget-list--ranked li::before {
	content: counter(side-rank);
	counter-increment: side-rank;
	position: absolute;
	left: 0;
	top: 0.65rem;
	min-width: 1.4rem;
	height: 1.4rem;
	padding: 0 0.25rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-body);
	font-size: 0.68rem;
	font-weight: 700;
	color: #ffffff;
	background: var(--color-red);
	border-radius: 3px;
	line-height: 1;
}

.content-layout__sidebar .widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.content-layout__sidebar .widget li {
	border-bottom: 1px solid rgba(232, 224, 212, 0.9);
}

.content-layout__sidebar .widget li:last-child {
	border-bottom: none;
}

.content-layout__sidebar .widget a {
	display: block;
	padding: 0.65rem 0;
	color: #4a3b33;
	text-decoration: none;
	font-size: 0.92rem;
	font-weight: 500;
	transition: color 0.2s ease;
}

.content-layout__sidebar .widget a:hover {
	color: #c42f27;
}

/* Blok-widgets: ruimte tussen titel, zoekveld en lijsten (voorkomt “plakken”) */
.content-layout__sidebar .widget_block .wp-block-group__inner-container,
.single-layout__sidebar .widget_block .wp-block-group__inner-container,
#secondary.sidebar .widget_block .wp-block-group__inner-container {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.content-layout__sidebar .wp-block-search,
.single-layout__sidebar .wp-block-search,
#secondary.sidebar .wp-block-search {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	width: 100%;
}

.content-layout__sidebar .wp-block-search .wp-block-search__label,
.single-layout__sidebar .wp-block-search .wp-block-search__label,
#secondary.sidebar .wp-block-search .wp-block-search__label {
	display: block;
	margin: 0;
	font-family: var(--font-display);
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--color-forest);
	line-height: 1.25;
}

.content-layout__sidebar .wp-block-search .wp-block-search__inside-wrapper,
.single-layout__sidebar .wp-block-search .wp-block-search__inside-wrapper,
#secondary.sidebar .wp-block-search .wp-block-search__inside-wrapper {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.5rem;
	width: 100%;
}

.content-layout__sidebar .wp-block-search .wp-block-search__input,
.single-layout__sidebar .wp-block-search .wp-block-search__input,
#secondary.sidebar .wp-block-search .wp-block-search__input {
	flex: 1 1 8rem;
	min-width: 0;
	padding: 0.55rem 0.75rem;
	font-size: 0.9rem;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	background: var(--color-warm-white);
}

.content-layout__sidebar .wp-block-search .wp-block-search__button,
.single-layout__sidebar .wp-block-search .wp-block-search__button,
#secondary.sidebar .wp-block-search .wp-block-search__button {
	flex: 0 0 auto;
	padding: 0.55rem 1rem;
	font-size: 0.85rem;
	font-weight: 600;
	border-radius: var(--radius-sm);
	cursor: pointer;
}

/* —— Sidebar: widgets met thumbnails (o.a. “Meer Kerstinspiratie”) —— */
.single-layout__sidebar .widget,
#secondary.sidebar .widget {
	padding: 1.5rem 1.4rem 1.4rem;
}

.single-layout__sidebar .widget .widget-title,
#secondary.sidebar .widget .widget-title {
	margin-bottom: 1.1rem;
}

.single-layout__sidebar .widget ul:not(.wp-block-latest-posts),
#secondary.sidebar .widget ul:not(.wp-block-latest-posts),
.content-layout__sidebar .widget ul:not(.wp-block-latest-posts) {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.single-layout__sidebar .widget ul:not(.wp-block-latest-posts) > li,
#secondary.sidebar .widget ul:not(.wp-block-latest-posts) > li,
.content-layout__sidebar .widget ul:not(.wp-block-latest-posts) > li {
	margin: 0;
	padding: 1rem 0;
	border-bottom: 1px solid rgba(232, 224, 212, 0.95);
}

.single-layout__sidebar .widget ul:not(.wp-block-latest-posts) > li:first-child,
#secondary.sidebar .widget ul:not(.wp-block-latest-posts) > li:first-child,
.content-layout__sidebar .widget ul:not(.wp-block-latest-posts) > li:first-child {
	padding-top: 0.25rem;
}

.single-layout__sidebar .widget ul:not(.wp-block-latest-posts) > li:last-child,
#secondary.sidebar .widget ul:not(.wp-block-latest-posts) > li:last-child,
.content-layout__sidebar .widget ul:not(.wp-block-latest-posts) > li:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

/* Items met afbeelding: extra ruimte + “kaart”-gevoel (niet: Gutenberg latest posts; die hebben eigen gap) */
.single-layout__sidebar .widget ul:not(.wp-block-latest-posts) li:has(img),
#secondary.sidebar .widget ul:not(.wp-block-latest-posts) li:has(img),
.content-layout__sidebar .widget ul:not(.wp-block-latest-posts) li:has(img) {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1.1rem 0;
}

.single-layout__sidebar .widget ul:not(.wp-block-latest-posts) li:has(img):not(:last-child),
#secondary.sidebar .widget ul:not(.wp-block-latest-posts) li:has(img):not(:last-child),
.content-layout__sidebar .widget ul:not(.wp-block-latest-posts) li:has(img):not(:last-child) {
	margin-bottom: 0.15rem;
}

.single-layout__sidebar .widget li img,
#secondary.sidebar .widget li img,
.content-layout__sidebar .widget li img {
	width: 100% !important;
	max-width: 100%;
	height: auto !important;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: var(--radius-md);
	display: block;
	box-shadow: 0 2px 16px rgba(30, 58, 47, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

@supports not (aspect-ratio: 1) {
	.single-layout__sidebar .widget li img,
	#secondary.sidebar .widget li img,
	.content-layout__sidebar .widget li img {
		min-height: 120px;
	}
}

.single-layout__sidebar .widget li a:has(img),
#secondary.sidebar .widget li a:has(img),
.content-layout__sidebar .widget li a:has(img) {
	display: block;
	line-height: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
	padding: 0 !important;
	margin: 0;
}

.single-layout__sidebar .widget li a:has(img):hover img,
#secondary.sidebar .widget li a:has(img):hover img,
.content-layout__sidebar .widget li a:has(img):hover img {
	transform: scale(1.02);
	box-shadow: 0 8px 28px rgba(30, 58, 47, 0.16);
}

/* Titelregels: geen standaard underline, redactioneel */
.single-layout__sidebar .widget li a,
#secondary.sidebar .widget li a,
.content-layout__sidebar .widget li a {
	text-decoration: none !important;
	text-underline-offset: unset;
	font-weight: 500;
	line-height: 1.45;
}

.single-layout__sidebar .widget li > a:not(:has(img)),
#secondary.sidebar .widget li > a:not(:has(img)),
.content-layout__sidebar .widget li > a:not(:has(img)),
.single-layout__sidebar .widget li a.wp-block-latest-posts__post-title,
#secondary.sidebar .widget li a.wp-block-latest-posts__post-title,
.content-layout__sidebar .widget li a.wp-block-latest-posts__post-title {
	font-family: var(--font-body);
	font-size: 0.95rem;
	color: var(--color-forest);
	padding: 0;
	display: block;
}

.single-layout__sidebar .widget li > a:not(:has(img)):hover,
#secondary.sidebar .widget li > a:not(:has(img)):hover,
.content-layout__sidebar .widget li > a:not(:has(img)):hover {
	color: var(--color-gold);
	transform: none;
}

/* Gutenberg latest posts in sidebar */
.single-layout__sidebar .wp-block-latest-posts.is-grid,
#secondary.sidebar .wp-block-latest-posts.is-grid {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.content-layout__sidebar .wp-block-latest-posts__featured-image,
.single-layout__sidebar .wp-block-latest-posts__featured-image,
#secondary.sidebar .wp-block-latest-posts__featured-image {
	border-radius: var(--radius-md);
	overflow: hidden;
	margin-bottom: 0;
}

.content-layout__sidebar .wp-block-latest-posts__featured-image img,
.single-layout__sidebar .wp-block-latest-posts__featured-image img,
#secondary.sidebar .wp-block-latest-posts__featured-image img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

/* Blok-widget “Laatste berichten” in sidebar: float (alignright) breekt de kolom */
.content-layout__sidebar .wp-block-latest-posts .wp-block-latest-posts__featured-image,
.single-layout__sidebar .wp-block-latest-posts .wp-block-latest-posts__featured-image,
#secondary.sidebar .wp-block-latest-posts .wp-block-latest-posts__featured-image {
	float: none !important;
	clear: both;
	width: 100% !important;
	max-width: 100%;
	margin-left: 0 !important;
	margin-right: 0 !important;
	margin-bottom: 0;
}

.content-layout__sidebar .wp-block-latest-posts,
.single-layout__sidebar .wp-block-latest-posts,
#secondary.sidebar .wp-block-latest-posts {
	display: flex;
	flex-direction: column;
	gap: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

.content-layout__sidebar .wp-block-latest-posts li,
.single-layout__sidebar .wp-block-latest-posts li,
#secondary.sidebar .wp-block-latest-posts li {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	align-content: flex-start;
	gap: 0.75rem;
	clear: both;
	overflow: hidden;
	margin: 0 0 1.15rem;
	padding: 0 0 1.1rem;
	border-bottom: 1px solid rgba(232, 224, 212, 0.95);
}

.content-layout__sidebar .wp-block-latest-posts li:last-child,
.single-layout__sidebar .wp-block-latest-posts li:last-child,
#secondary.sidebar .wp-block-latest-posts li:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

/* Genummerde variatie (o.a. Cadence) + blokgroep: geen dubbele marge op kop */
.content-layout__sidebar .wp-block-latest-posts.is-style-cs-numbered-layout,
.single-layout__sidebar .wp-block-latest-posts.is-style-cs-numbered-layout,
#secondary.sidebar .wp-block-latest-posts.is-style-cs-numbered-layout {
	list-style: none;
	margin: 0;
	padding: 0;
}

.content-layout__sidebar .widget_block .wp-block-group__inner-container > .wp-block-heading:first-child,
.single-layout__sidebar .widget_block .wp-block-group__inner-container > .wp-block-heading:first-child,
#secondary.sidebar .widget_block .wp-block-group__inner-container > .wp-block-heading:first-child {
	margin-top: 0;
}

.content-layout__sidebar .widget_block .wp-block-heading,
.single-layout__sidebar .widget_block .wp-block-heading,
#secondary.sidebar .widget_block .wp-block-heading {
	font-family: var(--font-display);
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--color-forest);
	margin: 0 0 1rem;
	padding-bottom: 0.7rem;
	border-bottom: 1px solid var(--color-border);
	line-height: 1.2;
}

/* View Transitions — korte, zachte easing (sitebreed) */
::view-transition-group(*),
::view-transition-old(*),
::view-transition-new(*) {
	animation-duration: 0.25s;
	animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
}

/* Sidebar: Meer kerstinspiratie — titel eerst, meta eronder */
.ka-sidebar-related {
	padding: 0;
}

.ka-sidebar-related .sidebar-widget__title {
	margin-bottom: 0.85rem;
	font-size: 1rem;
	font-weight: 600;
	color: #4a3b33;
}

.ka-sidebar-item {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.3rem;
	padding: 1rem 0;
	border: none;
	text-decoration: none;
	color: inherit;
	transition: opacity 0.15s ease;
}

.ka-sidebar-item + .ka-sidebar-item {
	border-top: 1px solid rgba(74, 59, 51, 0.08);
}

.ka-sidebar-item:first-of-type {
	padding-top: 0.15rem;
}

.ka-sidebar-item:last-of-type {
	padding-bottom: 0.35rem;
}

.ka-sidebar-title {
	font-size: 0.9375rem;
	line-height: 1.4;
	font-weight: 500;
	color: #4a3b33;
	font-family: var(--font-heading);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.ka-sidebar-item:hover .ka-sidebar-title {
	color: #c42f27;
}

.ka-sidebar-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
	font-family: var(--font-body);
	font-size: 0.6875rem;
	line-height: 1.2;
	color: #7a6a58;
}

.ka-sidebar-meta-sep {
	display: none;
}

.ka-sidebar-pill {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
	padding: 0.28rem 0.5rem;
	margin: 0;
	border: 1px solid rgba(74, 59, 51, 0.12);
	border-radius: 4px;
	background: #faf6ef;
	font: inherit;
	font-weight: 600;
	line-height: 1.15;
	color: #4a3b33;
	box-sizing: border-box;
}

.ka-sidebar-pill--cat {
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.5625rem;
	font-weight: 700;
	color: #4a3b33;
	background: #faf6ef;
}

.ka-sidebar-pill--date {
	letter-spacing: 0.01em;
	text-transform: none;
	font-variant-numeric: tabular-nums;
	font-weight: 500;
	font-size: 0.625rem;
	color: #7a6a58;
	background: #ffffff;
	border-color: rgba(74, 59, 51, 0.1);
}

.ka-sidebar-all {
	display: inline-block;
	font-size: 0.8125rem;
	font-weight: 500;
	color: #c42f27;
	font-family: var(--font-body);
	text-decoration: none;
	margin-top: 1rem;
	padding-top: 0.15rem;
}

.ka-sidebar-all:hover,
.ka-sidebar-all:focus-visible {
	color: var(--color-red-deep);
	text-decoration: underline;
}

/* Gekoppelde kerstmarkt: geen eigen “kaart”-schil — volgt .single-layout__sidebar .sidebar-widget (+ ::before goudaccent) */

.ka-sidebar-linked-markten .sidebar-widget__title {
	margin-bottom: 0.85rem;
}

.ka-sidebar-linked-markten__intro {
	margin: 0 0 1rem;
	font-family: var(--font-body);
	font-size: 0.92rem;
	line-height: 1.45;
	color: var(--color-muted);
}

.ka-sidebar-linked-markten__intro a {
	color: var(--color-forest);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

.ka-sidebar-linked-markten__intro a:hover,
.ka-sidebar-linked-markten__intro a:focus-visible {
	color: var(--color-gold);
}

.ka-sidebar-markt {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	padding: 0.75rem 0;
	text-decoration: none;
	color: inherit;
	border: none;
}

.ka-sidebar-markt + .ka-sidebar-markt {
	border-top: 0.5px solid var(--color-border);
}

.ka-sidebar-markt:first-of-type {
	padding-top: 0.15rem;
	border-top: 0.5px solid var(--color-border);
	margin-top: 0.1rem;
}

.ka-sidebar-markt__thumb {
	flex-shrink: 0;
	width: 52px;
	height: 52px;
	border-radius: var(--radius-md);
	overflow: hidden;
	background: var(--color-ivory-alt);
	box-shadow: 0 0 0 1px rgba(30, 58, 47, 0.08);
}

.ka-sidebar-markt__thumb--empty {
	background: repeating-linear-gradient(
		-8deg,
		rgba(30, 58, 47, 0.04) 0,
		rgba(30, 58, 47, 0.04) 1px,
		transparent 1px,
		transparent 8px
	);
}

.ka-sidebar-markt__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ka-sidebar-markt__body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.28rem;
	min-width: 0;
}

.ka-sidebar-markt__title {
	font-size: 0.9375rem;
	line-height: 1.3;
	color: var(--color-text);
	font-family: var(--font-display);
	font-weight: 600;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	line-clamp: 2;
	overflow: hidden;
}

.ka-sidebar-markt__meta {
	font-family: var(--font-body);
	font-size: 0.8125rem;
	line-height: 1.4;
	color: var(--color-muted);
}

.ka-sidebar-markt:hover .ka-sidebar-markt__title,
.ka-sidebar-markt:focus-visible .ka-sidebar-markt__title {
	color: var(--color-gold);
}

.ka-sidebar-linked-markten--single .ka-sidebar-linked-markten__intro {
	margin-bottom: 0.35rem;
}

.ka-sidebar-linked-markten--multi .ka-sidebar-linked-markten__intro {
	margin-bottom: 0.85rem;
}

/* Zelfde taal als .widget-list a — niet de kleinere gouden ka-sidebar-all van “Meer inspiratie” */
.ka-sidebar-linked-markten .ka-sidebar-all {
	display: inline-block;
	margin-top: 0;
	font-family: var(--font-body);
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.45;
	color: var(--color-text);
	text-decoration: none;
	transition: color 0.2s ease, transform 0.2s ease;
}

.ka-sidebar-linked-markten .ka-sidebar-all:hover,
.ka-sidebar-linked-markten .ka-sidebar-all:focus-visible {
	color: var(--color-gold);
	text-decoration: none;
	transform: translateX(2px);
}

.ka-sidebar-linked-markten--single .ka-sidebar-all {
	margin-top: 0.15rem;
}

/* Plugins: thumbnail in .post-thumbnail / RPWE */
.single-layout__sidebar .widget .post-thumbnail,
.single-layout__sidebar .widget .rpwe-thumb,
#secondary.sidebar .widget .post-thumbnail,
#secondary.sidebar .widget .rpwe-thumb {
	border-radius: var(--radius-md);
	overflow: hidden;
	line-height: 0;
	box-shadow: 0 2px 16px rgba(30, 58, 47, 0.1);
}

.single-layout__sidebar .widget .post-thumbnail img,
.single-layout__sidebar .widget .rpwe-thumb img,
#secondary.sidebar .widget .post-thumbnail img,
#secondary.sidebar .widget .rpwe-thumb img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: var(--radius-md);
}

.author-bio {
	margin-top: 2.5rem;
	padding: 1.5rem;
	background: var(--color-ivory-alt);
	border-radius: var(--radius-md);
	border: 1px solid var(--color-border);
}

/* Kerstmarkt infobox */
.kerstmarkt-infobox {
	display: grid;
	gap: 0.75rem;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	background: var(--color-ivory-alt);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 1.25rem;
	margin-bottom: 1.5rem;
}

.kerstmarkt-infobox__item dt {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-muted);
	margin: 0;
}

.kerstmarkt-infobox__item dd {
	margin: 0.25rem 0 0;
	font-weight: 600;
	color: var(--color-forest);
}

.kerstmarkt-infobox-wrap {
	margin-bottom: 1.5rem;
}

.kerstmarkt-infobox-wrap .kerstmarkt-infobox {
	margin-bottom: 0;
}

.kerstmarkt-infobox-linked {
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--color-border);
}

.kerstmarkt-infobox-wrap--linked-only .kerstmarkt-infobox-linked {
	margin-top: 0;
	padding-top: 0;
	border-top: none;
}

.kerstmarkt-infobox-linked__title {
	margin: 0 0 0.85rem;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--color-muted);
}

.kerstmarkt-infobox-linked__cards {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.kerstmarkt-infobox-linked__cards .ka-km-markt-card {
	margin-bottom: 0;
}

.kerstmarkt-tips {
	background: var(--color-forest);
	color: var(--color-warm-white);
	padding: 1.25rem 1.5rem;
	border-radius: var(--radius-md);
	margin: 2rem 0;
}

.kerstmarkt-tips h3 {
	color: var(--color-gold);
	margin: 0 0 0.75rem;
	font-size: 1.15rem;
}

.kerstmarkt-tips ul {
	margin: 0;
	padding-left: 1.1rem;
}

/* Kerstverblijf — ACF-infobox (.kv-*) */
.kv-verblijf-infobox {
	background: var(--color-ivory-alt);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: 1.35rem 1.5rem;
	margin-bottom: 1.75rem;
}

.kv-verblijf__header {
	margin-bottom: 1rem;
}

.kv-verblijf__badge--collab {
	display: inline-block;
	margin: 0 0 0.5rem;
	padding: 0.2rem 0.55rem;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	background: rgba(201, 149, 58, 0.18);
	color: var(--color-forest);
	border-radius: 4px;
}

.kv-verblijf__title {
	margin: 0 0 0.35rem;
	font-family: var(--font-display, var(--font-heading)), system-ui, sans-serif;
	font-size: 1.45rem;
	color: var(--color-forest);
}

.kv-verblijf__locatie {
	margin: 0;
	font-size: 0.95rem;
	color: var(--color-muted);
}

.kv-verblijf__rating-wrap {
	margin-top: 0.75rem;
}

.kv-verblijf__totaal {
	margin: 0;
	display: flex;
	align-items: baseline;
	gap: 0.35rem;
	flex-wrap: wrap;
}

.kv-verblijf__totaal-label {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--color-muted);
}

.kv-verblijf__totaal-score {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--color-gold);
}

.kv-verblijf__totaal-max {
	font-size: 0.95rem;
	color: var(--color-muted);
}

.kv-verblijf__samenvatting {
	margin: 1rem 0;
	font-size: 0.98rem;
	line-height: 1.55;
	color: var(--color-forest);
}

.kv-verblijf__samenvatting p {
	margin: 0 0 0.65rem;
}

.kv-verblijf__samenvatting p:last-child {
	margin-bottom: 0;
}

.kv-verblijf__scores {
	display: grid;
	gap: 0.65rem;
	margin: 1rem 0 1.25rem;
}

.kv-verblijf__score-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.25rem;
	font-size: 0.85rem;
}

.kv-verblijf__score-label {
	font-weight: 600;
	color: var(--color-forest);
}

.kv-verblijf__score-num {
	font-variant-numeric: tabular-nums;
	color: var(--color-muted);
}

.kv-verblijf__score-track {
	height: 6px;
	border-radius: 3px;
	background: rgba(30, 58, 47, 0.1);
	overflow: hidden;
}

.kv-verblijf__score-bar {
	display: block;
	height: 100%;
	border-radius: 3px;
	background: linear-gradient(90deg, var(--color-gold), #d4a84b);
}

.kv-verblijf__details {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
	margin: 0 0 1.25rem;
}

.kv-verblijf__details th,
.kv-verblijf__details td {
	padding: 0.5rem 0.35rem 0.5rem 0;
	border-bottom: 1px solid var(--color-border);
	vertical-align: top;
	text-align: left;
}

.kv-verblijf__details th {
	width: 38%;
	font-weight: 600;
	color: var(--color-muted);
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.kv-verblijf__details td {
	color: var(--color-forest);
}

.kv-verblijf__prijsklasse {
	display: inline-flex;
	align-items: center;
	gap: 2px;
	font-size: 1rem;
	letter-spacing: 0.02em;
}

.kv-verblijf__euro--active {
	color: var(--color-gold);
	font-weight: 700;
	opacity: 1;
}

.kv-verblijf__euro--inactive {
	color: var(--color-muted);
	opacity: 0.35;
	font-weight: 500;
}

.kv-verblijf__subhead {
	margin: 0 0 0.5rem;
	font-size: 1rem;
	color: var(--color-forest);
}

.kv-verblijf__activiteiten {
	margin: 1rem 0;
}

.kv-verblijf__activiteiten-body {
	font-size: 0.95rem;
	line-height: 1.55;
}

.kv-verblijf__ctas {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin: 1rem 0;
}

.kv-verblijf__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.65rem 1.15rem;
	font-size: 0.9rem;
	font-weight: 600;
	border-radius: 4px;
	text-decoration: none;
	transition: opacity 0.15s ease, background 0.15s ease;
}

.kv-verblijf__btn--primary {
	background: var(--color-gold);
	color: var(--color-forest);
	border: 1px solid transparent;
}

.kv-verblijf__btn--primary:hover,
.kv-verblijf__btn--primary:focus-visible {
	opacity: 0.92;
}

.kv-verblijf__btn--ghost {
	background: transparent;
	color: var(--color-forest);
	border: 1px solid var(--color-border);
}

.kv-verblijf__btn--ghost:hover,
.kv-verblijf__btn--ghost:focus-visible {
	background: rgba(30, 58, 47, 0.05);
}

.kv-verblijf__disclaimer {
	margin-top: 1.25rem;
	padding: 1rem 1.1rem;
	background: rgba(30, 58, 47, 0.06);
	border-radius: var(--radius-md, 8px);
	border-left: 3px solid var(--color-gold);
	font-size: 0.88rem;
	line-height: 1.5;
}

.kv-verblijf__disclaimer-label {
	display: block;
	margin-bottom: 0.35rem;
	color: var(--color-forest);
}

.kv-verblijf__disclaimer-text p {
	margin: 0 0 0.5rem;
}

.kv-verblijf__gallery {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 0.65rem;
	margin-top: 1rem;
}

.kv-verblijf__gallery-img {
	width: 100%;
	height: auto;
	border-radius: var(--radius-md, 8px);
	object-fit: cover;
}

.site-main--single .single-layout__main > .single-article > .kv-verblijf-infobox {
	margin-top: 0;
}

/* Search page */
.search-hero {
	padding: 2rem clamp(1rem, 4vw, 1.5rem);
	background: var(--color-ivory-alt);
	border-bottom: 1px solid var(--color-border);
}

.search-hero__form {
	max-width: 560px;
	margin: 1rem auto 0;
}

.search-grid {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 1fr;
}

/* Single: metadata-regel — duidelijk ondergeschikt aan de titel */
.entry-header__meta {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.85rem 1.25rem;
	margin: 0 0 1.15rem;
	padding: 0 0 1rem;
	border-bottom: 1px solid rgba(74, 59, 51, 0.1);
	background: none;
	border-radius: 0;
	box-shadow: none;
	font-size: 0.78rem;
	line-height: 1.4;
}

.entry-header__meta-start {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.45rem 0.65rem;
	min-width: 0;
	flex: 1;
}

.entry-header__cat {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	margin: 0;
	font-size: 0.625rem;
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.11em;
	color: #4a3b33;
	background: #faf6ef;
	border: 1px solid rgba(74, 59, 51, 0.14);
	padding: 0.34rem 0.55rem;
	border-radius: 4px;
	text-decoration: none;
	box-shadow: none;
	transition:
		color 0.15s ease,
		border-color 0.15s ease,
		background 0.15s ease;
}

.entry-header__cat:hover {
	color: #c42f27;
	background: #ffffff;
	border-color: rgba(196, 47, 39, 0.28);
}

.entry-header__cat + .entry-header__topics {
	padding-left: 0.65rem;
	border-left: 1px solid rgba(30, 58, 47, 0.1);
}

.entry-header__topics {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.25rem 0.4rem;
	min-width: 0;
}

.entry-header__topic {
	font-size: 0.78rem;
	font-weight: 500;
	color: var(--color-muted);
	text-decoration: none;
	text-transform: capitalize;
	white-space: nowrap;
	transition: color 0.15s ease;
}

a.entry-header__topic:hover {
	color: var(--color-red);
	text-decoration: underline;
	text-decoration-color: rgba(226, 59, 51, 0.35);
	text-underline-offset: 0.16em;
}

.entry-header__sep {
	color: rgba(30, 58, 47, 0.28);
	font-weight: 400;
	user-select: none;
}

.entry-header__date {
	flex-shrink: 0;
	font-size: 0.72rem;
	font-weight: 500;
	line-height: 1;
	color: rgba(91, 89, 83, 0.9);
	background: var(--color-ivory-alt);
	border: 1px solid var(--color-border);
	border-radius: 4px;
	padding: 0.3rem 0.55rem;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
	box-shadow: none;
}

.entry-header__note {
	display: inline-flex;
	align-items: center;
	font-size: 0.625rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.08em;
	white-space: nowrap;
	padding: 0.34rem 0.5rem;
	border-radius: 4px;
	border: 1px solid rgba(74, 59, 51, 0.12);
	background: #faf6ef;
	color: #4a3b33;
	box-sizing: border-box;
}

.entry-header__note--year {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.06em;
	font-weight: 600;
	color: #4a3b33;
	background: #ffffff;
	border-color: rgba(74, 59, 51, 0.12);
}

.entry-header__note--collab {
	text-transform: uppercase;
	color: #4a3b33;
	background: #faf6ef;
}

.site-main--single .entry-header__meta + .entry-title {
	margin-top: 0.35rem;
}

@media (max-width: 640px) {
	.entry-header__meta {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.55rem;
	}

	.entry-header__cat + .entry-header__topics {
		padding-left: 0;
		border-left: none;
	}

	.entry-header__date {
		font-size: 0.7rem;
	}
}

.content-layout {
	display: grid;
	gap: 2rem;
	max-width: var(--content-max);
	min-width: 0;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	align-items: start;
}

.content-layout--sidebar {
	grid-template-columns: 1fr;
}

.related-posts {
	padding: 3rem 0;
	background: #faf6ef;
	border-top: 1px solid rgba(74, 59, 51, 0.1);
}

.related-posts__title {
	font-family: var(--font-heading);
	font-size: clamp(1.25rem, 2.4vw, 1.5rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #4a3b33;
	margin: 0 0 1.5rem;
	text-align: center;
}

.filter-bar__select {
	display: block;
	width: 100%;
	max-width: 280px;
	padding: 0.5rem 0.75rem;
	font-family: var(--font-body);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
}

@media (min-width: 768px) {
	.filter-bar__select {
		display: none;
	}
}

@media (max-width: 767px) {
	.filter-bar__links {
		display: none;
	}

	.filter-bar__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 0.5rem;
	}

	.filter-bar__select {
		max-width: none;
		width: 100%;
		min-height: 2.75rem;
		box-sizing: border-box;
	}
}

/* —— Archive pagination (the_posts_pagination: .navigation.pagination / .nav-links) —— */
.navigation.pagination {
	margin-top: clamp(2rem, 4vw, 2.75rem);
	margin-bottom: 0;
	clear: both;
}

.navigation.pagination .nav-links,
.content-layout__main .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 0.4rem 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--font-body);
}

.navigation.pagination a.page-numbers,
.navigation.pagination span.page-numbers,
.content-layout__main .nav-links a.page-numbers,
.content-layout__main .nav-links span.page-numbers {
	box-sizing: border-box;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.35rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	color: var(--color-forest);
	background: var(--color-warm-white);
	border: 1px solid var(--color-border);
	border-radius: 4px;
	transition:
		color var(--transition),
		background var(--transition),
		border-color var(--transition),
		box-shadow var(--transition);
}

.navigation.pagination a.page-numbers:hover,
.content-layout__main .nav-links a.page-numbers:hover {
	color: var(--color-forest);
	background: rgba(196, 47, 39, 0.06);
	border-color: rgba(196, 47, 39, 0.28);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
}

.navigation.pagination a.page-numbers:focus-visible,
.content-layout__main .nav-links a.page-numbers:focus-visible {
	outline: 2px solid var(--color-gold);
	outline-offset: 2px;
}

.navigation.pagination span.page-numbers.dots,
.content-layout__main .nav-links span.page-numbers.dots {
	min-width: auto;
	padding: 0 0.25rem;
	border: none;
	background: transparent;
	color: var(--color-muted);
	font-weight: 500;
}

.navigation.pagination span.page-numbers.current,
.navigation.pagination span.page-numbers[aria-current="page"],
.content-layout__main .nav-links span.page-numbers.current,
.content-layout__main .nav-links span.page-numbers[aria-current="page"] {
	color: var(--color-forest);
	background: rgba(201, 149, 58, 0.18);
	border-color: rgba(201, 149, 58, 0.5);
	box-shadow: none;
	cursor: default;
}

.navigation.pagination a.prev.page-numbers,
.navigation.pagination a.next.page-numbers,
.content-layout__main .nav-links a.prev.page-numbers,
.content-layout__main .nav-links a.next.page-numbers {
	min-width: auto;
	padding: 0 1rem;
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.02em;
}

/* =============================================
   WELCOME BAND — warm welkom onder de header
   ============================================= */
.welcome-band {
	background: var(--color-forest);
	color: var(--color-warm-white);
	padding: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 4vw, 3rem);
	position: relative;
	overflow: hidden;
	border-bottom: 3px solid transparent;
	background-image:
		linear-gradient(var(--color-forest), var(--color-forest)),
		linear-gradient(90deg, transparent 0%, var(--color-gold) 20%, var(--color-gold) 80%, transparent 100%);
	background-origin: border-box;
	background-clip: padding-box, border-box;
}

.welcome-band::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 10% 20%, rgba(201, 149, 58, 0.08) 0%, transparent 30%),
		radial-gradient(circle at 90% 80%, rgba(201, 149, 58, 0.06) 0%, transparent 30%);
	pointer-events: none;
}

.welcome-band__star {
	position: absolute;
	color: var(--color-gold);
	opacity: 0.35;
	font-size: 12px;
	animation: welcomeTwinkle 3s ease-in-out infinite;
	pointer-events: none;
}

.welcome-band__star--1 {
	top: 20%;
	left: 8%;
	animation-delay: 0s;
}

.welcome-band__star--2 {
	top: 70%;
	left: 12%;
	font-size: 8px;
	animation-delay: 1s;
}

.welcome-band__star--3 {
	top: 30%;
	right: 15%;
	font-size: 10px;
	animation-delay: 2s;
}

.welcome-band__star--4 {
	top: 75%;
	right: 10%;
	font-size: 14px;
	animation-delay: 0.5s;
}

.welcome-band__star--5 {
	top: 15%;
	right: 45%;
	font-size: 6px;
	animation-delay: 1.5s;
}

@keyframes welcomeTwinkle {
	0%,
	100% {
		opacity: 0.2;
		transform: scale(0.9);
	}

	50% {
		opacity: 0.55;
		transform: scale(1.1);
	}
}

.welcome-band__inner {
	max-width: var(--content-max);
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.welcome-band__tag {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-body);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--color-gold);
	font-weight: 500;
	margin: 0 0 1.25rem;
}

.welcome-band__tag::before {
	content: "";
	width: 24px;
	height: 1px;
	background: var(--color-gold);
	display: inline-block;
}

.welcome-band__heading {
	font-family: var(--font-heading);
	font-size: clamp(1.75rem, 3.5vw, 2.75rem);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: -0.01em;
	max-width: 820px;
	margin: 0 0 1.25rem;
	font-style: italic;
	color: var(--color-warm-white);
}

.welcome-band__heading em {
	font-style: normal;
	color: var(--color-gold);
	font-weight: 500;
}

.welcome-band__text {
	font-family: var(--font-body);
	font-size: clamp(1rem, 1.6vw, 1.0625rem);
	line-height: 1.7;
	max-width: 680px;
	color: rgba(255, 255, 255, 0.85);
	margin: 0 0 2rem;
}

.welcome-band__spotlight {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	padding-top: 1.75rem;
	border-top: 1px solid rgba(201, 149, 58, 0.25);
	align-items: center;
}

.welcome-band__spotlight-label {
	font-family: var(--font-body);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--color-gold);
	font-weight: 500;
	margin-right: 0.5rem;
}

.welcome-band__spotlight-item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 0.5rem 1rem;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(201, 149, 58, 0.2);
	border-radius: 4px;
	font-family: var(--font-body);
	font-size: 0.875rem;
	color: var(--color-warm-white);
	text-decoration: none;
	transition:
		background var(--transition),
		border-color var(--transition),
		transform var(--transition);
}

.welcome-band__spotlight-item::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--color-gold);
	flex-shrink: 0;
}

.welcome-band__spotlight-item:hover,
.welcome-band__spotlight-item:focus-visible {
	background: rgba(201, 149, 58, 0.15);
	border-color: var(--color-gold);
	transform: translateY(-1px);
	outline: none;
}

.welcome-band__spotlight-item--static {
	cursor: default;
}

.welcome-band__spotlight-item--static:hover {
	transform: none;
}

/* =============================================
   CATEGORY ENTRANCES, vier kaarten (zelfde taal als featured grid)
   ============================================= */
.category-entrances {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1rem, 4vw, 1.5rem);
}

.category-entrances__head {
	margin-bottom: clamp(1.25rem, 3vw, 2rem);
	border-left: 3px solid var(--color-forest);
	padding-left: 0.85rem;
}

.category-entrances__label {
	font-family: var(--font-body);
	font-style: normal;
	font-size: 0.6875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: var(--color-muted);
	margin: 0 0 0.5rem;
}

.category-entrances__heading {
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 600;
	font-style: normal;
	color: var(--color-forest);
	margin: 0;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.category-entrances__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.65rem;
}

@media (min-width: 600px) {
	.category-entrances__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.85rem 1rem;
	}
}

/* Horizontale thema-stroken: beeld links, tekst rechts (anders dan artikelkaarten) */
.category-entrances__card {
	display: grid;
	grid-template-columns: minmax(88px, 32%) minmax(0, 1fr);
	align-items: stretch;
	column-gap: 0;
	min-height: 0;
	border-radius: 10px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	background: #ffffff;
	border: 1px solid rgba(232, 226, 217, 0.95);
	box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset;
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.category-entrances__card:hover,
.category-entrances__card:focus-visible {
	transform: translateY(-2px);
	border-color: rgba(201, 149, 58, 0.42);
	box-shadow:
		0 10px 28px rgba(30, 58, 47, 0.07),
		0 0 0 1px rgba(201, 149, 58, 0.1) inset;
	outline: none;
}

.category-entrances__card-media {
	position: relative;
	min-height: 100%;
	min-width: 0;
	overflow: hidden;
	background: var(--color-ivory-alt);
	border-right: 1px solid rgba(232, 226, 217, 0.9);
}

.category-entrances__card-image {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.45s ease;
}

.category-entrances__card:hover .category-entrances__card-image,
.category-entrances__card:focus-visible .category-entrances__card-image {
	transform: scale(1.05);
}

.category-entrances__card-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 0.45rem;
	padding: 0.85rem 0.95rem 0.9rem 1.05rem;
	min-width: 0;
	min-height: 6.5rem;
}

.category-entrances__card-label {
	font-family: var(--font-body);
	font-size: 0.5625rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-gold);
	padding: 0;
	background: none;
	border: none;
	border-bottom: 2px solid rgba(201, 149, 58, 0.35);
	padding-bottom: 0.2rem;
}

.category-entrances__card:hover .category-entrances__card-label,
.category-entrances__card:focus-visible .category-entrances__card-label {
	color: var(--color-forest);
	border-bottom-color: rgba(30, 58, 47, 0.25);
}

.category-entrances__card-title {
	display: block;
	font-family: var(--font-display);
	font-size: clamp(0.95rem, 1.9vw, 1.15rem);
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--color-forest);
}

.category-entrances__card-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin-top: 0.35rem;
	padding-top: 0;
	font-family: var(--font-body);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--color-gold);
	letter-spacing: 0.02em;
	transition:
		color var(--transition),
		gap var(--transition);
}

.category-entrances__card:hover .category-entrances__card-cta,
.category-entrances__card:focus-visible .category-entrances__card-cta {
	color: var(--color-forest);
	gap: 0.625rem;
}

/* =============================================
   CATEGORY ENTRANCES, fallback voor lege kaarten
   ============================================= */
.category-entrances__card-image--fallback {
	background: linear-gradient(
			135deg,
			rgba(255, 255, 255, 0.05) 0%,
			rgba(255, 255, 255, 0) 60%
		),
		radial-gradient(circle at 30% 30%, rgba(201, 149, 58, 0.15) 0%, transparent 50%);
}

/* =============================================
   COUCH SECTION, Voor op de bank
   ============================================= */
.couch-section {
	max-width: var(--content-max);
	margin: 0 auto;
	padding: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 4vw, 1.5rem);
	border-top: 1px solid var(--color-border);
}

.couch-section__head {
	text-align: left;
	max-width: none;
	margin: 0 0 2rem;
}

.couch-section__label {
	font-family: var(--font-body);
	font-size: 0.6875rem;
	text-transform: uppercase;
	letter-spacing: 0.14em;
	color: #c42f27;
	font-weight: 600;
	margin: 0 0 0.5rem;
}

.couch-section__heading {
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 600;
	font-style: normal;
	color: var(--color-heading);
	line-height: 1.15;
	letter-spacing: -0.01em;
	margin: 0 0 0.75rem;
}

.couch-section__intro {
	font-family: var(--font-body);
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--color-muted);
	margin: 0;
}

.couch-section__columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(1.5rem, 4vw, 3rem);
}

.couch-section__column-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.25rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--color-border);
}

.couch-section__column-title {
	font-family: var(--font-heading);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-heading);
	font-style: normal;
	margin: 0;
}

.couch-section__column-all {
	font-family: var(--font-body);
	font-size: 0.875rem;
	color: var(--color-red);
	text-decoration: none;
	font-weight: 600;
	white-space: nowrap;
	transition: color var(--transition);
}

.couch-section__column-all:hover,
.couch-section__column-all:focus-visible {
	color: var(--color-red-deep);
	outline: none;
}

.couch-section__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.couch-section__item {
	margin: 0;
	padding: 0;
}

.couch-section__item-link {
	display: grid;
	grid-template-columns: 88px 1fr;
	gap: 1rem;
	align-items: start;
	padding: 0.875rem 1rem;
	text-decoration: none;
	color: inherit;
	background: #ffffff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	box-shadow: 0 1px 2px rgba(20, 19, 18, 0.04);
	transition:
		background var(--transition),
		border-color var(--transition),
		box-shadow var(--transition);
}

.couch-section__item-link:hover,
.couch-section__item-link:focus-visible {
	background: var(--color-surface-mint);
	border-color: rgba(42, 99, 73, 0.18);
	box-shadow: 0 4px 14px rgba(20, 19, 18, 0.06);
	outline: none;
}

.couch-section__item-thumb {
	width: 88px;
	height: 88px;
	border-radius: var(--radius-sm);
	overflow: hidden;
	background: var(--color-ivory-alt);
	position: relative;
}

.couch-section__item-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.couch-section__item-thumb-placeholder {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--color-ivory-alt) 0%, var(--color-border) 100%);
}

.couch-section__item-body {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-width: 0;
}

.couch-section__item-title {
	font-family: var(--font-heading);
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-heading);
	line-height: 1.3;
	letter-spacing: -0.015em;
	margin: 0;
	transition: color var(--transition);
}

.couch-section__item-link:hover .couch-section__item-title,
.couch-section__item-link:focus-visible .couch-section__item-title {
	color: var(--color-red-deep);
}

.couch-section__item-excerpt {
	font-family: var(--font-body);
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--color-muted);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* =============================================
   ARTICLE CARD CTA, subtiele lees-meer binnen kaart
   ============================================= */
.article-card__cta:not(.article-card__cta--more):not(.article-card__cta--cadeaus) {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin-top: 0.75rem;
	font-family: var(--font-body);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-red);
	letter-spacing: 0.02em;
	transition:
		color var(--transition),
		gap var(--transition);
}

.article-card:hover .article-card__cta:not(.article-card__cta--more):not(.article-card__cta--cadeaus),
.article-card:focus-within .article-card__cta:not(.article-card__cta--more):not(.article-card__cta--cadeaus) {
	color: var(--color-red-deep);
	gap: 0.625rem;
}

/* =============================================
   COUCH SECTION, lees verder naast item
   ============================================= */
.couch-section__item-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin-top: 0.375rem;
	font-family: var(--font-body);
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--color-red);
	letter-spacing: 0.02em;
	transition:
		color var(--transition),
		gap var(--transition);
}

.couch-section__item-link:hover .couch-section__item-cta,
.couch-section__item-link:focus-visible .couch-section__item-cta {
	color: var(--color-red-deep);
	gap: 0.625rem;
}

/* =============================================
   Kerststemming-quiz (pagina + shortcode)
   Intro (H1, p) en CTA één gecentreerde kolom; vragen/resultaattekst blijven links.
   ============================================= */
body.page .page-article .entry-content:has(.kst-root) > *:not(.wp-block-shortcode) {
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

body.page .page-article .entry-content:has(.kst-root) > .wp-block-shortcode,
body.page .page-article .entry-content:has(.kst-root) > .kst-root {
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
}

body.page .page-article .entry-content:has(.kst-root) .wp-block-group:has(.kst-root) {
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

body.page .page-article .entry-content:has(.kst-root) .kst-container.kst-question,
body.page .page-article .entry-content:has(.kst-root) .kst-container.kst-result {
	text-align: left;
}

body.page .page-article .entry-content:has(.kst-root) .kst-result-hero,
body.page .page-article .entry-content:has(.kst-root) .kst-result-newsletter,
body.page .page-article .entry-content:has(.kst-root) .kst-share-buttons {
	text-align: center;
}

/* Kaarten = thema .article-card; reset .entry-content a (underline / kleur) op kaartlinks */
body.page .page-article .entry-content:has(.kst-root) .kst-articles-grid .article-card__link {
	color: inherit;
	text-decoration: none;
}

body.page .page-article .entry-content:has(.kst-root) .kst-articles-grid .article-card__link:hover,
body.page .page-article .entry-content:has(.kst-root) .kst-articles-grid .article-card__link:focus-visible {
	color: inherit;
}

body.page .page-article .entry-content:has(.kst-root) .kst-articles-grid .article-card,
body.page .page-article .entry-content:has(.kst-root) .kst-articles-grid .article-card__body,
body.page .page-article .entry-content:has(.kst-root) .kst-articles-grid .article-card__title,
body.page .page-article .entry-content:has(.kst-root) .kst-articles-grid .article-card__excerpt {
	text-align: left;
}

body.page .page-article .entry-content:has(.kst-root) .kst-result-newsletter h2,
body.page .page-article .entry-content:has(.kst-root) .kst-result-newsletter p {
	color: var(--color-warm-white);
}



/* --- responsive.css --- */
/**
 * Breakpoints: 480px, 768px, 1024px, 1280px
 */

@media (min-width: 480px) {
	.trend-strip__grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.search-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.featured-grid__side {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
	}
}

@media (min-width: 768px) {
	.featured-grid__layout {
		grid-template-columns: minmax(0, 1.2fr) minmax(300px, 1fr);
		gap: clamp(1.5rem, 3vw, 2.25rem);
		align-items: start;
	}

	.featured-grid__side {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.65rem;
		padding: 0.65rem;
		background: var(--color-ivory-alt);
		border: 1px solid var(--color-border);
		border-radius: 12px;
		box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
	}

	.featured-grid__layout > .article-card--featured {
		align-self: start;
		height: auto;
	}

	.featured-grid__layout > .article-card--featured .article-card__link {
		height: auto;
	}

	.trend-strip__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.section-showcase__grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.section-showcase__grid--recepten {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.section-showcase__grid--cadeaus {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.post-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.long-read-card {
		grid-template-columns: minmax(0, 280px) 1fr;
	}

	.long-read-card__media {
		min-height: 100%;
	}

	.long-read-row__duo:not(.long-read-row__duo--single) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}

	.site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: clamp(1.5rem, 3vw, 2rem);
		row-gap: clamp(1.75rem, 3vw, 2.25rem);
		align-items: start;
	}
}

/* Footer: op smalle schermen gecentreerd (leest rustiger) */
@media (max-width: 767px) {
	.site-footer__grid {
		text-align: center;
		justify-items: center;
	}

	.site-footer__col,
	.site-footer__col--about {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		max-width: 28rem;
		margin-left: auto;
		margin-right: auto;
	}

	.site-footer__col-label {
		text-align: center;
		width: 100%;
	}

	.footer-menu {
		width: 100%;
		text-align: center;
	}

	.footer-menu li {
		text-align: center;
	}

	.site-footer .site-footer__brand-mark {
		align-items: center;
		text-align: center;
	}

	.site-footer .site-footer__logo {
		align-self: center;
	}

	.site-footer .site-footer__logo a.custom-logo-link {
		margin: 0 auto;
	}

	.site-footer__logo--custom .custom-logo {
		object-position: center center;
		margin-left: auto;
		margin-right: auto;
	}

	.site-footer .site-logo-text {
		text-align: center;
	}

	.site-footer__tagline,
	.site-footer__about {
		text-align: center;
	}
}

/*
 * Sidebar naast inhoud vanaf ~tablet landscape: voorkomt dat de kolom pas
 * onder het hele artikel verschijnt (992–1023 was voorheen nog één kolom).
 */
@media (min-width: 992px) {
	.content-layout--sidebar {
		grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
		align-items: start;
	}

	.content-layout--no-sidebar {
		grid-template-columns: minmax(0, 1fr);
	}

	.content-layout__main {
		min-width: 0;
	}

	/* Single: exact dezelfde kolommen als archief (.content-layout--sidebar) */
	.site-main--single .single-layout {
		grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
		grid-template-areas: "single-main single-side";
		align-items: start;
		gap: 1rem 2rem;
	}

	.site-main--single .single-layout__main {
		grid-area: single-main;
		min-width: 0;
	}

	.site-main--single .single-layout__sidebar {
		grid-area: single-side;
		min-width: 0;
	}

	.single-layout__sidebar,
	.content-layout__sidebar,
	.archive-layout__sidebar {
		align-self: start;
		min-width: 0;
	}

	.archive-layout.content-layout--sidebar {
		grid-template-columns: minmax(0, 1fr) minmax(260px, 300px);
		gap: 1rem 2rem;
	}

	.toc-sidebar {
		display: block;
	}
}

@media (min-width: 1024px) {
	.post-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.section-showcase__grid--recepten {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 1.35rem;
	}

	.site-footer__grid {
		grid-template-columns: repeat(4, 1fr);
		column-gap: clamp(1.5rem, 2.8vw, 2.25rem);
		row-gap: clamp(1.75rem, 2.5vw, 2rem);
		align-items: start;
	}
}

@media (max-width: 768px) {
	.welcome-band__spotlight {
		gap: 0.5rem;
	}

	.welcome-band__spotlight-label {
		width: 100%;
		margin-bottom: 0.25rem;
		margin-right: 0;
	}

	.couch-section__columns {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	/* Single: compactere kaart; shell-padding via .container (= archief) */
	.site-main--single .single-layout {
		gap: 1.25rem;
	}

	.site-main--single .single-layout__main > .single-article {
		padding: 1.15rem 1rem 2rem;
	}

	.site-header__inner {
		padding-top: 0.45rem;
		padding-bottom: 0.45rem;
	}

	.site-header__search-toggle,
	.menu-toggle {
		width: 40px;
		height: 40px;
	}

	.site-main--single .single-layout__main > .single-hero {
		border-radius: var(--radius-md) var(--radius-md) 0 0;
	}

	.site-main--single .single-layout__main > .single-article {
		border-radius: 0 0 var(--radius-md) var(--radius-md);
	}

	.site-main--single .entry-header .entry-title {
		font-size: clamp(1.45rem, 7vw, 1.85rem);
	}

	.single-article .entry-content .wp-block-image figcaption,
	.single-article .entry-content .wp-block-image .wp-element-caption {
		flex-wrap: wrap;
		padding: 0.65rem 0.75rem 0.75rem;
	}
}

@media (max-width: 480px) {
	.welcome-band__heading {
		font-size: 1.5rem;
	}

	.welcome-band__text {
		font-size: 0.95rem;
	}

	.couch-section__item-link {
		grid-template-columns: 72px 1fr;
		gap: 0.75rem;
		padding: 0.75rem 0.875rem;
	}

	.couch-section__item-thumb {
		width: 72px;
		height: 72px;
	}
}


/* --- style.css --- */
/*
Theme Name: Kerstavontuur 2026
Theme URI: https://kerstavontuur.com
Author: Kerstavontuur
Author URI: https://kerstavontuur.com
Description: Editorial kerst- & winterblog-thema: ivory/forest/gold, Fraunces + DM Sans, homepage met 8 blokken, affiliate-hooks, Elementor-compatibel.
Version: 4.9.89
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kerstavontuur-2026
Tags: blog, custom-menu, featured-images, full-width-template, rtl-language-support, threaded-comments, translation-ready

Kerstavontuur 2026 — volledig custom theme.
*/

/* Critical reset & fallbacks; hoofdstijl in assets/css/main.css */

/*
 * Sorteer-tabs (full-width bar). Categorie-archief gebruikt .filter-bar--inline
 * naast de titel — styling daarvan staat in archive-layout.css + fris-colors.css.
 */
.filter-bar:not(.filter-bar--inline) {
	position: static;
	background: var(--color-ivory, #ffffff);
	border-bottom: 1px solid var(--color-border, #e5e5e3);
	padding: 0.75rem 0;
	box-shadow: 0 1px 0 rgba(30, 58, 47, 0.04);
}

/* Zelfde horizontale ritme als .container → uitlijning met content-layout */
.filter-bar:not(.filter-bar--inline) .filter-bar__inner {
	max-width: var(--content-max);
	margin: 0 auto;
	padding-left: clamp(1rem, 4vw, 1.5rem);
	padding-right: clamp(1rem, 4vw, 1.5rem);
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

@media (min-width: 768px) {
	.filter-bar:not(.filter-bar--inline) .filter-bar__label {
		display: none !important;
	}
}

.filter-bar:not(.filter-bar--inline) .filter-bar__links {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
	width: fit-content;
	max-width: 100%;
	margin: 0;
	padding: 6px 8px;
	background: #ffffff;
	border: 1px solid #e5e5e3;
	border-radius: 10px;
	box-sizing: border-box;
}

.filter-bar:not(.filter-bar--inline) .filter-bar__links a {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--color-muted);
	padding: 8px 16px;
	border-radius: 7px;
	background: transparent;
	border: none !important;
	text-decoration: none !important;
	cursor: pointer;
	transition:
		color 0.15s ease,
		background 0.15s ease,
		box-shadow 0.15s ease,
		border-color 0.15s ease,
		font-weight 0.15s ease;
}

.filter-bar:not(.filter-bar--inline) .filter-bar__links a:hover {
	color: #4a3b33;
	background: #f3f3f1;
	border: none !important;
	text-decoration: none !important;
	box-shadow: none;
}

.filter-bar:not(.filter-bar--inline) .filter-bar__links a.is-active {
	background: #ffffff;
	color: #4a3b33;
	font-weight: 500;
	border: 1px solid #e5e5e3 !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	text-decoration: underline !important;
	text-decoration-color: #e23b33 !important;
	text-decoration-thickness: 1.5px;
	text-underline-offset: 4px;
	padding: 8px 16px 6px;
}

.filter-bar:not(.filter-bar--inline) .filter-bar__links a.is-active:hover {
	color: #4a3b33;
	background: #ffffff;
	border: 1px solid #e5e5e3 !important;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.filter-bar:not(.filter-bar--inline) .filter-bar__links a:focus-visible {
	outline: 2px solid #e23b33;
	outline-offset: 2px;
}

.filter-bar:not(.filter-bar--inline) .filter-bar__select {
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 400;
	color: #4a3b33;
	background: #ffffff;
	border: 1px solid #e5e5e3;
	border-radius: 10px;
	padding: 10px 12px;
	cursor: pointer;
}

@media (min-width: 768px) {
	.filter-bar:not(.filter-bar--inline) .filter-bar__select {
		display: none;
	}
}

@media (max-width: 767px) {
	.filter-bar:not(.filter-bar--inline) .filter-bar__links {
		display: none !important;
	}

	.filter-bar:not(.filter-bar--inline) .filter-bar__inner {
		flex-direction: column;
		align-items: stretch;
		gap: 0.5rem;
	}

	.filter-bar:not(.filter-bar--inline) .filter-bar__label {
		display: block !important;
		font-size: 0.8125rem;
		font-weight: 600;
		color: #5b5953;
		margin: 0;
	}

	.filter-bar:not(.filter-bar--inline) .filter-bar__select {
		display: block !important;
		width: 100%;
		max-width: none;
		min-height: 2.75rem;
		box-sizing: border-box;
	}
}

/*
 * Loop grids (archive, category, blog index, search, single related) — article cards
 */
.post-grid .article-card {
	background: #ffffff;
	border-radius: 12px;
	border: 1px solid #e5e5e3;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.post-grid .article-card__link {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-height: 0;
	height: 100%;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transform: none !important;
	transition: none;
}

.post-grid .article-card__link:hover {
	box-shadow: none !important;
	transform: none !important;
}

.post-grid .article-card__link:hover .article-card__title {
	color: #4a3b33 !important;
}

.post-grid .article-card__media {
	position: relative;
	aspect-ratio: auto;
	height: 200px;
	min-height: 200px;
	max-height: 200px;
	overflow: hidden;
	flex-shrink: 0;
	background: #f3f3f1;
}

.post-grid .article-card__media img {
	width: 100%;
	height: 200px;
	max-height: 200px;
	object-fit: cover;
	display: block;
}

.post-grid .article-card__media .article-card__media {
	min-height: 200px !important;
	height: 100% !important;
}

.post-grid .article-card__body {
	padding: 16px 18px 18px;
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 0;
}

/* Badges-rij: geen margin op losse chips (anders staat jaartag scheef t.o.v. categorie) */
.post-grid .article-card__badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-self: flex-start;
	gap: 4px 6px;
	margin-bottom: 8px;
	max-width: 100%;
}

.post-grid .article-card__badges .article-card__cat,
.post-grid .article-card__badges .article-card__tag--year,
.post-grid .article-card__badges .article-card__tag--topic,
.post-grid .article-card__badges .article-card__tag--collab {
	margin: 0;
}

.post-grid .article-card__cat {
	background: #faf6ef;
	color: #4a3b33;
	border: 1px solid rgba(74, 59, 51, 0.12);
	font-family: var(--font-body);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 3px 8px;
	border-radius: 3px;
	width: fit-content;
	max-width: 100%;
	box-shadow: none;
}

.post-grid .article-card__tag--collab {
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.05em;
	padding: 2px 6px;
	color: #7a6a58;
	background: #ffffff;
	border: 1px solid rgba(74, 59, 51, 0.14);
	box-shadow: none;
}

.post-grid .article-card__title {
	font-family: var(--font-heading), system-ui, sans-serif;
	font-size: 1.125rem;
	font-weight: 600;
	color: #4a3b33 !important;
	line-height: 1.3;
	margin: 0 0 6px;
	word-break: normal;
	overflow-wrap: break-word;
	hyphens: auto;
}

.post-grid .article-card__excerpt {
	font-family: var(--font-body);
	font-size: 0.875rem;
	color: var(--color-text);
	line-height: 1.5;
	margin: 0 0 12px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.post-grid .article-card__meta,
.featured-grid .article-card__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: auto;
	margin-bottom: 0;
	flex-wrap: nowrap;
	gap: 0.5rem;
	width: 100%;
	min-height: 2.25rem;
	padding-top: 0.5rem;
}

.post-grid .article-card__meta-badge--date,
.featured-grid .article-card__meta-badge--date {
	font-size: 0.75rem;
	padding: 0;
	background: none;
	border: none;
	flex-shrink: 0;
	white-space: nowrap;
}

.post-grid .article-card__meta::after,
.featured-grid .article-card__meta::after {
	content: none !important;
	display: none !important;
}

/* Kaart-CTA's: strakke knop (geen pill) */
.article-card__cta--more,
.article-card__cta--cadeaus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-family: var(--font-body);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.25;
	color: #4a3b33;
	background: #ffffff;
	border: 1.5px solid rgba(74, 59, 51, 0.18);
	padding: 7px 14px;
	border-radius: 4px;
	box-shadow: none;
	transition:
		background 0.18s ease,
		color 0.18s ease,
		border-color 0.18s ease;
}

.article-card__cta--more {
	margin-left: auto;
}

.article-card__cta--cadeaus {
	margin-top: 0.75rem;
	align-self: flex-start;
}

.article-card__link:hover .article-card__cta--more,
.article-card__link:hover .article-card__cta--cadeaus {
	background: #e23b33;
	color: #ffffff;
	border-color: #e23b33;
	box-shadow: none;
}

/* —— 404 pagina —— */
body.error404 .site-main--404 {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	padding: clamp(1.25rem, 4vw, 2rem);
	box-sizing: border-box;
}

body.error404 .error-404 {
	background: #ffffff;
	border: 1px solid #e5e5e3;
	border-radius: 16px;
	border-top: 3px solid #e23b33;
	padding: 48px 40px 40px;
	max-width: 480px;
	width: 100%;
	text-align: center;
	margin: 0 auto;
	box-sizing: border-box;
}

body.error404 .error-404 .page-header {
	margin: 0;
	padding: 0;
	border: none;
	background: none;
}

body.error404 .error-404__code {
	display: block;
	font-family: var(--font-heading), system-ui, sans-serif;
	font-size: 96px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: -2px;
	color: #4a3b33;
	margin: 0;
	background: none;
	-webkit-background-clip: unset;
	background-clip: unset;
	animation: none;
}

body.error404 .error-404__divider {
	width: 40px;
	height: 2px;
	background: #e23b33;
	margin: 0 auto 20px;
}

body.error404 .error-404 .page-title {
	font-family: var(--font-heading), system-ui, sans-serif;
	font-size: 24px;
	font-weight: 600;
	color: #4a3b33;
	line-height: 1.3;
	margin: 0 0 12px;
	letter-spacing: normal;
}

body.error404 .error-404__lead {
	font-family: var(--font-body);
	font-size: 14px;
	color: var(--color-text);
	line-height: 1.7;
	margin: 0 auto;
	max-width: 28rem;
}

body.error404 .error-404__actions {
	margin-top: 24px;
	margin-bottom: 0;
}

body.error404 .error-404__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 500;
	color: #ffffff;
	background: #4a3b33;
	border: none;
	border-radius: 8px;
	padding: 10px 24px;
	text-decoration: none;
	transition: background 0.2s ease;
}

body.error404 .error-404__btn:hover,
body.error404 .error-404__btn:focus-visible {
	background: #2a4a38;
	color: #ffffff;
}

body.error404 .error-404__separator {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin: 24px 0 20px;
}

body.error404 .error-404__separator-line {
	flex: 1;
	height: 1px;
	background: #e5e5e3;
	min-width: 0;
}

body.error404 .error-404__separator-text {
	flex-shrink: 0;
	font-family: var(--font-body);
	font-size: 12px;
	color: #a0a89e;
}

body.error404 .error-404__search {
	margin: 0;
	padding: 0;
	border: none;
}

body.error404 .error-404 .search-form {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 8px;
	justify-content: center;
	max-width: 100%;
}

body.error404 .error-404 .search-form__input {
	flex: 1 1 10rem;
	min-width: 0;
	padding: 9px 14px;
	font-family: var(--font-body);
	font-size: 13px;
	border: 1px solid #e5e5e3;
	border-radius: 8px;
	background: #ffffff;
	transition: border-color 0.2s ease;
}

body.error404 .error-404 .search-form__input:focus {
	outline: none;
	border-color: #e23b33;
	background: #ffffff;
}

body.error404 .error-404 .search-form__submit {
	padding: 9px 18px;
	font-family: var(--font-body);
	font-size: 13px;
	font-weight: 500;
	color: #4a3b33;
	background: #f3f3f1;
	border: 1px solid #e5e5e3;
	border-radius: 8px;
	cursor: pointer;
	transition:
		background 0.2s ease,
		color 0.2s ease,
		border-color 0.2s ease;
}

body.error404 .error-404 .search-form__submit:hover {
	background: #e23b33;
	color: #ffffff;
	border-color: #e23b33;
}

/*
 * Header: altijd aan viewport gebonden (header staat buiten #page in header.php).
 * !important: overschrijft theme-builder/plugin CSS; fixed mag niet naar static/relative.
 */
#masthead.site-header,
header.site-header {
	position: fixed !important;
	left: 0 !important;
	right: 0 !important;
	top: 0 !important;
	width: 100% !important;
	max-width: none !important;
	z-index: 9998 !important;
	box-sizing: border-box;
}

body.admin-bar #masthead.site-header,
body.admin-bar header.site-header {
	top: 32px !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar #masthead.site-header,
	body.admin-bar header.site-header {
		top: 46px !important;
	}
}


/* --- typography-modern.css --- */
/**
 * Moderne typografie — sans koppen, geen Fraunces/italic editorial look
 */

h1,
h2,
h3,
h4,
h5,
h6,
.welcome-band__heading,
.featured-grid__title,
.post-grid__title,
.trend-strip__title,
.newsletter-cta__title {
	font-family: var(--font-heading);
	font-weight: 600;
	font-style: normal;
	letter-spacing: -0.02em;
}

h1,
.welcome-band__heading {
	font-weight: 700;
	letter-spacing: -0.025em;
	color: var(--color-heading);
}

.site-header .site-logo-text {
	font-family: var(--font-heading);
	font-weight: 700;
	letter-spacing: -0.03em;
}

.site-footer .site-logo-text {
	font-family: var(--font-heading);
	font-weight: 600;
}

.text-accent,
.article-meta__date,
.article-intro,
blockquote {
	font-family: var(--font-body);
	font-weight: 500;
	font-style: normal;
	color: var(--color-muted);
}

blockquote {
	font-size: 1.05rem;
	line-height: 1.65;
	border-left: 3px solid var(--color-red);
	padding-left: 1rem;
}

.welcome-band__heading em {
	font-style: normal;
	font-weight: 700;
}

.featured-grid__label,
.trend-strip__label,
.post-grid__label,
.welcome-band__tag {
	letter-spacing: 0.12em;
}

.article-card__title {
	font-family: var(--font-heading);
	font-weight: 600;
	letter-spacing: -0.015em;
}


/* --- fris-colors.css --- */
/**
 * Frisse logo-kleuren — rood, goud (spaarzaam), groen
 */

/* —— Basis: wit i.p.v. beige —— */
body {
	background-color: #ffffff;
	color: var(--color-text);
}

body.page .site-main--page,
body.post-type-archive-ka_kerstmarkt .site-main--page,
body.single-ka_kerstmarkt .site-main--page,
body.tax-ka_provincie .site-main--page,
body.tax-ka_markt_type .site-main--page,
body.single-ka_download .site-main--page,
body.post-type-archive-ka_download .site-main--page,
body.tax-ka_download_categorie .site-main--page {
	background: #faf6ef;
}

/* Typografie & links */
h1,
h2,
h3,
h4,
h5,
h6,
.featured-grid__title,
.post-grid__title,
.trend-strip__title,
.article-card__title,
.editorial-opener__title,
.editorial-hero__title,
.category-subcards__title {
	color: var(--color-heading);
}

.newsletter-cta h2,
.welcome-band h1,
.welcome-band h2,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6 {
	color: inherit;
}

a {
	color: var(--color-link);
}

a:hover,
a:focus-visible {
	color: var(--color-accent-hover);
}

.site-header .site-logo-text {
	color: var(--color-ink);
}

.site-header .site-logo-text__accent {
	color: var(--color-red);
}

/* Signatuur uit logo: rood – goud – groen (goud alleen in header-band) */
.site-header::before {
	height: 4px;
	background: linear-gradient(
		90deg,
		var(--color-red) 0 33.3%,
		var(--color-gold) 33.3% 66.6%,
		var(--color-green-bright) 66.6% 100%
	);
	opacity: 1;
}

.site-header {
	border-bottom-color: var(--color-border);
	box-shadow: none;
}

.main-navigation a:hover,
.main-navigation a:focus-visible,
.site-header .primary-menu a:hover {
	color: var(--color-red);
}

/* Welkomstband: gedempt dennegroen, geen goudrand */
.welcome-band {
	background-color: #1e5240;
	background-image: linear-gradient(145deg, #1e5240 0%, #256b4f 48%, #2a6349 100%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	color: #ffffff;
}

.welcome-band__tag {
	color: rgba(255, 255, 255, 0.82);
}

.welcome-band__tag::before {
	background: var(--color-red);
}

.welcome-band__heading em {
	color: #ffffff;
}

.welcome-band__spotlight-item::before {
	background: var(--color-red);
}

.welcome-band__spotlight-item:hover,
.welcome-band__spotlight-item:focus-visible {
	border-color: rgba(255, 255, 255, 0.35);
}

/* Footer: ivoor, geen dennegroen/gradient */
.site-footer,
#colophon.site-footer {
	background-color: #faf6ef;
	background-image: none;
	color: #4a3b33;
}

.site-footer::before {
	content: "";
	display: block;
	height: 4px;
	background: #e23b33;
	opacity: 1;
}

.site-footer a {
	color: #4a3b33;
}

.site-footer a:hover,
.site-footer a:focus-visible {
	color: #c42f27;
}

.site-footer__about,
.site-footer__about p,
.site-footer__tagline,
.site-footer .footer-menu a {
	color: #4a3b33;
}

.site-footer__col-label {
	color: #c42f27;
	letter-spacing: 0.14em;
}

.site-footer__legal {
	background: #f2ece0;
	color: #7a6a58;
}

.site-footer__legal-menu a,
.site-footer__legal-nav a.site-footer__legal-inline,
.site-social-instagram--footer,
.site-footer__copyright,
.site-footer__copyright-sep {
	color: #7a6a58;
}

.site-footer__affiliate {
	color: #a89886;
}

.site-footer__legal-menu a:hover,
.site-footer__legal-menu a:focus-visible,
.site-footer__legal-nav a.site-footer__legal-inline:hover,
.site-footer__legal-nav a.site-footer__legal-inline:focus-visible,
.site-social-instagram--footer:hover,
.site-social-instagram--footer:focus-visible {
	color: #c42f27;
}

.site-footer .site-logo-text {
	color: #4a3b33;
}

.site-footer .site-logo-text__accent {
	color: #c42f27;
}

/* Newsletter: diepgroen band (zelfde familie als welcome-band) */
.newsletter-cta {
	background-color: #1e5240;
	background-image: linear-gradient(145deg, #1e5240 0%, #256b4f 48%, #2a6349 100%);
	border-top: none;
	color: #ffffff;
}

.newsletter-cta__title,
.newsletter-cta__lead,
.newsletter-cta__note {
	color: inherit;
}

.newsletter-cta__title {
	color: #ffffff;
}

.newsletter-cta__lead {
	color: rgba(255, 255, 255, 0.88);
}

.newsletter-cta__note {
	color: rgba(255, 255, 255, 0.7);
}

/* Knoppen & badges */
.btn--primary,
button[type="submit"].btn,
.affiliate-box__cta {
	background: var(--color-red);
	border-color: var(--color-red);
	color: #ffffff;
}

.btn--primary:hover,
button[type="submit"].btn:hover,
.affiliate-box__cta:hover {
	background: var(--color-red-deep);
	border-color: var(--color-red-deep);
	color: #ffffff;
}

.btn--gold,
.btn--gold:hover {
	background: var(--color-red);
	border-color: var(--color-red);
	color: #ffffff;
}

.cat-tag--featured,
.article-card__badge--pick {
	background: var(--color-green-deep);
}

/* Kickers & labels — merkrood, geen goud/muted-beige */
.featured-grid__label,
.trend-strip__label,
.post-grid__label,
.editorial-tagline__text,
.welcome-band__spotlight-label,
.couch-section__label {
	color: #c42f27;
}

/* Minder goud op kaarten & secties */
.article-card__link:hover .article-card__title,
.featured-grid .article-card__link:hover .article-card__title,
.post-grid .article-card__link:hover .article-card__title {
	color: var(--color-red-deep);
}

.article-card__cat:hover,
.cat-tag:hover {
	color: var(--color-red);
	border-color: rgba(226, 59, 51, 0.28);
	background: #fff5f2;
}

.featured-grid__head,
.trend-strip__head,
.post-grid__head {
	border-bottom-color: var(--color-border);
}

.featured-grid__title::after,
.trend-strip__title::after,
.post-grid__title::after,
.section-head__title::after {
	background: var(--color-red);
}

.affiliate-box {
	border-color: var(--color-border);
}

.affiliate-box__head {
	border-bottom: 1px solid var(--color-border);
}

/* Filter-bar (full-width bars; inline archief → archive-layout.css) */
.filter-bar:not(.filter-bar--inline) {
	background: #ffffff;
	border-bottom-color: var(--color-border);
	box-shadow: none;
}

.filter-bar:not(.filter-bar--inline) .filter-bar__links {
	background: #fff;
	border-color: var(--color-border);
}

.filter-bar:not(.filter-bar--inline) .filter-bar__links a.is-active {
	text-decoration-color: var(--color-red) !important;
}

.filter-bar:not(.filter-bar--inline) .filter-bar__links a:hover {
	color: var(--color-red);
}

/* Accenten: rood i.p.v. goud */
blockquote {
	border-left-color: var(--color-red);
}

.text-accent {
	color: var(--color-red);
}

/* Links in content: rood (overschrijft bosgroen/goud uit components.css) */
.entry-content a {
	color: var(--color-red);
	text-decoration-color: rgba(226, 59, 51, 0.35);
}

.entry-content a:hover,
.entry-content a:focus-visible {
	color: var(--color-red-deep);
	text-decoration-color: var(--color-red-deep);
}

/* Focus-ringen */
:focus-visible {
	outline-color: var(--color-red);
}

/* Archief-sidebar titels (inline filter → archive-layout.css) */
body.archive .content-layout__sidebar .sidebar-widget__title,
body.archive .content-layout__sidebar .widget-title {
	color: var(--color-heading);
}

body.archive .content-layout__sidebar .widget-list a:hover,
body.archive .content-layout__sidebar .widget a:hover {
	color: var(--color-red-deep);
}

