/* ==========================================================================
   Van de Weerterheide — Custom Farm Design System & Layout Styles
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,400&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap');

:root {
	--vdw-forest: #1b382b;
	--vdw-forest-dark: #11241c;
	--vdw-forest-light: #2c5941;
	--vdw-forest-soft: #edf4ef;
	--vdw-sage: #d9e6dc;
	--vdw-sage-light: #f3f7f4;
	--vdw-ochre: #b56734;
	--vdw-ochre-dark: #914e24;
	--vdw-ochre-soft: #fcf4ee;
	--vdw-cream: #faf8f5;
	--vdw-sand: #eae4d7;
	--vdw-border: #ded7c8;
	--vdw-charcoal: #202621;
	--vdw-muted: #5a645d;
	--vdw-white: #ffffff;
	--vdw-shadow-sm: 0 2px 8px rgba(27, 56, 43, 0.06);
	--vdw-shadow-md: 0 8px 24px rgba(27, 56, 43, 0.08);
	--vdw-shadow-lg: 0 16px 40px rgba(27, 56, 43, 0.12);
	--vdw-radius-sm: 6px;
	--vdw-radius-md: 12px;
	--vdw-radius-lg: 18px;
	--vdw-radius-full: 9999px;
}

html, body {
	overflow-x: hidden;
	max-width: 100%;
}

body {
	font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
	color: var(--vdw-charcoal);
	background-color: var(--vdw-cream);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, .vdw-serif-heading {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 600;
	color: var(--vdw-forest-dark);
	line-height: 1.25;
	letter-spacing: -0.015em;
}

/* ==========================================================================
   Page Layout & Subpage Header Alignment Fix
   ========================================================================== */
.wp-block-post-title {
	font-family: 'Fraunces', Georgia, serif;
	font-size: clamp(2.2rem, 5vw, 3.2rem);
	font-weight: 700;
	color: var(--vdw-forest-dark);
	letter-spacing: -0.015em;
	width: 100%;
	max-width: 860px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	margin-top: 16px !important;
	margin-bottom: 24px !important;
	box-sizing: border-box;
	text-align: left;
}

body.page-id-52 .wp-block-post-title,
body.page-id-53 .wp-block-post-title {
	max-width: 960px !important;
}

body.page-id-54 .wp-block-post-title,
body.page-id-55 .wp-block-post-title {
	max-width: 1040px !important;
}

/* Ensure inner content container paddings match post-title exactly */
.entry-content .wp-block-group.alignwide.has-global-padding.is-layout-constrained,
.entry-content .wp-block-group.is-layout-constrained {
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box;
}

/* Center constrained content cleanly within the page */
.entry-content .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 1140px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Homepage full-bleed reset: eliminate any horizontal gap or stray padding */
body.home .entry-content,
body.page-id-58 .entry-content,
body.page-id-59 .entry-content {
	padding-left: 0 !important;
	padding-right: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

body.home .wp-block-post-title,
body.page-id-58 .wp-block-post-title,
body.page-id-59 .wp-block-post-title {
	display: none !important;
}

body.home .entry-content > p:empty,
body.page-id-58 .entry-content > p:empty,
body.page-id-59 .entry-content > p:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* ==========================================================================
   Header & Navigation
   ========================================================================== */
header.wp-block-template-part {
	background: rgba(250, 248, 245, 0.95);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--vdw-sand);
	position: sticky;
	top: 0;
	z-index: 1000;
	transition: all 0.2s ease;
}

.wp-block-site-title a {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 700;
	font-size: 1.35rem;
	color: var(--vdw-forest);
	text-decoration: none;
	letter-spacing: -0.01em;
}

.wp-block-site-title a:hover {
	color: var(--vdw-ochre);
}

.wp-block-navigation .wp-block-navigation-item__content {
	font-weight: 500;
	font-size: 0.95rem;
	color: var(--vdw-forest);
	padding: 6px 14px;
	border-radius: var(--vdw-radius-full);
	transition: all 0.2s ease;
	text-decoration: none;
}

.wp-block-navigation .wp-block-navigation-item__content:hover {
	background: var(--vdw-sage-light);
	color: var(--vdw-forest-dark);
}

.wp-block-navigation .current-menu-item .wp-block-navigation-item__content {
	background: var(--vdw-forest);
	color: var(--vdw-white) !important;
	font-weight: 600;
}

/* 1-Click Header Language Switcher */
.vdw-lang-switcher-pill {
	display: inline-flex;
	align-items: center;
	background: var(--vdw-white);
	border: 1px solid var(--vdw-border);
	border-radius: var(--vdw-radius-full);
	padding: 3px 6px;
	margin-left: 12px;
	box-shadow: var(--vdw-shadow-sm);
}

.vdw-lang-switcher-pill a {
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: var(--vdw-radius-full);
	text-decoration: none;
	color: var(--vdw-muted);
	transition: all 0.2s ease;
}

.vdw-lang-switcher-pill a.is-active {
	background: var(--vdw-forest);
	color: var(--vdw-white);
}

.vdw-lang-switcher-pill a:hover:not(.is-active) {
	color: var(--vdw-forest);
	background: var(--vdw-sage-light);
}

/* Polylang core switcher styling integration */
li.wp-block-polylang-navigation-language-switcher {
	display: inline-block;
}

li.wp-block-polylang-navigation-language-switcher a {
	font-weight: 600 !important;
	font-size: 0.85rem !important;
	border: 1px solid var(--vdw-sand);
	background: var(--vdw-white);
	padding: 4px 12px !important;
	border-radius: var(--vdw-radius-full);
}

li.wp-block-polylang-navigation-language-switcher.current-lang a {
	background: var(--vdw-forest) !important;
	color: var(--vdw-white) !important;
	border-color: var(--vdw-forest) !important;
}

/* ==========================================================================
   Hero & Frontpage Broad Panoramic Showcase
   ========================================================================== */
.vdw-hero-section {
	position: relative !important;
	background-color: var(--vdw-forest);
	background-image: linear-gradient(180deg, rgba(17, 36, 28, 0.62) 0%, rgba(17, 36, 28, 0.32) 48%, rgba(17, 36, 28, 0.75) 100%), url('/wp-content/uploads/2026/09/vdw-hero-broad.jpg');
	background-position: center 38%;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 520px;
	padding: 100px 24px 84px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	left: 0 !important;
	right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.wp-block-cover.vdw-hero-section {
	min-height: 520px;
	padding: 100px 24px 84px;
	box-sizing: border-box;
}

.wp-block-cover.vdw-hero-section .wp-block-cover__inner-container {
	width: 100% !important;
	max-width: 860px !important;
	margin: 0 auto !important;
	text-align: center !important;
}

/* Gutenberg Editor Canvas Overrides */
.editor-styles-wrapper .vdw-hero-section,
.block-editor-block-list__layout .vdw-hero-section {
	width: 100% !important;
	max-width: 100% !important;
	left: auto !important;
	right: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	border-radius: var(--vdw-radius-md) !important;
	overflow: hidden !important;
}

.editor-styles-wrapper .vdw-hero-title {
	color: #ffffff !important;
}

.editor-styles-wrapper .vdw-hero-lead {
	color: rgba(255, 255, 255, 0.9) !important;
}

@media (max-width: 960px) {
	.vdw-hero-section {
		min-height: 430px;
		padding: 72px 20px 60px;
		background-position: center 35%;
	}
}

@media (max-width: 600px) {
	.vdw-hero-section {
		min-height: 350px;
		padding: 50px 16px 44px;
		background-position: 35% 35%;
	}
}

.vdw-hero-content {
	max-width: 860px;
	margin: 0 auto;
	position: relative;
	z-index: 2;
}

.vdw-hero-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(12px);
	padding: 8px 22px;
	border-radius: var(--vdw-radius-full);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--vdw-forest-dark);
	border: 1px solid rgba(255, 255, 255, 0.8);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
	text-transform: uppercase;
	margin-bottom: 22px;
}

.vdw-hero-title {
	font-family: 'Fraunces', Georgia, serif;
	font-size: clamp(2.3rem, 5.5vw, 4rem);
	font-weight: 700;
	color: #ffffff;
	text-shadow: 0 3px 20px rgba(0, 0, 0, 0.55);
	line-height: 1.15;
	margin: 0 0 20px;
	letter-spacing: -0.02em;
}

.vdw-hero-lead {
	font-size: clamp(1.05rem, 2.2vw, 1.25rem);
	color: rgba(255, 255, 255, 0.96);
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.45);
	line-height: 1.7;
	max-width: 780px;
	margin: 0 auto 28px;
	font-weight: 400;
}

.vdw-hero-lead strong {
	color: #ffffff;
	font-weight: 600;
}

.vdw-hero-scroll-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(8px);
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.45);
	padding: 10px 24px;
	border-radius: var(--vdw-radius-full);
	font-size: 0.92rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.25s ease;
}

.vdw-hero-scroll-btn:hover {
	background: rgba(255, 255, 255, 0.95);
	color: var(--vdw-forest-dark);
	border-color: #ffffff;
	transform: translateY(2px);
}

/* ==========================================================================
   Branch Showcase & Dual Branch Cards (Well-Spaced, Fully Responsive)
   ========================================================================== */
.vdw-showcase-section {
	padding: 68px 24px 84px;
	background: var(--vdw-cream);
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	position: relative !important;
	left: 0 !important;
	right: 0 !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.editor-styles-wrapper .vdw-showcase-section,
.block-editor-block-list__layout .vdw-showcase-section {
	width: 100% !important;
	max-width: 100% !important;
	left: auto !important;
	right: auto !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	border-radius: var(--vdw-radius-md) !important;
}

@media (max-width: 768px) {
	.vdw-showcase-section {
		padding: 44px 16px 64px;
	}
}

.vdw-showcase-header {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 48px;
}

.vdw-showcase-header h2 {
	font-family: 'Fraunces', Georgia, serif;
	font-size: clamp(1.8rem, 3.5vw, 2.4rem);
	color: var(--vdw-forest-dark);
	margin: 12px 0 14px;
	line-height: 1.25;
}

.vdw-showcase-header p:not(.vdw-tag) {
	font-size: 1.05rem;
	color: var(--vdw-muted);
	line-height: 1.65;
	margin: 0;
}

.vdw-dual-branch-grid {
	display: flex !important;
	flex-direction: row !important;
	justify-content: center !important;
	align-items: stretch !important;
	gap: 32px !important;
	max-width: 1140px !important;
	margin: 0 auto !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.vdw-dual-branch-grid > p {
	display: none !important;
}

.vdw-dual-branch-grid > .vdw-branch-card {
	flex: 1 1 0 !important;
	min-width: 0 !important;
	width: calc(50% - 16px) !important;
	max-width: 550px !important;
	box-sizing: border-box !important;
}

/* Phone formats ONLY: stack underneath each other */
@media (max-width: 720px) {
	.vdw-dual-branch-grid {
		flex-direction: column !important;
		align-items: center !important;
		gap: 24px !important;
	}

	.vdw-dual-branch-grid > .vdw-branch-card {
		width: 100% !important;
		max-width: 100% !important;
	}
}

.vdw-branch-card {
	background: var(--vdw-white);
	border: 1px solid var(--vdw-sand);
	border-radius: 20px;
	padding: 38px 34px 32px;
	box-shadow: 0 10px 30px -4px rgba(27, 56, 43, 0.08), 0 2px 6px rgba(0, 0, 0, 0.03);
	transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
}

@media (max-width: 600px) {
	.vdw-branch-card {
		padding: 28px 20px 24px;
		border-radius: 16px;
	}
}

.vdw-branch-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 6px;
	transition: height 0.25s ease;
}

.vdw-branch-card.is-beef::before {
	background: linear-gradient(90deg, #b56734 0%, #db8852 100%);
}

.vdw-branch-card.is-trees::before {
	background: linear-gradient(90deg, #1b382b 0%, #35674c 100%);
}

.vdw-branch-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 48px -8px rgba(27, 56, 43, 0.16), 0 4px 12px rgba(0, 0, 0, 0.05);
}

.vdw-branch-card.is-beef:hover {
	border-color: rgba(181, 103, 52, 0.45);
}

.vdw-branch-card.is-trees:hover {
	border-color: rgba(27, 56, 43, 0.45);
}

.vdw-branch-card:hover::before {
	height: 8px;
}

.vdw-card-body {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.vdw-tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-size: 0.74rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 5px 14px;
	border-radius: var(--vdw-radius-full);
	margin-bottom: 16px;
	align-self: flex-start;
	line-height: 1.4;
	box-sizing: border-box;
}

.vdw-tag.is-beef {
	background: #fbf1e8;
	color: #92491e;
	border: 1px solid #f0d5c2;
}

.vdw-tag.is-trees {
	background: #eef6f1;
	color: #17402d;
	border: 1px solid #cadfc7;
}

.vdw-tag.is-sand {
	background: var(--vdw-sand);
	color: var(--vdw-forest-dark);
	border: 1px solid var(--vdw-border);
}

/* Gecentreerde tags / pills boven sectietitels */
.vdw-tag.is-center,
.vdw-tag.has-text-align-center,
p.vdw-tag.has-text-align-center,
.vdw-showcase-header .vdw-tag,
.has-text-align-center .vdw-tag {
	display: table !important;
	width: auto !important;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-bottom: 16px !important;
	align-self: center !important;
	text-align: center !important;
}

.vdw-branch-title {
	font-family: 'Fraunces', Georgia, serif;
	font-size: clamp(1.6rem, 2.5vw, 1.95rem);
	font-weight: 700;
	color: var(--vdw-forest-dark);
	margin: 4px 0 14px;
	line-height: 1.22;
}

.vdw-branch-desc {
	color: #3b443e;
	font-size: 1.01rem;
	line-height: 1.68;
	margin: 0 0 22px;
}

/* Feature Checklist replacing browser bullets - supports both native wp:list and custom items */
.vdw-feature-list,
.wp-block-list.vdw-feature-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 28px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 13px !important;
}

.vdw-feature-item,
.vdw-feature-list li,
.wp-block-list.vdw-feature-list li {
	display: block !important;
	font-size: 0.94rem !important;
	line-height: 1.5 !important;
	color: #404a43 !important;
	margin: 0 !important;
	padding: 0 !important;
	position: relative !important;
	padding-left: 34px !important;
}

/* Pseudo-element checkmark for native Gutenberg list items */
.vdw-branch-card.is-beef .vdw-feature-list li::before,
.vdw-branch-card.is-beef .wp-block-list.vdw-feature-list li::before {
	content: "✓" !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	width: 22px !important;
	height: 22px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0.76rem !important;
	font-weight: 800 !important;
	background: #fbf0e6 !important;
	color: #b56734 !important;
	border: 1px solid #f0d5c2 !important;
	box-sizing: border-box !important;
}

.vdw-branch-card.is-trees .vdw-feature-list li::before,
.vdw-branch-card.is-trees .wp-block-list.vdw-feature-list li::before {
	content: "✓" !important;
	position: absolute !important;
	left: 0 !important;
	top: 0 !important;
	width: 22px !important;
	height: 22px !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 0.76rem !important;
	font-weight: 800 !important;
	background: #edf5f0 !important;
	color: #1b382b !important;
	border: 1px solid #cadfc7 !important;
	box-sizing: border-box !important;
}

/* If an explicit icon span is present, don't duplicate padding */
.vdw-feature-list li:has(.vdw-feature-icon),
.wp-block-list.vdw-feature-list li:has(.vdw-feature-icon) {
	padding-left: 0 !important;
	gap: 12px !important;
}
.vdw-feature-list li:has(.vdw-feature-icon)::before,
.wp-block-list.vdw-feature-list li:has(.vdw-feature-icon)::before {
	display: none !important;
}

.vdw-feature-icon {
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.76rem;
	font-weight: 800;
	margin-top: 1px;
}

.vdw-feature-icon.is-beef {
	background: #fbf0e6;
	color: #b56734;
	border: 1px solid #f0d5c2;
}

.vdw-feature-icon.is-trees {
	background: #edf5f0;
	color: #1b382b;
	border: 1px solid #cadfc7;
}

/* Card Footer & Button */
.vdw-card-footer,
.vdw-branch-card .wp-block-buttons {
	margin-top: auto !important;
	padding-top: 22px !important;
	border-top: 1px solid rgba(222, 215, 200, 0.55) !important;
	display: flex !important;
	flex-direction: column !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

/* Container reset: prevent any nested double bar / double container effect */
div.wp-block-button,
div.wp-block-button.vdw-btn,
div.wp-block-button.vdw-btn-primary,
div.wp-block-button.vdw-btn-ochre,
div.wp-block-button.vdw-btn-outline,
.editor-styles-wrapper div.wp-block-button,
.editor-styles-wrapper div.wp-block-button.vdw-btn,
.editor-styles-wrapper div.wp-block-button.vdw-btn-primary,
.editor-styles-wrapper div.wp-block-button.vdw-btn-ochre,
.editor-styles-wrapper div.wp-block-button.vdw-btn-outline {
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	border-radius: 0 !important;
}

.vdw-branch-card .wp-block-buttons .wp-block-button {
	width: 100% !important;
	display: block !important;
}

.vdw-branch-card .wp-block-buttons .wp-block-button .wp-block-button__link,
.vdw-branch-card .wp-block-buttons .wp-block-button .wp-element-button,
.vdw-branch-card .vdw-btn .wp-block-button__link,
.vdw-branch-card .vdw-btn .wp-element-button {
	width: 100% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	min-height: 52px !important;
	font-size: 1.01rem !important;
	font-weight: 600 !important;
	padding: 14px 22px !important;
	border-radius: 12px !important;
	text-decoration: none !important;
	box-sizing: border-box !important;
	letter-spacing: -0.01em !important;
	text-align: center !important;
	border: none !important;
}

.vdw-branch-card .vdw-card-subnote {
	margin-top: 10px !important;
}

a.vdw-btn,
button.vdw-btn,
.vdw-btn .wp-block-button__link,
.vdw-btn .wp-element-button,
.editor-styles-wrapper .vdw-btn .wp-block-button__link,
.editor-styles-wrapper .vdw-btn .wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 52px;
	font-size: 1.01rem;
	font-weight: 600;
	padding: 13px 20px;
	border-radius: 12px !important;
	text-decoration: none !important;
	transition: all 0.25s ease;
	cursor: pointer;
	border: none;
	box-sizing: border-box;
	letter-spacing: -0.01em;
	text-align: center;
}

@media (max-width: 600px) {
	a.vdw-btn,
	button.vdw-btn,
	.vdw-btn .wp-block-button__link,
	.vdw-btn .wp-element-button,
	.vdw-branch-card .wp-block-buttons .wp-block-button .wp-block-button__link,
	.vdw-branch-card .wp-block-buttons .wp-block-button .wp-element-button {
		min-height: 48px !important;
		font-size: 0.95rem !important;
		padding: 12px 16px !important;
	}
}

.vdw-btn .vdw-arrow,
.wp-block-button .vdw-arrow {
	display: inline-block;
	transition: transform 0.2s ease;
}

.vdw-btn:hover .vdw-arrow,
.wp-block-button__link:hover .vdw-arrow,
.wp-element-button:hover .vdw-arrow {
	transform: translateX(4px);
}

/* Button Styling System (Farm Brand Colors - Forest Green & Warm Ochre) */
.wp-block-button .wp-block-button__link,
.wp-block-button .wp-element-button,
.editor-styles-wrapper .wp-block-button .wp-block-button__link,
.editor-styles-wrapper .wp-block-button .wp-element-button {
	background-color: var(--vdw-forest);
	color: #ffffff !important;
	border-radius: var(--vdw-radius-full);
	padding: 12px 28px;
	font-weight: 600;
	font-size: 0.98rem;
	text-decoration: none !important;
	transition: all 0.25s ease;
	border: 1px solid transparent;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-element-button:hover,
.editor-styles-wrapper .wp-block-button .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-button .wp-element-button:hover {
	background-color: var(--vdw-forest-light);
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(27, 56, 43, 0.25);
}

/* Primary Forest Green Button (One Clean Bar) */
a.vdw-btn-primary,
button.vdw-btn-primary,
.vdw-btn-primary .wp-block-button__link,
.vdw-btn-primary .wp-element-button,
.editor-styles-wrapper .vdw-btn-primary .wp-block-button__link,
.editor-styles-wrapper .vdw-btn-primary .wp-element-button {
	background: linear-gradient(135deg, #1e3f30 0%, #11241c 100%) !important;
	background-color: var(--vdw-forest) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px rgba(27, 56, 43, 0.24) !important;
	border: none !important;
}

a.vdw-btn-primary:hover,
button.vdw-btn-primary:hover,
.vdw-btn-primary .wp-block-button__link:hover,
.vdw-btn-primary .wp-element-button:hover,
.editor-styles-wrapper .vdw-btn-primary .wp-block-button__link:hover,
.editor-styles-wrapper .vdw-btn-primary .wp-element-button:hover {
	background: linear-gradient(135deg, #27523f 0%, #162f25 100%) !important;
	background-color: var(--vdw-forest-light) !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(27, 56, 43, 0.35) !important;
}

/* Warm Ochre Button (One Clean Bar) */
a.vdw-btn-ochre,
button.vdw-btn-ochre,
.vdw-btn-ochre .wp-block-button__link,
.vdw-btn-ochre .wp-element-button,
.editor-styles-wrapper .vdw-btn-ochre .wp-block-button__link,
.editor-styles-wrapper .vdw-btn-ochre .wp-element-button {
	background: linear-gradient(135deg, #b56734 0%, #944e21 100%) !important;
	background-color: var(--vdw-ochre) !important;
	color: #ffffff !important;
	box-shadow: 0 4px 14px rgba(181, 103, 52, 0.24) !important;
	border: none !important;
}

a.vdw-btn-ochre:hover,
button.vdw-btn-ochre:hover,
.vdw-btn-ochre .wp-block-button__link:hover,
.vdw-btn-ochre .wp-element-button:hover,
.editor-styles-wrapper .vdw-btn-ochre .wp-block-button__link:hover,
.editor-styles-wrapper .vdw-btn-ochre .wp-element-button:hover {
	background: linear-gradient(135deg, #c7743d 0%, #a65827 100%) !important;
	background-color: var(--vdw-ochre-dark) !important;
	color: #ffffff !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(181, 103, 52, 0.35) !important;
}

/* Green Outline / Solid Button for "Onze Uitgangspunten" (Never Black!) */
a.vdw-btn-outline,
button.vdw-btn-outline,
.vdw-btn-outline .wp-block-button__link,
.vdw-btn-outline .wp-element-button,
.is-style-outline .wp-block-button__link,
.is-style-outline .wp-element-button,
.editor-styles-wrapper .vdw-btn-outline .wp-block-button__link,
.editor-styles-wrapper .vdw-btn-outline .wp-element-button {
	background: var(--vdw-forest) !important;
	background-color: var(--vdw-forest) !important;
	color: #ffffff !important;
	border: 1px solid var(--vdw-forest) !important;
	font-weight: 600 !important;
	border-radius: var(--vdw-radius-full) !important;
	padding: 13px 32px !important;
	box-shadow: 0 4px 16px rgba(27, 56, 43, 0.2) !important;
	transition: all 0.25s ease !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

a.vdw-btn-outline:hover,
button.vdw-btn-outline:hover,
.vdw-btn-outline .wp-block-button__link:hover,
.vdw-btn-outline .wp-element-button:hover,
.is-style-outline .wp-block-button__link:hover,
.is-style-outline .wp-element-button:hover,
.editor-styles-wrapper .vdw-btn-outline .wp-block-button__link:hover,
.editor-styles-wrapper .vdw-btn-outline .wp-element-button:hover {
	background: var(--vdw-forest-light) !important;
	background-color: var(--vdw-forest-light) !important;
	color: #ffffff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 8px 24px rgba(27, 56, 43, 0.35) !important;
}

.vdw-card-subnote {
	font-size: 0.81rem;
	color: #6a746c;
	text-align: center;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

/* ==========================================================================
   Section A: Pasture-Fed Beef (Text-only, High-Converting Specifications)
   ========================================================================== */
.vdw-beef-spec-box {
	background: var(--vdw-white);
	border: 1px solid var(--vdw-sand);
	border-radius: var(--vdw-radius-md);
	padding: 32px;
	margin: 32px 0;
	box-shadow: var(--vdw-shadow-sm);
}

.vdw-meat-cuts-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px;
	margin: 24px 0;
}

.vdw-meat-cut-card {
	background: var(--vdw-sage-light);
	border: 1px solid var(--vdw-sage);
	border-radius: var(--vdw-radius-sm);
	padding: 16px;
	text-align: center;
}

.vdw-meat-cut-name {
	font-family: 'Fraunces', Georgia, serif;
	font-weight: 600;
	font-size: 1.15rem;
	color: var(--vdw-forest-dark);
	margin-bottom: 4px;
}

.vdw-meat-cut-desc {
	font-size: 0.85rem;
	color: var(--vdw-muted);
}

.vdw-logistics-notice {
	background: #fff8e8;
	border: 2px solid #ecd399;
	border-radius: var(--vdw-radius-sm);
	padding: 20px 24px;
	margin: 28px 0;
	display: flex;
	gap: 16px;
	align-items: flex-start;
}

.vdw-logistics-notice .vdw-icon {
	font-size: 1.6rem;
	line-height: 1;
}

.vdw-logistics-title {
	font-weight: 700;
	color: #7a4f0d;
	margin-bottom: 4px;
}

/* ==========================================================================
   Section B: Christmas Trees (Alert, Tables, Reservation Form)
   ========================================================================== */
.vdw-care-alert {
	background: #ebf5ee;
	border: 2px solid var(--vdw-forest-light);
	border-radius: var(--vdw-radius-md);
	padding: 24px 28px;
	margin: 32px 0;
	display: flex;
	gap: 20px;
	align-items: flex-start;
}

.vdw-care-alert .vdw-alert-icon {
	font-size: 2rem;
	line-height: 1;
}

.vdw-care-alert h3 {
	margin-top: 0;
	margin-bottom: 8px;
	color: var(--vdw-forest);
}

/* Pricing & Statiegeld Table */
.vdw-table-wrap {
	overflow-x: auto;
	margin: 28px 0;
	border: 1px solid var(--vdw-sand);
	border-radius: var(--vdw-radius-md);
	background: var(--vdw-white);
	box-shadow: var(--vdw-shadow-sm);
}

.vdw-table {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
	font-size: 0.95rem;
}

.vdw-table thead th {
	background: var(--vdw-forest) !important;
	color: var(--vdw-white) !important;
	font-weight: 600;
	padding: 16px 20px;
	font-size: 0.9rem;
	letter-spacing: 0.02em;
	border: none;
}

.vdw-table thead th.statiegeld-col {
	background: var(--vdw-forest-dark, #132b21) !important;
	color: var(--vdw-white) !important;
}

.vdw-table thead th.totaal-col {
	background: #0f231b !important;
	color: var(--vdw-white) !important;
}

/* Tree Category Group Header Rows */
.vdw-table tr.vdw-tree-group-header td {
	background: #f4efe6 !important;
	border-top: 2px solid var(--vdw-sand) !important;
	border-bottom: 1px solid var(--vdw-sand) !important;
	padding: 14px 20px !important;
}

.vdw-table tbody tr:first-child.vdw-tree-group-header td {
	border-top: none !important;
}

.vdw-group-header-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.vdw-group-title {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--vdw-forest-dark);
	letter-spacing: -0.01em;
}

.vdw-group-badge {
	display: inline-block;
	background: var(--vdw-forest);
	color: #ffffff;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 2px 8px;
	border-radius: var(--vdw-radius-full);
}

.vdw-group-badge.is-tradition {
	background: var(--vdw-ochre-dark, #a86f25);
}

.vdw-group-badge.is-robust {
	background: #3e6b7d;
}

.vdw-group-desc {
	font-size: 0.85rem;
	color: var(--vdw-muted);
	font-weight: 400;
}

/* Data Rows */
.vdw-table tr.vdw-tree-row td {
	padding: 14px 20px;
	border-bottom: 1px solid var(--vdw-sand);
	vertical-align: middle;
	background: var(--vdw-white);
	transition: background 0.15s ease;
}

.vdw-table tr.vdw-tree-row:last-child td {
	border-bottom: none;
}

.vdw-table tr.vdw-tree-row:hover td {
	background: #f6f9f6 !important;
}

.vdw-table td.statiegeld-col {
	color: var(--vdw-forest);
	font-weight: 600;
	background: #fbfdfb;
}

.vdw-table tr.vdw-tree-row:hover td.statiegeld-col {
	background: #eef5ee !important;
}

.vdw-table td.totaal-col {
	font-weight: 700;
	color: var(--vdw-forest-dark);
}

.vdw-size-name {
	font-weight: 600;
	color: var(--vdw-forest-dark);
	font-size: 0.98rem;
}

.vdw-size-dim {
	color: var(--vdw-muted);
	font-size: 0.88rem;
	margin-left: 4px;
}

/* Reservation Form */
.vdw-reservation-box {
	background: var(--vdw-white);
	border: 2px solid var(--vdw-sand);
	border-radius: var(--vdw-radius-md);
	padding: 36px;
	margin: 40px 0;
	box-shadow: var(--vdw-shadow-md);
}

.vdw-form-group {
	margin-bottom: 20px;
}

.vdw-form-group label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
	color: var(--vdw-forest-dark);
	font-size: 0.95rem;
}

.vdw-form-control {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid var(--vdw-border);
	border-radius: var(--vdw-radius-sm);
	font-family: inherit;
	font-size: 0.95rem;
	background: var(--vdw-white);
	color: var(--vdw-charcoal);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	box-sizing: border-box;
}

.vdw-form-control:focus {
	border-color: var(--vdw-forest);
	box-shadow: 0 0 0 3px rgba(27, 56, 43, 0.15);
	outline: none;
}

.vdw-checkbox-group {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	background: var(--vdw-sage-light);
	border: 1px solid var(--vdw-sage);
	border-radius: var(--vdw-radius-sm);
	padding: 16px;
	margin: 24px 0;
}

.vdw-checkbox-group input[type="checkbox"] {
	margin-top: 4px;
	width: 18px;
	height: 18px;
	accent-color: var(--vdw-forest);
}

.vdw-price-summary {
	background: var(--vdw-cream);
	border: 1px dashed var(--vdw-border);
	border-radius: var(--vdw-radius-sm);
	padding: 16px 20px;
	margin-bottom: 24px;
	font-size: 0.95rem;
}

.vdw-price-row {
	display: flex;
	justify-content: space-between;
	padding: 4px 0;
}

.vdw-price-row.is-total {
	border-top: 1px solid var(--vdw-border);
	margin-top: 8px;
	padding-top: 8px;
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--vdw-forest);
}

/* Image gallery for trees */
.vdw-tree-gallery {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 20px;
	margin: 32px 0;
}

.vdw-tree-gallery-item {
	border-radius: var(--vdw-radius-md);
	overflow: hidden;
	box-shadow: var(--vdw-shadow-sm);
	background: var(--vdw-sand);
}

.vdw-tree-gallery-item img {
	width: 100%;
	height: 240px;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.vdw-tree-gallery-item:hover img {
	transform: scale(1.03);
}

/* ==========================================================================
   Footer Styling & Farm Branding
   ========================================================================== */
footer.wp-block-template-part,
footer {
	background: #11241c !important;
	color: #e5ede8 !important;
	border-top: 3px solid var(--vdw-forest-light);
	padding: 0 !important;
}

.vdw-footer-inner {
	max-width: 1140px;
	margin: 0 auto;
	padding: 64px 24px 36px;
	box-sizing: border-box;
}

.vdw-footer-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1.5fr;
	gap: 48px;
	margin-bottom: 48px;
}

@media (max-width: 860px) {
	.vdw-footer-grid {
		grid-template-columns: 1fr;
		gap: 36px;
		margin-bottom: 36px;
	}
}

.vdw-footer-brand h2 {
	font-family: 'Fraunces', Georgia, serif;
	color: #ffffff;
	font-size: 1.65rem;
	font-weight: 700;
	margin: 0 0 8px;
	letter-spacing: -0.01em;
}

.vdw-footer-brand p {
	color: #a8b8ae;
	font-size: 0.95rem;
	line-height: 1.65;
	max-width: 440px;
	margin: 0;
}

.vdw-footer-title {
	font-family: 'Fraunces', Georgia, serif;
	font-size: 1.12rem;
	font-weight: 600;
	color: #ffffff;
	margin: 0 0 18px;
	letter-spacing: -0.01em;
}

.vdw-footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.vdw-footer-links a {
	color: #c4d4ca;
	text-decoration: none;
	font-size: 0.94rem;
	transition: all 0.2s ease;
	display: inline-block;
}

.vdw-footer-links a:hover {
	color: #ffffff;
	transform: translateX(4px);
}

.vdw-footer-info {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 0.93rem;
	color: #a8b8ae;
}

.vdw-footer-info li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	line-height: 1.55;
}

.vdw-footer-info strong {
	color: #ffffff;
}

.vdw-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	padding-top: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.85rem;
	color: #8c9c92;
	flex-wrap: wrap;
	gap: 12px;
}

/* ==========================================================================
   Page Improvement Enhancements (Photo Cards, Vignettes & Story Layout)
   ========================================================================== */

/* Trust Badges in Hero */
.vdw-trust-badges {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 24px;
}

.vdw-trust-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(255, 255, 255, 0.18);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.28);
	color: #ffffff;
	padding: 6px 16px;
	border-radius: var(--vdw-radius-full);
	font-size: 0.88rem;
	font-weight: 600;
	letter-spacing: 0.02em;
}

/* Vignettes Photo Grid (Homepage & About Us) - Native Gutenberg Block & Flex Support */
.wp-block-columns.vdw-vignettes-grid,
.vdw-vignettes-grid {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: stretch !important;
	gap: 28px !important;
	margin: 36px auto !important;
	max-width: 1080px !important;
	box-sizing: border-box !important;
}

.wp-block-columns.vdw-vignettes-grid > .wp-block-column,
.wp-block-columns.vdw-vignettes-grid > .vdw-photo-card,
.vdw-photo-card {
	flex: 1 1 300px !important;
	min-width: 270px !important;
	max-width: 350px !important;
	background: var(--vdw-white) !important;
	border: 1px solid var(--vdw-sand) !important;
	border-radius: var(--vdw-radius-md) !important;
	overflow: hidden !important;
	box-shadow: var(--vdw-shadow-sm) !important;
	transition: transform 0.25s ease, box-shadow 0.25s ease !important;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
	padding: 0 0 24px 0 !important;
	text-align: left !important;
}

.wp-block-columns.vdw-vignettes-grid > .wp-block-column:hover,
.vdw-photo-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: var(--vdw-shadow-md) !important;
}

.wp-block-columns.vdw-vignettes-grid .wp-block-image,
.vdw-photo-card .wp-block-image,
.vdw-photo-card-img {
	margin: 0 !important;
	width: 100% !important;
	height: 220px !important;
	overflow: hidden !important;
}

.wp-block-columns.vdw-vignettes-grid .wp-block-image img,
.vdw-photo-card .wp-block-image img,
.vdw-photo-card img {
	width: 100% !important;
	height: 220px !important;
	object-fit: cover !important;
	display: block !important;
	border-radius: 0 !important;
}

.vdw-photo-card-title,
.wp-block-columns.vdw-vignettes-grid h3,
.vdw-photo-card h3 {
	font-family: 'Fraunces', Georgia, serif !important;
	font-size: 1.25rem !important;
	color: var(--vdw-forest-dark) !important;
	margin: 18px 20px 8px !important;
	font-weight: 600 !important;
	text-align: left !important;
	line-height: 1.3 !important;
}

.vdw-photo-card-desc,
.wp-block-columns.vdw-vignettes-grid p,
.vdw-photo-card p {
	font-size: 0.93rem !important;
	color: var(--vdw-muted) !important;
	line-height: 1.6 !important;
	margin: 0 20px !important;
	text-align: left !important;
}

/* Editorial Story Grid (2 Columns: Narrative + Image) */
.vdw-story-grid {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 40px;
	align-items: center;
	margin: 36px 0;
}

@media (max-width: 860px) {
	.vdw-story-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

.vdw-story-img-frame {
	background: var(--vdw-white);
	border: 1px solid var(--vdw-sand);
	border-radius: var(--vdw-radius-md);
	padding: 12px;
	box-shadow: var(--vdw-shadow-md);
}

.vdw-story-img-frame img {
	width: 100%;
	height: auto;
	border-radius: calc(var(--vdw-radius-md) - 6px);
	display: block;
}

.vdw-story-caption {
	padding: 10px 4px 2px;
	font-size: 0.85rem;
	color: var(--vdw-muted);
	font-style: italic;
	text-align: center;
}

/* Adoption 4-Step Cycle Grid */
.vdw-cycle-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 20px;
	margin: 32px 0;
}

.vdw-cycle-step {
	background: var(--vdw-white);
	border: 1px solid var(--vdw-sand);
	border-radius: var(--vdw-radius-md);
	padding: 24px 20px;
	position: relative;
	box-shadow: var(--vdw-shadow-sm);
}

.vdw-cycle-number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: var(--vdw-forest);
	color: #ffffff;
	border-radius: var(--vdw-radius-full);
	font-weight: 700;
	font-size: 1rem;
	margin-bottom: 14px;
}

.vdw-cycle-title {
	font-family: 'Fraunces', Georgia, serif;
	font-size: 1.15rem;
	color: var(--vdw-forest-dark);
	margin: 0 0 8px;
	font-weight: 600;
}

.vdw-cycle-desc {
	font-size: 0.9rem;
	color: var(--vdw-muted);
	line-height: 1.55;
	margin: 0;
}

/* FAQ Card Typography */
.vdw-faq-grid {
	display: grid;
	gap: 16px;
	margin-top: 20px;
}

.vdw-faq-card {
	background: var(--vdw-white);
	border: 1px solid var(--vdw-sand);
	border-radius: var(--vdw-radius-sm);
	padding: 20px 24px;
}

.vdw-faq-q {
	font-family: 'Fraunces', Georgia, serif;
	font-size: 1.1rem;
	color: var(--vdw-forest-dark);
	margin: 0 0 6px;
	font-weight: 600;
}

.vdw-faq-a {
	font-size: 0.94rem;
	color: var(--vdw-muted);
	line-height: 1.65;
	margin: 0;
}

/* ==========================================================================
   Anti-Spam Captcha & Form Feedback Banners
   ========================================================================== */
.vdw-captcha-container {
	background: var(--vdw-white);
	padding: 16px 20px;
	border-radius: var(--vdw-radius-md);
	border: 1px solid var(--vdw-sand);
	margin: 20px 0;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.vdw-captcha-container label {
	cursor: pointer;
}

.vdw-captcha-container label strong {
	color: var(--vdw-ochre);
	font-size: 1.1em;
	background: rgba(181, 103, 52, 0.08);
	padding: 2px 8px;
	border-radius: 4px;
}

.vdw-form-alert {
	padding: 14px 18px;
	border-radius: var(--vdw-radius-md);
	font-size: 0.95rem;
	font-weight: 600;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
	gap: 10px;
	line-height: 1.5;
}

.vdw-form-alert.is-error {
	background: #fef2f2;
	color: #991b1b;
	border: 1px solid #fecaca;
	box-shadow: 0 2px 8px rgba(153, 27, 27, 0.08);
}

