/**
 * NewFigure – aanvullende stijlen bij theme.json.
 * Kleuren en lettertypen komen uit theme.json (var(--wp--preset--…)).
 */

:root {
	--nf-green: var(--wp--preset--color--primary, #94c24a);
	--nf-green-hover: var(--wp--preset--color--primary-hover, #739a3b);
	--nf-green-dark: var(--wp--preset--color--primary-dark, #4f7424);
	--nf-ink: var(--wp--preset--color--contrast, #272a27);
	--nf-muted: var(--wp--preset--color--muted, #6f7370);
	--nf-soft: var(--wp--preset--color--soft, #f5f8f0);
	--nf-line: var(--wp--preset--color--line, #e0e5dc);
	--nf-accent: var(--wp--preset--color--accent-light, #c8e69a);
	--nf-shadow: 0 24px 70px rgba(56, 82, 34, .12);
	--nf-gutter: clamp(20px, 5vw, 76px);
}

html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-site-blocks { position: relative; }

/* ---------- Algemene blokstijlen ---------- */

.is-style-nf-eyebrow {
	margin: 0 0 15px;
	color: var(--nf-green-dark);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 2.2px;
	text-transform: uppercase;
}

.is-style-nf-arrow a {
	color: var(--nf-green-dark);
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
}
.is-style-nf-arrow a::after { content: " →"; }
.is-style-nf-arrow a:hover { text-decoration: underline; text-underline-offset: 4px; }

ul.is-style-nf-check { list-style: none; padding: 0; margin: 34px 0; display: grid; gap: 20px; }
ul.is-style-nf-check li { position: relative; padding-left: 41px; color: var(--nf-muted); font-size: 14px; line-height: 1.5; }
ul.is-style-nf-check li strong { display: inline-block; margin-bottom: 2px; color: var(--nf-ink); font-size: 16px; }
ul.is-style-nf-check li::before {
	content: "✓";
	position: absolute; left: 0; top: 0;
	width: 27px; height: 27px; border-radius: 50%;
	display: grid; place-items: center;
	background: var(--nf-green); color: #fff; font-size: 14px; font-weight: 700;
}

.is-style-nf-card { padding: 34px; border: 1px solid var(--nf-line); border-radius: 22px; background: #fff; }
.is-style-nf-card-soft { padding: 34px; border: 1px solid #c8d9b8; border-radius: 22px; background: var(--nf-soft); }

.wp-element-button, .wp-block-button__link {
	box-shadow: 0 10px 25px rgba(76, 116, 43, .22);
	transition: background-color .2s, transform .2s;
}
.wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-1px); }

/* ---------- Header ---------- */

.nf-site-header { position: relative; z-index: 50; }
.nf-site-header > * { margin-block: 0 !important; }

.nf-utility {
	min-height: 34px;
	padding: 0 var(--nf-gutter);
	gap: 21px !important;
	background: var(--nf-green-dark);
	position: relative; z-index: 60;
}
.nf-utility p { margin: 0; line-height: 34px; }
.nf-utility a { color: rgba(255, 255, 255, .84); font-size: 12px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.nf-utility a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.nf-utility .nf-account-link { padding-left: 20px; border-left: 1px solid rgba(255, 255, 255, .3); }
.nf-utility .nf-account-link a { color: #fff; }

.nf-header {
	height: 92px;
	padding: 0 var(--nf-gutter);
	gap: 30px !important;
	background: #fff;
	border-bottom: 1px solid var(--nf-line);
	color: var(--nf-ink);
}
.nf-header { justify-content: flex-start !important; }
.nf-header .nf-brand { margin: 0; flex: 0 0 auto; }
.nf-header .nf-brand img { display: block; width: 215px; height: auto; }

.nf-nav { margin-left: auto; gap: 22px !important; }
.nf-nav .wp-block-navigation-item__content { color: #555b55; font-size: 14px; font-weight: 700; white-space: nowrap; text-decoration: none; }
.nf-nav .wp-block-navigation-item__content:hover,
.nf-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--nf-green-dark); }
.nf-nav .current-menu-item > .wp-block-navigation-item__content { position: relative; }
.nf-nav .current-menu-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -12px; height: 3px; border-radius: 3px; background: var(--nf-green);
}

.nf-cta { margin: 0; }
.nf-cta .wp-block-button__link { padding: 11px 18px; border-radius: 9px; font-size: 14px; white-space: nowrap; box-shadow: 0 8px 20px rgba(76, 116, 43, .18); }

/* Overlay-variant op de homepage (over de hero-foto) */
.nf-site-header.is-overlay { position: absolute; top: 0; left: 0; right: 0; }
.nf-site-header.is-overlay .nf-utility { background: rgba(31, 45, 25, .72); border-bottom: 1px solid rgba(255, 255, 255, .18); }
.nf-site-header.is-overlay .nf-header {
	background: linear-gradient(90deg, rgba(28, 42, 22, .86), rgba(28, 42, 22, .68));
	backdrop-filter: blur(4px);
	border-color: rgba(255, 255, 255, .25);
	color: #fff;
}
/* Logo in de originele kleuren, ook op de homepage (opmerking oktober 2026). */
.nf-site-header.is-overlay .nf-brand img { filter: none; }
.nf-site-header.is-overlay .nf-nav .wp-block-navigation-item__content { color: rgba(255, 255, 255, .86); }
.nf-site-header.is-overlay .nf-nav .wp-block-navigation-item__content:hover,
.nf-site-header.is-overlay .nf-nav .current-menu-item > .wp-block-navigation-item__content { color: #fff; }
.nf-site-header.is-overlay .wp-block-navigation__responsive-container-open { color: #fff; }

/* Mobiel menu (navigation overlay) */
.nf-nav .wp-block-navigation__responsive-container.is-menu-open {
	padding: 24px; background: #fff !important; color: var(--nf-ink) !important;
}
.nf-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: #3f443f !important; font-size: 18px; padding: 8px 0; }

@media (max-width: 1120px) {
	.nf-header { gap: 20px !important; }
	.nf-header .nf-brand img { width: 185px; }
	.nf-nav { gap: 14px !important; }
	.nf-nav .wp-block-navigation-item__content { font-size: 13px; }
	.nf-cta .wp-block-button__link { padding: 10px 14px; font-size: 13px; }
}
@media (max-width: 900px) {
	.nf-utility { justify-content: flex-start !important; gap: 15px !important; overflow-x: auto; scrollbar-width: none; padding: 0 18px; }
	.nf-utility::-webkit-scrollbar { display: none; }
	.nf-utility a { font-size: 11px; }
	.nf-header { height: 80px; }
	.nf-header .nf-brand img { width: 170px; }
	.nf-cta { display: none !important; }
}

/* ---------- Secties ---------- */

.nf-section { padding: 110px var(--nf-gutter); }
.nf-section-heading { margin: 0 auto 55px; text-align: center; }
.nf-section-heading > * { margin-left: auto !important; margin-right: auto !important; }
.nf-section-heading > p:last-child { color: var(--nf-muted); font-size: 18px; }

.nf-section h2, .nf-intake h2 {
	font-size: clamp(36px, 4vw, 54px);
	letter-spacing: -2.3px;
	line-height: 1.12;
	margin: 0 0 18px;
}

.nf-grid-3 { gap: 18px; }
@media (min-width: 900px) { .nf-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 899px) { .nf-grid-3 { grid-template-columns: minmax(0, 1fr) !important; } }

/* Hero */
.nf-hero.wp-block-cover { padding: 150px var(--nf-gutter) 70px; align-items: center; }
.nf-hero .wp-block-cover__image-background { object-position: center; }
.nf-hero .wp-block-cover__background.has-background-dim { opacity: 1; }
.nf-hero .wp-block-cover__inner-container { max-width: 1280px; margin-inline: auto; }
.nf-hero .wp-block-cover__inner-container > * { max-width: 770px; margin-left: 0 !important; }
.nf-hero .is-style-nf-eyebrow { color: #d2ecad; }
.nf-hero h1 {
	font-size: clamp(48px, 6vw, 78px);
	line-height: 1.02;
	letter-spacing: -3px;
	margin: 0 0 24px;
	max-width: 720px;
	color: #fff;
}
.nf-hero h1 mark { background: none; color: var(--nf-accent); }
.nf-hero .nf-hero-copy { max-width: 615px; font-size: 19px; line-height: 1.6; color: rgba(255, 255, 255, .88); }
.nf-hero-actions { gap: 27px !important; margin-top: 30px !important; }
.nf-hero-actions .is-style-nf-arrow { margin: 0; }
.nf-hero .is-style-nf-arrow a { color: #fff; }
.nf-trust-row {
	list-style: none; display: flex; flex-wrap: wrap; gap: 8px 30px;
	padding: 22px 0 0 !important; margin: 30px 0 0;
	border-top: 1px solid rgba(255, 255, 255, .26);
	font-size: 14px; color: #fff;
}
.nf-trust-row li::before { content: "✓"; color: #d2ecad; margin-right: 6px; }

@media (max-width: 700px) {
	.nf-hero .wp-block-cover__image-background { object-position: 66% center; }
	.nf-hero .has-hero-shade-gradient-background { background: linear-gradient(90deg, rgba(28, 42, 22, .88), rgba(35, 50, 27, .5)) !important; }
}
@media (max-width: 600px) {
	.nf-hero.wp-block-cover { padding-top: 160px; }
	.nf-hero h1 { font-size: 46px; letter-spacing: -2.5px; }
	.nf-hero .nf-hero-copy { font-size: 17px; }
	.nf-hero-actions { flex-direction: column; align-items: flex-start !important; }
	.nf-trust-row { flex-direction: column; gap: 5px; }
}

/* Begeleiding */
.nf-support { padding-top: 78px; padding-bottom: 78px; }
.nf-support .nf-section-heading { margin-bottom: 44px; }
.nf-support h2 { font-size: clamp(36px, 4vw, 52px); letter-spacing: -2px; line-height: 1.1; }
.nf-support-card { gap: 18px !important; padding: 28px; border: 1px solid var(--nf-line); border-radius: 18px; background: #fff; }
.nf-support-card.is-featured { background: var(--nf-soft); border-color: #cddfb7; }
.nf-support-card .nf-icon {
	flex: 0 0 46px; width: 46px; height: 46px; margin: 0;
	border-radius: 14px; background: var(--nf-green); color: #fff;
	display: grid; place-items: center; font-size: 22px; font-weight: 700; line-height: 1;
}
.nf-support-card h3 { font-size: 21px; margin: 0 0 7px; font-weight: 700; letter-spacing: -.3px; }
.nf-support-card p { color: var(--nf-muted); margin: 0; font-size: 15px; }

/* Stappen */
.nf-step { min-height: 250px; padding: 34px; border: 1px solid var(--nf-line); border-radius: 22px; background: #fff; }
.nf-step.is-featured { background: var(--nf-soft); border-color: #c8d9b8; }
.nf-step .nf-step-number { color: var(--nf-green); font-weight: 700; margin: 0 0 38px; }
.nf-step h3 { font-size: 23px; letter-spacing: -.6px; margin: 0 0 11px; }
.nf-step p:last-child { color: var(--nf-muted); margin: 0; }

/* Programma */
#programma { padding-top: 30px; }
.nf-program-card {
	gap: 70px !important; padding: 70px !important;
	border: 1px solid #dce9cf; border-radius: 32px; overflow: hidden; margin: 0;
}
.nf-program-copy > p:not(.is-style-nf-eyebrow) { color: var(--nf-muted); font-size: 18px; }
.nf-result-card { padding: 35px; border: 1px solid #e2eadb; border-radius: 24px; background: #fff; box-shadow: var(--nf-shadow); }
.nf-result-top { font-size: 13px; color: var(--nf-muted); }
.nf-result-top p { margin: 0; }
.nf-result-top .nf-status { padding: 4px 9px; border-radius: 99px; background: var(--nf-soft); color: var(--nf-green-dark); font-weight: 700; }
.nf-result-card h3 { font-size: 32px; line-height: 1.18; letter-spacing: -1.2px; margin: 42px 0 28px; }
.nf-mini-grid { gap: 12px; grid-template-columns: 1fr 1fr !important; }
.nf-mini-grid p { margin: 0; padding: 14px; border-radius: 12px; background: var(--nf-soft); font-size: 12px; color: var(--nf-muted); line-height: 1.5; }
.nf-mini-grid strong { color: var(--nf-ink); font-size: 16px; }
.nf-result-card .nf-quote { margin: 28px 0 0; padding-left: 15px; border-left: 3px solid var(--nf-green); color: var(--nf-muted); font-size: 14px; }
@media (max-width: 781px) {
	.nf-program-card { padding: 38px 24px !important; gap: 40px !important; border-radius: 24px; }
}

/* 3× */
.nf-proof { max-width: 1096px; margin-inline: auto !important; align-items: center; gap: 44px; grid-template-columns: 200px 1fr 1fr !important; }
.nf-proof > * { margin: 0; }
.nf-proof .nf-proof-number { font-size: 90px; line-height: 1; color: var(--nf-green); font-weight: 700; letter-spacing: -6px; }
.nf-proof h2 { font-size: 34px; letter-spacing: -1px; margin: 0; }
.nf-proof > p:not([class*="nf-"]):not([class*="is-style-"]) { color: var(--nf-muted); }
.nf-proof > .is-style-nf-arrow { grid-column: 3; }
@media (max-width: 950px) {
	.nf-proof { grid-template-columns: 130px 1fr !important; }
	.nf-proof > p:not(.nf-proof-number) { grid-column: 2; }
}
@media (max-width: 600px) {
	.nf-proof { grid-template-columns: minmax(0, 1fr) !important; gap: 12px; }
	.nf-proof > p:not(.nf-proof-number) { grid-column: 1; }
	.nf-proof .nf-proof-number { font-size: 70px; }
}

/* Ontdek */
.nf-discover-card {
	display: flex !important; flex-direction: column;
	min-height: 280px; padding: 30px 26px;
	border: 1px solid var(--nf-line); border-radius: 20px; background: #fbfcfa;
}
.nf-discover-card:nth-child(2) { background: var(--nf-soft); }
.nf-discover-card > * { margin-block: 0; }
.nf-discover-card .nf-discover-label { font-size: 12px; text-transform: uppercase; letter-spacing: 1.4px; color: var(--nf-green-dark); font-weight: 700; }
.nf-discover-card h3 { font-size: 25px; margin: 26px 0 8px; font-weight: 800; }
.nf-discover-card p:not([class*="nf-"]):not([class*="is-style-"]) { color: var(--nf-muted); font-size: 15px; margin: 0 0 24px; }
.nf-discover-card .is-style-nf-arrow { margin-top: auto; }
.nf-discover-card .is-style-nf-arrow + .is-style-nf-arrow { margin-top: 8px; }

/* Intake */
.nf-intake { padding: 110px var(--nf-gutter); background: #f7faf3 !important; }
.nf-intake .wp-block-columns { gap: 80px; }
.nf-intake p:not([class*="nf-"]):not([class*="is-style-"]) { font-size: 18px; color: var(--nf-muted); }
.nf-intake .nf-form-note { color: var(--nf-muted); font-size: 13px; }
.nf-intake-form { max-width: 560px; padding: 35px; border-radius: 24px; background: #fff; box-shadow: var(--nf-shadow); }
.nf-intake-form .gform_wrapper { margin: 0; }
.nf-intake-form .gform_wrapper .gfield_label { font-size: 13px; font-weight: 700; }
.nf-intake-form .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.nf-intake-form .gform_wrapper select,
.nf-intake-form .gform_wrapper textarea {
	width: 100%; border: 1px solid var(--nf-line); border-radius: 8px; padding: 14px 15px; font: inherit; font-size: 16px;
}
.nf-intake-form .gform_wrapper input:focus, .nf-intake-form .gform_wrapper select:focus { border-color: var(--nf-green); box-shadow: 0 0 0 3px rgba(131, 170, 73, .15); outline: none; }
.nf-intake-form .gform_wrapper .gform_footer input[type=submit],
.nf-intake-form .gform_wrapper .gform_footer button {
	width: 100%; padding: 15px 24px; border: 0; border-radius: 8px;
	background: var(--nf-green); color: #fff; font-weight: 700; font-size: 15px; cursor: pointer;
	box-shadow: 0 10px 25px rgba(76, 116, 43, .22);
}
.nf-intake-form .gform_wrapper .gform_footer input[type=submit]:hover { background: var(--nf-green-hover); }
@media (max-width: 781px) {
	.nf-intake { padding: 76px 20px; }
	.nf-intake .wp-block-columns { gap: 35px; }
	.nf-intake-form { padding: 24px; }
}

/* Groene band */
.nf-band { padding: 30px var(--nf-gutter); justify-content: center !important; gap: 5px 12vw !important; color: #fff; font-weight: 700; }
.nf-band p { margin: 0; }
.nf-band .is-style-nf-arrow a { color: #fff; text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Footer ---------- */

.nf-footer { padding: 44px var(--nf-gutter); color: var(--nf-muted); font-size: 13px; border-top: 1px solid var(--nf-line); }
.nf-front + .wp-block-template-part .nf-footer, .nf-band ~ * .nf-footer { border-top: 0; }
.nf-footer-inner { gap: 12px 35px !important; }
.nf-footer-inner > * { margin: 0 !important; }
.nf-footer-inner > p:last-child { margin-left: auto !important; }
.nf-footer .nf-brand img { width: 150px; height: auto; }
.nf-footer-links { display: flex; gap: 6px 16px; flex-wrap: wrap; }
.nf-footer-links a { font-size: 12px; color: var(--nf-muted); text-decoration: underline; text-underline-offset: 3px; }
.nf-footer-links a:hover { color: var(--nf-green-dark); }
@media (max-width: 600px) {
	.nf-footer-inner { flex-direction: column; align-items: flex-start !important; }
	.nf-footer-inner > p:last-child { margin-left: 0 !important; }
}

/* ---------- Contactbalk + belvenster ---------- */

body { padding-bottom: 0; }
.nf-dock {
	position: fixed; z-index: 100; right: 22px; bottom: 20px;
	display: flex; align-items: center; gap: 8px; padding: 10px;
	background: #fff; border: 1px solid #dce6d4; border-radius: 14px;
	box-shadow: 0 18px 55px rgba(44, 66, 28, .22);
}
.nf-dock-text small { display: block; margin-top: 3px; font-size: 11px; font-weight: 400; color: var(--nf-muted); }
.nf-dock-text { margin: 0; padding: 0 8px 0 4px; font-size: 13px; font-weight: 700; line-height: 1.2; color: var(--nf-ink); }
.nf-dock-actions { display: flex; gap: 8px; }
.nf-dock-btn {
	padding: 9px 12px; border: 1px solid #d6e2cc; border-radius: 8px; background: #fff;
	color: var(--nf-green-dark); font-size: 12px; font-weight: 700; text-decoration: none; white-space: nowrap;
}
.nf-dock-btn:hover { background: #f4f8ef; }
.nf-dock-btn.is-primary { background: #83aa49; border-color: #83aa49; color: #fff; }
.nf-dock-btn.is-primary:hover { background: #73973f; }
@media (max-width: 760px) {
	body { padding-bottom: 62px; }
	.nf-dock { left: 8px; right: 8px; bottom: 8px; padding: 7px; gap: 5px; }
	.nf-dock-text small { display: block; margin-top: 3px; font-size: 11px; font-weight: 400; color: var(--nf-muted); }
.nf-dock-text { display: none; }
	.nf-dock-actions { flex: 1; gap: 5px; }
	.nf-dock-btn { flex: 1; text-align: center; padding: 10px 5px; font-size: 11px; }
}

.nf-call-dialog {
	width: min(420px, calc(100vw - 32px)); padding: 36px; border: 0; border-radius: 22px;
	text-align: center; box-shadow: 0 30px 90px rgba(28, 42, 22, .35); color: var(--nf-ink);
}
.nf-call-dialog::backdrop { background: rgba(25, 35, 21, .6); backdrop-filter: blur(3px); }
.nf-call-dialog p { margin: 0 0 18px; color: var(--nf-muted); }
.nf-call-dialog .nf-call-eyebrow { margin: 0 0 5px; color: var(--nf-green-dark); text-transform: uppercase; letter-spacing: 1.3px; font-size: 12px; font-weight: 700; }
.nf-call-dialog .nf-call-title { margin: 0 0 10px; font-size: 32px; font-weight: 800; letter-spacing: -1px; color: var(--nf-ink); }
.nf-call-number { display: block; padding: 15px; border-radius: 10px; background: #83aa49; color: #fff; font-size: 21px; font-weight: 700; text-decoration: none; }
.nf-call-number:hover { background: #73973f; color: #fff; }
.nf-call-close { margin-top: 14px; border: 0; background: none; color: var(--nf-green-dark); font: inherit; font-weight: 700; cursor: pointer; text-decoration: underline; }

/* ---------- Overige pagina's ---------- */

.nf-main:not(.nf-front) { min-height: 50vh; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; border: 1px solid var(--nf-line); border-radius: 18px; overflow: hidden; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 11px 18px; color: var(--nf-ink); text-decoration: none; border-bottom: 1px solid var(--nf-line); font-size: 15px; }
.woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
.woocommerce-MyAccount-navigation li.is-active a, .woocommerce-MyAccount-navigation li a:hover { background: var(--nf-soft); color: var(--nf-green-dark); font-weight: 700; }

.wp-block-post-template.is-flex-container > li .wp-block-post-featured-image img { border-radius: 18px; }

@media (max-width: 600px) {
	.nf-section { padding: 76px 20px; }
	.nf-support { padding-top: 66px; padding-bottom: 66px; }
	.nf-support-card { padding: 22px; }
	#programma { padding: 20px 14px 76px; }
}

/* =====================================================================
   Binnenpagina's
   ===================================================================== */

/* Paginakop */
.nf-page-hero.wp-block-cover { padding: 70px var(--nf-gutter); align-items: center; background-color: #2f4521; }
.nf-page-hero .wp-block-cover__inner-container { max-width: 1240px; margin-inline: auto; }
.nf-page-hero .wp-block-cover__inner-container > * { max-width: 720px; margin-left: 0 !important; }
.nf-page-hero .is-style-nf-eyebrow { color: #d2ecad; }
.nf-page-hero h1 { font-size: clamp(40px, 5vw, 64px); line-height: 1.04; letter-spacing: -2.4px; margin: 0 0 18px; color: #fff; }
.nf-page-hero .nf-hero-copy { font-size: 18px; line-height: 1.6; color: rgba(255, 255, 255, .88); max-width: 620px; }
.nf-page-hero .wp-block-buttons { margin-top: 26px; }
@media (max-width: 600px) {
	.nf-page-hero.wp-block-cover { padding: 56px 20px; }
	.nf-page-hero h1 { letter-spacing: -1.4px; }
}

/* Sectievarianten */
.nf-section-tight { padding-top: 56px; padding-bottom: 56px; }
.nf-section-flush { padding-top: 0; }
.nf-section-soft { background: var(--nf-soft); }
.nf-section > .wp-block-group + .wp-block-group,
.nf-section > * + .wp-block-table { margin-top: 0; }
.nf-center { justify-content: center; }
.nf-small { font-size: 14px; color: var(--nf-muted); }
.nf-rounded img, img.nf-rounded, .nf-rounded { border-radius: 22px; overflow: hidden; }

.nf-grid-2 { gap: 18px; }
@media (min-width: 782px) { .nf-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 781px) { .nf-grid-2 { grid-template-columns: minmax(0, 1fr) !important; } }

/* Kaarten */
.nf-card { padding: 32px; border: 1px solid var(--nf-line); border-radius: 22px; background: #fff; }
.nf-card > :first-child { margin-top: 0; }
.nf-card > :last-child { margin-bottom: 0; }
.nf-card.is-featured, .nf-card-highlight { background: var(--nf-soft); border-color: #c8d9b8; }
.nf-card h3 { font-size: 23px; letter-spacing: -.6px; margin: 0 0 10px; }
.nf-card p:not([class*="is-style-"]):not([class*="nf-"]) { color: var(--nf-muted); }
.nf-card-highlight h3 { font-size: 30px; }
.nf-step h3 + p { margin-top: 0; }

.nf-cta-card { text-align: center; padding: 56px 32px; border-radius: 32px; background: linear-gradient(135deg, #f0f7e7, #fbfdf8); border: 1px solid #dce9cf; }
.nf-cta-card .wp-block-buttons { justify-content: center; }
.nf-cta-card > p:not([class]) { color: var(--nf-muted); font-size: 18px; }

.is-style-outline > .wp-block-button__link { background: transparent; color: var(--nf-green-dark); border: 2px solid currentColor; box-shadow: none; }
.is-style-outline > .wp-block-button__link:hover { background: var(--nf-soft); }

/* Veelgestelde vragen */
.nf-faq { border-bottom: 1px solid var(--nf-line); padding: 4px 0; }
.nf-faq summary { cursor: pointer; list-style: none; position: relative; padding: 18px 44px 18px 0; font-size: 19px; font-weight: 700; color: var(--nf-ink); }
.nf-faq summary::-webkit-details-marker { display: none; }
.nf-faq summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border-radius: 50%; background: var(--nf-soft); color: var(--nf-green-dark); display: grid; place-items: center; font-size: 20px; line-height: 1; }
.nf-faq[open] summary::after { content: "–"; }
.nf-faq p { margin: 0 0 20px; color: var(--nf-muted); }

/* Tabellen */
.nf-table table { border-collapse: separate; border-spacing: 0; width: 100%; border: 1px solid var(--nf-line); border-radius: 18px; overflow: hidden; background: #fff; font-size: 15px; }
.nf-table th, .nf-table td { padding: 14px 18px; border: 0; border-bottom: 1px solid var(--nf-line); text-align: left; vertical-align: top; }
.nf-table tr:last-child td { border-bottom: 0; }
.nf-table thead th { background: var(--nf-soft); color: var(--nf-green-dark); font-size: 13px; text-transform: uppercase; letter-spacing: 1px; }
.nf-table td:first-child { font-weight: 700; color: var(--nf-ink); width: 30%; }
.nf-table-compare td:not(:first-child), .nf-table-compare th:not(:first-child) { text-align: center; width: 20%; }
.nf-table-compare td:first-child { width: 60%; font-weight: 400; }
.nf-table .has-fixed-layout { table-layout: auto; }

/* Formulieren */
.nf-form-card { padding: 32px; border-radius: 24px; background: #fff; box-shadow: var(--nf-shadow); }
.nf-form-card .gform_wrapper input:not([type=submit]):not([type=checkbox]):not([type=radio]),
.nf-form-card .gform_wrapper select, .nf-form-card .gform_wrapper textarea { width: 100%; border: 1px solid var(--nf-line); border-radius: 8px; padding: 13px 15px; font: inherit; }
.nf-form-card .gform_wrapper .gform_footer input[type=submit], .nf-form-card .gform_wrapper .gform_footer button {
	padding: 15px 24px; border: 0; border-radius: 8px; background: var(--nf-green); color: #fff; font-weight: 700; cursor: pointer;
}

/* Kaart (Google Maps) */
.nf-map { display: block; width: 100%; border: 0; border-radius: 22px; box-shadow: var(--nf-shadow); }

/* Ervaringen */
.nf-quote-card { display: flex; flex-direction: column; gap: 14px; padding: 30px; border: 1px solid var(--nf-line); border-radius: 22px; background: #fff; }
.nf-quote-card:nth-child(3n+2) { background: var(--nf-soft); border-color: #c8d9b8; }
.nf-quote-card > * { margin: 0 !important; }
.nf-quote-card .nf-avatar { width: 52px; height: 52px; border-radius: 50%; background: var(--nf-green); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 18px; }
.nf-quote-card .nf-quote-text { color: var(--nf-ink); font-size: 16px; line-height: 1.65; }
.nf-quote-card .nf-quote-name { margin-top: auto !important; color: var(--nf-green-dark); }

/* Vestigingen */
.nf-location-card { display: flex; flex-direction: column; border: 1px solid var(--nf-line); border-radius: 22px; overflow: hidden; background: #fff; }
.nf-location-card > * { margin: 0 !important; }
.nf-location-photo { margin: 0; aspect-ratio: 16 / 10; background: var(--nf-soft); }
.nf-location-photo img { width: 100%; height: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.nf-location-body { flex: 1; display: flex; flex-direction: column; padding: 24px 26px 26px; }
.nf-location-body > * { margin: 0 0 12px; }
.nf-location-body h3 { font-size: 24px; letter-spacing: -.6px; margin-bottom: 8px; }
.nf-location-body p { color: var(--nf-muted); font-size: 15px; }
.nf-location-contact a { color: var(--nf-green-dark); font-weight: 700; text-decoration: none; }
.nf-location-coach { color: var(--nf-ink) !important; }
.nf-location-body .is-style-nf-arrow { margin-top: auto; padding-top: 6px; margin-bottom: 0; }
.nf-hours-toggle summary { cursor: pointer; font-weight: 700; font-size: 14px; color: var(--nf-green-dark); }
.nf-hours table { width: 100%; font-size: 14px; border-collapse: collapse; margin-top: 8px; }
.nf-hours td { padding: 4px 0; border: 0; border-bottom: 1px dashed var(--nf-line); }
.nf-hours td:last-child { text-align: right; }

/* BMI */
.nf-bmi-card > * { margin: 0; }

/* Recepten: overzicht */
.nf-archive-head { padding: 64px var(--nf-gutter) 40px; }
.nf-archive-head > * { max-width: 760px; margin-left: 0 !important; }
.nf-archive-head h1 { font-size: clamp(40px, 5vw, 60px); letter-spacing: -2.4px; margin: 0 0 14px; }
.nf-archive-intro { color: var(--nf-muted); font-size: 18px; }
.nf-term-pills { list-style: none; padding: 0; margin: 24px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.nf-term-pills li a { display: inline-block; padding: 8px 16px; border-radius: 99px; background: #fff; border: 1px solid #d6e2cc; color: var(--nf-green-dark); font-size: 14px; font-weight: 700; text-decoration: none; }
.nf-term-pills li.current-cat a, .nf-term-pills li a:hover { background: var(--nf-green); border-color: var(--nf-green); color: #fff; }
.nf-recipe-grid { gap: 20px; }
.nf-recipe-card { height: 100%; border: 1px solid var(--nf-line); border-radius: 22px; overflow: hidden; background: #fff; transition: transform .2s, box-shadow .2s; }
.nf-recipe-card:hover { transform: translateY(-3px); box-shadow: var(--nf-shadow); }
.nf-recipe-card > * { margin: 0 !important; }
.nf-recipe-card .wp-block-post-featured-image { background: var(--nf-soft); aspect-ratio: 4 / 3; overflow: hidden; }
.nf-recipe-card .wp-block-post-featured-image img, .nf-recipe-card .wp-block-post-featured-image a { display: block; width: 100%; height: 100% !important; object-fit: cover; }
.nf-recipe-card-body { padding: 18px 22px 22px; }
.nf-recipe-card-body > * { margin: 0 0 6px; }
.nf-recipe-card h2, .nf-recipe-card h3 { font-size: 21px; letter-spacing: -.4px; line-height: 1.25; }
.nf-recipe-card h2 a, .nf-recipe-card h3 a { color: var(--nf-ink); text-decoration: none; }
.nf-recipe-cat, .nf-recipe-cat a { font-size: 12px; text-transform: uppercase; letter-spacing: 1.4px; font-weight: 700; color: var(--nf-green-dark); text-decoration: none; }

/* Recepten: detail */
.nf-recipe-head { padding: 48px var(--nf-gutter); }
.nf-recipe-head h1 { font-size: clamp(36px, 4.5vw, 56px); letter-spacing: -2px; line-height: 1.08; margin: 6px 0 12px; }
.nf-recipe-head .is-style-nf-eyebrow a { color: inherit; text-decoration: none; }
.nf-back a::after { content: none; }
.nf-back a::before { content: "← "; }
.nf-recipe { gap: 48px; }
.nf-recipe-ingredients { padding: 28px; border-radius: 22px; background: var(--nf-soft); align-self: flex-start; }
.nf-recipe h2 { font-size: 26px; letter-spacing: -.6px; margin: 0 0 16px; }
.nf-ingredients { list-style: none; padding: 0; margin: 0; }
.nf-ingredients li { padding: 9px 0 9px 26px; border-bottom: 1px dashed #cddfb7; position: relative; }
.nf-ingredients li:last-child { border-bottom: 0; }
.nf-ingredients li::before { content: ""; position: absolute; left: 4px; top: 17px; width: 8px; height: 8px; border-radius: 50%; background: var(--nf-green); }
.nf-steps-list { list-style: none; counter-reset: nfstep; padding: 0; margin: 0; }
.nf-steps-list li { counter-increment: nfstep; position: relative; padding: 0 0 18px 52px; min-height: 36px; }
.nf-steps-list li::before { content: counter(nfstep); position: absolute; left: 0; top: -2px; width: 36px; height: 36px; border-radius: 50%; background: var(--nf-green); color: #fff; font-weight: 800; display: grid; place-items: center; font-size: 15px; }
.nf-related-title { margin: 0 0 24px; font-size: 32px; letter-spacing: -1px; }

/* Vestigingen (overzicht + detail) */
.nf-locations-page { background: #f8fbf5; padding-left: var(--nf-gutter); padding-right: var(--nf-gutter); }
.nf-locations-intro { padding: 72px 0 40px; max-width: 1240px; margin: 0 auto !important; }
.nf-locations-intro > * { max-width: 760px; margin-left: 0 !important; }
.nf-locations-intro h1 { font-size: clamp(43px, 6vw, 72px); line-height: 1; letter-spacing: -3px; margin: 0 0 20px; }
.nf-locations-intro p:not([class*="is-style-"]) { font-size: 19px; color: var(--nf-muted); max-width: 690px; }
.nf-locations-list { padding: 0 0 100px; }
@media (max-width: 650px) {
	.nf-locations-intro { padding: 52px 0 28px; }
	.nf-locations-intro h1 { font-size: 44px; letter-spacing: -2px; }
	.nf-locations-list { padding: 0 0 70px; }
}


/* =====================================================================
   Intake (registreren)
   ===================================================================== */
.nf-intake-page { margin-top: 0 !important; }
.nf-intake-page > * { margin-block: 0 !important; }
.nf-intake-hero { padding: 80px var(--nf-gutter) 90px; background: linear-gradient(115deg, #f2f7ec 0%, #f8fbf5 45%, #fff 100%); }
.nf-intake-hero .wp-block-columns { gap: 64px; margin: 0; }
.nf-intake-hero h1 { font-size: clamp(44px, 5.5vw, 70px); line-height: 1.02; letter-spacing: -3px; margin: 0 0 22px; }
.nf-lead { font-size: 18px; color: var(--nf-muted); max-width: 560px; }
.nf-intake-hero .wp-block-buttons { margin-top: 28px; }
ul.nf-checks { list-style: none; padding: 0; margin: 20px 0; display: grid; gap: 10px; }
ul.nf-checks li { position: relative; padding-left: 24px; color: var(--nf-ink); font-size: 15px; }
ul.nf-checks li::before { content: "✓"; position: absolute; left: 0; color: var(--nf-green); font-weight: 800; }
ul.nf-checks-inline { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 26px; }
ul.nf-checks-inline li { font-size: 13px; font-weight: 700; color: var(--nf-green-dark); padding-left: 18px; }
.nf-intake-card { min-height: 230px; padding: 34px 36px; border-radius: 26px; background: linear-gradient(135deg, #4f7424 0%, #739a3b 55%, #94c24a 100%); box-shadow: 0 30px 70px rgba(56, 82, 34, .25); color: #fff; }
.nf-intake-card .nf-intake-card-eyebrow { margin: 0 0 22px; font-size: 12px; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #d2ecad; }
.nf-intake-card .nf-intake-card-title { margin: 0; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.2; font-weight: 800; letter-spacing: -1px; }

#kies-gesprek { scroll-margin-top: 20px; }
.nf-choice-grid { max-width: 900px; margin: 0 auto !important; gap: 18px; }
@media (min-width: 782px) { .nf-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 781px) { .nf-choice-grid { grid-template-columns: minmax(0, 1fr) !important; } }
.nf-choice-card { display: flex; flex-direction: column; padding: 30px; border: 1px solid var(--nf-line); border-radius: 22px; background: #fff; }
.nf-choice-card.is-featured { background: var(--nf-soft); border-color: #c8d9b8; box-shadow: var(--nf-shadow); }
.nf-choice-card > * { margin: 0 0 14px !important; }
.nf-choice-card .wp-block-buttons { margin: auto 0 0 !important; padding-top: 8px; }
.nf-choice-card h3 { font-size: 24px; letter-spacing: -.6px; }
.nf-choice-card p:not([class]) , .nf-choice-card p.wp-block-paragraph:not([class*="nf-"]) { color: var(--nf-muted); font-size: 15px; }
.nf-pill { display: inline-block; align-self: flex-start; padding: 5px 11px; border-radius: 99px; background: #e7f1dc; color: var(--nf-green-dark); font-size: 11px; font-weight: 800; letter-spacing: 1.2px; text-transform: uppercase; }

.nf-howto { padding: 64px var(--nf-gutter); background: var(--nf-green-dark); color: #fff; }
.nf-howto .wp-block-columns { gap: 48px; margin: 0; }
.nf-howto .is-style-nf-eyebrow { color: #d2ecad; }
.nf-howto h2 { color: #fff; font-size: clamp(32px, 3.4vw, 44px); line-height: 1.12; letter-spacing: -1.6px; margin: 0; }
.nf-howto-steps { gap: 0; }
.nf-howto-step { padding: 4px 18px; border-left: 1px solid rgba(255, 255, 255, .25); }
.nf-howto-step > * { margin: 0 !important; }
.nf-howto-step .nf-howto-num { font-size: 13px; font-weight: 800; color: #d2ecad; margin-bottom: 12px !important; }
.nf-howto-step p:last-child { font-size: 13px; color: rgba(255, 255, 255, .78); line-height: 1.6; }
.nf-howto-step strong { display: inline-block; margin-bottom: 4px; font-size: 16px; font-weight: 700; color: #fff; }
@media (max-width: 781px) {
	.nf-howto-steps { grid-template-columns: minmax(0, 1fr) !important; gap: 16px; }
}
.nf-orient { padding: 48px var(--nf-gutter); background: #f8fbf5; }
.nf-orient-inner { gap: 20px; }
.nf-orient-text > * { margin: 0 !important; }
.nf-orient-text .is-style-nf-eyebrow { margin-bottom: 8px !important; }
.nf-orient h2 { font-size: clamp(28px, 3vw, 38px); letter-spacing: -1.2px; }

/* Formulierpagina's */
.nf-intake-hero-form { padding-top: 56px; }
.nf-intake-hero-form .wp-block-columns { align-items: flex-start; }
.nf-intake-hero-form h1 { font-size: clamp(40px, 4.6vw, 58px); }
.nf-back-link { margin: 0 0 28px; font-size: 14px; }
.nf-back-link a { color: var(--nf-green-dark); font-weight: 700; text-decoration: none; }
.nf-intake-form-card { padding: 36px; border: 1px solid var(--nf-line); }
.nf-intake-form-card h2 { margin: 0 0 8px; font-size: 26px; letter-spacing: -.6px; }
.nf-intake-form-card .nf-form-intro { margin: 0 0 18px; color: var(--nf-muted); font-size: 15px; }
.nf-intake-form-card .nf-form-note { margin: 16px 0 0; font-size: 13px; color: var(--nf-muted); }
@media (max-width: 781px) {
	.nf-intake-hero { padding: 48px 20px 60px; }
	.nf-intake-hero .wp-block-columns { gap: 32px; }
	.nf-intake-form-card { padding: 22px; }
}

/* Gravity Forms in huisstijl */
.nf-gform .gform_fields { row-gap: 16px !important; column-gap: 14px !important; }
.nf-gform .gfield_label, .nf-gform legend.gfield_label { font-size: 13px !important; font-weight: 700 !important; color: var(--nf-ink); margin-bottom: 6px !important; }
.nf-gform .gfield_required { color: var(--nf-muted); }
.nf-gform input[type=text], .nf-gform input[type=email], .nf-gform input[type=tel], .nf-gform select, .nf-gform textarea {
	width: 100% !important; min-height: 48px; padding: 12px 14px !important; border: 1px solid #ccd5c5 !important; border-radius: 10px !important;
	background: #fff !important; font: inherit !important; font-size: 15px !important; color: var(--nf-ink) !important; box-shadow: none !important;
}
.nf-gform input:focus, .nf-gform select:focus { border-color: var(--nf-green) !important; box-shadow: 0 0 0 3px rgba(148, 194, 74, .18) !important; outline: none !important; }
.nf-gform .nf-day-pills .gfield_checkbox { display: flex !important; flex-wrap: wrap; gap: 8px; }
.nf-gform .nf-day-pills .gchoice { margin: 0 !important; }
.nf-gform .nf-day-pills .gchoice input { position: absolute; opacity: 0; }
.nf-gform .nf-day-pills .gchoice label { display: inline-block; margin: 0 !important; padding: 9px 14px; border: 1px solid #ccd5c5; border-radius: 9px; font-size: 14px; font-weight: 700; color: var(--nf-ink); cursor: pointer; max-width: none !important; }
.nf-gform .nf-day-pills .gchoice input:checked + label { background: var(--nf-green-dark); border-color: var(--nf-green-dark); color: #fff; }
.nf-gform .nf-day-pills .gchoice input:focus-visible + label { outline: 2px solid var(--nf-green); outline-offset: 2px; }
.nf-gform .nf-consent label { font-size: 13px !important; color: var(--nf-muted); }
.nf-gform .gform_footer { margin-top: 18px !important; padding: 0 !important; }
.nf-gform .gform_footer .gform_button { width: auto !important; min-width: 200px; padding: 15px 26px !important; border: 0 !important; border-radius: 8px !important; background: var(--nf-green) !important; color: #fff !important; font-weight: 700 !important; font-size: 15px !important; cursor: pointer; box-shadow: 0 10px 25px rgba(76, 116, 43, .22); }
.nf-gform .gform_footer .gform_button:hover { background: var(--nf-green-hover) !important; }
.nf-gform .validation_message, .nf-gform .gform_validation_errors { border-radius: 10px; font-size: 13px; }
.gform_confirmation_message { padding: 20px; border-radius: 14px; background: var(--nf-soft); color: var(--nf-green-dark); font-weight: 700; }
.nf-gform .ginput_complex, .nf-gform .ginput_complex > span, .nf-gform .ginput_container { width: 100% !important; max-width: none !important; flex: 1 1 100% !important; }
.nf-gform .gfield--type-captcha .gfield_label { display: none !important; }
@media (min-width: 641px) { .nf-gform .gform_fields .gfield.nf-half { grid-column: span 6 !important; } }
.nf-gform .gform_fields { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)); list-style: none; margin: 0; padding: 0; }
.nf-gform .gform_fields .gfield { grid-column: 1 / -1; margin: 0; padding: 0; border: 0; min-width: 0; }
@media (min-width: 641px) { .nf-gform .gform_fields .gfield.nf-half { grid-column: span 6 !important; } }
.nf-gform .gfield_checkbox { list-style: none; margin: 0; padding: 0; }
.nf-gform .nf-consent .gchoice { display: flex; gap: 10px; align-items: flex-start; }
.nf-gform .nf-consent input { margin-top: 3px; }

/* =====================================================================
   Webshop (WooCommerce)
   ===================================================================== */
.nf-shop-hero { padding: 80px var(--nf-gutter) 72px; background: linear-gradient(115deg, #eef6e5 0%, #f8fbf5 50%, #fff 100%); }
.nf-shop-hero .wp-block-columns { gap: 56px; margin: 0; }
.nf-shop-hero h1 { font-size: clamp(44px, 5.4vw, 68px); line-height: 1.03; letter-spacing: -2.8px; margin: 0 0 22px; }
.nf-shop-hero h1 mark { background: none; color: var(--nf-green-dark); }
.nf-shop-hero .wp-block-buttons { margin-top: 28px; gap: 12px; }
.nf-shop-hero .wp-block-column:has(.nf-shop-featured):not(:has(.wc-block-product)) { display: none; }

.nf-shop-featured .wc-block-product-template { display: block !important; margin: 0; padding: 0; list-style: none; }
.nf-shop-featured .wc-block-product { position: relative; padding: 24px 28px 28px; border-radius: 26px; background: #fff; box-shadow: 0 30px 70px rgba(56, 82, 34, .14); text-align: left; }
.nf-shop-featured .wc-block-components-product-image { margin: 0 0 18px !important; border-radius: 18px; overflow: hidden; background: #f6f9f2; }
.nf-shop-featured .wc-block-components-product-image img { aspect-ratio: 16 / 9; object-fit: contain !important; }
.nf-shop-featured .nf-shop-featured-label { position: absolute; top: 14px; left: 14px; margin: 0; padding: 5px 11px; border-radius: 99px; background: var(--nf-green-dark); color: #fff; font-size: 11px; font-weight: 800; z-index: 2; }
.nf-shop-featured h2 { margin: 0 0 6px; font-size: 26px; letter-spacing: -.6px; }
.nf-shop-featured h2 a { color: var(--nf-ink); text-decoration: none; }
.nf-shop-featured .wp-block-post-excerpt { color: var(--nf-muted); font-size: 14px; margin: 0 0 12px; }
.nf-shop-featured .wp-block-post-excerpt__more-text { display: none; }

.nf-shop-trust { padding: 16px var(--nf-gutter); border-top: 1px solid var(--nf-line); border-bottom: 1px solid var(--nf-line); background: #fff; }
.nf-shop-trust ul.nf-checks-inline { justify-content: center; margin: 0; gap: 8px 40px; }

.nf-shop-sale { color: #fff; }
.nf-shop-sale:not(:has(.wc-block-product)) { display: none; }
.nf-shop-sale .is-style-nf-eyebrow { color: #d2ecad; }
.nf-shop-sale h2 { color: #fff; }
.nf-shop-sale .nf-section-heading > p:last-child { color: rgba(255, 255, 255, .78); }

/* Productkaarten */
.nf-product-grid .wc-block-product-template { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; max-width: 1080px; margin: 0 auto !important; padding: 0; list-style: none; }
.nf-product-grid .wc-block-product { display: flex; flex-direction: column; margin: 0 !important; padding: 14px 14px 20px; border: 1px solid var(--nf-line); border-radius: 20px; background: #fff; text-align: left; transition: box-shadow .2s, transform .2s; width: auto !important; }
.nf-product-grid .wc-block-product:hover { box-shadow: var(--nf-shadow); transform: translateY(-2px); }
.nf-product-grid .wc-block-components-product-image { position: relative; margin: 0 0 16px !important; border-radius: 14px; overflow: hidden; background: #f6f9f2; }
.nf-product-grid .wc-block-components-product-image img { aspect-ratio: 1 / 1; object-fit: contain !important; padding: 10px; }
.nf-product-grid h3 { margin: 0 8px 10px !important; font-size: 17px !important; line-height: 1.3; letter-spacing: -.2px; text-align: left !important; }
.nf-product-grid h3 a { color: var(--nf-ink); text-decoration: none; }
.nf-product-grid .wc-block-components-product-price, .nf-shop-featured .wc-block-components-product-price { margin: 0 8px 16px; font-size: 22px !important; font-weight: 800; color: var(--nf-green-dark); text-align: left !important; }
.nf-shop-featured .wc-block-components-product-price { margin: 0 0 16px; font-size: 26px !important; }
.wc-block-components-product-price del, .nf-product-page .price del { color: var(--nf-muted); font-size: .6em; font-weight: 400; margin-right: 6px; }
.wc-block-components-product-price ins, .nf-product-page .price ins { text-decoration: none; }
.nf-product-grid .wp-block-button.wc-block-components-product-button, .nf-product-grid .wc-block-components-product-button { margin: auto 8px 0 !important; justify-content: flex-start !important; }
.wc-block-components-product-button .wp-block-button__link, .wc-block-components-product-button .wc-block-components-product-button__button {
	padding: 11px 18px !important; border-radius: 8px !important; background: var(--nf-green) !important; color: #fff !important; font-size: 14px !important; font-weight: 700 !important; border: 0 !important; box-shadow: none;
}
.wc-block-components-product-button .wp-block-button__link:hover { background: var(--nf-green-hover) !important; }
.wc-block-components-product-button .added_to_cart { display: inline-block; margin: 8px 0 0; color: var(--nf-green-dark); font-weight: 700; font-size: 13px; }
.wc-block-components-product-sale-badge, .onsale { padding: 4px 10px !important; border: 0 !important; border-radius: 99px !important; background: var(--nf-green-dark) !important; color: #fff !important; font-size: 11px !important; font-weight: 800 !important; text-transform: none !important; }
.nf-shop-toolbar { max-width: 1080px; margin: 0 auto 20px !important; align-items: center; font-size: 14px; color: var(--nf-muted); }
.nf-shop-toolbar select { padding: 10px 12px; border: 1px solid #ccd5c5; border-radius: 9px; font: inherit; font-size: 14px; background: #fff; }
.nf-shop .wp-block-query-pagination { margin-top: 32px; gap: 8px; }
.nf-shop .wp-block-query-pagination a, .nf-shop .wp-block-query-pagination .page-numbers { padding: 8px 13px; border: 1px solid var(--nf-line); border-radius: 8px; color: var(--nf-green-dark); text-decoration: none; font-weight: 700; }
.nf-shop .wp-block-query-pagination .current { background: var(--nf-green-dark); color: #fff; border-color: var(--nf-green-dark); }
@media (max-width: 900px) { .nf-product-grid .wc-block-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .nf-product-grid .wc-block-product-template { grid-template-columns: minmax(0, 1fr); } .nf-shop-hero { padding: 48px 20px; } }

/* Productpagina */
.nf-product-top { padding: 28px var(--nf-gutter) 72px; background: linear-gradient(180deg, #f8fbf5 0%, #fff 100%); }
.woocommerce-breadcrumb, .wc-block-breadcrumbs { font-size: 13px; color: var(--nf-muted); margin-bottom: 26px !important; }
.woocommerce-breadcrumb a, .wc-block-breadcrumbs a { color: var(--nf-green-dark); font-weight: 700; text-decoration: none; }
.nf-product-cols { gap: 56px; }
.nf-product-gallery .woocommerce-product-gallery { box-sizing: border-box; padding: 22px; border: 1px solid var(--nf-line); border-radius: 26px; background: #fff; }
.nf-product-gallery .woocommerce-product-gallery img { border-radius: 14px; }
.nf-product-gallery .flex-control-thumbs { display: flex; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; }
.nf-product-gallery .flex-control-thumbs li { width: 72px; }
.nf-product-gallery .flex-control-thumbs img { border: 1px solid var(--nf-line); cursor: pointer; opacity: .7; }
.nf-product-gallery .flex-control-thumbs img.flex-active { opacity: 1; border-color: var(--nf-green); }
.nf-product-summary h1 { font-size: clamp(34px, 4vw, 48px); line-height: 1.08; letter-spacing: -1.8px; margin: 4px 0 14px; }
.nf-product-summary .is-style-nf-eyebrow a { color: inherit; text-decoration: none; }
.nf-product-price, .nf-product-summary .wc-block-components-product-price { font-size: 30px !important; font-weight: 800; color: var(--nf-green-dark); margin-bottom: 16px; }
.nf-product-summary .wp-block-post-excerpt { color: var(--nf-muted); font-size: 16px; }
.nf-product-summary form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; margin: 26px 0 22px; }
.nf-product-summary .quantity input { width: 84px; height: 100%; min-height: 50px; padding: 0 10px; border: 1px solid #ccd5c5; border-radius: 10px; font: inherit; font-size: 16px; text-align: center; }
.nf-product-summary .single_add_to_cart_button, .woocommerce .button.alt, .woocommerce-cart .checkout-button, #place_order {
	padding: 15px 28px !important; border: 0 !important; border-radius: 8px !important; background: var(--nf-green) !important; color: #fff !important; font: inherit !important; font-weight: 700 !important; font-size: 15px !important; cursor: pointer; box-shadow: 0 10px 25px rgba(76, 116, 43, .22);
}
.nf-product-summary .single_add_to_cart_button:hover, .woocommerce .button.alt:hover, #place_order:hover { background: var(--nf-green-hover) !important; }
.nf-product-summary .product_meta, .nf-product-summary .wp-block-woocommerce-product-meta { margin-top: 18px; font-size: 13px; color: var(--nf-muted); }
.nf-product-details .woocommerce-tabs ul.tabs, .wc-block-components-tabs__list { display: flex; gap: 6px; margin: 0 0 24px; padding: 0; list-style: none; border-bottom: 1px solid var(--nf-line); }
.nf-product-details .woocommerce-tabs ul.tabs li a { display: block; padding: 12px 18px; color: var(--nf-muted); font-weight: 700; text-decoration: none; border-bottom: 3px solid transparent; }
.nf-product-details .woocommerce-tabs ul.tabs li.active a { color: var(--nf-green-dark); border-bottom-color: var(--nf-green); }
.nf-product-details .woocommerce-Tabs-panel h2:first-child { display: none; }
.nf-product-details .shop_attributes { width: 100%; border-collapse: collapse; }
.nf-product-details .shop_attributes th, .nf-product-details .shop_attributes td { padding: 12px 6px; border-bottom: 1px solid var(--nf-line); text-align: left; }
@media (max-width: 781px) { .nf-product-top { padding: 20px 20px 48px; } .nf-product-cols { gap: 24px; } }

/* Winkelwagen en afrekenen (klassiek) */
.nf-checkout-page { padding: 56px var(--nf-gutter) 90px; background: #f8fbf5; }
.nf-checkout-page > * { max-width: 1240px; }
.nf-checkout-title { font-size: clamp(36px, 4vw, 52px); letter-spacing: -2px; margin: 0 0 28px; }
.woocommerce table.shop_table { width: 100%; border: 1px solid var(--nf-line); border-radius: 20px; border-collapse: separate; border-spacing: 0; overflow: hidden; background: #fff; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: 16px 18px; border: 0; border-bottom: 1px solid var(--nf-line); text-align: left; vertical-align: middle; }
.woocommerce table.shop_table tr:last-child td { border-bottom: 0; }
.woocommerce table.shop_table thead th { background: var(--nf-soft); color: var(--nf-green-dark); font-size: 13px; text-transform: uppercase; letter-spacing: 1px; }
.woocommerce table.shop_table img { width: 64px; border-radius: 10px; background: #f6f9f2; }
.woocommerce table.shop_table .product-remove a { color: var(--nf-muted) !important; font-size: 22px; text-decoration: none; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout-review-order, .woocommerce-checkout #customer_details { padding: 28px; border: 1px solid var(--nf-line); border-radius: 22px; background: #fff; }
.woocommerce .cart-collaterals { margin-top: 28px; display: flex; justify-content: flex-end; }
.woocommerce .cart-collaterals .cart_totals { width: min(460px, 100%); }
.woocommerce .cart-collaterals h2, .woocommerce-checkout h3 { font-size: 24px; letter-spacing: -.6px; margin: 0 0 16px; }
.woocommerce .button:not(.alt):not(.checkout-button) { padding: 12px 18px; border: 1px solid #ccd5c5; border-radius: 8px; background: #fff; color: var(--nf-green-dark); font: inherit; font-weight: 700; font-size: 14px; cursor: pointer; }
.woocommerce .coupon input.input-text, .woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection--single {
	min-height: 48px; padding: 11px 14px; border: 1px solid #ccd5c5 !important; border-radius: 10px !important; font: inherit; font-size: 15px; background: #fff;
}
.select2-container .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; }
.woocommerce form .form-row { margin: 0 0 14px; }
.woocommerce form .form-row label { font-size: 13px; font-weight: 700; margin-bottom: 6px; display: block; }
.woocommerce-checkout .col2-set { display: grid; gap: 24px; }
@media (min-width: 900px) {
	.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 440px; gap: 28px; align-items: start; }
	.woocommerce-checkout form.checkout > .col2-set, .woocommerce-checkout form.checkout > #customer_details { grid-column: 1; }
	.woocommerce-checkout form.checkout > #order_review_heading, .woocommerce-checkout form.checkout > #order_review { grid-column: 2; }
	.woocommerce-checkout form.checkout > #order_review_heading { grid-row: 1; margin: 0; }
	.woocommerce-checkout form.checkout > #order_review { grid-row: 2; }
}
.woocommerce-checkout #payment { margin-top: 18px; padding: 18px; border-radius: 16px; background: var(--nf-soft); }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; margin: 0 0 14px; padding: 0; }
.woocommerce-checkout #payment ul.payment_methods li { padding: 10px 0; border-bottom: 1px solid #dbe7d0; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { list-style: none; margin: 0 0 20px; padding: 14px 18px; border-left: 3px solid var(--nf-green); border-radius: 10px; background: var(--nf-soft); color: var(--nf-green-dark); font-size: 14px; }
.woocommerce-error { border-left-color: #c0392b; background: #fbeeec; color: #8a2a1f; }
.woocommerce-message .button, .woocommerce-info .button { float: right; }
.nf-checkout-page .wp-block-post-content > *, .nf-checkout-page .wp-block-post-content .woocommerce { max-width: 1240px !important; width: 100%; margin-left: auto !important; margin-right: auto !important; }
.nf-checkout-title { max-width: 1240px; margin-left: auto !important; margin-right: auto !important; width: 100%; }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: 100% !important; float: none !important; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 48.5%; }
@media (min-width: 900px) {
	.woocommerce-checkout form.checkout > #customer_details { grid-row: 1 / span 2; }
	.woocommerce-checkout form.checkout > #order_review_heading { align-self: end; padding: 0 4px; }
	.woocommerce-cart .woocommerce { display: block; }
}
.woocommerce-checkout #customer_details .col-2 { margin-top: 18px; }
.woocommerce-info::before, .woocommerce-message::before { display: none !important; }
.woocommerce-info, .woocommerce-message { border-top: 0 !important; padding-left: 18px !important; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { box-sizing: border-box; width: 100%; }
.nf-shop-featured .wc-block-components-product-image img { max-height: 260px; width: 100% !important; height: 260px !important; object-fit: contain !important; }
.nf-shop-featured .wc-block-components-product-button { justify-content: flex-start !important; align-items: flex-start !important; }

/* =====================================================================
   Ontwerp 2026: informatiepagina's en componenten
   ===================================================================== */
.nf-design-page > *, .nf-info-page > * { margin-block: 0 !important; }
.nf-info-hero { padding: 72px var(--nf-gutter) 64px; background: linear-gradient(115deg, #eef6e5 0%, #f6faf1 50%, #fbfdf8 100%); }
.nf-info-hero h1 { font-size: clamp(40px, 5vw, 60px); line-height: 1.05; letter-spacing: -2.4px; margin: 0 0 18px; }
.nf-info-hero .wp-block-buttons { margin-top: 24px; }
.nf-center-hero { text-align: center; }
.nf-center-hero .wp-block-buttons { justify-content: center; }
.nf-center-hero .nf-lead { margin-inline: auto; }
.nf-info-main { padding: 56px var(--nf-gutter) 90px; }
.nf-info-main h2 { font-size: 26px; letter-spacing: -.8px; margin: 40px 0 12px; }
.nf-info-main h2:first-child { margin-top: 0; }
.nf-info-main p, .nf-info-main li { color: var(--nf-muted); font-size: 15px; }
.nf-info-main ul { padding-left: 18px; }
.nf-info-cta { margin-top: 36px !important; padding: 24px 26px; border-radius: 18px; background: var(--nf-green-dark); color: #fff; gap: 16px; }
.nf-info-cta h3 { margin: 0 0 4px; color: #fff; font-size: 24px; letter-spacing: -.6px; }
.nf-info-cta p { margin: 0; color: rgba(255, 255, 255, .85) !important; font-size: 14px; }
.nf-btn-white .wp-block-button__link { background: #fff !important; color: var(--nf-green-dark) !important; box-shadow: none; }
.nf-btn-white .wp-block-button__link:hover { background: #f2f7ec !important; }
.nf-info-note { margin-top: 28px !important; margin-bottom: 28px !important; padding: 16px 20px; border-left: 3px solid var(--nf-green); border-radius: 0 14px 14px 0; background: #f2f7ec; }
.nf-info-note p { margin: 0 0 4px; font-size: 14px; }
.nf-info-note p strong { color: var(--nf-green-dark); }
.nf-logo-card { margin: 24px 0 !important; padding: 18px; border: 1px solid var(--nf-line); border-radius: 18px; background: #fff; }
.nf-logo-card figure { margin: 0 0 8px; }
.nf-logo-card img { border-radius: 8px; }
.nf-logo-card .nf-small { margin: 0; font-size: 12px; }
.nf-faq-card { margin: 0 0 10px !important; padding: 0 20px; border: 1px solid var(--nf-line); border-radius: 14px; background: #fff; box-shadow: 0 6px 20px rgba(56, 82, 34, .05); }
.nf-faq-card summary { cursor: pointer; list-style: none; position: relative; padding: 16px 30px 16px 0; font-weight: 700; color: var(--nf-ink); font-size: 15px; }
.nf-faq-card summary::-webkit-details-marker { display: none; }
.nf-faq-card summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); color: var(--nf-green-dark); font-size: 20px; }
.nf-faq-card[open] summary::after { content: "–"; }
.nf-faq-card p { margin: 0 0 16px; }
.nf-faq-after { margin-top: 28px !important; }
.nf-soft-cta { padding: 34px 40px; border: 1px solid #dce9cf; border-radius: 26px; background: #eef6e5; gap: 20px; }
.nf-soft-cta-text > * { margin: 0 !important; }
.nf-soft-cta-text .is-style-nf-eyebrow { margin-bottom: 8px !important; }
.nf-soft-cta h2 { font-size: clamp(28px, 3vw, 40px); letter-spacing: -1.4px; max-width: 560px; }
.nf-card-eyebrow { margin: 0 0 10px !important; color: var(--nf-green-dark); font-size: 11px; font-weight: 800; letter-spacing: 1.6px; text-transform: uppercase; }
.nf-mini-card { padding: 22px; border: 1px solid var(--nf-line); border-radius: 18px; background: #fff; }
.nf-mini-card > * { margin: 0 0 8px !important; }
.nf-mini-card h3 { font-size: 18px; letter-spacing: -.3px; }
.nf-mini-card p:not(.nf-card-eyebrow) { color: var(--nf-muted); font-size: 14px; }
.nf-grid-4 { gap: 14px; }
@media (min-width: 900px) { .nf-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
@media (max-width: 899px) and (min-width: 560px) { .nf-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 559px) { .nf-grid-4 { grid-template-columns: minmax(0, 1fr) !important; } }

/* Methode */
.nf-basis-card { padding: 26px; border-radius: 24px; background: #fff; box-shadow: 0 30px 70px rgba(56, 82, 34, .14); }
.nf-basis-row { gap: 14px; padding: 12px 0; border-top: 1px solid var(--nf-line); }
.nf-basis-row > * { margin: 0 !important; }
.nf-basis-row p:last-child { font-size: 13px; color: var(--nf-muted); line-height: 1.4; }
.nf-basis-row strong { color: var(--nf-ink); font-size: 15px; }
.nf-basis-num { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 10px; background: var(--nf-green); color: #fff; display: grid; place-items: center; font-weight: 800; font-size: 14px; }
.nf-steps-5 { gap: 12px; }
@media (min-width: 1000px) { .nf-steps-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; } }
.nf-step-sm { min-height: 0; padding: 20px 18px; border-radius: 16px; background: #fbfcfa; }
.nf-step-sm .nf-step-number { margin-bottom: 20px; font-size: 13px; }
.nf-step-sm h3 { font-size: 17px; letter-spacing: -.3px; }
.nf-step-sm p:last-child { font-size: 13px; }
.nf-week-card h3 { font-size: 18px; }
.nf-price { color: var(--nf-green-dark); }
.nf-included-card { padding: 30px; border-radius: 26px; background: var(--nf-green-dark); color: #fff; }
.nf-included-card .nf-card-eyebrow { color: #d2ecad; }
ul.nf-checks-light li { padding: 10px 0 10px 24px; border-bottom: 1px solid rgba(255, 255, 255, .18); color: #fff; font-size: 15px; }
ul.nf-checks-light li::before { color: #d2ecad; top: 10px; }
ul.nf-checks-light { gap: 0; margin: 0 0 22px; }
.nf-dayparts { gap: 0; border: 1px solid var(--nf-line); border-radius: 18px; overflow: hidden; background: #fff; }
.nf-daypart { padding: 18px 20px; border-bottom: 1px solid var(--nf-line); }
.nf-daypart:nth-child(odd) { border-right: 1px solid var(--nf-line); }
.nf-daypart:nth-last-child(-n+2) { border-bottom: 0; }
.nf-daypart > * { margin: 0 !important; }
.nf-daypart p:last-child { font-size: 13px; color: var(--nf-muted); }
.nf-daypart strong { color: var(--nf-ink); font-size: 15px; font-weight: 600; }
.nf-green-band { padding: 64px var(--nf-gutter); background: var(--nf-green-dark); color: #fff; }
.nf-green-band .is-style-nf-eyebrow { color: #d2ecad; }
.nf-green-band h2 { color: #fff; font-size: clamp(30px, 3.4vw, 42px); letter-spacing: -1.4px; line-height: 1.1; margin: 0 0 14px; }
.nf-green-band p:not([class*="is-style-"]):not([class*="nf-"]) { color: rgba(255, 255, 255, .82); }
.nf-green-band .wp-block-columns { margin: 0; }
.nf-right { justify-content: flex-end; }
.nf-light-link a { color: #fff; font-weight: 700; text-decoration: none; margin-left: 18px; }
.nf-green-mini { padding: 18px; border: 1px solid rgba(255, 255, 255, .2); border-radius: 14px; background: rgba(255, 255, 255, .07); }
.nf-green-mini > * { margin: 0 0 6px !important; }
.nf-green-mini h3 { color: #fff; font-size: 17px; }
.nf-green-mini p { color: rgba(255, 255, 255, .78) !important; font-size: 13px; }
@media (max-width: 781px) { .nf-right { justify-content: flex-start; } .nf-daypart:nth-child(odd) { border-right: 0; } .nf-daypart:nth-last-child(2) { border-bottom: 1px solid var(--nf-line); } }

/* Ervaringen */
.nf-story-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--nf-line); border-radius: 20px; background: #fff; }
.nf-story-card > * { margin: 0 !important; }
.nf-story-photo { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; background: var(--nf-soft); }
.nf-story-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; display: block; }
.nf-story-body { padding: 20px 22px 22px; }
.nf-story-body p { margin: 0 0 12px; color: var(--nf-muted); font-size: 14px; }
.nf-story-body .nf-story-name { margin: 0; color: var(--nf-ink); }

/* BMI-pagina */
.nf-crumbs { font-size: 13px; color: var(--nf-muted); margin: 0 0 18px !important; }
.nf-crumbs a { color: var(--nf-green-dark); font-weight: 700; text-decoration: none; }
.nf-bmi-hero { padding-bottom: 40px; }
.nf-bmi-section { padding: 0 var(--nf-gutter) 72px; background: linear-gradient(180deg, #fbfdf8 0%, #fff 100%); }
.nf-formula { font-size: 22px; color: #fff !important; margin: 6px 0 12px !important; }
.nf-formula-card h3 { color: #fff; font-size: 22px; margin: 0; }
.nf-formula-card p { color: rgba(255, 255, 255, .85); }
.nf-exceptions { display: grid; gap: 10px; }
.nf-exception { display: flex; gap: 16px; padding: 18px 20px; border: 1px solid var(--nf-line); border-radius: 16px; background: #fff; }
.nf-exception > * { margin: 0 !important; }
.nf-exception .nf-step-number { flex: 0 0 auto; font-size: 13px; }
.nf-exception p:last-child { font-size: 14px; color: var(--nf-muted); }
.nf-exception strong { color: var(--nf-ink); font-size: 16px; }

/* Blogs */
.nf-post-grid { gap: 16px; }
.nf-post-card { height: 100%; display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--nf-line); border-radius: 18px; background: #fff; }
.nf-post-card > * { margin: 0 0 10px !important; }
.nf-post-card h2 { font-size: 22px !important; letter-spacing: -.5px; line-height: 1.2; }
.nf-post-card h2 a { color: var(--nf-ink); text-decoration: none; }
.nf-post-card .wp-block-post-excerpt__more-link, .nf-post-card .wp-block-post-excerpt__more-text { display: none; }
.nf-post-card .wp-block-read-more { margin-top: auto !important; color: var(--nf-green-dark); font-weight: 700; font-size: 14px; text-decoration: none; }
.nf-post-card .nf-card-eyebrow a { color: inherit; text-decoration: none; }
.nf-article .wp-block-post-content > * { color: var(--nf-ink); }
.nf-article .wp-block-post-content p { color: #4a4f4b; font-size: 17px; line-height: 1.7; }
.nf-article .wp-block-post-content h2 { font-size: 28px; margin-top: 36px; }

/* Mijn account */
.nf-account-page { padding: 56px var(--nf-gutter) 90px; background: #f6f9f2; }
.nf-account-head { text-align: center; margin-bottom: 28px; }
.nf-account-head h1 { font-size: clamp(36px, 4vw, 52px); letter-spacing: -2px; margin: 0; }
.nf-account-content { max-width: 1100px; margin: 0 auto !important; }
.nf-account-content .woocommerce { display: grid; grid-template-columns: 250px minmax(0, 1fr); overflow: hidden; border-radius: 24px; background: #fff; box-shadow: 0 30px 70px rgba(56, 82, 34, .12); }
.nf-account-content .woocommerce-MyAccount-navigation { padding: 22px 16px; background: var(--nf-green-dark); width: auto !important; float: none !important; }
.nf-account-content .woocommerce-MyAccount-navigation::before { content: "Mijn account"; display: block; padding: 4px 12px 14px; color: #fff; font-weight: 800; font-size: 15px; }
.nf-account-content .woocommerce-MyAccount-navigation ul { border: 0; border-radius: 0; display: grid; gap: 2px; }
.nf-account-content .woocommerce-MyAccount-navigation li a { padding: 10px 12px; border: 0; border-radius: 9px; color: rgba(255, 255, 255, .86); font-size: 14px; font-weight: 600; }
.nf-account-content .woocommerce-MyAccount-navigation li.is-active a, .nf-account-content .woocommerce-MyAccount-navigation li a:hover { background: rgba(255, 255, 255, .14); color: #fff; }
.nf-account-content .woocommerce-MyAccount-content { padding: 34px 38px; width: auto !important; float: none !important; min-width: 0; }
.nf-account-content .woocommerce > .woocommerce-notices-wrapper, .nf-account-content .woocommerce > :not(nav):not(.woocommerce-MyAccount-content):not(.woocommerce-MyAccount-navigation) { grid-column: 1 / -1; }
.nf-account-content .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) { display: block; max-width: 520px; margin: 0 auto; padding: 34px; }
.nf-account-content .woocommerce form.login, .nf-account-content .woocommerce form.register { border: 0; padding: 0; margin: 0; }
.nf-account-content .woocommerce form .form-row input.input-text { width: 100%; }
@media (max-width: 800px) {
	.nf-account-content .woocommerce { grid-template-columns: minmax(0, 1fr); }
	.nf-account-content .woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; }
	.nf-account-content .woocommerce-MyAccount-content { padding: 24px 20px; }
}
.nf-tabs { display: flex; gap: 8px; margin: 0 0 28px !important; }
.nf-tabs a { padding: 9px 16px; border-radius: 99px; background: #e7f1dc; color: var(--nf-green-dark); font-size: 13px; font-weight: 700; text-decoration: none; }
.nf-tabs a.is-active { background: var(--nf-green); color: #fff; }
.nf-recipe-search { max-width: 520px; margin: 22px 0 0 !important; }
.nf-recipe-search .wp-block-search__inside-wrapper { padding: 4px; border: 1px solid #ccd5c5 !important; border-radius: 12px; background: #fff; }
.nf-recipe-search input { border: 0 !important; padding: 10px 12px !important; font: inherit; font-size: 15px; }
.nf-recipe-search .wp-block-search__button { border-radius: 9px; background: var(--nf-green); color: #fff; padding: 8px 12px; }
.nf-term-pills { overflow-x: auto; flex-wrap: nowrap !important; padding-bottom: 6px !important; }
.nf-term-pills li { flex: 0 0 auto; }
.nf-account-content .woocommerce::before, .nf-account-content .woocommerce::after { content: none !important; display: none !important; }
.nf-account-content .woocommerce-MyAccount-navigation li { margin: 0; }
.nf-account-content .woocommerce-MyAccount-navigation ul { align-content: start; }
.nf-account-content { max-width: 1240px !important; }

/* ---- Verbeteringen review oktober 2026 ---- */
/* Productafbeeldingen nooit breder dan hun kaart. */
.wc-block-product img, .nf-product-grid img { max-width: 100%; height: auto; }
/* Mobiel: "Mijn account" vooraan in de infobalk, zodat hij zichtbaar is zonder scrollen. */
@media (max-width: 900px) {
	.nf-utility .nf-account-link { order: -1; padding-left: 0; padding-right: 15px; border-left: 0; border-right: 1px solid rgba(255, 255, 255, .3); }
}
/* Bloghero en andere infopagina's: intro lijnt links uit met de titel. */
.nf-info-hero:not(.nf-center-hero) > .nf-lead { margin-left: max(0px, calc((100% - 760px) / 2)) !important; }
/* Ruimte onder de footer voor de zwevende contactbalk. */
.nf-footer { padding-bottom: 110px; }
@media (max-width: 781px) { .nf-footer { padding-bottom: 120px; } }
/* Hoofdacties van WooCommerce (inloggen, opslaan, volgen, terug naar winkel) in de primaire stijl. */
.woocommerce .woocommerce-form-login__submit, .woocommerce .woocommerce-form-register__submit,
.woocommerce .woocommerce-ResetPassword .button, .woocommerce .track_order .button,
.woocommerce .return-to-shop .button, .woocommerce .woocommerce-EditAccountForm .button,
.woocommerce .woocommerce-address-fields .button {
	padding: 14px 26px !important; border: 0 !important; background: var(--nf-green) !important; color: #fff !important; box-shadow: 0 10px 25px rgba(76, 116, 43, .22);
}
.woocommerce .woocommerce-form-login__submit:hover, .woocommerce .woocommerce-form-register__submit:hover,
.woocommerce .woocommerce-ResetPassword .button:hover, .woocommerce .track_order .button:hover,
.woocommerce .return-to-shop .button:hover, .woocommerce .woocommerce-EditAccountForm .button:hover,
.woocommerce .woocommerce-address-fields .button:hover { background: var(--nf-green-hover) !important; }
.woocommerce .return-to-shop .button { float: none; }
/* Inlogkaart: kop als kaarttitel, niet als tweede paginatitel. */
.nf-account-content .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) h2 { font-size: 24px; letter-spacing: -.5px; margin: 0 0 18px; }
.nf-account-content .woocommerce-form-login .form-row:last-of-type { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; }

/* ---- Mobiel en formulieren (oktober 2026) ---- */
/* Het blur-effect van de header maakte van de header een "container" voor het
   uitklapmenu, waardoor het mobiele menu in een smalle balk bleef hangen. */
@media (max-width: 900px) {
	.nf-header, .nf-site-header.is-overlay .nf-header { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
}
.nf-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 24px 24px 40px !important; }
.nf-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 56px !important; gap: 4px !important; align-items: flex-start !important; }
.nf-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 2px !important; width: 100%; }
.nf-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--nf-line); }
.nf-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { display: block; width: 100%; padding: 14px 0 !important; font-size: 20px !important; font-weight: 700; }
.nf-nav .wp-block-navigation__responsive-container-close { top: 22px !important; right: 20px !important; }
.nf-nav .wp-block-navigation__responsive-container-close svg, .nf-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.nf-nav .wp-block-navigation__responsive-container-open { padding: 8px; margin: -8px; }

/* Leesbare, goed aantikbare kleine links. */
@media (max-width: 900px) {
	.nf-utility a { font-size: 12px; display: inline-block; padding: 0 2px; }
}
.nf-dock-btn { display: inline-flex; align-items: center; justify-content: center; gap: 5px; }
.nf-footer-links a { display: inline-block; padding: 6px 0; font-size: 13px; }

@media (max-width: 781px) {
	/* Minder lege ruimte tussen secties. */
	.nf-section { padding-top: 56px; padding-bottom: 56px; }
	.nf-section-flush { padding-top: 0; }
	.nf-intake { padding-top: 56px; padding-bottom: 56px; }
	.nf-info-hero { padding-top: 48px; padding-bottom: 44px; }
	.nf-info-main { padding-top: 40px !important; }
	.nf-page-hero.wp-block-cover { min-height: 0 !important; padding: 48px 20px !important; }
	/* Stappenkaarten onder elkaar in plaats van twee smalle kolommen. */
	.nf-steps-5, .nf-steps-4, .nf-steps-3 { grid-template-columns: minmax(0, 1fr) !important; }
	.nf-step .nf-step-number { margin-bottom: 12px !important; }
	.nf-step { min-height: 0; padding: 24px; }
	/* Productpagina compacter. */
	.nf-product-summary form.cart { margin: 18px 0 16px; }
	.nf-product-details { padding-top: 24px !important; }
}

/* Tabellen: geen woorden die midden in breken (BMI-tabel). */
.nf-table table { word-break: normal; overflow-wrap: normal; -webkit-hyphens: auto; hyphens: auto; }
@media (max-width: 640px) {
	.nf-table table.has-fixed-layout { table-layout: auto; }
	.nf-table th { letter-spacing: 0 !important; font-size: 12px; }
	.nf-table td, .nf-table th { padding: 12px 10px !important; }
}

/* Inloggen: onthoud-mij netjes naast de knop. */
.woocommerce-form-login .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.woocommerce-form-login .woocommerce-form-login__rememberme input { width: 18px; height: 18px; margin: 0; accent-color: var(--nf-green-dark); }

/* Winkelmand en afrekenen op mobiel. */
.woocommerce .quantity .qty { width: 72px; min-height: 44px; padding: 0 8px; border: 1px solid #ccd5c5; border-radius: 10px; font: inherit; font-size: 16px; text-align: center; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea { box-sizing: border-box; width: 100%; max-width: 100%; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection--single { min-height: 48px; border: 1px solid #ccd5c5; border-radius: 10px; font-size: 16px; }
@media (max-width: 640px) {
	.woocommerce form .form-row-first, .woocommerce form .form-row-last { width: 100% !important; float: none !important; }
	.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout-review-order, .woocommerce-checkout #customer_details { padding: 20px; }
	.woocommerce table.shop_table_responsive tr td { padding: 12px 16px; }
	.woocommerce-cart .actions .coupon { display: flex; flex-wrap: wrap; gap: 8px; }
	.woocommerce-cart .actions .coupon .input-text { flex: 1 1 140px; width: auto !important; }
	.woocommerce-cart .actions > .button { width: 100%; margin-top: 8px; }
}

/* Formulieren in huisstijl: ja/nee-vragen als grote keuzeknoppen. */
.nf-gform .gfield--type-radio .gfield_radio { display: flex !important; flex-wrap: wrap; gap: 8px; }
.nf-gform .gfield--type-radio .gchoice { position: relative; margin: 0 !important; }
.nf-gform .gfield--type-radio .gchoice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.nf-gform .gfield--type-radio .gchoice label { display: inline-flex; align-items: center; min-height: 44px; margin: 0 !important; padding: 0 18px; border: 1px solid #ccd5c5; border-radius: 10px; background: #fff; font-size: 15px !important; font-weight: 600; cursor: pointer; max-width: none !important; }
.nf-gform .gfield--type-radio .gchoice input:checked + label { background: var(--nf-green-dark); border-color: var(--nf-green-dark); color: #fff; }
.nf-gform .gfield--type-radio .gchoice input:focus-visible + label { outline: 2px solid var(--nf-green); outline-offset: 2px; }
.nf-gform input[type=checkbox] { width: 20px; height: 20px; accent-color: var(--nf-green-dark); }
.nf-gform input[type=number], .nf-gform input[type=date], .nf-gform input[type=url], .nf-gform input[type=password] { box-sizing: border-box; width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid #ccd5c5; border-radius: 10px; font: inherit; font-size: 16px; background: #fff; }
.nf-gform .gfield_description, .nf-gform .gsection_description { font-size: 14px !important; line-height: 1.55; color: var(--nf-muted); }
.nf-gform .gsection { margin-top: 12px !important; padding: 0 0 10px !important; border-bottom: 1px solid var(--nf-line) !important; }
.nf-gform .gsection_title { font-size: 22px !important; letter-spacing: -.4px; }
.nf-gform input, .nf-gform select, .nf-gform textarea { font-size: 16px !important; } /* voorkomt inzoomen op iPhone */
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout-review-order, .woocommerce-checkout #customer_details, .woocommerce form .form-row { box-sizing: border-box; max-width: 100%; }
.nf-gform .gfield--type-radio .gchoice { flex: 0 0 auto; }
.nf-gform .gfield--type-radio .gchoice label { width: auto !important; white-space: nowrap; }
h2.nf-h3, .nf-section h2.nf-h3 { font-size: 24px !important; line-height: 1.25; letter-spacing: -.5px; margin-bottom: 14px; }
.nf-table td, .nf-table th { word-break: normal !important; overflow-wrap: normal !important; -webkit-hyphens: auto; hyphens: auto; }
@media (max-width: 640px) { .nf-table td, .nf-table th { font-size: 14px; } }
/* Hero-foto zoals in het ontwerp. */
.nf-hero .wp-block-cover__image-background { object-position: center; }
@media (max-width: 781px) { .nf-hero .wp-block-cover__image-background { object-position: 66% center; } }
/* Receptenboek: aantal personen boven de ingrediënten. */
.nf-recipe-persons { margin: -4px 0 14px !important; color: var(--nf-green-dark); font-weight: 700; font-size: 14px; }
/* Wachtwoord kiezen bij registratie. */
.nf-gform .ginput_container_password { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; }
.nf-gform .ginput_container_password > span { width: auto !important; padding: 0 !important; margin: 0 !important; float: none !important; }
.nf-gform .ginput_container_password input { box-sizing: border-box; width: 100% !important; min-height: 48px; padding: 12px 14px; border: 1px solid #ccd5c5; border-radius: 10px; }
.nf-gform .ginput_container_password label { font-size: 12px !important; color: var(--nf-muted); margin-top: 4px; }
.nf-gform .gfield_password_strength { grid-column: 1 / -1; width: auto !important; margin: 2px 0 0 !important; padding: 6px 10px !important; border: 0 !important; border-radius: 8px; font-size: 12px; text-align: left !important; background: #f2f5ef; }
.nf-gform .gfield_password_strength.good, .nf-gform .gfield_password_strength.strong { background: #e3f1d3; color: var(--nf-green-dark); }
.nf-gform .gfield_password_strength.bad, .nf-gform .gfield_password_strength.short, .nf-gform .gfield_password_strength.mismatch { background: #fbe9e7; color: #9b2c1f; }
@media (max-width: 640px) { .nf-gform .ginput_container_password { grid-template-columns: minmax(0, 1fr); } }
/* Receptcategorieën: op grote schermen netjes laten doorlopen in plaats van scrollen. */
@media (min-width: 900px) { .nf-term-pills { flex-wrap: wrap !important; overflow: visible; } }
/* Recept zonder foto: rustige vlakke afbeelding zodat de kaarten gelijk blijven. */
.nf-recipe-placeholder { margin: 0; aspect-ratio: 4 / 3; background: linear-gradient(135deg, #eef6e5, #dfeecb); display: flex; align-items: center; justify-content: center; }
.nf-recipe-placeholder a { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; color: #94c24a; }
.nf-recipe-placeholder svg { width: 54px; height: 54px; opacity: .8; }
.nf-recipe-card figure.nf-recipe-placeholder, figure.nf-recipe-placeholder { display: flex !important; align-items: center; justify-content: center; aspect-ratio: 4 / 3; background: linear-gradient(135deg, #eef6e5, #dfeecb) !important; }
.nf-recipe-card figure.nf-recipe-placeholder a { display: flex !important; align-items: center; justify-content: center; width: 100%; height: 100%; }

/* ---- Ontwerp-overdracht oktober 2026 ---- */
.nf-insurers { box-sizing: border-box; margin: 28px 0 0; padding: 18px; max-width: 700px; background: #fff; border: 1px solid var(--nf-line); border-radius: 18px; }
.nf-insurers img { display: block; width: 100%; height: auto; }
.nf-insurers figcaption { margin-top: 12px; color: var(--nf-muted); font-size: 12px; line-height: 1.45; }
.nf-price { white-space: nowrap; }
/* Recepten in de opmaak van het ontwerp. */
.nf-recipes-main { background: #f8faf6; }
.nfr { font-weight: 300; }
.nfr h1, .nfr h2, .nfr h3 { font-family: "Ridley Grotesk", var(--wp--preset--font-family--body); }
.nfr strong, .nfr b { font-weight: 700; }
/* Minder witruimte tussen secties (opmerking oktober 2026). */
.nf-section { padding-top: 84px; padding-bottom: 84px; }
.nf-intake { padding-top: 84px; padding-bottom: 84px; }
.nf-proof-section, .nf-section:has(> .nf-proof) { padding-top: 48px; padding-bottom: 48px; }
@media (max-width: 781px) { .nf-section, .nf-intake { padding-top: 56px; padding-bottom: 56px; } .nf-section:has(> .nf-proof) { padding-top: 36px; padding-bottom: 36px; } }
/* Leesbaarder, zoals het ontwerp: iets grotere tekst in kaarten en stappen. */
.nf-step-sm p:last-child, .nf-week-card p:last-child, .nf-choice-card p, .nf-mini-card p, .nf-eyecard p { font-size: 15px; line-height: 1.55; }
.nf-step-sm h3, .nf-week-card h3 { font-size: 19px; }
/* Veelgestelde vragen dichter op elkaar, met het plusje. */
.nf-faq summary { padding: 13px 44px 13px 0; font-size: 17px; }
.nf-faq p { margin: 0 0 14px; }
.nf-faq-card { margin: 0 0 6px !important; }
.nf-faq-card summary { padding: 13px 30px 13px 0; }
/* Homepage-hero: logo in kleur goed leesbaar op de donkere foto. */
.nf-site-header.is-overlay .nf-header { background: rgba(255, 255, 255, .92); }
.nf-site-header.is-overlay .nf-nav .wp-block-navigation-item__content { color: var(--nf-ink); }
.nf-site-header.is-overlay .nf-nav .wp-block-navigation-item__content:hover { color: var(--nf-green-dark); }
.nf-site-header.is-overlay .wp-block-navigation__responsive-container-open { color: var(--nf-ink); }

/* Intakeformulier: voor- en achternaam naast elkaar, knop met tekst eronder. */
.nf-gform .nf-name-split .ginput_complex { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.nf-gform .nf-name-split .ginput_complex > span { width: auto !important; margin: 0 !important; padding: 0 !important; flex: none !important; }
.nf-gform .nf-name-split .ginput_complex label { display: block !important; margin: 0 0 6px !important; font-size: 13px; font-weight: 700; color: var(--nf-ink); }
.nf-gform .nf-name-split > .gfield_label { display: none !important; }
.nf-gform .gform_footer { display: flex !important; flex-direction: column; align-items: stretch; gap: 10px; }
.nf-gform .gform_footer .gform_button { width: 100% !important; }
.nf-gform .nf-form-note-button { margin: 0 !important; text-align: center; font-size: 13px; color: var(--nf-muted, #6b726a); }
.nf-gform .gfield_required { color: var(--nf-green-dark); }
@media (max-width: 560px) { .nf-gform .nf-name-split .ginput_complex { grid-template-columns: 1fr; } }
/* Winkelwagen-/accounticoon in de witte kop zichtbaar houden. */
.nf-site-header.is-overlay .nf-icon-link, .nf-site-header.is-overlay .nf-icon-link svg, .nf-site-header.is-overlay .wc-block-mini-cart__button, .nf-site-header.is-overlay .wp-block-woocommerce-customer-account a { color: var(--nf-ink) !important; }
.nf-info-page .nf-insurers { margin-top: 28px !important; margin-left: auto !important; margin-right: auto !important; max-width: 640px; width: 100%; }
@media (max-width: 420px) { .nf-gform .nf-day-pills .gchoice label { padding: 8px 10px; font-size: 13px; } .nf-gform .nf-day-pills .gfield_checkbox { gap: 6px; } }

/* Mijn account: menu compacter (items stonden ver uit elkaar). */
.nf-account-content .woocommerce-MyAccount-navigation ul { gap: 0 !important; grid-auto-rows: min-content; }
.nf-account-content .woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; line-height: 1.3; min-height: 0 !important; }
.nf-account-content .woocommerce-MyAccount-navigation li a { padding: 9px 12px !important; line-height: 1.3; }

/* Ervaringen: goedgekeurde succesverhalen uit Mijn account. */
.nf-stories { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; margin-top: 24px; }
.nf-story { display: flex; flex-direction: column; border: 1px solid var(--nf-line); border-radius: 18px; overflow: hidden; background: #fff; }
.nf-story img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.nf-story > div { padding: 18px 20px; }
.nf-story p { margin: 0 0 10px; font-size: 15px; color: var(--nf-muted); }
.nf-story .nf-story-name { margin: 0; color: var(--nf-ink); font-size: 14px; }
/* Mijn account breder, zodat tabellen (intakes, cliënten) passen. */
.nf-account-content { max-width: 1280px; }
@media (min-width: 901px) { .nf-account-content .woocommerce { grid-template-columns: 230px minmax(0, 1fr); } }
@media (max-width: 1100px) { .nf-account-content .woocommerce-MyAccount-content { padding: 26px 22px; } }
.nf-account-content .woocommerce { max-width: 1240px !important; width: 100%; margin-left: auto; margin-right: auto; }

/* Winkelwagen/afrekenen met Fluid Checkout: titel links boven de inhoud. */
.nf-checkout-page .nf-checkout-title { max-width: 1240px !important; display: block !important; text-align: left !important; }
.woocommerce-error, .woocommerce-message, .woocommerce-info { overflow-wrap: anywhere; }
.nf-checkout-page .wc-block-store-notices::after { content: ""; display: table; clear: both; }
.nf-checkout-page .nf-checkout-title { clear: both; }
.nf-checkout-page .wc-block-store-notices .woocommerce-notices-wrapper:empty { display: none; }

/* Kop: account-icoon en minimandje (altijd zichtbaar, ook op mobiel). */
.nf-header-tools { gap: 6px !important; align-items: center; margin-left: auto !important; }
.nf-header .nf-cta { margin-left: 8px !important; }
.nf-header-tools .nf-icon-link { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; color: var(--nf-ink); text-decoration: none; }
.nf-header-tools .nf-icon-link:hover, .nf-header-tools .wc-block-mini-cart__button:hover { background: var(--nf-soft); color: var(--nf-green-dark); }
.nf-header-tools .wc-block-mini-cart__button { width: 42px; height: 42px; padding: 0 !important; border-radius: 50%; color: var(--nf-ink) !important; justify-content: center; }
.nf-header-tools .wc-block-mini-cart__icon { width: 24px; height: 24px; }
.nf-header-tools .wc-block-mini-cart__badge { background: var(--nf-green) !important; color: #fff !important; border-color: #fff !important; font-weight: 700; }
.nf-header-tools .wc-block-mini-cart__quantity-badge { color: inherit; }
@media (max-width: 781px) { .nf-header-tools { margin-left: auto; } .nf-header .nf-cta { display: none; } }
/* Minimandje-lade in de huisstijl. */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { font-size: 26px; letter-spacing: -.5px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout { background: var(--nf-green) !important; border-color: var(--nf-green) !important; color: #fff !important; border-radius: 9px; font-weight: 700; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart { border-color: var(--nf-green) !important; color: var(--nf-green-dark) !important; border-radius: 9px; font-weight: 700; }
.wc-block-mini-cart__drawer a { color: var(--nf-green-dark); }
@media (max-width: 781px) { .nf-header .nf-nav { order: 3; margin-left: 4px; } .nf-header .nf-header-tools { order: 2; } }

/* =====================================================================
 * Mobiel (controle 21-10): kop, menu, contactbalk, formulieren, account
 * ===================================================================== */

/* Extra menu-items (infobalk + knop) alleen in het mobiele menu. */
@media (min-width: 782px) {
	.nf-nav .nf-mobile-only { display: none !important; }
}
@media (max-width: 781px) {
	/* Infobalk paste niet: de links staan nu in het menu. */
	.nf-utility { display: none !important; }

	/* Uitklapmenu. */
	.nf-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 22px 22px calc(28px + env(safe-area-inset-bottom)) !important; }
	.nf-nav .is-menu-open .nf-nav-secondary .wp-block-navigation-item__content { font-size: 16px !important; font-weight: 600 !important; padding-top: 10px !important; padding-bottom: 10px !important; color: var(--nf-muted) !important; }
	.nf-nav .is-menu-open .nf-nav-sep { margin-top: 14px !important; border-top: 2px solid var(--nf-line); padding-top: 8px; }
	.nf-nav .is-menu-open .nf-nav-cta { margin-top: 18px; width: 100%; }
	.nf-nav .is-menu-open .nf-nav-cta .wp-block-button, .nf-nav .is-menu-open .nf-nav-cta .wp-block-button__link { width: 100%; justify-content: center; text-align: center; }
	.nf-nav .is-menu-open .nf-nav-cta .wp-block-button__link { padding: 15px 20px; font-size: 16px; color: #fff !important; }
	html.has-modal-open .nf-dock { display: none !important; }

	/* Contactbalk: vaste balk onderaan, 3 duidelijke knoppen. */
	body { padding-bottom: calc(68px + env(safe-area-inset-bottom)) !important; }
	.nf-dock { left: 0 !important; right: 0 !important; bottom: 0 !important; padding: 8px 10px calc(8px + env(safe-area-inset-bottom)) !important; border-radius: 16px 16px 0 0 !important; border-width: 1px 0 0 !important; box-shadow: 0 -8px 30px rgba(44, 66, 28, .14) !important; }
	.nf-dock-actions { gap: 6px !important; width: 100%; }
	.nf-dock .nf-dock-mail { display: none !important; }
	.nf-dock-btn { min-height: 46px; padding: 8px 6px !important; font-size: 14px !important; border-radius: 10px !important; }
	.nf-dock-btn.is-primary { flex: 1.5 !important; }

	/* Geen inzoomen op iPhone bij het invullen van een veld (tekst kleiner dan 16px). */
	html body input[type=text], html body input[type=email], html body input[type=tel], html body input[type=number], html body input[type=password], html body input[type=search], html body input[type=date], html body input[type=url], html body select, html body textarea, html body .gform_wrapper.gravity-theme input:not([type=checkbox]):not([type=radio]):not([type=submit]), html body .gform_wrapper .ginput_container input, html body .nf-gform input, html body .nf-gform select, html body .nf-gform textarea, html body .nf-gform.nf-gform input[type], html body .nf-gform.nf-gform select { font-size: 16px !important; }

	/* Mijn account: menu als één scrollbare rij in plaats van een groot groen blok. */
	.nf-account-content .woocommerce-MyAccount-navigation { padding: 12px 0 12px 12px !important; }
	.nf-account-content .woocommerce-MyAccount-navigation::before { display: none !important; }
	.nf-account-content .woocommerce-MyAccount-navigation ul { display: flex !important; flex-wrap: nowrap !important; gap: 6px !important; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding-right: 12px !important; }
	.nf-account-content .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.nf-account-content .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
	.nf-account-content .woocommerce-MyAccount-navigation li a { white-space: nowrap; padding: 9px 14px !important; border-radius: 99px !important; background: rgba(255, 255, 255, .12); }
	.nf-account-content .woocommerce-MyAccount-content { padding: 22px 16px !important; }
	.nf-account-content { padding-left: 0 !important; padding-right: 0 !important; }
	.nf-account-content .woocommerce { border-radius: 18px; }

	/* Inloggen: kaart binnen het scherm. */
	.nf-account-content .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) { max-width: 100% !important; padding: 24px 18px !important; box-sizing: border-box; }
	.woocommerce form.login .form-row, .woocommerce form.login input { max-width: 100%; box-sizing: border-box; }

	/* Oude accountpagina's (gewicht, metingen, logboek): tabellen en velden passend. */
	.woocommerce-MyAccount-content table { width: 100% !important; max-width: 100%; }
	.woocommerce-MyAccount-content table:not(.nf-dash-table):not(.shop_table) { display: block; overflow-x: auto; }
	.woocommerce-MyAccount-content input[type=text], .woocommerce-MyAccount-content input[type=number], .woocommerce-MyAccount-content select { min-height: 40px; border: 1px solid #ccd5c5; border-radius: 8px; padding: 6px 8px; max-width: 100%; }
	.woocommerce-MyAccount-content input[type=submit], .woocommerce-MyAccount-content button[type=submit]:not(.nf-btn):not(.nf-dash-btn) { min-height: 44px; padding: 10px 18px; border: 0; border-radius: 9px; background: var(--nf-green); color: #fff; font-weight: 700; }
	.woocommerce-MyAccount-content img, .woocommerce-MyAccount-content canvas, .woocommerce-MyAccount-content svg { max-width: 100%; height: auto; }

	/* Blog: productfoto binnen het scherm. */
	.nfb .article-product, .nfb .article-product img { max-width: 100% !important; box-sizing: border-box; }
	.nfb img { max-width: 100%; height: auto; }

	/* Algemeen: niets breder dan het scherm. */
	html, body { overflow-x: hidden; }
}
@media (max-width: 781px) {
	.nf-nav .is-menu-open .wp-block-navigation__container > .nf-nav-cta, .nf-nav .is-menu-open .nf-nav-cta { order: 99 !important; }
	.nf-account-content .woocommerce-MyAccount-navigation { min-height: 0 !important; height: auto !important; align-self: start; }
	.nf-account-content .woocommerce { grid-template-rows: auto 1fr; }
}
@media (max-width: 781px) { .nf-account-content .woocommerce-MyAccount-navigation ul { margin: 0 !important; } .nf-account-content .woocommerce-MyAccount-navigation::after { display: none !important; } }

/* ===== Mobiel: consistentie (feedback Chris 21-10) ===== */
@media (max-width: 781px) {
	/* Secties: overal dezelfde zijmarge (20px) en verticale ruimte */
	main .nf-section.alignfull, main .nf-intake.alignfull { padding-left: 20px !important; padding-right: 20px !important; padding-top: 48px !important; padding-bottom: 48px !important; }
	main .nf-section.nf-section-tight { padding-top: 36px !important; padding-bottom: 36px !important; }
	.nf-hero .wp-block-cover__inner-container, .nf-page-hero .wp-block-cover__inner-container { padding-left: 0 !important; padding-right: 0 !important; }
	.nf-hero.alignfull, .nf-page-hero.alignfull { padding-left: 20px !important; padding-right: 20px !important; }
	/* Kaarten: één binnenmaat */
	.nf-support-card, .nf-step, .nf-discover-card, .nf-intake-form, .nf-program-card, .nf-story-card { padding: 22px 20px !important; }
	.nf-program-card .nf-result-card { padding: 20px 16px !important; margin-left: 0 !important; margin-right: 0 !important; }
	.nf-program-card .nf-result-card * { overflow-wrap: normal; word-break: normal; hyphens: auto; }
	.nf-program-card .nf-result-card .wp-block-columns, .nf-program-card .nf-result-card .nf-result-grid { gap: 8px !important; }
}
/* Kleine telefoons (≤400px): header en onderbalk passend maken */
@media (max-width: 400px) {
	.nf-header { gap: 6px !important; padding-left: 14px !important; padding-right: 10px !important; }
	.nf-header .nf-brand, .nf-header .nf-brand img { width: 132px !important; max-width: 132px !important; height: auto !important; }
	.nf-header-tools { gap: 0 !important; }
	.nf-header .nf-nav { margin-left: 0 !important; }
	.nf-header .wp-block-navigation__responsive-container-open { margin-left: 0 !important; }
	.nf-dock-actions { gap: 4px !important; }
	.nf-dock-btn { flex: 1 1 0 !important; min-width: 0 !important; padding-left: 4px !important; padding-right: 4px !important; font-size: 13px !important; justify-content: center; }
	.nf-dock-btn.is-primary { flex-grow: 1.4 !important; }
}

/* ===== Home: webshopknop + 4 kaarten + mobiele hero-foto (feedback Chris 23-10) ===== */
.nf-hero .nf-hero-shop > .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .7); background: transparent; }
.nf-hero .nf-hero-shop > .wp-block-button__link:hover { background: rgba(255, 255, 255, .12); border-color: #fff; }
.nf-hero-actions .wp-block-buttons { gap: 12px; }
@media (min-width: 1100px) { .nf-grid-3.nf-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
@media (min-width: 640px) and (max-width: 1099px) { .nf-grid-3.nf-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.nf-grid-4 .nf-discover-card:nth-child(2) { background: var(--nf-soft); }
@media (max-width: 600px) {
	/* Foto als beeld bovenaan, tekst eronder op donkergroen: de vrouw is weer goed zichtbaar */
	.nf-hero.wp-block-cover { padding-top: 350px !important; padding-bottom: 48px !important; background-color: #1f2d19; min-height: 0 !important; }
	.nf-hero .wp-block-cover__image-background { top: 0 !important; bottom: auto !important; height: 420px !important; object-position: 80% 30% !important; }
	.nf-hero .has-hero-shade-gradient-background,
	.nf-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(31, 45, 25, 0) 0, rgba(31, 45, 25, 0) 230px, rgba(31, 45, 25, .9) 360px, #1f2d19 420px, #1f2d19 100%) !important; opacity: 1 !important; }
	.nf-hero .wp-block-buttons { flex-direction: column; align-items: stretch; width: 100%; }
	.nf-hero-actions { gap: 18px !important; width: 100%; }
	.nf-hero .wp-block-button, .nf-hero .wp-block-button__link { width: 100%; text-align: center; }
}

/* Gravity Forms 3.2: lege 'spacer'-cellen na halve velden verbergen (telefoon + e-mail weer naast elkaar) */
.gform_wrapper .gform_fields > .gfield.spacer:empty { display: none !important; }
