{"id":7643,"date":"2026-02-24T14:36:21","date_gmt":"2026-02-24T13:36:21","guid":{"rendered":"https:\/\/dairytop.eu\/kaelberhaltung\/"},"modified":"2026-10-16T17:04:42","modified_gmt":"2026-10-16T15:04:42","slug":"kaelberhaltung","status":"publish","type":"page","link":"https:\/\/dairytop.eu\/de\/kaelberhaltung\/","title":{"rendered":"K\u00e4lberhaltung"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"7643\" class=\"elementor elementor-7643 elementor-7555\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-65d75c8 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"65d75c8\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-baa8f94\" data-id=\"baa8f94\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-98c406e elementor-widget elementor-widget-html\" data-id=\"98c406e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- DairyTop kalverhuisvesting: https:\/\/dairytop.eu\/de\/kaelberhaltung\/ (DE). Plakken in een Elementor HTML-widget. -->\n<style>\nbody:has(.dtk) .site-content { margin-left: 0 !important; margin-right: 0 !important; }\n@media (max-width: 767px) { body:has(.dtk) .site-content, body:has(.dtk) .site-content .ast-container, body:has(.dtk) .site-content .elementor-container { padding-left: 0 !important; padding-right: 0 !important; } }\n\/* Ankers (#opstelling e.d.) onder de vaste Astra-header laten landen. Hoogte gemeten op dairytop.eu 07-10-2026:\n   241 px boven 921 px breed, 129 px tot 544 px, daaronder 112 px; plus de WP-adminbalk voor ingelogde gebruikers.\n   Een sectie heeft zelf al var(--section) witruimte boven de kop, die gaat eraf. *\/\n.dtk { --dtk-sticky: 241px; --dtk-admin: 0px; }\n@media (max-width: 921px) { .dtk { --dtk-sticky: 129px; } }\n@media (max-width: 544px) { .dtk { --dtk-sticky: 112px; } }\n.admin-bar .dtk { --dtk-admin: 32px; }\n@media (max-width: 782px) { .admin-bar .dtk { --dtk-admin: 46px; } }\n@media (max-width: 600px) { .admin-bar .dtk { --dtk-admin: 0px; } }\n.dtk [id] { scroll-margin-top: calc(var(--dtk-sticky) + var(--dtk-admin) + 24px); }\n.dtk .dtk-section[id] { scroll-margin-top: calc(var(--dtk-sticky) + var(--dtk-admin) + 24px - var(--section)); }\nbody .dtk button { background: none; border: 0; border-radius: 0; padding: 0; margin: 0; box-shadow: none; text-shadow: none; text-transform: none; letter-spacing: inherit; font: inherit; line-height: inherit; color: inherit; min-height: 0; text-decoration: none; }\nbody .dtk :is(ul, ol) { margin: 0; padding: 0; list-style: none; }\nbody .dtk li { margin: 0; }\nbody .dtk :is(input, select, textarea) { box-shadow: none; }\n\/* Dairytop kalverhuisvesting. Alles gescoped onder .dtk zodat het in een Elementor HTML-widget past. *\/\nhtml body .dtk {\n  --navy: #1f3741;\n  --navy-2: #2b4a57;\n  --blue: #40bcf3;\n  --blue-soft: #d9f1fc;\n  --ink: #48515b;\n  --concrete: #eef2f3;\n  --line: #dce3e5;\n  --muted: #5f6b73;\n  --white: #fff;\n  --r-s: 4px;\n  --r-m: 10px;\n  --gutter: clamp(16px, 4vw, 40px);\n  --section: clamp(56px, 8vw, 112px);\n  --display: 'Outfit', system-ui, sans-serif;\n  --text: 'DM Sans', system-ui, sans-serif;\n  font-family: var(--text);\n  font-size: 17px;\n  line-height: 1.6;\n  color: var(--ink);\n  overflow-x: clip;\n  -webkit-font-smoothing: antialiased;\n}\n\/* Witte achtergrond alleen voor de pagina-blokken: de footer van de plugin heeft ook de class dtk (dtk-ft) en is navy. *\/\nhtml body .dtk:not(.dtk-ft) { background: var(--white); }\nhtml body .dtk *, html body .dtk *::before, html body .dtk *::after { box-sizing: border-box; }\nhtml body .dtk img { max-width: 100%; height: auto; display: block; }\nhtml body :where(.dtk) :where(h1, h2, h3, h4) {\n  font-family: var(--display);\n  color: var(--navy);\n  margin: 0;\n  font-weight: 600;\n  letter-spacing: -0.015em;\n  line-height: 1.1;\n  text-wrap: balance;\n}\nhtml body :where(.dtk) h2 { font-size: clamp(1.75rem, 1.2rem + 2vw, 2.6rem); }\nhtml body :where(.dtk) h3 { font-size: 1.3rem; line-height: 1.25; }\nhtml body :where(.dtk) p { margin: 0 0 1em; text-wrap: pretty; }\nhtml body :where(.dtk) p:last-child { margin-bottom: 0; }\nhtml body :where(.dtk) a { color: var(--navy); }\nhtml body :where(.dtk) :where(ul, ol) { margin: 0; padding: 0; list-style: none; }\nhtml body .dtk :focus-visible { outline: 3px solid var(--navy); outline-offset: 3px; border-radius: 2px; }\nhtml body .dtk .dtk-on-dark :focus-visible, html body .dtk-hero :focus-visible { outline-color: var(--blue); }\nhtml body .dtk-ic { width: 1.1em; height: 1.1em; flex: none; }\nhtml body .dtk-num { font-variant-numeric: tabular-nums; }\n\nhtml body .dtk-wrap { max-width: 1240px; margin-inline: auto; padding-inline: var(--gutter); }\nhtml body .dtk-section { padding-block: var(--section) calc(var(--section) * 1.08); }\nhtml body .dtk-section--tint { background: var(--concrete); }\nhtml body .dtk-head { max-width: 46rem; margin-bottom: clamp(28px, 4vw, 48px); }\nhtml body .dtk-head p { font-size: 1.08rem; margin-top: 14px; }\nhtml body .dtk-kicker {\n  display: inline-flex; align-items: center; gap: 10px;\n  font-family: var(--display); font-weight: 500; font-size: .95rem;\n  color: var(--navy); margin-bottom: 12px;\n}\nhtml body .dtk-kicker::before { content: ''; width: 18px; height: 3px; background: var(--blue); border-radius: 2px; }\n\n\/* Buttons and links *\/\nhtml body .dtk-actions { display: flex; flex-wrap: wrap; gap: 14px 22px; align-items: center; }\nhtml body .dtk-btn {\n  display: inline-flex; align-items: center; gap: 10px;\n  min-height: 48px; padding: 12px 22px;\n  background: var(--blue); color: var(--navy) !important;\n  font-family: var(--display); font-weight: 600; font-size: 1.02rem;\n  text-decoration: none; border-radius: var(--r-s); border: 0;\n  transition: background-color .2s ease, transform .15s ease;\n}\nhtml body .dtk-btn:hover { background: #6fcdf6; }\nhtml body .dtk-btn:active { transform: translateY(1px); }\nhtml body .dtk-btn--ghost { background: transparent; color: var(--white) !important; box-shadow: inset 0 0 0 2px rgba(255,255,255,.75); }\nhtml body .dtk-btn--ghost:hover { background: rgba(255,255,255,.12); }\nhtml body .dtk-btn--dark { background: var(--navy); color: var(--white) !important; }\nhtml body .dtk-btn--dark:hover { background: var(--navy-2); }\nhtml body .dtk-link {\n  display: inline-flex; align-items: center; gap: 8px;\n  font-family: var(--display); font-weight: 600; color: var(--navy);\n  text-decoration: none; padding-block: 8px;\n  background: linear-gradient(var(--blue), var(--blue)) 0 100% \/ 100% 2px no-repeat;\n  transition: background-size .25s ease;\n}\nhtml body .dtk-link:hover { background-size: 0 2px; background-position: 100% 100%; }\nhtml body .dtk-link .dtk-ic { transition: transform .2s ease; }\nhtml body .dtk-link:hover .dtk-ic { transform: translateX(3px); }\nhtml body .dtk-links { display: flex; flex-wrap: wrap; column-gap: 28px; row-gap: 4px; }\nhtml body .dtk-link-light { color: var(--white) !important; }\n\n\/* Breadcrumbs *\/\nhtml body .dtk-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; font-size: .88rem; }\nhtml body .dtk-crumbs li { display: flex; align-items: center; }\nhtml body .dtk-crumbs li + li::before { content: '\/'; margin-inline: 8px; opacity: .6; }\nhtml body .dtk-crumbs a { text-decoration: none; }\nhtml body .dtk-crumbs a:hover { text-decoration: underline; }\n\n\/* Hero *\/\nhtml body .dtk-hero { position: relative; min-height: clamp(460px, 68vh, 660px); display: flex; color: var(--white); isolation: isolate; }\nhtml body .dtk-hero-img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; z-index: -2; }\nhtml body .dtk-hero::after {\n  content: ''; position: absolute; inset: 0; z-index: -1;\n  background:\n    linear-gradient(90deg, rgba(20,38,46,.86) 0%, rgba(20,38,46,.62) 38%, rgba(20,38,46,.08) 72%),\n    linear-gradient(0deg, rgba(20,38,46,.55) 0%, rgba(20,38,46,0) 45%);\n}\nhtml body .dtk-hero-inner { width: 100%; display: flex; flex-direction: column; justify-content: space-between; padding-block: 24px clamp(88px, 11vw, 132px); }\nhtml body .dtk-hero .dtk-crumbs a, html body .dtk-hero .dtk-crumbs span { color: rgba(255,255,255,.88); }\nhtml body .dtk-hero-copy { max-width: 38rem; margin-top: 48px; }\nhtml body .dtk-hero h1 { color: var(--white); font-size: clamp(2.4rem, 1.4rem + 4.2vw, 4.4rem); font-weight: 600; letter-spacing: -0.025em; line-height: 1.02; }\nhtml body .dtk-hero-kicker { font-family: var(--display); font-weight: 500; color: var(--blue); margin-bottom: 14px !important; }\nhtml body .dtk-lead { font-size: clamp(1.05rem, 1rem + .35vw, 1.22rem); line-height: 1.55; margin: 20px 0 28px !important; max-width: 34rem; }\nhtml body .dtk-hero .dtk-lead { color: rgba(255,255,255,.92); }\n\n\/* Facts strip, overlaps the hero *\/\nhtml body .dtk-facts {\n  position: relative; z-index: 2;\n  margin: calc(clamp(56px, 7vw, 76px) * -1) 0 0;\n  display: grid; grid-template-columns: repeat(4, 1fr);\n  background: var(--white); border-top: 4px solid var(--blue);\n  border-radius: 0;\n  box-shadow: 0 18px 40px -24px rgba(31,55,65,.45);\n}\nhtml body .dtk-facts > div { padding: 22px clamp(16px, 2vw, 28px); border-left: 1px solid var(--line); }\nhtml body .dtk-facts > div:first-child { border-left: 0; }\nhtml body .dtk-facts dt { font-size: .9rem; color: var(--muted); order: 2; }\nhtml body .dtk-facts dd { margin: 0 0 4px; font-family: var(--display); font-weight: 600; font-size: clamp(1.35rem, 1rem + 1vw, 1.9rem); color: var(--navy); font-variant-numeric: tabular-nums; line-height: 1.15; }\n\/* Waarde (vet) boven, uitleg (dun) eronder. *\/\nhtml body .dtk-facts > div { display: flex; flex-direction: column; justify-content: flex-start; }\n\n\/* Feature (image to the edge + text) *\/\nhtml body .dtk-feature { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); align-items: stretch; min-height: 560px; }\nhtml body .dtk-feature + .dtk-feature { margin-top: clamp(40px, 6vw, 88px); }\nhtml body .dtk-feature-media { position: relative; min-height: 360px; }\nhtml body .dtk-feature-media img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }\nhtml body .dtk-feature-body { --edge: max(var(--gutter), calc((100vw - 1240px) \/ 2 + var(--gutter))); padding: clamp(28px, 5vw, 72px) var(--edge) clamp(28px, 5vw, 72px) clamp(28px, 5vw, 72px); align-self: center; }\nhtml body .dtk-feature-body > * { max-width: 520px; }\nhtml body .dtk-feature--flip { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }\nhtml body .dtk-feature--flip .dtk-feature-media { order: 2; }\nhtml body .dtk-feature--flip .dtk-feature-body { padding-left: var(--edge); padding-right: clamp(28px, 5vw, 72px); }\nhtml body .dtk-feature-body h3 { font-size: clamp(1.8rem, 1.3rem + 1.6vw, 2.6rem); margin-bottom: 16px; }\nhtml body .dtk-feature-tag { font-family: var(--display); font-weight: 500; color: var(--muted); margin-bottom: 10px !important; }\nhtml body .dtk-checks { display: grid; gap: 10px; margin: 20px 0 28px; }\nhtml body .dtk-checks li { display: flex; gap: 12px; align-items: flex-start; }\nhtml body .dtk-checks .dtk-ic { color: var(--navy); background: var(--blue-soft); border-radius: 50%; padding: 3px; width: 24px; height: 24px; margin-top: 1px; }\nhtml body .dtk-checks strong { color: var(--navy); font-weight: 600; }\n\n\/* Index list of all categories *\/\nhtml body .dtk-index { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(24px, 5vw, 72px); border-top: 2px solid var(--navy); }\nhtml body .dtk-index a { align-content: center; display: grid; grid-template-columns: 1fr auto; gap: 4px 20px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--line); text-decoration: none; }\nhtml body .dtk-index-t { font-family: var(--display); font-weight: 600; font-size: 1.25rem; color: var(--navy); }\nhtml body .dtk-index-d { grid-column: 1; color: var(--ink); font-size: .96rem; }\nhtml body .dtk-index .dtk-ic { grid-row: 1 \/ span 2; grid-column: 2; color: var(--navy); width: 22px; height: 22px; transition: transform .2s ease; }\nhtml body .dtk-index a:hover .dtk-ic { transform: translateX(4px); }\nhtml body .dtk-index a:hover .dtk-index-t { text-decoration: underline; text-decoration-color: var(--blue); text-decoration-thickness: 2px; text-underline-offset: 4px; }\n\n\/* Split: text next to an image that runs to the viewport edge *\/\nhtml body .dtk-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 80px); align-items: center; }\nhtml body .dtk-split-media { margin-right: calc((min(100vw, 1920px) - min(100vw, 1240px)) \/ -2 - var(--gutter)); }\nhtml body .dtk-split-media img { width: 100%; aspect-ratio: 4 \/ 3; object-fit: cover; border-radius: var(--r-m) 0 0 var(--r-m); }\nhtml body .dtk-split--flip .dtk-split-media { order: -1; margin-right: 0; margin-left: calc((min(100vw, 1920px) - min(100vw, 1240px)) \/ -2 - var(--gutter)); }\nhtml body .dtk-split--flip .dtk-split-media img { border-radius: 0 var(--r-m) var(--r-m) 0; }\n\n\/* Model comparison (OKS) *\/\nhtml body .dtk-models { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 3vw, 40px); }\nhtml body .dtk-model { display: flex; flex-direction: column; }\nhtml body .dtk-model-img { aspect-ratio: 3 \/ 2; object-fit: cover; width: 100%; border-radius: var(--r-s); }\nhtml body .dtk-model h3 { margin: 20px 0 6px; font-size: 1.45rem; }\nhtml body .dtk-model-sub { color: var(--muted); font-size: .95rem; margin-bottom: 16px !important; }\nhtml body .dtk-model-plan { background: var(--concrete); border-radius: var(--r-s); padding: 18px 10px 8px; display: flex; justify-content: center; }\nhtml body .dtk-model dl { margin: 18px 0 20px; display: grid; gap: 0; }\nhtml body .dtk-model dl div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: .95rem; }\nhtml body .dtk-model dt { color: var(--muted); }\nhtml body .dtk-model dd { margin: 0; font-weight: 600; color: var(--navy); font-variant-numeric: tabular-nums; text-align: right; }\nhtml body .dtk-model .dtk-link { margin-top: auto; align-self: flex-start; }\nhtml body .dtk-note { font-size: .9rem; color: var(--muted); margin-top: 24px !important; }\n\n\/* Plans (SVG) *\/\nhtml body .dtk-plan { width: 100%; max-width: 250px; height: auto; font-family: var(--display); overflow: visible; }\nhtml body .dtk-plan-floor { fill: var(--blue-soft); }\nhtml body .dtk-plan-wall { fill: none; stroke: var(--navy); stroke-linejoin: miter; }\nhtml body .dtk-plan-solid { fill: var(--navy); }\nhtml body .dtk-plan-divider { fill: var(--navy); transition: opacity .3s ease, transform .3s ease; transform-box: fill-box; transform-origin: top; }\nhtml body .dtk-plan-front { stroke: var(--navy); stroke-width: 2; stroke-dasharray: 5 4; fill: none; }\nhtml body .dtk-plan-door { stroke: var(--navy); stroke-width: 1; fill: none; stroke-dasharray: 2 3; }\nhtml body .dtk-plan-area { font-size: 15px; font-weight: 600; fill: var(--navy); text-anchor: middle; font-variant-numeric: tabular-nums; }\nhtml body .dtk-plan-n { font-size: 12px; font-weight: 600; fill: var(--navy); text-anchor: middle; }\nhtml body .dtk-plan-note { font-size: 10px; fill: var(--muted); }\nhtml body .dtk-plan-m2 { font-size: 10.5px; fill: var(--navy); text-anchor: middle; font-variant-numeric: tabular-nums; }\nhtml body .dtk-dim path { stroke: var(--muted); stroke-width: 1; fill: none; }\nhtml body .dtk-dim text { font-size: 10.5px; fill: var(--muted); text-anchor: middle; font-variant-numeric: tabular-nums; }\nhtml body .dtk-plan-q { max-width: 560px; }\n\n\/* Quattro configurator *\/\nhtml body .dtk-config { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: clamp(28px, 5vw, 72px); align-items: center; }\nhtml body .dtk-seg { display: inline-flex; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-s); padding: 4px; gap: 4px; margin: 20px 0 22px; flex-wrap: wrap; }\nhtml body .dtk-seg button { font: inherit; font-family: var(--display); font-weight: 600; font-size: .98rem; color: var(--navy); background: transparent; border: 0; border-radius: 3px; padding: 10px 16px; min-height: 44px; cursor: pointer; transition: background-color .2s ease; }\nhtml body .dtk-seg button:hover { background: var(--concrete); }\nhtml body .dtk-seg button[aria-pressed=\"true\"] { background: var(--navy); color: var(--white); }\nhtml body .dtk-config-out { min-height: 5.2em; }\nhtml body .dtk-config-out strong { display: block; font-family: var(--display); color: var(--navy); font-size: 1.2rem; margin-bottom: 6px; }\nhtml body .dtk-config-stage { background: var(--white); border-radius: var(--r-m); padding: clamp(18px, 3vw, 36px); display: flex; justify-content: center; }\nhtml body .dtk-config .dtk-q-labels { opacity: 0; transition: opacity .25s ease; }\nhtml body .dtk-config[data-mode=\"eenling\"] .dtk-q-labels[data-mode=\"eenling\"], html body .dtk-config[data-mode=\"duo\"] .dtk-q-labels[data-mode=\"duo\"], html body .dtk-config[data-mode=\"groep\"] .dtk-q-labels[data-mode=\"groep\"] { opacity: 1; }\nhtml body .dtk-config[data-mode=\"duo\"] [data-div=\"1\"], html body .dtk-config[data-mode=\"duo\"] [data-div=\"3\"], html body .dtk-config[data-mode=\"groep\"] .dtk-plan-divider { opacity: .12; transform: scaleY(.3); } \/* krimpt naar de achterwand, weg van de tekst *\/\nhtml body .dtk-plan-static .dtk-q-labels[data-mode=\"eenling\"] { opacity: 1; }\nhtml body .dtk-plan-static .dtk-q-labels:not([data-mode=\"eenling\"]) { display: none; }\n\n\/* Steps with photos (klapbodem, build-up) *\/\nhtml body .dtk-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); counter-reset: step; }\nhtml body .dtk-steps--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }\nhtml body .dtk-step { counter-increment: step; }\nhtml body .dtk-step img { aspect-ratio: 4 \/ 5; object-fit: cover; width: 100%; border-radius: var(--r-s); }\nhtml body .dtk-steps--3 .dtk-step img { aspect-ratio: 4 \/ 3; }\nhtml body .dtk-step h3 { display: flex; gap: 10px; align-items: baseline; margin: 18px 0 8px; font-size: 1.2rem; }\nhtml body .dtk-step h3::before { content: counter(step); font-variant-numeric: tabular-nums; flex: none; display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--blue); color: var(--navy); font-size: .9rem; transform: translateY(-2px); }\nhtml body .dtk-step p { font-size: .97rem; }\n\n\/* Daily work mosaic *\/\nhtml body .dtk-mosaic { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(16px, 2.4vw, 32px); }\nhtml body .dtk-mosaic figure { margin: 0; }\nhtml body .dtk-mosaic img { width: 100%; object-fit: cover; border-radius: var(--r-s); }\nhtml body .dtk-mosaic figcaption { margin-top: 14px; }\nhtml body .dtk-mosaic figcaption h3 { font-size: 1.2rem; margin-bottom: 6px; }\nhtml body .dtk-mosaic figcaption p { font-size: .97rem; max-width: 42ch; }\nhtml body .dtk-m-a { grid-column: 1 \/ span 7; } html body .dtk-m-a img { aspect-ratio: 16 \/ 10; }\nhtml body .dtk-m-b { grid-column: 8 \/ span 5; align-self: end; } html body .dtk-m-b img { aspect-ratio: 4 \/ 5; }\nhtml body .dtk-m-c { grid-column: 1 \/ span 5; } html body .dtk-m-c img { aspect-ratio: 4 \/ 5; }\nhtml body .dtk-m-d { grid-column: 6 \/ span 7; align-self: start; } html body .dtk-m-d img { aspect-ratio: 16 \/ 10; }\n\n\/* Photo strip *\/\nhtml body .dtk-strip { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 4px var(--gutter) 18px; scrollbar-width: thin; }\nhtml body .dtk-strip img { height: clamp(220px, 32vw, 380px); width: auto; flex: none; scroll-snap-align: start; border-radius: var(--r-s); }\n\n\/* Comparison table *\/\nhtml body .dtk-compare-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }\nhtml body .dtk-compare { width: 100%; border-collapse: collapse; min-width: 640px; font-size: .97rem; }\nhtml body .dtk-compare th, html body .dtk-compare td { text-align: left; vertical-align: top; padding: 14px 16px 14px 0; border-bottom: 1px solid var(--line); }\nhtml body .dtk-compare thead th { font-family: var(--display); font-weight: 600; color: var(--navy); font-size: 1.15rem; border-bottom: 2px solid var(--navy); padding-bottom: 16px; }\nhtml body .dtk-compare thead th a { color: inherit; }\nhtml body .dtk-compare tbody th { font-weight: 500; color: var(--muted); width: 24%; }\nhtml body .dtk-compare td { color: var(--navy); font-variant-numeric: tabular-nums; }\nhtml body .dtk-todo { background: #fff3c4; color: #5c4700; padding: 1px 6px; border-radius: 3px; font-size: .88em; }\n\n\/* Options list *\/\nhtml body .dtk-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 clamp(20px, 3vw, 40px); border-top: 2px solid var(--navy); }\nhtml body .dtk-options li { padding: 22px 0; border-bottom: 1px solid var(--line); }\nhtml body .dtk-options h3 { font-size: 1.15rem; margin-bottom: 6px; }\nhtml body .dtk-options p { font-size: .96rem; }\n\n\/* FAQ *\/\nhtml body .dtk-faq-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); gap: clamp(28px, 5vw, 80px); align-items: start; }\nhtml body .dtk-faq-head { position: sticky; top: 24px; }\nhtml body .dtk-faq-head p { margin-top: 14px; }\nhtml body .dtk-faq-list { border-top: 2px solid var(--navy); }\nhtml body .dtk-faq details { border-bottom: 1px solid var(--line); }\nhtml body .dtk-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 20px 0; font-family: var(--display); font-weight: 600; font-size: 1.12rem; color: var(--navy); }\nhtml body .dtk-faq summary::-webkit-details-marker { display: none; }\nhtml body .dtk-faq summary .dtk-ic-plus { width: 22px; height: 22px; transition: transform .25s ease; }\nhtml body .dtk-faq details[open] .dtk-ic-plus { transform: rotate(45deg); }\nhtml body .dtk-faq summary:hover span { text-decoration: underline; text-decoration-color: var(--blue); text-decoration-thickness: 2px; text-underline-offset: 4px; }\nhtml body .dtk-faq-a { padding: 0 40px 22px 0; max-width: 62ch; }\n\n\/* Contact band *\/\nhtml body .dtk-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: var(--blue-soft); color: var(--ink); } \/* lichtblauw: los van de navy footer (Noah, 07-10) *\/\nhtml body .dtk-contact-media { position: relative; min-height: 380px; }\nhtml body .dtk-contact-media img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; object-position: 70% 30%; }\nhtml body .dtk-contact-body { padding: clamp(40px, 6vw, 96px) var(--gutter) clamp(44px, 6.5vw, 104px) clamp(28px, 5vw, 80px); max-width: 640px; align-self: center; }\n\/* Kleur met .dtk ervoor: de oude dtk-CSS in de Elementor-site-instellingen (post-4) zet html body .dtk-contact h2 wit. *\/\nhtml body .dtk .dtk-contact h2 { color: var(--navy); }\nhtml body .dtk-contact h2 { margin-bottom: 16px; }\nhtml body .dtk-contact p { margin-bottom: 28px !important; }\n\n\/* Lightbox: arrows beside the photo, caption and counter below *\/\nhtml body .dtk-lightbox { border: 0; padding: 0; background: rgb(14,26,31); max-width: 100vw; max-height: 100vh; width: 100vw; height: 100vh; margin: 0; }\nhtml body .dtk-lightbox::backdrop { background: rgba(14,26,31,.97); }\nhtml body .dtk-lightbox-inner { position: relative; width: 100%; height: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: clamp(8px, 2vw, 28px); padding: 64px clamp(8px, 3vw, 40px) 24px; }\nhtml body .dtk-lightbox figure { margin: 0; display: grid; justify-items: center; align-content: center; gap: 6px; min-height: 0; height: 100%; }\nhtml body .dtk-lightbox img { max-width: 100%; max-height: calc(100vh - 170px); width: auto; height: auto; object-fit: contain; border-radius: 3px; }\nhtml body .dtk-lightbox figcaption { color: rgba(255,255,255,.9); text-align: center; padding-top: 10px; font-size: .98rem; max-width: 60ch; }\nhtml body .dtk-lb-count { color: rgba(255,255,255,.65); font-size: .88rem; font-variant-numeric: tabular-nums; margin: 0 !important; }\nhtml body .dtk-lightbox button { font: inherit; font-family: var(--display); font-weight: 600; color: var(--white); background: rgba(255,255,255,.12); border: 0; min-width: 48px; min-height: 48px; padding: 0 16px; border-radius: var(--r-s); cursor: pointer; transition: background-color .2s ease; }\nhtml body .dtk-lightbox button:hover { background: rgba(255,255,255,.24); }\nhtml body .dtk-lightbox .dtk-lb-nav { width: 56px; height: 56px; padding: 0; border-radius: 50%; font-size: 1.3rem; }\nhtml body .dtk-lightbox .dtk-lb-close { position: absolute; top: 12px; right: 12px; }\n@media (max-width: 700px) {\n  html body .dtk-lightbox-inner { grid-template-columns: minmax(0, 1fr); padding-inline: 12px; }\n  html body .dtk-lightbox .dtk-lb-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; background: rgba(14,26,31,.6); width: 48px; height: 48px; }\n  html body .dtk-lightbox .dtk-lb-prev { left: 8px; }\n  html body .dtk-lightbox .dtk-lb-next { right: 8px; }\n  html body .dtk-lightbox figure { grid-row: 1; grid-column: 1; }\n}\n\n\/* Responsive *\/\n@media (max-width: 1080px) {\n  html body .dtk-facts { grid-template-columns: repeat(2, 1fr); }\n  html body .dtk-facts > div:nth-child(3) { border-left: 0; }\n  html body .dtk-facts > div:nth-child(n+3) { border-top: 1px solid var(--line); }\n  html body .dtk-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }\n  html body .dtk-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n}\n@media (max-width: 900px) {\n  html body .dtk-feature, html body .dtk-feature--flip { grid-template-columns: 1fr; min-height: 0; }\n  html body .dtk-feature--flip .dtk-feature-media { order: 0; }\n  \/* Foto in de flow: in WebKit werd een vlak met alleen aspect-ratio en een absolute foto 0 px hoog. *\/\n  html body .dtk-feature-media { min-height: 0; }\n  html body .dtk-feature-media img { position: relative; inset: auto; height: auto !important; aspect-ratio: 4 \/ 3; }\n  html body .dtk-feature-body, html body .dtk-feature--flip .dtk-feature-body { padding: 28px var(--gutter) 0; max-width: none; justify-self: stretch; }\n  html body .dtk-index { grid-template-columns: 1fr; }\n  html body .dtk-split, html body .dtk-split--flip { grid-template-columns: 1fr; }\n  html body .dtk-split-media, html body .dtk-split--flip .dtk-split-media { order: -1; margin: 0 calc(var(--gutter) * -1); }\n  html body .dtk-split-media img, html body .dtk-split--flip .dtk-split-media img { border-radius: 0; }\n  html body .dtk-models { grid-template-columns: 1fr; gap: 48px; }\n  html body .dtk-config { grid-template-columns: 1fr; }\n  html body .dtk-mosaic { grid-template-columns: 1fr; }\n  html body .dtk-m-a, html body .dtk-m-b, html body .dtk-m-c, html body .dtk-m-d { grid-column: 1; }\n  html body .dtk-mosaic img { aspect-ratio: 16 \/ 10 !important; }\n  html body .dtk-faq-grid { grid-template-columns: 1fr; }\n  html body .dtk-faq-head { position: static; }\n  html body .dtk-contact { grid-template-columns: 1fr; }\n  html body .dtk-contact-media { min-height: 0; aspect-ratio: 16 \/ 10; }\n  html body .dtk-contact-body { padding-left: var(--gutter); }\n  html body .dtk-steps--3 { grid-template-columns: 1fr; }\n}\n@media (max-width: 600px) {\n  html body .dtk { font-size: 16px; }\n  html body .dtk-facts { grid-template-columns: 1fr 1fr; }\n  html body .dtk-facts > div { padding: 16px 14px; }\n  html body .dtk-steps { grid-template-columns: 1fr; }\n  html body .dtk-step img { aspect-ratio: 4 \/ 3; }\n  html body .dtk-options { grid-template-columns: 1fr; }\n  html body .dtk-faq-a { padding-right: 0; }\n  html body .dtk-hero-copy { margin-top: 32px; }\n  html body .dtk-seg { display: flex; }\n  html body .dtk-seg button { flex: 1 1 auto; padding: 10px; }\n}\n@media (prefers-reduced-motion: reduce) {\n  html body .dtk *, html body .dtk *::before, html body .dtk *::after { transition: none !important; scroll-behavior: auto !important; }\n}\nhtml body .dtk .dtk-mt { margin-top: 16px; }\nhtml body .dtk .dtk-mt-l { margin-top: 28px; }\nhtml body .dtk-gallery-band { padding-bottom: clamp(24px, 4vw, 48px); }\nhtml body .dtk-strip:focus-visible { outline-offset: -3px; }\nhtml body .dtk .dtk-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }\nhtml body .dtk-crumbs a { display: inline-block; padding-block: 4px; }\nhtml body .dtk-compare thead th a { display: inline-block; padding-block: 3px; }\nhtml body .dtk-hero h1 { overflow-wrap: anywhere; hyphens: manual; }\n@media (max-width: 360px) { html body .dtk-hero h1 { font-size: 2.15rem; } }\n\/* E\u00e9n lang woord dat breder is dan de tekstkolom: vanaf tablet op \u00e9\u00e9n regel, over de foto heen. *\/\n@media (min-width: 768px) { html body .dtk-nowrap-md { white-space: nowrap; } }\n@media (max-width: 700px) {\n  html body .dtk-hero::after { background: linear-gradient(0deg, rgba(20,38,46,.9) 0%, rgba(20,38,46,.72) 55%, rgba(20,38,46,.45) 100%); }\n}\n\n\/* Carousel *\/\nhtml body .dtk-carousel { position: relative; }\nhtml body .dtk-carousel-nav { position: absolute; right: 0; top: -72px; display: flex; gap: 8px; }\nhtml body .dtk-carousel-nav[hidden] { display: none; }\nhtml body .dtk-carousel-btn { width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--navy); background: var(--white); color: var(--navy); display: grid; place-items: center; cursor: pointer; transition: background-color .2s ease, color .2s ease, opacity .2s ease; }\nhtml body .dtk-carousel-btn svg { width: 20px; height: 20px; }\nhtml body .dtk-carousel-btn:hover:not(:disabled) { background: var(--navy); color: var(--white); }\nhtml body .dtk-carousel-btn:disabled { opacity: .3; cursor: default; }\nhtml body .dtk-carousel-track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * clamp(16px, 2vw, 28px)) \/ 3.25); gap: clamp(16px, 2vw, 28px); overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; padding-bottom: 8px; margin-right: calc((min(100vw, 1920px) - min(100vw, 1240px)) \/ -2 - var(--gutter)); padding-right: var(--gutter); }\nhtml body .dtk-carousel-track::-webkit-scrollbar { display: none; }\nhtml body .dtk-card { scroll-snap-align: start; }\nhtml body .dtk-card a { display: grid; gap: 6px; text-decoration: none; }\nhtml body .dtk-card-media { display: block; aspect-ratio: 4 \/ 3; overflow: hidden; border-radius: var(--r-s); background: var(--concrete); margin-bottom: 10px; }\nhtml body .dtk-card-media img { width: 100%; height: 100% !important; object-fit: cover; transition: transform .5s ease; }\nhtml body .dtk-card-media--fit img { object-fit: contain; padding: 8%; mix-blend-mode: multiply; }\nhtml body .dtk-card a:hover .dtk-card-media img { transform: scale(1.04); }\nhtml body .dtk-card-t { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-family: var(--display); font-weight: 600; font-size: 1.25rem; color: var(--navy); }\nhtml body .dtk-card-t .dtk-ic { width: 22px; height: 22px; transition: transform .2s ease; }\nhtml body .dtk-card a:hover .dtk-card-t .dtk-ic { transform: translateX(4px); }\nhtml body .dtk-card-d { color: var(--ink); font-size: .96rem; }\n\n\/* Strip items open the lightbox *\/\nhtml body .dtk-strip-item { font: inherit; padding: 0; border: 0; background: none; cursor: zoom-in; flex: none; scroll-snap-align: start; border-radius: var(--r-s); overflow: hidden; }\nhtml body .dtk-strip-item img { transition: opacity .2s ease; }\nhtml body .dtk-strip-item:hover img { opacity: .85; }\n\n\/* Model notes (OKS) *\/\nhtml body .dtk-model-note { font-size: .92rem; background: var(--blue-soft); color: var(--navy); padding: 12px 14px; border-radius: var(--r-s); margin: 0 0 20px !important; }\n\n@media (max-width: 1080px) {\n  html body .dtk-carousel-track { grid-auto-columns: calc((100% - clamp(16px, 2vw, 28px)) \/ 2.2); }\n  html body .dtk-carousel-nav { position: static; justify-content: flex-end; margin-bottom: 14px; }\n}\n@media (max-width: 600px) {\n  html body .dtk-carousel-track { grid-auto-columns: 78%; }\n}\n@media (max-width: 900px) {\n}\nhtml body .dtk-btn--outline { background: transparent; color: var(--navy) !important; box-shadow: inset 0 0 0 2px var(--navy); }\nhtml body .dtk-btn--outline:hover { background: var(--navy); color: var(--white) !important; }\n\n\/* Photo slider *\/\nhtml body .dtk-slider-band { padding-block: clamp(48px, 7vw, 96px); }\nhtml body .dtk-slider-viewport { margin-right: calc((min(100vw, 1920px) - min(100vw, 1240px)) \/ -2 - var(--gutter)); }\nhtml body .dtk-slider-track { display: flex; gap: clamp(12px, 1.6vw, 20px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-right: var(--gutter); }\nhtml body .dtk-slider-track::-webkit-scrollbar { display: none; }\nhtml body .dtk-slide { flex: 0 0 min(62%, 760px); scroll-snap-align: start; }\nhtml body .dtk-slide-btn { position: relative; display: block; width: 100%; padding: 0; border: 0; background: var(--concrete); border-radius: var(--r-s); overflow: hidden; cursor: zoom-in; }\nhtml body .dtk .dtk-slide-btn img { width: 100%; aspect-ratio: 3 \/ 2; height: auto; object-fit: cover; transition: transform .5s ease, opacity .3s ease; }\nhtml body .dtk-slide:not(.is-current) .dtk-slide-btn img { opacity: .55; }\nhtml body .dtk-slide-btn:hover img { transform: scale(1.02); }\nhtml body .dtk-slide-zoom { position: absolute; right: 12px; bottom: 12px; width: 40px; height: 40px; border-radius: 50%; background: rgba(31,55,65,.85); color: var(--white); display: grid; place-items: center; opacity: 0; transition: opacity .2s ease; }\nhtml body .dtk-slide-zoom svg { width: 18px; height: 18px; }\nhtml body .dtk-slide-btn:hover .dtk-slide-zoom, html body .dtk-slide-btn:focus-visible .dtk-slide-zoom, html body .dtk-slide.is-current .dtk-slide-zoom { opacity: 1; }\nhtml body .dtk-slider-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px 24px; margin-top: 18px; flex-wrap: wrap; }\nhtml body .dtk-slider-cap { margin: 0 !important; display: flex; gap: 14px; align-items: baseline; color: var(--ink); font-size: .96rem; min-width: 0; flex: 1 1 280px; }\nhtml body .dtk-slider-count { font-family: var(--display); font-weight: 600; color: var(--navy); font-variant-numeric: tabular-nums; white-space: nowrap; }\nhtml body .dtk-slider-count b { font-weight: 600; }\nhtml body .dtk-slider-ctrl { display: flex; gap: 8px; align-items: center; }\nhtml body .dtk-slider-zoom { display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 18px; border-radius: 999px; border: 2px solid var(--navy); background: var(--white); color: var(--navy); font: inherit; font-family: var(--display); font-weight: 600; cursor: pointer; transition: background-color .2s ease, color .2s ease; }\nhtml body .dtk-slider-zoom svg { width: 18px; height: 18px; }\nhtml body .dtk-slider-zoom:hover { background: var(--navy); color: var(--white); }\n@media (max-width: 600px) {\n  html body .dtk-slide { flex-basis: 86%; }\n  html body .dtk-slider-zoom-t { display: none; }\n  html body .dtk-slider-zoom { width: 48px; padding: 0; justify-content: center; }\n}\nhtml body .dtk img.dtk-brand-logo { width: 190px; height: auto; margin-bottom: 22px; }\n\n\/* Life stages: vertical timeline, calf left, text right, the calf grows per stage *\/\nhtml body .dtk-stages { position: relative; display: grid; gap: clamp(40px, 6vw, 72px); --rail: clamp(34%, 40%, 460px); }\nhtml body .dtk-stages::before { content: ''; position: absolute; top: 8px; bottom: 8px; left: var(--rail); width: 2px; background: var(--line); }\nhtml body .dtk-stage { display: grid; grid-template-columns: var(--rail) minmax(0, 1fr); align-items: start; position: relative; }\nhtml body .dtk-stage::before { content: ''; position: absolute; left: var(--rail); top: 4px; width: 18px; height: 18px; margin-left: -8px; border-radius: 50%; background: var(--white); border: 3px solid var(--navy); box-sizing: border-box; }\nhtml body .dtk-stage-media { display: flex; justify-content: flex-end; align-items: flex-end; padding-right: clamp(24px, 4vw, 56px); border-bottom: 2px solid var(--navy); margin-right: -1px; }\nhtml body .dtk .dtk-stage-media img.dtk-calf { width: auto; max-width: 100%; height: auto; display: block; margin-bottom: -4px; }\nhtml body .dtk .dtk-stage-media img.dtk-calf--zittend { width: 58%; }\nhtml body .dtk .dtk-stage-media img.dtk-calf--groepje { width: 86%; }\nhtml body .dtk .dtk-stage-media img.dtk-calf--groep { width: 92%; }\nhtml body .dtk-stage-body { padding-left: clamp(28px, 4vw, 56px); align-self: start; }\nhtml body .dtk-stage-when { display: inline-block; font-family: var(--display); font-weight: 600; color: var(--navy); font-size: .9rem; background: var(--blue-soft); padding: 4px 10px; border-radius: 999px; margin-bottom: 12px !important; }\nhtml body .dtk-stage h3 { font-size: clamp(1.4rem, 1.1rem + .9vw, 1.9rem); margin-bottom: 10px; }\nhtml body .dtk-stage p { max-width: 48ch; }\nhtml body .dtk-stage-links { margin-top: 18px; display: grid; max-width: 460px; }\nhtml body .dtk-stage-links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--line); text-decoration: none; font-weight: 500; color: var(--navy); }\nhtml body .dtk-stage-links a:last-child { border-bottom: 1px solid var(--line); }\nhtml body .dtk-stage-links a:hover { color: #0f7fb3; }\nhtml body .dtk-stage-links small { color: var(--muted); font-weight: 400; font-size: .85rem; display: block; }\n@media (max-width: 760px) {\n  html body .dtk-stages { --rail: 10px; gap: 48px; }\n  html body .dtk-stages::before { left: 9px; }\n  html body .dtk-stage { grid-template-columns: 1fr; padding-left: 36px; }\n  html body .dtk-stage::before { left: 10px; top: 0; bottom: auto; }\n  html body .dtk-stage-media { justify-content: flex-start; padding-right: 0; margin: 0 0 18px; }\n  html body .dtk .dtk-stage-media img.dtk-calf--zittend { width: 56%; }\n  html body .dtk .dtk-stage-media img.dtk-calf--groepje { width: 84%; }\n  html body .dtk .dtk-stage-media img.dtk-calf--groep { width: 90%; }\n  html body .dtk-stage-body { padding-left: 0; }\n}\n\n\/* Keuzehulp: \u00e9\u00e9n vraag tegelijk op een vlak, daarna maximaal drie uitkomsten naast elkaar. *\/\nhtml body .dtk-find-quiz { border: 1px solid var(--line); border-radius: var(--r-m); padding: clamp(20px, 3.5vw, 40px); max-width: 60rem; }\nhtml body .dtk-find-top, html body .dtk-find-result-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }\nhtml body .dtk-find-step { margin: 0 !important; font-size: .9rem; color: var(--muted); font-variant-numeric: tabular-nums; }\nhtml body .dtk-find-back { background: none; border: 0; padding: 6px 0; font: inherit; font-size: .92rem; color: var(--navy); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }\nhtml body .dtk-find-back:hover { color: #0f7fb3; }\nhtml body .dtk-find-bar { height: 4px; background: var(--line); border-radius: 2px; margin: 12px 0 clamp(20px, 3vw, 32px); overflow: hidden; }\nhtml body .dtk-find-bar span { display: block; height: 100%; background: var(--blue); transition: width .3s ease; }\nhtml body .dtk-find-q { border: 0; margin: 0; padding: 0; min-width: 0; }\nhtml body .dtk-find-q legend { padding: 0; margin-bottom: 18px; }\nhtml body .dtk-find-qt { font-family: var(--display); font-weight: 600; color: var(--navy); font-size: clamp(1.3rem, 1.05rem + .9vw, 1.75rem); line-height: 1.2; outline: none; }\nhtml body .dtk-find-answers { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 10px; }\nhtml body .dtk-find-answers button { font: inherit; font-weight: 600; color: var(--navy); text-align: left; background: var(--white); border: 1.5px solid #b9c5c9; border-radius: var(--r-s); padding: 16px 18px; cursor: pointer; transition: border-color .15s ease, background-color .15s ease; }\nhtml body .dtk-find-answers button:hover { border-color: var(--navy); }\nhtml body .dtk-find-answers button[aria-pressed=\"true\"] { border-color: var(--navy); background: var(--blue-soft); }\nhtml body .dtk-find-answers button:focus-visible, html body .dtk-find-back:focus-visible { outline: 3px solid var(--navy); outline-offset: 2px; }\nhtml body .dtk-find-result-head { margin-bottom: clamp(20px, 3vw, 32px); }\nhtml body .dtk-find-result-head h3 { font-size: clamp(1.4rem, 1.1rem + .9vw, 1.9rem); outline: none; }\nhtml body .dtk-find-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: clamp(24px, 3vw, 40px); }\nhtml body .dtk-find-card { display: grid; align-content: start; gap: 14px; }\nhtml body .dtk-find-media { display: block; aspect-ratio: 4 \/ 3; overflow: hidden; border-radius: var(--r-s); background: var(--concrete); }\nhtml body .dtk-find-media img { width: 100%; height: 100% !important; object-fit: cover; }\nhtml body .dtk-find-best { display: inline-block; margin: 0 0 8px !important; font-family: var(--display); font-weight: 600; font-size: .85rem; color: var(--navy); background: var(--blue-soft); padding: 3px 10px; border-radius: 999px; }\nhtml body .dtk-find-body h4 { font-family: var(--display); font-size: 1.3rem; color: var(--navy); margin: 0 0 8px; line-height: 1.2; }\nhtml body .dtk-find-body h4 a { color: inherit; text-decoration: none; }\nhtml body .dtk-find-body h4 a:hover { color: #0f7fb3; }\nhtml body .dtk-find-body > p { font-size: .96rem; }\nhtml body .dtk-find-why { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 8px; margin: 12px 0 16px; font-size: .88rem; }\nhtml body .dtk-find-why span { color: var(--muted); }\nhtml body .dtk-find-why ul { display: contents; list-style: none; }\nhtml body .dtk-find-why li { color: var(--navy); border: 1px solid var(--line); border-radius: 999px; padding: 2px 10px; }\nhtml body .dtk-find-why li[hidden] { display: none; }\nhtml body .dtk-find-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }\nhtml body .dtk-find-note { margin-top: clamp(24px, 3vw, 36px) !important; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); }\nhtml body .dtk-find-note a { color: var(--navy); font-weight: 600; }\nhtml body .dtk-finder [hidden] { display: none !important; }\n\n\/* Offerte-popup *\/\nhtml body .dtk-quote { border: 0; padding: 0; margin: auto; width: min(1040px, calc(100vw - 32px)); max-height: min(760px, calc(100dvh - 32px)); border-radius: var(--r-m); background: var(--white); color: var(--ink); box-shadow: 0 30px 80px -20px rgba(14,26,31,.55); overflow: hidden; font-family: var(--text); font-size: 16px; line-height: 1.55; }\nhtml body .dtk-quote::backdrop { background: rgba(14,26,31,.72); }\nhtml body .dtk-q-shell { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); height: min(760px, calc(100dvh - 32px)); }\nhtml body .dtk-q-panel { position: relative; background: var(--navy); color: var(--white); overflow: hidden; }\nhtml body .dtk-q-panel-img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; opacity: .9; transition: opacity .3s ease; }\nhtml body .dtk-q-panel::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(20,38,46,.95) 0%, rgba(20,38,46,.55) 45%, rgba(20,38,46,.1) 75%); }\nhtml body .dtk-q-panel-copy { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 28px clamp(20px, 3vw, 36px); }\nhtml body .dtk-q-panel-k { font-family: var(--display); color: var(--blue); font-weight: 500; margin: 0 0 4px !important; }\nhtml body .dtk-q-panel-t { font-family: var(--display); font-weight: 600; font-size: 1.7rem; line-height: 1.1; margin: 0 0 18px !important; color: var(--white); }\nhtml body .dtk-q-panel-steps { counter-reset: q; display: grid; gap: 10px; font-size: .92rem; color: rgba(255,255,255,.88); }\nhtml body .dtk-q-panel-steps li { counter-increment: q; display: flex; gap: 10px; align-items: baseline; }\nhtml body .dtk-q-panel-steps li::before { content: counter(q); flex: none; width: 22px; height: 22px; border-radius: 50%; background: rgba(255,255,255,.14); display: inline-grid; place-items: center; font-size: .78rem; font-weight: 600; font-family: var(--display); }\nhtml body .dtk-q-form { display: flex; flex-direction: column; min-height: 0; padding: 22px clamp(20px, 3.4vw, 40px) 20px; }\nhtml body .dtk-q-top { display: flex; justify-content: space-between; align-items: center; }\nhtml body .dtk-q-progress-t { margin: 0 !important; font-family: var(--display); font-weight: 600; color: var(--navy); font-size: .9rem; font-variant-numeric: tabular-nums; }\nhtml body .dtk-q-close { width: 44px; height: 44px; border-radius: 50%; border: 0; background: var(--concrete); color: var(--navy); display: grid; place-items: center; cursor: pointer; }\nhtml body .dtk-q-close svg { width: 18px; height: 18px; }\nhtml body .dtk-q-close:hover { background: var(--line); }\nhtml body .dtk-q-progress { height: 4px; background: var(--concrete); border-radius: 2px; margin: 12px 0 22px; overflow: hidden; }\nhtml body .dtk-q-progress span { display: block; height: 100%; width: 25%; background: var(--blue); transition: width .35s ease; }\nhtml body .dtk-q-step { border: 0; margin: 0; padding: 0 4px 8px 0; min-width: 0; flex: 1 1 auto; overflow-y: auto; }\nhtml body .dtk-q-step legend { padding: 0; margin-bottom: 14px; }\nhtml body .dtk-q-h { display: block; font-family: var(--display); font-weight: 600; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.8rem); color: var(--navy); letter-spacing: -.015em; line-height: 1.15; outline: none; }\nhtml body .dtk-q-label { font-family: var(--display); font-weight: 600; color: var(--navy); margin: 18px 0 10px !important; }\nhtml body .dtk-q-hint { color: var(--muted); margin: -4px 0 14px !important; font-size: .95rem; }\nhtml body .dtk-q-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }\nhtml body .dtk-q-choices > :last-child:nth-child(odd) { grid-column: 1 \/ -1; }\nhtml body .dtk-q-choice { position: relative; cursor: pointer; }\nhtml body .dtk-q-choice input, html body .dtk-q-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; }\nhtml body .dtk-q-choice-box { display: grid; gap: 2px; height: 100%; padding: 12px 14px 12px 40px; border: 1.5px solid #b9c5c9; border-radius: var(--r-s); transition: border-color .15s ease, background-color .15s ease; position: relative; }\nhtml body .dtk-q-choice-box::before { content: ''; position: absolute; left: 14px; top: 15px; width: 16px; height: 16px; border-radius: 50%; border: 1.5px solid #8a979c; background: var(--white); }\nhtml body .dtk-q-choice-t { font-weight: 600; color: var(--navy); }\nhtml body .dtk-q-choice-s { font-size: .85rem; color: var(--muted); }\nhtml body .dtk-q-choice:hover .dtk-q-choice-box { border-color: var(--navy); }\nhtml body .dtk-q-choice input:checked + .dtk-q-choice-box { border-color: var(--navy); background: var(--blue-soft); }\nhtml body .dtk-q-choice input:checked + .dtk-q-choice-box::before { border: 5px solid var(--navy); }\nhtml body .dtk-q-choice input:focus-visible + .dtk-q-choice-box, html body .dtk-q-chip input:focus-visible + span { outline: 3px solid var(--navy); outline-offset: 2px; }\nhtml body .dtk-q-sub { margin-top: 4px; }\nhtml body .dtk-q-chips { display: flex; flex-wrap: wrap; gap: 8px; }\nhtml body .dtk-q-chip { position: relative; cursor: pointer; }\nhtml body .dtk-q-chip span { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 14px; border-radius: 999px; border: 1.5px solid #b9c5c9; font-size: .92rem; color: var(--navy); transition: all .15s ease; }\nhtml body .dtk-q-chip:hover span { border-color: var(--navy); }\nhtml body .dtk-q-chip input:checked + span { background: var(--navy); border-color: var(--navy); color: var(--white); }\nhtml body .dtk-q-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; }\nhtml body .dtk-q-field { display: grid; gap: 6px; margin-top: 14px; font-size: .92rem; color: var(--navy); font-weight: 500; }\nhtml body .dtk-q-grid .dtk-q-field { margin-top: 0; }\nhtml body .dtk-q-field abbr { text-decoration: none; color: #b3261e; }\nhtml body .dtk-quote input[type=text], html body .dtk-quote input[type=email], html body .dtk-quote input[type=tel], html body .dtk-quote input[type=number], html body .dtk-quote select, html body .dtk-quote textarea { font: inherit; font-weight: 400; color: var(--navy); width: 100%; min-height: 46px; padding: 10px 12px; border: 1.5px solid #8a979c; border-radius: var(--r-s); background: var(--white); }\nhtml body .dtk-quote textarea { resize: vertical; min-height: 96px; }\nhtml body .dtk-quote input:focus-visible, html body .dtk-quote select:focus-visible, html body .dtk-quote textarea:focus-visible { outline: 3px solid var(--blue); outline-offset: 0; border-color: var(--navy); }\nhtml body .dtk-quote [aria-invalid=\"true\"] { border-color: #b3261e; }\nhtml body .dtk-q-err { color: #b3261e; font-style: normal; font-size: .85rem; font-weight: 500; }\nhtml body .dtk-q-dims { display: flex; align-items: center; gap: 8px; }\nhtml body .dtk-q-dims span { color: var(--muted); }\nhtml body .dtk-q-drop { display: grid; justify-items: center; gap: 6px; padding: 28px 16px; border: 2px dashed #8a979c; border-radius: var(--r-m); background: var(--concrete); text-align: center; cursor: pointer; position: relative; transition: border-color .15s ease, background-color .15s ease; }\nhtml body .dtk-q-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }\nhtml body .dtk-q-drop:focus-within { outline: 3px solid var(--navy); outline-offset: 2px; }\nhtml body .dtk-q-drop.is-over, html body .dtk-q-drop:hover { border-color: var(--navy); background: var(--blue-soft); }\nhtml body .dtk-q-drop svg { width: 34px; height: 34px; color: var(--navy); }\nhtml body .dtk-q-drop-t { font-weight: 600; color: var(--navy); }\nhtml body .dtk-q-drop-s { font-size: .85rem; color: var(--muted); }\nhtml body .dtk-q-error { color: #b3261e; font-size: .9rem; margin: 10px 0 0 !important; }\nhtml body .dtk-q-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); gap: 10px; margin-top: 14px !important; }\nhtml body .dtk-q-thumbs li { position: relative; }\nhtml body .dtk-q-thumbs img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--r-s); display: block; }\nhtml body .dtk-q-thumb-rm { position: absolute; top: 4px; right: 4px; width: 28px; height: 28px; border-radius: 50%; border: 0; background: rgba(14,26,31,.8); color: var(--white); font-size: 1.1rem; line-height: 1; cursor: pointer; }\nhtml body .dtk-q-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }\nhtml body .dtk-q-privacy { font-size: .84rem; color: var(--muted); margin-top: 16px !important; }\nhtml body .dtk-q-nav { display: flex; justify-content: flex-end; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--line); margin-top: 8px; }\nhtml body .dtk-q-back { margin-right: auto; font: inherit; font-family: var(--display); font-weight: 600; color: var(--navy); background: none; border: 0; min-height: 44px; padding: 0 6px; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }\nhtml body .dtk-q-done { flex: 1; display: grid; align-content: center; justify-items: start; gap: 12px; outline: none; }\nhtml body .dtk-q-done svg { width: 56px; height: 56px; }\nhtml body .dtk-q-done p { margin: 0 !important; max-width: 44ch; }\nhtml body .dtk-q-demo { font-size: .85rem; color: var(--muted); }\n@media (max-width: 760px) {\n  html body .dtk-quote { width: 100vw; max-width: 100vw; max-height: 100dvh; height: 100dvh; border-radius: 0; }\n  html body .dtk-q-shell { grid-template-columns: 1fr; grid-template-rows: 120px minmax(0, 1fr); height: 100dvh; }\n  html body .dtk-q-panel-steps, html body .dtk-q-panel-k { display: none; }\n  html body .dtk-q-panel-copy { padding: 14px 20px; }\n  html body .dtk-q-panel-t { font-size: 1.3rem; margin: 0 !important; }\n  html body .dtk-q-choices, html body .dtk-q-grid { grid-template-columns: 1fr; }\n}\n@media (prefers-reduced-motion: reduce) { html body .dtk-q-progress span { transition: none; } }\nhtml body .dtk-quote [hidden] { display: none !important; }\nhtml body .dtk .dtk-q-h:focus, html body .dtk .dtk-q-h:focus-visible, html body .dtk .dtk-q-done:focus { outline: none; }\nhtml body .dtk-quote select { appearance: none; -webkit-appearance: none; min-height: 46px; padding-right: 36px; background: var(--white) url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 8l5 5 5-5' fill='none' stroke='%231f3741' stroke-width='2'\/%3E%3C\/svg%3E\") no-repeat right 10px center \/ 18px; }\nhtml body .dtk-q-choice-box { padding-block: 10px; }\nhtml body .dtk-q-label { margin: 14px 0 8px !important; }\nhtml body .dtk-q-chip span { min-height: 38px; padding: 6px 13px; }\nhtml body .dtk-q-form { min-height: 0; overflow: hidden; }\n@media (max-width: 760px) {\n  html body .dtk-q-shell { grid-template-rows: 96px minmax(0, 1fr); }\n  html body .dtk-q-form { padding: 14px 16px 12px; }\n  html body .dtk-q-progress { margin: 10px 0 16px; }\n  html body .dtk-q-nav { padding-top: 12px; }\n}\n@media (max-height: 520px) {\n  html body .dtk-quote { width: 100vw; max-width: 100vw; height: 100dvh; max-height: 100dvh; border-radius: 0; }\n  html body .dtk-q-shell { grid-template-columns: 1fr; grid-template-rows: minmax(0, 1fr); height: 100dvh; }\n  html body .dtk-q-panel { display: none; }\n}\nhtml body .dtk-q-step { min-height: 0; flex: 1 1 0; }\nhtml body .dtk-q-nav { flex: none; }\n\n\/* Modellen onder elkaar: foto links, tekeningen en maten rechts *\/\nhtml body .dtk-mrows { display: grid; gap: clamp(40px, 5vw, 64px); }\nhtml body .dtk-mrow { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: start; padding-top: clamp(32px, 4vw, 48px); border-top: 2px solid var(--navy); }\nhtml body .dtk-mrow:first-child { border-top: 0; padding-top: 0; }\nhtml body .dtk .dtk-mrow-media img { width: 100%; aspect-ratio: 4 \/ 3; object-fit: cover; border-radius: var(--r-s); }\nhtml body .dtk-mrow-body h3 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); margin-bottom: 4px; }\nhtml body .dtk-mrow-draw { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 12px; margin: 18px 0 8px; }\nhtml body .dtk-mrow-draw--q { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }\nhtml body .dtk-draw { margin: 0; background: var(--concrete); border-radius: var(--r-s); padding: 16px 12px 10px; display: grid; align-content: space-between; justify-items: center; gap: 8px; }\nhtml body .dtk-draw figcaption { font-family: var(--display); font-weight: 600; font-size: .82rem; color: var(--muted); justify-self: start; }\nhtml body .dtk-draw .dtk-plan { max-width: 170px; }\nhtml body .dtk-mrow-draw--q .dtk-plan { max-width: 100%; }\nhtml body .dtk-side { width: 100%; height: auto; font-family: var(--display); overflow: visible; }\nhtml body .dtk-side-wall { fill: var(--blue-soft); stroke: var(--navy); stroke-width: 2.5; stroke-linejoin: round; }\nhtml body .dtk-side-roof { stroke: var(--navy); stroke-width: 5; stroke-linecap: round; fill: none; }\nhtml body .dtk-side-plinth { fill: var(--white, #fff); }\nhtml body .dtk-side-plinth-edge { fill: none; stroke: var(--navy); stroke-width: 1.5; }\nhtml body .dtk-side-label--s { font-size: 9.5px; }\nhtml body .dtk-side-plinth-hatch { stroke: var(--muted); stroke-width: .8; }\nhtml body .dtk-side-ground { stroke: var(--muted); stroke-width: 1; stroke-dasharray: 2 3; }\nhtml body .dtk-side-label { font-size: 10.5px; fill: var(--navy); font-weight: 600; text-anchor: middle; }\nhtml body .dtk-mrow-spec { display: grid; grid-template-columns: 1fr 1fr; column-gap: 24px; margin: 14px 0 18px; }\nhtml body .dtk-mrow-spec div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: .94rem; }\nhtml body .dtk-mrow-spec dt { color: var(--muted); }\nhtml body .dtk-mrow-spec dd { margin: 0; font-weight: 600; color: var(--navy); text-align: right; font-variant-numeric: tabular-nums; }\nhtml body .dtk-mrow .dtk-model-note { margin-bottom: 18px !important; }\n@media (max-width: 1080px) { html body .dtk-mrow-spec { grid-template-columns: 1fr; } }\n@media (max-width: 900px) { html body .dtk-mrow { grid-template-columns: 1fr; } }\n@media (max-width: 520px) { html body .dtk-mrow-draw, html body .dtk-mrow-draw--q { grid-template-columns: 1fr; } html body .dtk-draw .dtk-plan { max-width: 150px; } }\nhtml body .dtk-draw { grid-template-rows: minmax(0, 1fr) auto; }\nhtml body .dtk-draw > svg, html body .dtk-draw > .dtk-plan-static { align-self: center; }\nhtml body .dtk-section--tint .dtk-draw { background: var(--white); }\nhtml body .dtk-mrow-spec--1 { grid-template-columns: 1fr; }\nhtml body .dtk-mrow-spec--1 dd { max-width: 60%; }\nhtml body .dtk-front-hek { fill: none; stroke: var(--navy); stroke-width: 1.4; }\nhtml body .dtk-front-bar { stroke: var(--navy); stroke-width: .8; }\n\/* Modelrij v2: foto en tekeningen links, maten en knop rechts *\/\nhtml body .dtk-mrow { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }\nhtml body .dtk-mrow-left { display: grid; gap: 12px; min-width: 0; }\nhtml body .dtk-mrow-left .dtk-mrow-draw { margin: 0; }\nhtml body .dtk-mrow-draw--q { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }\nhtml body .dtk-draw-note { font-size: .82rem; color: var(--muted); margin: 0 !important; line-height: 1.5; }\nhtml body .dtk-mrow-body .dtk-actions { margin-top: 22px; }\nhtml body .dtk-mrow-body h3 { margin-top: 4px; }\nhtml body .dtk-mrow-left .dtk-mrow-draw:not(.dtk-mrow-draw--q) { grid-template-columns: minmax(0, .55fr) minmax(0, 1.45fr); }\nhtml body .dtk-mrow-left .dtk-draw .dtk-plan { max-width: 120px; }\nhtml body .dtk-model-note, html body .dtk-mrow-spec dd { overflow-wrap: anywhere; }\n@media (max-width: 600px) {\n  html body .dtk-mrow-spec--1 div { flex-direction: column; gap: 2px; }\n  html body .dtk-mrow-spec--1 dd { max-width: none; text-align: left; }\n}\n\n\/* Modelrij: foto en tekeningen openen samen in de lightbox (modelMedia in lib.mjs). *\/\nhtml body .dtk-mrow-media { position: relative; display: block; width: 100%; padding: 0; border: 0; background: none; border-radius: var(--r-s); overflow: hidden; cursor: zoom-in; }\nhtml body .dtk-mrow-media img { transition: transform .5s ease; }\nhtml body .dtk-mrow-media:hover img { transform: scale(1.02); }\nhtml body .dtk-draw { position: relative; }\nhtml body .dtk-draw-zoom { position: absolute; inset: 0; padding: 0; border: 0; background: none; border-radius: var(--r-s); cursor: zoom-in; }\nhtml body .dtk-mrow-media .dtk-slide-zoom, html body .dtk-draw-zoom .dtk-slide-zoom { opacity: 1; }\nhtml body .dtk-draw-zoom .dtk-slide-zoom { right: 8px; bottom: 8px; width: 34px; height: 34px; }\nhtml body .dtk-draw-zoom .dtk-slide-zoom svg { width: 15px; height: 15px; }\nhtml body .dtk-draw-zoom:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }\nhtml body .dtk-lb-draw { width: min(1100px, 100%); background: var(--concrete); border-radius: var(--r-s); padding: clamp(16px, 4vw, 48px); display: grid; place-items: center; min-height: 0; }\nhtml body .dtk-lb-draw svg { width: 100%; height: auto; max-height: calc(100vh - 230px); }\nhtml body .dtk-lb-draw .dtk-plan { max-width: none; width: auto; height: calc(100vh - 260px); max-width: 100%; }\nhtml body .dtk-lb-draw[hidden], html body .dtk-lightbox img[hidden] { display: none; }\n\/* Mobiel: tekeningen onder elkaar, de plattegrond niet breder dan nodig. *\/\n@media (max-width: 900px) {\n  \/* Staat na de desktopregel voor .dtk-mrow, anders blijft de rij op mobiel in twee kolommen. *\/\n  html body .dtk-mrow { grid-template-columns: minmax(0, 1fr); }\n}\n@media (max-width: 600px) {\n  html body .dtk-mrow-left .dtk-mrow-draw:not(.dtk-mrow-draw--q), html body .dtk-mrow-left .dtk-mrow-draw--q { grid-template-columns: minmax(0, 1fr); }\n  html body .dtk-mrow-left .dtk-draw .dtk-plan { max-width: 140px; }\n  html body .dtk-mrow-left .dtk-draw .dtk-side { max-width: 420px; }\n}\n\nhtml body .dtk-swipe-count { display: none; }\n\n\/* Mobiel: modelhok (foto + tekeningen) en klapbodemstappen als veegcarrousel.\n   Items zijn smaller dan het scherm, zodat de volgende zichtbaar in beeld piept. *\/\n@media (max-width: 600px) {\n  html body .dtk-mrow-left, html body .dtk-steps--swipe {\n    display: flex; gap: 12px; overflow-x: auto; overscroll-behavior-x: contain;\n    scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter);\n    margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter);\n    scrollbar-width: none;\n  }\n  html body .dtk-mrow-left::-webkit-scrollbar, html body .dtk-steps--swipe::-webkit-scrollbar { display: none; }\n  html body .dtk-mrow-left .dtk-mrow-draw { display: contents; }\n  html body .dtk-mrow-left > .dtk-mrow-media, html body .dtk-mrow-left .dtk-draw { flex: 0 0 84%; scroll-snap-align: start; }\n  html body .dtk-mrow-left .dtk-draw { aspect-ratio: 4 \/ 3; grid-template-rows: minmax(0, 1fr) auto; padding: 14px 12px 10px; }\n  html body .dtk-mrow-left .dtk-draw > svg { width: 100%; height: 100%; min-height: 0; max-width: none; }\n  html body .dtk-mrow-left .dtk-draw .dtk-plan, html body .dtk-mrow-left .dtk-draw .dtk-side { max-width: none; }\n  \/* Plattegrond links in zijn vlak, zodat de doorkijk vanaf de foto al een stuk tekening laat zien. *\/\n  html body .dtk-mrow-left .dtk-draw > .dtk-plan { width: auto; justify-self: start; }\n  html body .dtk-steps--swipe { gap: 16px; }\n  html body .dtk-steps--swipe > .dtk-step { flex: 0 0 80%; scroll-snap-align: start; }\n  html body .dtk-steps--swipe:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }\n  html body .dtk-swipe-count { display: block; margin: 10px 0 0 !important; font-family: var(--display); font-weight: 600; font-size: .96rem; color: var(--navy); font-variant-numeric: tabular-nums; }\n  html body .dtk-swipe-count b { font-weight: 600; }\n  \/* In de modelrij is de teller een grid-item; de rij-afstand is hier 24px, dus terug naar 10px onder de foto. *\/\n  html body .dtk-mrow > .dtk-swipe-count { margin-top: -14px !important; }\n}\n\n\/* ---------------------------------------------------------------- Biestmanagement *\/\n\/* Waar koop je het: op offerte (navy lijn) of in de webshop (blauw vlak). *\/\nhtml body .dtk-tag { display: inline-flex; align-items: center; gap: 6px; font-family: var(--display); font-size: .78rem; font-weight: 600; letter-spacing: .01em; line-height: 1; padding: 6px 9px; border-radius: 999px; white-space: nowrap; }\nhtml body .dtk-tag--shop { background: var(--blue-soft); color: var(--navy); }\nhtml body .dtk-tag--quote { box-shadow: inset 0 0 0 1.5px var(--navy); color: var(--navy); }\nhtml body .dtk-tag::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }\nhtml body .dtk-tag--shop::before { background: var(--blue); }\n\n\/* Vier stappen, \u00e9\u00e9n zak: een doorlopende lijn met een punt per stap. *\/\nhtml body .dtk-flow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 36px); counter-reset: flow; }\nhtml body .dtk-flow-step { position: relative; padding-top: 44px; counter-increment: flow; }\nhtml body .dtk-flow-step::before { content: counter(flow); position: absolute; top: 0; left: 0; width: 30px; height: 30px; border-radius: 50%; background: var(--navy); color: var(--white); font-family: var(--display); font-weight: 600; font-size: .95rem; display: grid; place-items: center; font-variant-numeric: tabular-nums; z-index: 1; }\nhtml body .dtk-flow-step::after { content: ''; position: absolute; top: 14px; left: 30px; right: calc(clamp(20px, 2.4vw, 36px) * -1); height: 2px; background: var(--line); }\nhtml body .dtk-flow-step:last-child::after { display: none; }\nhtml body .dtk-flow-step h3 { margin-bottom: 8px; }\nhtml body .dtk-flow-step > p { font-size: .95rem; margin-bottom: 18px !important; }\nhtml body .dtk-flow-step--quote::before { background: var(--white); color: var(--navy); box-shadow: inset 0 0 0 2px var(--navy); }\n\/* Kop, tekst en productlijst op dezelfde hoogte in alle kolommen (subgrid); mobiel, in \u00e9\u00e9n kolom, gewoon onder elkaar. *\/\n@media (min-width: 601px) {\n  html body .dtk-flow { grid-auto-rows: auto; }\n  html body .dtk-flow-step { display: grid; grid-template-rows: subgrid; grid-row: span 4; row-gap: 0; align-content: start; }\n  html body .dtk-flow-step > * { align-self: start; }\n}\n\n\/* Productregel: miniatuur op wit, naam, label. De shopfoto's zijn klein; ze blijven klein. *\/\nhtml body .dtk-prods { display: grid; gap: 2px; }\nhtml body .dtk-prod { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: center; column-gap: 12px; row-gap: 4px; padding: 8px 0; border-top: 1px solid var(--line); text-decoration: none; color: var(--navy); }\nhtml body .dtk-prod:last-child { border-bottom: 1px solid var(--line); }\nhtml body .dtk-prod-img { grid-row: span 2; width: 56px; height: 56px; background: var(--white); border-radius: var(--r-s); box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }\nhtml body .dtk-prod-img img { width: 100%; height: 100%; object-fit: contain; padding: 4px; }\nhtml body .dtk-prod-n { font-weight: 600; font-size: .92rem; line-height: 1.3; }\nhtml body .dtk-prod .dtk-tag { justify-self: start; }\nhtml body a.dtk-prod:hover .dtk-prod-n { text-decoration: underline; text-underline-offset: 3px; }\nhtml body .dtk-section--tint .dtk-prod-img { box-shadow: none; }\n\n\/* Zakken bestellen: inhoud x verpakking, elke cel \u00e9\u00e9n link naar de shop. *\/\nhtml body .dtk-bags-scroll { overflow-x: auto; margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter); }\nhtml body .dtk-bags { width: 100%; min-width: 560px; border-collapse: collapse; font-variant-numeric: tabular-nums; }\nhtml body .dtk-bags th, html body .dtk-bags td { padding: 14px 12px; text-align: left; vertical-align: middle; border-bottom: 1px solid var(--line); }\nhtml body .dtk-bags thead th { border-bottom: 2px solid var(--navy); font-family: var(--display); color: var(--navy); font-weight: 600; font-size: 1.05rem; }\nhtml body .dtk-bags thead th:first-child { width: 28%; }\nhtml body .dtk-bags-size { display: flex; align-items: center; gap: 12px; }\nhtml body .dtk-bags-size img { width: 52px; height: 52px; object-fit: contain; background: var(--white); border-radius: var(--r-s); padding: 3px; }\nhtml body .dtk-bags tbody th { font-weight: 600; color: var(--navy); }\nhtml body .dtk-bags tbody th small { display: block; font-weight: 400; color: var(--muted); font-size: .86rem; }\nhtml body .dtk-bags a { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; text-decoration: none; padding: 8px 12px 8px 0; }\nhtml body .dtk-bags a .dtk-ic { color: var(--navy); transition: transform .2s ease; }\nhtml body .dtk-bags a:hover { text-decoration: underline; text-underline-offset: 3px; }\nhtml body .dtk-bags a:hover .dtk-ic { transform: translateX(3px); }\nhtml body .dtk-bags-n { display: block; font-weight: 400; color: var(--muted); font-size: .86rem; }\n\n\/* Uitgelichte accessoires: raster met lijnen, geen kaarten. *\/\nhtml body .dtk-shopgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 clamp(16px, 2vw, 28px); }\nhtml body .dtk-shopgrid li { border-top: 2px solid var(--navy); padding: 18px 0 26px; }\nhtml body .dtk-shopgrid a { display: grid; gap: 10px; justify-items: start; text-decoration: none; color: var(--navy); }\nhtml body .dtk-shopgrid .dtk-shop-img { justify-self: stretch; }\nhtml body .dtk-shopgrid .dtk-shop-img { aspect-ratio: 1; background: var(--white); border-radius: var(--r-s); display: grid; place-items: center; overflow: hidden; }\nhtml body .dtk-shopgrid .dtk-shop-img img { width: 72%; height: 72%; object-fit: contain; }\nhtml body .dtk-shopgrid h3 { font-size: 1.02rem; }\nhtml body .dtk-shopgrid p { font-size: .9rem; color: var(--ink); margin: 0 !important; }\nhtml body .dtk-shopgrid a:hover h3 { text-decoration: underline; text-underline-offset: 3px; }\n\n\/* Modelrij met productbeeld (pasteurs): wit vlak, contain. *\/\nhtml body .dtk-pmedia { background: var(--white); border-radius: var(--r-m); aspect-ratio: 4 \/ 3; display: grid; place-items: center; box-shadow: inset 0 0 0 1px var(--line); }\nhtml body .dtk-pmedia img { width: 78%; height: 86%; object-fit: contain; }\nhtml body .dtk-section--tint .dtk-pmedia { box-shadow: none; }\n\nhtml body .dtk-split--top { align-items: start; }\n\n@media (max-width: 1080px) {\n  html body .dtk-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }\n  html body .dtk-flow-step:nth-child(2)::after { display: none; }\n  html body .dtk-shopgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); }\n}\n@media (max-width: 760px) {\n  html body .dtk-shopgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }\n}\n@media (max-width: 600px) {\n  \/* Op mobiel staan de stappen onder elkaar; de lijn loopt verticaal langs de nummers. *\/\n  html body .dtk-flow { grid-template-columns: 1fr; row-gap: 0; }\n  html body .dtk-flow-step { padding: 0 0 32px 48px; }\n  html body .dtk-flow-step::after, html body .dtk-flow-step:nth-child(2)::after { display: block; top: 30px; left: 14px; right: auto; bottom: 0; width: 2px; height: auto; }\n  html body .dtk-flow-step:last-child::after { display: none; }\n  html body .dtk-flow-step h3 { padding-top: 3px; }\n}\n\n\/* ---------------------------------------------------------------- Homepage *\/\nhtml body .dtk-hero--home { min-height: clamp(440px, 62vh, 620px); }\nhtml body .dtk-hero--home .dtk-hero-inner { justify-content: center; }\nhtml body .dtk-hero--home .dtk-hero-copy { margin-top: 0; }\n\/* Rij OKS-afdelingen: uitsnede naar rechts, waar de rij met kalveren de diepte in loopt (zichtbaar op smalle schermen). *\/\nhtml body .dtk-hero--home .dtk-hero-img { object-position: 50% 70%; } \/* oks-windmolens: lucht en windmolens links (tekst), stal rechtsonder *\/\n@media (max-width: 767px) { html body .dtk-hero--home .dtk-hero-img { object-position: 22% 70%; } } \/* mobiel: de stal met kalveren *\/\n\n\/* Kalfassistent: navy vlak, zoeken links, antwoorden rechts. *\/\nhtml body .dtk-assist { background: var(--blue-soft); color: var(--ink); padding-block: clamp(48px, 7vw, 96px); }\nhtml body .dtk-assist-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .62fr); gap: clamp(20px, 3vw, 48px); align-items: end; }\nhtml body .dtk-assist-intro > p { margin: 12px 0 22px; max-width: 40rem; }\nhtml body .dtk-assist-form label { display: block; font-family: var(--display); font-weight: 600; color: var(--navy); margin-bottom: 8px; }\nhtml body .dtk-assist-field { display: flex; gap: 8px; }\nhtml body .dtk-assist-field input { flex: 1; min-width: 0; font: inherit; font-size: 1rem; color: var(--navy); background: var(--white); border: 1.5px solid #8a979e; border-radius: var(--r-s); padding: 13px 16px; }\nhtml body .dtk-assist-field input::placeholder { color: #5f6b73; }\nhtml body .dtk-assist-field input:focus-visible { outline: 3px solid var(--navy); outline-offset: 2px; }\nhtml body .dtk-assist-field input::-webkit-search-cancel-button { cursor: pointer; }\nhtml body .dtk-assist-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }\nhtml body .dtk-assist-chips button { font: inherit; font-size: .9rem; color: var(--navy); background: var(--white); border: 1px solid #8a979e; border-radius: 999px; padding: 7px 14px; cursor: pointer; }\nhtml body .dtk-assist-chips button:hover { border-color: var(--navy); }\nhtml body .dtk-assist-out { background: var(--white); color: var(--ink); border-radius: var(--r-m); padding: clamp(18px, 2.4vw, 28px); margin-top: 22px; box-shadow: 0 10px 30px rgba(31, 55, 65, .08); }\nhtml body .dtk-assist-status { font-family: var(--display); font-weight: 600; color: var(--navy); margin-bottom: 4px !important; }\nhtml body .dtk-assist-list details { border-bottom: 1px solid var(--line); }\nhtml body .dtk-assist-list summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px; align-items: center; padding: 15px 0; font-weight: 600; color: var(--navy); }\nhtml body .dtk-assist-list summary::-webkit-details-marker { display: none; }\nhtml body .dtk-assist-list summary .dtk-ic-plus { width: 20px; height: 20px; transition: transform .25s ease; }\nhtml body .dtk-assist-list details[open] .dtk-ic-plus { transform: rotate(45deg); }\nhtml body .dtk-assist-list summary:hover span { text-decoration: underline; text-decoration-color: var(--blue); text-decoration-thickness: 2px; text-underline-offset: 4px; }\nhtml body .dtk-assist-a { padding: 0 0 18px; }\nhtml body .dtk-assist-a p { margin-bottom: 10px !important; }\nhtml body .dtk-assist-a mark { background: var(--blue-soft); color: inherit; border-radius: 2px; }\nhtml body .dtk-assist-none { padding: 14px 0; border-bottom: 1px solid var(--line); }\nhtml body .dtk-assist-help { margin: 18px 0 0 !important; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; font-size: .95rem; }\nhtml body .dtk-assist-help a { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }\n\n\/* Van biest tot groep: vier fases naast elkaar, foto boven. *\/\nhtml body .dtk-journey { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(20px, 2.4vw, 32px); }\nhtml body .dtk-journey-card { display: grid; gap: 4px; text-decoration: none; color: var(--navy); }\nhtml body .dtk-journey-img { display: block; overflow: hidden; border-radius: var(--r-m); margin-bottom: 12px; }\nhtml body .dtk-journey img { width: 100%; aspect-ratio: 4 \/ 3; object-fit: cover; transition: transform .5s ease; }\nhtml body .dtk-journey-card:hover img { transform: scale(1.03); }\nhtml body .dtk-journey-h { font-family: var(--display); font-weight: 600; font-size: 1.25rem; line-height: 1.2; }\nhtml body .dtk-journey-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; font-weight: 600; font-size: .95rem; color: var(--navy); }\nhtml body .dtk-journey-card:hover .dtk-journey-link { text-decoration: underline; text-underline-offset: 3px; }\nhtml body .dtk-journey-when { font-family: var(--display); font-weight: 500; font-size: .9rem; color: var(--muted); }\n\n\/* Kalverhuisvesting: raster van drie, OKS groot. *\/\nhtml body .dtk-bento { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); grid-template-rows: auto auto; gap: clamp(16px, 2vw, 24px); }\nhtml body .dtk-bento-a { grid-row: span 2; }\nhtml body .dtk-bento-a, html body .dtk-bento-b { display: flex; flex-direction: column; background: var(--white); border-radius: var(--r-m); overflow: hidden; text-decoration: none; color: var(--ink); }\nhtml body .dtk-bento-img { display: block; overflow: hidden; }\nhtml body .dtk-bento-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }\nhtml body .dtk-bento-a .dtk-bento-img { flex: 1; min-height: 320px; }\nhtml body .dtk-bento-b .dtk-bento-img { aspect-ratio: 16 \/ 9; }\nhtml body .dtk-bento-a:hover img, html body .dtk-bento-b:hover img { transform: scale(1.02); }\nhtml body .dtk-bento-body { display: grid; gap: 6px; padding: 18px 22px 22px; font-size: .95rem; }\nhtml body .dtk-bento-t { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-family: var(--display); font-weight: 600; font-size: 1.2rem; color: var(--navy); }\nhtml body .dtk-bento-c { background: var(--blue-soft); color: var(--ink); border-radius: var(--r-m); padding: clamp(22px, 3vw, 32px); display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }\nhtml body .dtk-bento-c h3 { font-size: 1.4rem; }\nhtml body .dtk-bento-c p { margin: 0 !important; }\n\n\/* Beursagenda: datum groot, naam en plaats, landcode. *\/\nhtml body .dtk-fairs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(24px, 4vw, 64px); }\nhtml body .dtk-fairs li { display: grid; grid-template-columns: 7.5rem minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 16px 0; border-top: 1px solid var(--line); }\nhtml body .dtk-fairs li { border-bottom: 1px solid var(--line); border-top: 0; }\nhtml body .dtk-fair-date { display: grid; line-height: 1.15; }\nhtml body .dtk-fair-date b { font-family: var(--display); font-weight: 600; font-size: 1.35rem; color: var(--navy); font-variant-numeric: tabular-nums; }\nhtml body .dtk-fair-date span { font-size: .88rem; color: var(--muted); }\nhtml body .dtk-fair-name { display: grid; }\nhtml body .dtk-fair-name strong { font-family: var(--display); font-weight: 600; color: var(--navy); font-size: 1.1rem; }\nhtml body .dtk-fair-name span { font-size: .92rem; }\nhtml body .dtk-fair-land { display: block; width: 36px; line-height: 0; }\nhtml body .dtk-fair-land svg { display: block; width: 36px; height: 24px; border-radius: 3px; box-shadow: 0 0 0 1px var(--line); }\n\n@media (max-width: 1080px) {\n  html body .dtk-journey { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 40px; }\n}\n@media (max-width: 900px) {\n  html body .dtk-assist-grid { grid-template-columns: 1fr; }\n  html body .dtk-bento { grid-template-columns: 1fr; }\n  html body .dtk-bento-a { grid-row: auto; }\n  html body .dtk-bento-a .dtk-bento-img { min-height: 0; aspect-ratio: 16 \/ 10; flex: none; }\n}\n@media (max-width: 600px) {\n  html body .dtk-journey { grid-template-columns: 1fr; }\n  html body .dtk-assist-field { flex-direction: column; }\n  html body .dtk-fairs li { grid-template-columns: 6.2rem minmax(0, 1fr) auto; gap: 12px; }\n  html body .dtk-fair-date b { font-size: 1.15rem; }\n}\nhtml body .dtk-fairs li[hidden], html body .dtk-assist [hidden], html body .dtk-section[hidden] { display: none !important; }\n\n\/* Homepage ronde 2: videoknop in de hero, videovenster, persoonlijk advies. *\/\nhtml body .dtk-hero--home .dtk-hero-inner { position: relative; }\nhtml body .dtk-video-btn { position: absolute; right: var(--gutter); bottom: clamp(24px, 4vw, 48px); display: inline-flex; align-items: center; gap: 12px; font: inherit; font-family: var(--display); font-weight: 600; color: var(--white); background: rgba(20, 38, 46, .72); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; padding: 8px 20px 8px 8px; cursor: pointer; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }\nhtml body .dtk-video-btn:hover { background: rgba(20, 38, 46, .88); }\nhtml body .dtk-video-play { width: 40px; height: 40px; border-radius: 50%; background: var(--blue); color: var(--navy); display: grid; place-items: center; }\nhtml body .dtk-video-play svg { width: 18px; height: 18px; margin-left: 2px; }\nhtml body .dtk-video-btn:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }\nhtml body .dtk-video { width: min(1100px, 94vw); max-height: 94vh; padding: 0; border: 0; border-radius: var(--r-m); background: #0d1b21; color: rgba(255,255,255,.8); }\nhtml body .dtk-video::backdrop { background: rgba(10, 20, 25, .82); }\nhtml body .dtk-video-inner { position: relative; padding: 52px 16px 14px; }\nhtml body .dtk-video .dtk-lb-close { position: absolute; top: 10px; right: 12px; }\nhtml body .dtk-video-frame { position: relative; aspect-ratio: 16 \/ 9; background: #000; border-radius: var(--r-s); overflow: hidden; }\nhtml body .dtk-video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }\nhtml body .dtk-video-note { font-size: .85rem; margin: 10px 2px 0 !important; }\n\nhtml body .dtk-people { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(28px, 5vw, 72px); align-items: center; }\nhtml body .dtk-people-grid { display: grid; grid-template-columns: 1.25fr 1fr; grid-template-rows: 1fr 1fr; gap: clamp(10px, 1.4vw, 18px); }\nhtml body .dtk-people-grid figure { margin: 0; overflow: hidden; border-radius: var(--r-m); }\nhtml body .dtk-people-grid img { width: 100%; height: 100%; object-fit: cover; }\nhtml body .dtk-people-a { grid-row: span 2; aspect-ratio: 4 \/ 5; }\nhtml body .dtk-people-b, html body .dtk-people-c { aspect-ratio: 4 \/ 3; }\n\n@media (max-width: 900px) {\n  html body .dtk-people { grid-template-columns: 1fr; }\n  html body .dtk-fairs { grid-template-columns: 1fr; }\n}\n@media (max-width: 700px) {\n  html body .dtk-video-btn { position: static; margin-top: 24px; align-self: flex-start; }\n  html body .dtk-hero--home .dtk-hero-inner { justify-content: flex-end; }\n}\n\n\/* Homepage ronde 3: verkopen eerst. *\/\nhtml body .dtk-hero--home { min-height: clamp(480px, 70vh, 680px); }\nhtml body .dtk-hero--home .dtk-hero-inner { padding-bottom: clamp(96px, 10vw, 140px); }\nhtml body .dtk-usps { position: relative; z-index: 2; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); margin: clamp(-64px, -5vw, -48px) 0 0; }\nhtml body .dtk-usps li { display: flex; gap: 14px; align-items: flex-start; background: var(--white); border-radius: var(--r-m); padding: 20px 22px; box-shadow: 0 12px 32px rgba(31, 55, 65, .12); }\nhtml body .dtk-usps .dtk-ic { width: 22px; height: 22px; color: var(--navy); background: var(--blue-soft); border-radius: 50%; padding: 4px; box-sizing: content-box; flex: none; }\nhtml body .dtk-usps span { display: grid; gap: 2px; font-size: .92rem; }\nhtml body .dtk-usps strong { font-family: var(--display); font-weight: 600; color: var(--navy); font-size: 1.02rem; }\nhtml body .dtk-usps a { font-weight: 600; }\nhtml body .dtk-section--top { padding-top: clamp(48px, 6vw, 80px); }\nhtml body .dtk-row-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: clamp(22px, 3vw, 36px); }\nhtml body .dtk-row-head p { margin: 0 !important; width: 100%; }\n\n\/* Productgroepen als kaarten: beeld op wit, titel, regel, bekijken. *\/\nhtml body .dtk-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.6vw, 20px); }\nhtml body .dtk-cats a { display: grid; grid-template-rows: auto auto 1fr auto; height: 100%; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-m); padding: 16px 18px 18px; text-decoration: none; color: var(--ink); transition: box-shadow .25s ease, transform .25s ease; }\nhtml body .dtk-cats a:hover { box-shadow: 0 14px 34px rgba(31, 55, 65, .12); transform: translateY(-2px); }\nhtml body .dtk-cats-img { display: grid; place-items: center; aspect-ratio: 4 \/ 3; margin-bottom: 12px; }\nhtml body .dtk-cats-img img { width: 78%; height: 100%; object-fit: contain; }\nhtml body .dtk-cats-t { font-family: var(--display); font-weight: 600; font-size: 1.12rem; color: var(--navy); }\nhtml body .dtk-cats-s { font-size: .9rem; margin-top: 2px; }\nhtml body .dtk-cats-more { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; font-weight: 600; font-size: .92rem; color: var(--navy); }\nhtml body .dtk-cats-all a { background: var(--blue-soft); border-color: transparent; align-content: end; grid-template-rows: 1fr auto auto; }\nhtml body .dtk-cats-all .dtk-cats-t { font-size: 1.35rem; }\n\n\/* Kalfassistent met een gezicht: chat links, adviseur rechts op de onderrand. *\/\nhtml body .dtk-assist { padding-bottom: 0; overflow: hidden; }\nhtml body .dtk-assist-chat { padding-bottom: clamp(48px, 7vw, 96px); }\nhtml body .dtk-assist-person { position: relative; align-self: end; }\nhtml body .dtk-assist-person img { width: 100%; max-width: 420px; margin-left: auto; display: block; }\nhtml body .dtk-assist-bubble { position: absolute; top: 8%; left: -6%; z-index: 1; margin: 0 !important; background: var(--white); color: var(--navy); font-family: var(--display); font-weight: 600; padding: 12px 18px; border-radius: 18px 18px 18px 4px; box-shadow: 0 10px 26px rgba(31, 55, 65, .14); white-space: nowrap; }\n\n\/* Landschap met kalveren als overgang naar het CTA-blok. *\/\nhtml body .dtk-landscape { position: relative; height: clamp(120px, 14vw, 220px); margin-top: -1px; }\nhtml body .dtk-landscape svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }\nhtml body .dtk .dtk-landscape-calves { position: absolute; left: 58%; bottom: 34%; width: clamp(160px, 22vw, 330px); height: auto; }\nhtml body .dtk-landscape + .dtk-contact { margin-top: -2px; }\n\n@media (max-width: 1080px) { html body .dtk-cats { grid-template-columns: repeat(3, minmax(0, 1fr)); } }\n@media (max-width: 900px) {\n  html body .dtk-usps { grid-template-columns: 1fr; margin-top: -40px; }\n  html body .dtk-assist-grid { grid-template-columns: 1fr; }\n  html body .dtk-assist-person { justify-self: center; width: min(260px, 70%); margin-top: -24px; }\n  html body .dtk-assist-person { text-align: center; }\n  html body .dtk-assist-bubble { position: relative; left: auto; top: auto; display: inline-block; margin-bottom: 10px !important; }\n  html body .dtk-assist-chat { padding-bottom: 32px; }\n  html body .dtk-assist { padding-bottom: 0; }\n}\n@media (max-width: 600px) { html body .dtk-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); } html body .dtk-cats a { padding: 12px; } }\nhtml body .dtk-landscape { background: var(--concrete); }\n\nhtml body .dtk-hero--home .dtk-video-btn { bottom: clamp(96px, 9vw, 128px); }\nhtml body .dtk-cats-all .dtk-cats-img { place-items: end start; }\nhtml body .dtk-cats-all .dtk-cats-img img { width: 70%; height: auto; }\n\n@media (max-width: 600px) { html body .dtk-cats-t { font-size: 1rem; hyphens: auto; overflow-wrap: break-word; } }\n\n\/* Kalfassistent als chat (ronde 4). *\/\nhtml body .dtk-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }\nhtml body .dtk-chat { background: var(--white); border-radius: var(--r-m); box-shadow: 0 10px 30px rgba(31, 55, 65, .08); padding: clamp(14px, 2vw, 22px); display: grid; gap: 14px; }\nhtml body .dtk-chat-log { position: relative; display: flex; flex-direction: column; gap: 12px; max-height: 460px; overflow-y: auto; padding: 4px 2px; scroll-behavior: smooth; }\nhtml body .dtk-msg { max-width: 86%; padding: 12px 16px; border-radius: 16px; font-size: .97rem; }\nhtml body .dtk-msg p { margin: 0 0 8px !important; }\nhtml body .dtk-msg p:last-child { margin-bottom: 0 !important; }\nhtml body .dtk-msg-who { display: block; font-family: var(--display); font-weight: 600; font-size: .78rem; margin-bottom: 4px; }\nhtml body .dtk-msg--bot { align-self: flex-start; background: var(--blue-soft); color: var(--ink); border-bottom-left-radius: 4px; }\nhtml body .dtk-msg--bot .dtk-msg-who { color: var(--navy); }\nhtml body .dtk-msg--you { align-self: flex-end; background: var(--navy); color: var(--white); border-bottom-right-radius: 4px; }\nhtml body .dtk-msg--you .dtk-msg-who { color: rgba(255,255,255,.75); }\nhtml body .dtk-msg-lead { font-size: .88rem; color: var(--muted); }\nhtml body .dtk-msg-q { font-family: var(--display); font-weight: 600; color: var(--navy); }\nhtml body .dtk-msg .dtk-link { font-size: .93rem; }\nhtml body .dtk-msg-more { display: grid; gap: 4px; }\nhtml body .dtk-msg-links { display: flex; flex-wrap: wrap; gap: 6px 16px; }\nhtml body .dtk-msg-links a { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }\nhtml body .dtk-chat-chips { display: flex; flex-wrap: wrap; gap: 8px; }\nhtml body .dtk-chat-chips button { font: inherit; font-size: .88rem; color: var(--navy); background: var(--white); border: 1px solid #8a979e; border-radius: 999px; padding: 7px 14px; cursor: pointer; text-align: left; }\nhtml body .dtk-chat-chips button:hover { border-color: var(--navy); background: var(--blue-soft); }\nhtml body .dtk-chat-form { display: flex; gap: 8px; }\nhtml body .dtk-chat-form input { flex: 1; min-width: 0; font: inherit; font-size: 1rem; color: var(--navy); background: var(--white); border: 1.5px solid #8a979e; border-radius: 999px; padding: 12px 18px; }\nhtml body .dtk-chat-form input::placeholder { color: #5f6b73; }\nhtml body .dtk-chat-form input:focus-visible { outline: 3px solid var(--navy); outline-offset: 2px; }\nhtml body .dtk-chat-form .dtk-btn { border-radius: 999px; }\nhtml body .dtk-assist .dtk-assist-help { margin-top: 16px !important; }\n\/* Ballon met de punt rechtsonder, naar Karen toe. *\/\nhtml body .dtk-assist-bubble { left: -12%; top: 6%; border-radius: 18px 18px 4px 18px; }\nhtml body .dtk-assist-bubble::after { content: ''; position: absolute; right: 14px; bottom: -9px; border: 10px solid transparent; border-top-color: var(--white); border-bottom: 0; transform: skewX(-25deg); }\n@media (max-width: 900px) { html body .dtk-msg { max-width: 94%; } html body .dtk-assist-bubble { left: auto; } }\n\n\/* Pagina Veelgestelde vragen: onderwerpen links, vragen rechts. *\/\nhtml body .dtk-faqpage { display: grid; grid-template-columns: minmax(0, .32fr) minmax(0, 1fr); gap: clamp(28px, 5vw, 72px); align-items: start; }\nhtml body .dtk-faqpage-nav { position: sticky; top: calc(var(--dtk-sticky, 0px) + var(--dtk-admin, 0px) + 24px); } \/* onder de vaste menubalk: Next 60 px, WordPress zet --dtk-sticky zelf *\/\nhtml body .dtk-faqpage-nav h2 { font-size: 1.15rem; margin-bottom: 12px; }\nhtml body .dtk-faqpage-nav ul { display: grid; gap: 2px; }\nhtml body .dtk-faqpage-nav a { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); text-decoration: none; font-weight: 500; }\nhtml body .dtk-faqpage-nav a span { color: var(--muted); font-variant-numeric: tabular-nums; }\nhtml body .dtk-faqpage-groups { display: grid; gap: clamp(36px, 5vw, 64px); }\nhtml body .dtk-faqpage-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 20px; margin-bottom: 6px; }\nhtml body .dtk-faqpage-head h2 { font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); }\nhtml body .dtk-faqpage-group details, html body .dtk-faqpage-group { scroll-margin-top: calc(var(--dtk-sticky, 0px) + var(--dtk-admin, 0px) + 24px); }\n@media (max-width: 900px) { html body .dtk-faqpage { grid-template-columns: 1fr; } html body .dtk-faqpage-nav { position: static; } }\n\n\/* Van dag \u00e9\u00e9n tot groep als horizontale tijdlijn (ronde 5): lijn met een punt per fase. *\/\nhtml body .dtk-tl-track { padding-top: 26px; }\nhtml body .dtk-tl-item { position: relative; display: grid; align-content: start; gap: 10px; }\nhtml body .dtk-tl-item::before { content: ''; position: absolute; top: -19px; left: 0; right: calc(clamp(16px, 2vw, 28px) * -1); height: 2px; background: var(--line); }\nhtml body .dtk-tl-item::after { content: ''; position: absolute; top: -25px; left: 0; width: 14px; height: 14px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px var(--white); }\nhtml body .dtk-tl-item:last-child::before { right: 0; }\nhtml body .dtk-tl-item .dtk-stage-when { justify-self: start; margin: 0 !important; }\nhtml body .dtk-tl-img { display: block; overflow: hidden; border-radius: var(--r-m); }\nhtml body .dtk-tl-img img { width: 100%; aspect-ratio: 4 \/ 3; object-fit: cover; }\nhtml body .dtk-tl-item h3 { margin-top: 4px; }\nhtml body .dtk-tl-item > p:not(.dtk-stage-when) { font-size: .95rem; margin: 0 !important; }\nhtml body .dtk-tl-item .dtk-stage-links { margin-top: 4px; }\nhtml body .dtk-timeline .dtk-carousel-nav { top: -64px; }\n@media (max-width: 700px) { html body .dtk-timeline .dtk-carousel-nav { top: auto; } }\n\n\/* Ballon rechts naast Karen, op schouderhoogte, met de punt naar haar toe (Noah, 07-10). *\/\nhtml body .dtk-assist-bubble { left: auto; right: -14%; top: 52%; border-radius: 18px 18px 18px 18px; }\nhtml body .dtk-assist-bubble::after { right: auto; left: 18px; bottom: auto; top: -9px; border: 10px solid transparent; border-bottom-color: var(--white); border-top: 0; transform: skewX(25deg); }\n@media (max-width: 1240px) { html body .dtk-assist-bubble { right: -4%; } }\n@media (max-width: 900px) { html body .dtk-assist-bubble { right: auto; top: auto; } html body .dtk-assist-bubble::after { display: none; } }\n\n\/* Kalvervoeding: voerplan in drie fases, melkpoederlijn als datasheet, shopartikelen per moment. *\/\n@media (min-width: 901px) { html body .dtk-flow--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } html body .dtk-flow--3 .dtk-flow-step:nth-child(2)::after { display: block; } }\nhtml body .dtk-flow-step .dtk-link { display: inline-flex; }\n\nhtml body .dtk-powders-head { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(24px, 4vw, 64px); align-items: end; }\nhtml body .dtk-powders-bags { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: var(--blue-soft); border-radius: var(--r-m); padding: clamp(16px, 2vw, 28px); }\nhtml body .dtk-powders-bags img { width: 100%; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; }\nhtml body .dtk-powder-table { min-width: 820px; }\nhtml body .dtk-powder-table thead th:first-child { width: 20%; }\nhtml body .dtk-powder-table .dtk-num { text-align: right; white-space: nowrap; }\nhtml body .dtk-powder-table tbody th a { white-space: nowrap; }\nhtml body .dtk-powder-note { font-size: .9rem; min-width: 220px; }\nhtml body .dtk-meter { display: flex; align-items: center; gap: 12px; min-width: 190px; }\nhtml body .dtk-meter-bar { position: relative; flex: 1; height: 10px; border-radius: 999px; background: var(--concrete); overflow: hidden; }\nhtml body .dtk-meter-bar::after { content: ''; position: absolute; inset: 0; background: var(--blue); transform: scaleX(var(--v)); transform-origin: left; }\nhtml body .dtk-meter-v { min-width: 4.5ch; text-align: right; font-weight: 600; color: var(--navy); font-variant-numeric: tabular-nums; }\nhtml body .dtk-meter-none { font-size: .9rem; color: var(--muted); }\n\nhtml body .dtk-pmedia--photo { overflow: hidden; box-shadow: none; }\nhtml body .dtk-pmedia--photo img { width: 100%; height: 100%; object-fit: cover; }\n\nhtml body .dtk-need { display: grid; grid-template-columns: minmax(0, .34fr) minmax(0, 1fr); gap: clamp(16px, 3vw, 48px); border-top: 2px solid var(--navy); padding: 22px 0 40px; }\nhtml body .dtk-need-head h3 { font-size: 1.2rem; margin-bottom: 6px; }\nhtml body .dtk-need-head p { font-size: .92rem; color: var(--muted); margin: 0 !important; }\n@media (max-width: 900px) {\n  html body .dtk-powders-head { grid-template-columns: minmax(0, 1fr); }\n  html body .dtk-powders-bags { max-width: 420px; }\n  html body .dtk-need { grid-template-columns: minmax(0, 1fr); }\n}\n\/* Melkpoeders direct na het voerplan: twee witte secties op elkaar gaven dubbele witruimte. *\/\nhtml body .dtk-section:has(+ .dtk-powders) { padding-bottom: clamp(40px, 5vw, 64px); }\nhtml body .dtk-section + .dtk-powders { padding-top: 0; }\nhtml body .dtk-section + .dtk-powders .dtk-powders-head { border-top: 1px solid var(--line); padding-top: clamp(32px, 4vw, 56px); }\n\/* Aanvullende diervoeders als shopkaarten: beeld, naam, regel, live prijs (script.js) en winkelwagenknop. *\/\nhtml body .dtk-pcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 28px); }\nhtml body .dtk-pcard { display: flex; flex-direction: column; gap: 14px; }\nhtml body .dtk-pcard-link { display: grid; gap: 8px; text-decoration: none; color: inherit; flex: 1; align-content: start; }\nhtml body .dtk-pcard-img { aspect-ratio: 1; background: var(--white); border-radius: var(--r-m); box-shadow: inset 0 0 0 1px var(--line); display: grid; place-items: center; overflow: hidden; margin-bottom: 6px; }\nhtml body .dtk-pcard-img img { width: 76%; height: 76%; object-fit: contain; transition: transform .4s ease; }\nhtml body .dtk-pcard-link:hover .dtk-pcard-img img { transform: scale(1.04); }\nhtml body .dtk-pcard-n { font-family: var(--display); font-weight: 600; color: var(--navy); line-height: 1.25; }\nhtml body .dtk-pcard-link:hover .dtk-pcard-n { text-decoration: underline; text-decoration-color: var(--blue); text-decoration-thickness: 2px; text-underline-offset: 3px; }\nhtml body .dtk-pcard-d { font-size: .88rem; line-height: 1.45; }\nhtml body .dtk-pcard-buy { display: grid; gap: 10px; padding-top: 12px; border-top: 1px solid var(--line); }\nhtml body .dtk-pcard-buy .dtk-price { min-height: 2.6em; }\nhtml body .dtk-pcard-buy .dtk-btn { justify-content: center; }\nhtml body .dtk-price { font-family: var(--display); font-weight: 600; font-size: 1.1rem; color: var(--navy); font-variant-numeric: tabular-nums; }\nhtml body .dtk-price small { display: block; font-family: var(--text); font-weight: 400; font-size: .76rem; color: var(--muted); }\nhtml body .dtk .dtk-btn--sm { min-height: 44px; padding: 10px 16px; font-size: .94rem; }\n@media (max-width: 1080px) { html body .dtk-pcards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }\n\n\/* Melkpoedertabel op een telefoon: elke rij een blok (naam, balk, eiwit en vet, kenmerk) in plaats van zijwaarts scrollen. *\/\n@media (max-width: 760px) {\n  html body .dtk-bags-scroll:has(.dtk-powder-table) { overflow: visible; margin-inline: 0; padding-inline: 0; }\n  html body .dtk-powder-table { min-width: 0; }\n  html body .dtk-powder-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }\n  html body .dtk-powder-table tbody tr { display: grid; grid-template-columns: auto auto 1fr; column-gap: 20px; row-gap: 6px; padding: 16px 0; border-bottom: 1px solid var(--line); }\n  html body .dtk-powder-table tbody th, html body .dtk-powder-table tbody td { padding: 0; border: 0; }\n  html body .dtk-powder-table tbody th, html body .dtk-powder-table tbody td:nth-child(2), html body .dtk-powder-table .dtk-powder-note { grid-column: 1 \/ -1; }\n  html body .dtk-powder-table .dtk-num { text-align: left; font-size: .92rem; color: var(--navy); font-weight: 600; }\n  html body .dtk-powder-table .dtk-num::before { content: attr(data-l) ' '; font-weight: 400; color: var(--muted); }\n  html body .dtk-powder-table .dtk-powder-note { min-width: 0; }\n  html body .dtk-meter { min-width: 0; max-width: 340px; }\n}\nhtml body .dtk-prod-n, html body .dtk-pcard-n { overflow-wrap: anywhere; }\n\n<\/style>\n<div class=\"dtk\" lang=\"de\">\n\n<header class=\"dtk-hero\">\n  <img fetchpriority=\"high\" class=\"dtk-hero-img\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij.webp 2200w\" sizes=\"100vw\" width=\"2200\" height=\"1467\" alt=\"Eine lange Reihe Optima Klima K\u00e4lberst\u00e4lle mit K\u00e4lbern am Fressgitter unter blauem Himmel\" fetchpriority=\"high\" decoding=\"async\">\n  <div class=\"dtk-hero-inner dtk-wrap\">\n    <nav class=\"dtk-crumbs\" aria-label=\"Navigationspfad\"><ol><li><a href=\"https:\/\/dairytop.eu\/de\/\">Home<\/a><\/li><li><span aria-current=\"page\">K\u00e4lberhaltung<\/span><\/li><\/ol><\/nav>\n    <div class=\"dtk-hero-copy\">\n      \n      <h1>K\u00e4lberhaltung<\/h1>\n      <p class=\"dtk-lead\">DairyTop bietet ein breites Sortiment f\u00fcr die K\u00e4lberhaltung, f\u00fcr neugeborene K\u00e4lber und f\u00fcr K\u00e4lber, die schon in Gruppen gehalten werden k\u00f6nnen. Alles f\u00fcr eine gesunde und tiergerechte Aufzucht Ihrer K\u00e4lber.<\/p>\n      <div class=\"dtk-actions\"><a class=\"dtk-btn\" href=\"#systemen\">Zu den Systemen<\/a><a class=\"dtk-btn dtk-btn--ghost\" href=\"https:\/\/dairytop.eu\/de\/kontakt\/\" data-quote=\"advies\">Pers\u00f6nliche Beratung<\/a><\/div>\n    <\/div>\n  <\/div>\n<\/header>\n\n<section class=\"dtk-section\" aria-labelledby=\"alle-h\">\n  <div class=\"dtk-wrap\">\n    <div class=\"dtk-head\">\n      <h2 id=\"alle-h\">Alles f\u00fcr die K\u00e4lberhaltung<\/h2>\n      <p>Bl\u00e4ttern Sie durch alle Kategorien, oder springen Sie direkt zum gesuchten System.<\/p>\n    <\/div>\n    <div class=\"dtk-carousel\" data-carousel>\n  <div class=\"dtk-carousel-nav\">\n    <button type=\"button\" class=\"dtk-carousel-btn\" data-dir=\"-1\" aria-controls=\"alle-cat\" aria-label=\"Vorherige Kategorien\"><svg viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M12.5 4.5L7 10l5.5 5.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/button>\n    <button type=\"button\" class=\"dtk-carousel-btn\" data-dir=\"1\" aria-controls=\"alle-cat\" aria-label=\"N\u00e4chste Kategorien\"><svg viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M7.5 4.5L13 10l-5.5 5.5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/button>\n  <\/div>\n  <ul class=\"dtk-carousel-track\" id=\"alle-cat\" aria-label=\"Kategorien K\u00e4lberhaltung\">\n    <li class=\"dtk-card\"><a href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/kalberstalle\/einzelhaltung\/\">\n      <span class=\"dtk-card-media\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/eenling-front.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/eenling-front-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/eenling-front.webp 1200w\" sizes=\"auto, (min-width: 1000px) 30vw, 80vw\" width=\"1200\" height=\"792\" alt=\"K\u00e4lberbox auf R\u00e4dern mit Fronttor, Milcheimer und zwei blauen Futterschalen\" loading=\"lazy\" decoding=\"async\"><\/span>\n      <span class=\"dtk-card-t\">Einzelhaltung<svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span>\n      <span class=\"dtk-card-d\">F\u00fcr die ersten Lebenswochen, in denen K\u00e4lber einzeln gehalten werden.<\/span>\n    <\/a><\/li>\n    <li class=\"dtk-card\"><a href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/kalberstalle\/gruppenunterkunft\/\">\n      <span class=\"dtk-card-media\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/groep-binnen.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/groep-binnen-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/groep-binnen.webp 1000w\" sizes=\"auto, (min-width: 1000px) 30vw, 80vw\" width=\"1000\" height=\"662\" alt=\"Gruppenbuchten im Stall mit Fressgittern und Tr\u00f6gen an einem Futtergang\" loading=\"lazy\" decoding=\"async\"><\/span>\n      <span class=\"dtk-card-t\">Gruppenhaltung<svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span>\n      <span class=\"dtk-card-d\">Kleine, altersgleiche Gruppen etwa ab der zweiten Lebenswoche.<\/span>\n    <\/a><\/li>\n    <li class=\"dtk-card\"><a href=\"https:\/\/dairytop.eu\/de\/optima-klima-stall\/\">\n      <span class=\"dtk-card-media\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij-2.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij-2-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij-2.webp 1800w\" sizes=\"auto, (min-width: 1000px) 30vw, 80vw\" width=\"1800\" height=\"1200\" alt=\"K\u00e4lber am Fressgitter eines Optima Klima K\u00e4lberstalls\" loading=\"lazy\" decoding=\"async\"><\/span>\n      <span class=\"dtk-card-t\">Optima Klima K\u00e4lberstall<svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span>\n      <span class=\"dtk-card-d\">Fester Au\u00dfenstall mit Buchten f\u00fcr 6 bis 8 K\u00e4lber, in drei Gr\u00f6\u00dfen.<\/span>\n    <\/a><\/li>\n    <li class=\"dtk-card\"><a href=\"https:\/\/dairytop.eu\/de\/quattro-kalberbox-xl\/\">\n      <span class=\"dtk-card-media\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-hoog.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-hoog-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-hoog.webp 1800w\" sizes=\"auto, (min-width: 1000px) 30vw, 80vw\" width=\"1800\" height=\"1201\" alt=\"Quattro K\u00e4lberbox XL mit Klappboden, von einem Hoflader angehoben\" loading=\"lazy\" decoding=\"async\"><\/span>\n      <span class=\"dtk-card-t\">Quattro K\u00e4lberbox XL<svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span>\n      <span class=\"dtk-card-d\">Anhebbare Einheit mit vier Liegepl\u00e4tzen, auch mit Klappboden.<\/span>\n    <\/a><\/li>\n    <li class=\"dtk-card\"><a href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/kalberstalle\/calfotel\/\">\n      <span class=\"dtk-card-media\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/co-hybrid.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/co-hybrid-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/co-hybrid.webp 1600w\" sizes=\"auto, (min-width: 1000px) 30vw, 80vw\" width=\"1600\" height=\"1067\" alt=\"Zwei CalfOTel-Hybrid-K\u00e4lberiglus mit offener Front, drau\u00dfen auf dem Hof\" loading=\"lazy\" decoding=\"async\"><\/span>\n      <span class=\"dtk-card-t\">CalfOTel<svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span>\n      <span class=\"dtk-card-d\">K\u00e4lberiglus f\u00fcr ein Kalb oder eine Gruppe, bekannt f\u00fcr gutes Klima und wenig Arbeit.<\/span>\n    <\/a><\/li>\n    <li class=\"dtk-card\"><a href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/heuraufen\/\">\n      <span class=\"dtk-card-media\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/hooiruif-combifeeder.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/hooiruif-combifeeder-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/hooiruif-combifeeder.webp 1600w\" sizes=\"auto, (min-width: 1000px) 30vw, 80vw\" width=\"1600\" height=\"1199\" alt=\"Ein Landwirt \u00f6ffnet den Combifeeder an der Seite eines CalfOTel-XL-K\u00e4lberiglus mit K\u00e4lbern\" loading=\"lazy\" decoding=\"async\"><\/span>\n      <span class=\"dtk-card-t\">Heuraufen<svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span>\n      <span class=\"dtk-card-d\">Heuraufen und Combifeeder f\u00fcr Box und Gruppe.<\/span>\n    <\/a><\/li>\n    <li class=\"dtk-card\"><a href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/futtertroge\/\">\n      <span class=\"dtk-card-media\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-kalf-trog.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-kalf-trog-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-kalf-trog.webp 1600w\" sizes=\"auto, (min-width: 1000px) 30vw, 80vw\" width=\"1600\" height=\"1067\" alt=\"Kalb frisst aus einem braunen Futtertrog am Fressgitter\" loading=\"lazy\" decoding=\"async\"><\/span>\n      <span class=\"dtk-card-t\">Futtertr\u00f6ge<svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span>\n      <span class=\"dtk-card-d\">Unter anderem die Futtertr\u00f6ge 800, 1600 und 2000.<\/span>\n    <\/a><\/li>\n    <li class=\"dtk-card\"><a href=\"#maatwerk\">\n      <span class=\"dtk-card-media\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-nummers.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-nummers-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-nummers.webp 1600w\" sizes=\"auto, (min-width: 1000px) 30vw, 80vw\" width=\"1600\" height=\"1067\" alt=\"Neu gebauter K\u00e4lberstall mit nummerierten Buchten\" loading=\"lazy\" decoding=\"async\"><\/span>\n      <span class=\"dtk-card-t\">Ma\u00dfanfertigung<svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/span>\n      <span class=\"dtk-card-d\">Ein K\u00e4lberstall, der zu Ihrem Platz und Ihrem Betrieb passt.<\/span>\n    <\/a><\/li>\n  <\/ul>\n<\/div>\n  <\/div>\n<\/section>\n\n<section class=\"dtk-section dtk-section--tint\" aria-labelledby=\"fase-h\">\n  <div class=\"dtk-wrap\">\n    <div class=\"dtk-head\">\n      <p class=\"dtk-kicker\">Von der ersten Woche bis zur Gruppe<\/p>\n      <h2 id=\"fase-h\">Welche Haltung passt zum Alter Ihres Kalbes?<\/h2>\n      <p>Ein Kalb braucht in jeder Phase etwas anderes. W\u00e4hlen Sie unten nach Alter, oder gehen Sie direkt zu einem System.<\/p>\n    <\/div>\n    <ol class=\"dtk-stages\">\n      <li class=\"dtk-stage\">\n        <div class=\"dtk-stage-media\"><img loading=\"lazy\" class=\"dtk-calf dtk-calf--zittend\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/kalf-borstligging.webp\" width=\"900\" height=\"540\" alt=\"Junges schwarzbuntes Kalb in Brustlage mit erhobenem Kopf\" loading=\"lazy\" decoding=\"async\"><\/div>\n        <div class=\"dtk-stage-body\">\n        <p class=\"dtk-stage-when\">Die ersten Lebenswochen<\/p>\n        <h3>Einzeln und gut gesch\u00fctzt<\/h3>\n        <p>In den ersten Lebenswochen ist das Immunsystem der K\u00e4lber noch schwach, deshalb werden sie einzeln gehalten.<\/p>\n        <div class=\"dtk-stage-links\">\n          <a href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/kalberstalle\/einzelhaltung\/\"><span>Einzelhaltung<\/span><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n          <a href=\"https:\/\/dairytop.eu\/de\/quattro-kalberbox-xl\/\"><span>Quattro K\u00e4lberbox XL <small>als vier Einzelboxen<\/small><\/span><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n        <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"dtk-stage\">\n        <div class=\"dtk-stage-media\"><img loading=\"lazy\" class=\"dtk-calf dtk-calf--groepje\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/kalf-groepje.webp\" width=\"900\" height=\"520\" alt=\"Drei junge schwarzbunte K\u00e4lber stehen nebeneinander\" loading=\"lazy\" decoding=\"async\"><\/div>\n        <div class=\"dtk-stage-body\">\n        <p class=\"dtk-stage-when\">Etwa ab der zweiten Lebenswoche<\/p>\n        <h3>Gemeinsam in einer kleinen Gruppe<\/h3>\n        <p>Etwa ab der zweiten Lebenswoche k\u00f6nnen K\u00e4lber in kleinen, altersgleichen Gruppen gehalten werden. Das f\u00f6rdert Wohlbefinden und Sozialverhalten.<\/p>\n        <div class=\"dtk-stage-links\">\n          <a href=\"https:\/\/dairytop.eu\/de\/quattro-kalberbox-xl\/\"><span>Quattro K\u00e4lberbox XL <small>als Doppelbox oder Vierergruppe<\/small><\/span><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n          <a href=\"https:\/\/dairytop.eu\/de\/optima-klima-stall\/\"><span>Optima Klima K\u00e4lberstall <small>drei Gr\u00f6\u00dfen<\/small><\/span><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n          <a href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/kalberstalle\/gruppenunterkunft\/\"><span>Gruppenhaltung<\/span><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n        <\/div>\n        <\/div>\n      <\/li>\n      <li class=\"dtk-stage\">\n        <div class=\"dtk-stage-media\"><img loading=\"lazy\" class=\"dtk-calf dtk-calf--groep\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/kalf-groep.webp\" width=\"900\" height=\"563\" alt=\"Eine Gruppe schwarzbunter K\u00e4lber, einige Monate alt\" loading=\"lazy\" decoding=\"async\"><\/div>\n        <div class=\"dtk-stage-body\">\n        <p class=\"dtk-stage-when\">Bis 4 Monate<\/p>\n        <h3>Drau\u00dfen, in einer eigenen Bucht<\/h3>\n        <p>Ein fester Stall mit Buchten, frischer Luft und einem Frontgitter, das sich zum Ausmisten \u00f6ffnen l\u00e4sst.<\/p>\n        <div class=\"dtk-stage-links\">\n          <a href=\"https:\/\/dairytop.eu\/de\/optima-klima-stall\/#m-optima-klima-stal-xl\"><span>Optima Klima Stall XL<\/span><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n        <\/div>\n        <\/div>\n      <\/li>\n    <\/ol>\n  <\/div>\n<\/section>\n\n<section class=\"dtk-section\" id=\"keuzehulp\" aria-labelledby=\"kh-h\">\n  <div class=\"dtk-wrap dtk-finder\" data-finder data-of=\"Frage {n} von {m}\">\n    <div class=\"dtk-head\">\n      <p class=\"dtk-kicker\">Auswahlhilfe<\/p>\n      <h2 id=\"kh-h\">Welche Haltung passt zu Ihrem Betrieb?<\/h2>\n      <p>Beantworten Sie f\u00fcnf kurze Fragen und sehen Sie, welche Systeme am besten passen.<\/p>\n    <\/div>\n    <div class=\"dtk-find-quiz\" data-finder-quiz>\n      <div class=\"dtk-find-top\">\n        <p class=\"dtk-find-step\" data-finder-step aria-live=\"polite\">Frage 1 von 5<\/p>\n        <button type=\"button\" class=\"dtk-find-back\" data-finder-back hidden>Vorherige Frage<\/button>\n      <\/div>\n      <div class=\"dtk-find-bar\" aria-hidden=\"true\"><span data-finder-bar style=\"width: 20.00%\"><\/span><\/div>\n      <fieldset class=\"dtk-find-q\" data-finder-q=\"fase\">\n        <legend><span class=\"dtk-find-qt\" tabindex=\"-1\">Wie alt sind die K\u00e4lber?<\/span><\/legend>\n        <div class=\"dtk-find-answers\"><button type=\"button\" data-answer=\"eerst\" aria-pressed=\"false\">Erste Lebenswochen<\/button><button type=\"button\" data-answer=\"tweede\" aria-pressed=\"false\">Ab etwa zwei Wochen<\/button><button type=\"button\" data-answer=\"ouder\" aria-pressed=\"false\">Bis vier Monate<\/button><button type=\"button\" data-answer=\"alle\" aria-pressed=\"false\">Von Geburt bis Gruppe<\/button><\/div>\n      <\/fieldset>\n      <fieldset class=\"dtk-find-q\" data-finder-q=\"aantal\" hidden>\n        <legend><span class=\"dtk-find-qt\" tabindex=\"-1\">Wie viele K\u00e4lber m\u00f6chten Sie gleichzeitig unterbringen?<\/span><\/legend>\n        <div class=\"dtk-find-answers\"><button type=\"button\" data-answer=\"klein\" aria-pressed=\"false\">1 bis 4<\/button><button type=\"button\" data-answer=\"middel\" aria-pressed=\"false\">5 bis 12<\/button><button type=\"button\" data-answer=\"groot\" aria-pressed=\"false\">Mehr als 12<\/button><\/div>\n      <\/fieldset>\n      <fieldset class=\"dtk-find-q\" data-finder-q=\"plek\" hidden>\n        <legend><span class=\"dtk-find-qt\" tabindex=\"-1\">Wo sollen die K\u00e4lber stehen?<\/span><\/legend>\n        <div class=\"dtk-find-answers\"><button type=\"button\" data-answer=\"buiten\" aria-pressed=\"false\">Im Freien<\/button><button type=\"button\" data-answer=\"binnen\" aria-pressed=\"false\">In einem Stall<\/button><button type=\"button\" data-answer=\"weetniet\" aria-pressed=\"false\">Wei\u00df ich noch nicht<\/button><\/div>\n      <\/fieldset>\n      <fieldset class=\"dtk-find-q\" data-finder-q=\"mest\" hidden>\n        <legend><span class=\"dtk-find-qt\" tabindex=\"-1\">Wie misten Sie am liebsten aus?<\/span><\/legend>\n        <div class=\"dtk-find-answers\"><button type=\"button\" data-answer=\"shovel\" aria-pressed=\"false\">Mit dem Hoflader<\/button><button type=\"button\" data-answer=\"hand\" aria-pressed=\"false\">Von Hand<\/button><button type=\"button\" data-answer=\"egaal\" aria-pressed=\"false\">Egal<\/button><\/div>\n      <\/fieldset>\n      <fieldset class=\"dtk-find-q\" data-finder-q=\"plaats\" hidden>\n        <legend><span class=\"dtk-find-qt\" tabindex=\"-1\">Soll die Haltung versetzbar sein?<\/span><\/legend>\n        <div class=\"dtk-find-answers\"><button type=\"button\" data-answer=\"ja\" aria-pressed=\"false\">Ja, versetzbar<\/button><button type=\"button\" data-answer=\"nee\" aria-pressed=\"false\">Nein, fester Standort<\/button><button type=\"button\" data-answer=\"egaal\" aria-pressed=\"false\">Egal<\/button><\/div>\n      <\/fieldset>\n    <\/div>\n    <div class=\"dtk-find-result\" data-finder-result hidden>\n      <div class=\"dtk-find-result-head\">\n        <h3 tabindex=\"-1\" data-finder-result-h>Das passt zu Ihren Antworten<\/h3>\n        <button type=\"button\" class=\"dtk-find-back\" data-finder-restart>Neu beginnen<\/button>\n      <\/div>\n      <ol class=\"dtk-find-list\" data-finder-list>\n        <li class=\"dtk-find-card\" data-product=\"quattro\" data-score='{\"fase:eerst\":3,\"fase:tweede\":2,\"fase:alle\":3,\"aantal:klein\":3,\"aantal:middel\":1,\"plek:binnen\":2,\"mest:hand\":1,\"plaats:ja\":3}' hidden>\n          <a class=\"dtk-find-media\" href=\"https:\/\/dairytop.eu\/de\/quattro-kalberbox-xl\/\" tabindex=\"-1\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qxl-front.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qxl-front-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qxl-front.webp 2200w\" sizes=\"auto, (min-width: 1000px) 30vw, 90vw\" width=\"2200\" height=\"1467\" alt=\"Quattro K\u00e4lberbox XL im Stall\" loading=\"lazy\" decoding=\"async\"><\/a>\n          <div class=\"dtk-find-body\">\n            <p class=\"dtk-find-best\" hidden>Passt am besten<\/p>\n            <h4><a href=\"https:\/\/dairytop.eu\/de\/quattro-kalberbox-xl\/\">Quattro K\u00e4lberbox XL<\/a><\/h4>\n            <p>Anhebbare Einheit mit vier Liegepl\u00e4tzen: vier Einzelboxen, zwei Doppelboxen oder eine Vierergruppe. Sie versetzen sie mit dem Hoflader.<\/p>\n            <div class=\"dtk-find-why\"><span>Passt zu<\/span><ul><li data-reason=\"fase:eerst\" hidden>Erste Lebenswochen<\/li><li data-reason=\"fase:tweede\" hidden>Ab etwa zwei Wochen<\/li><li data-reason=\"fase:alle\" hidden>Von Geburt bis Gruppe<\/li><li data-reason=\"aantal:klein\" hidden>1 bis 4<\/li><li data-reason=\"plek:binnen\" hidden>In einem Stall<\/li><li data-reason=\"plaats:ja\" hidden>Ja, versetzbar<\/li><\/ul><\/div>\n            <div class=\"dtk-find-actions\"><a class=\"dtk-link\" href=\"https:\/\/dairytop.eu\/de\/quattro-kalberbox-xl\/\">Ansehen <svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><a class=\"dtk-btn dtk-btn--dark\" href=\"https:\/\/dairytop.eu\/de\/kontakt\/\" data-quote=\"quattro\" data-model=\"Zonder klapbodem\">Angebot anfordern<\/a><\/div>\n          <\/div>\n        <\/li>\n        <li class=\"dtk-find-card\" data-product=\"quattro-klap\" data-score='{\"fase:eerst\":3,\"fase:tweede\":2,\"fase:alle\":3,\"aantal:klein\":3,\"aantal:middel\":1,\"plek:binnen\":2,\"mest:shovel\":3,\"plaats:ja\":3}' hidden>\n          <a class=\"dtk-find-media\" href=\"https:\/\/dairytop.eu\/de\/quattro-kalberbox-xl\/#klapbodem\" tabindex=\"-1\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-hoog.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-hoog-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-hoog.webp 1800w\" sizes=\"auto, (min-width: 1000px) 30vw, 90vw\" width=\"1800\" height=\"1201\" alt=\"Quattro K\u00e4lberbox XL mit Klappboden am Hoflader\" loading=\"lazy\" decoding=\"async\"><\/a>\n          <div class=\"dtk-find-body\">\n            <p class=\"dtk-find-best\" hidden>Passt am besten<\/p>\n            <h4><a href=\"https:\/\/dairytop.eu\/de\/quattro-kalberbox-xl\/#klapbodem\">Quattro K\u00e4lberbox XL mit Klappboden<\/a><\/h4>\n            <p>Dieselbe Einheit mit vier Liegepl\u00e4tzen. Sie misten aus, indem Sie sie mit dem Hoflader anheben und den Boden \u00f6ffnen.<\/p>\n            <div class=\"dtk-find-why\"><span>Passt zu<\/span><ul><li data-reason=\"fase:eerst\" hidden>Erste Lebenswochen<\/li><li data-reason=\"fase:tweede\" hidden>Ab etwa zwei Wochen<\/li><li data-reason=\"fase:alle\" hidden>Von Geburt bis Gruppe<\/li><li data-reason=\"aantal:klein\" hidden>1 bis 4<\/li><li data-reason=\"plek:binnen\" hidden>In einem Stall<\/li><li data-reason=\"mest:shovel\" hidden>Mit dem Hoflader<\/li><li data-reason=\"plaats:ja\" hidden>Ja, versetzbar<\/li><\/ul><\/div>\n            <div class=\"dtk-find-actions\"><a class=\"dtk-link\" href=\"https:\/\/dairytop.eu\/de\/quattro-kalberbox-xl\/#klapbodem\">Ansehen <svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><a class=\"dtk-btn dtk-btn--dark\" href=\"https:\/\/dairytop.eu\/de\/kontakt\/\" data-quote=\"quattro\" data-model=\"Met klapbodem\">Angebot anfordern<\/a><\/div>\n          <\/div>\n        <\/li>\n        <li class=\"dtk-find-card\" data-product=\"oks\" data-group=\"oks\" data-score='{\"fase:tweede\":3,\"fase:ouder\":2,\"fase:alle\":2,\"aantal:middel\":3,\"aantal:groot\":3,\"plek:buiten\":3,\"plek:binnen\":-10,\"mest:shovel\":2,\"plaats:nee\":3,\"plaats:ja\":-10}' hidden>\n          <a class=\"dtk-find-media\" href=\"https:\/\/dairytop.eu\/de\/optima-klima-stall\/#maten\" tabindex=\"-1\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij-2.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij-2-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij-2.webp 1800w\" sizes=\"auto, (min-width: 1000px) 30vw, 90vw\" width=\"1800\" height=\"1200\" alt=\"K\u00e4lber am Fressgitter eines Optima Klima K\u00e4lberstalls\" loading=\"lazy\" decoding=\"async\"><\/a>\n          <div class=\"dtk-find-body\">\n            <p class=\"dtk-find-best\" hidden>Passt am besten<\/p>\n            <h4><a href=\"https:\/\/dairytop.eu\/de\/optima-klima-stall\/#maten\">Optima Klima K\u00e4lberstall<\/a><\/h4>\n            <p>Fester Au\u00dfenstall auf Beton mit Buchten f\u00fcr 6 bis 8 K\u00e4lber, in drei Gr\u00f6\u00dfen. Das Frontgitter l\u00e4sst sich \u00f6ffnen, sodass Sie mit dem Hoflader ausmisten.<\/p>\n            <div class=\"dtk-find-why\"><span>Passt zu<\/span><ul><li data-reason=\"fase:tweede\" hidden>Ab etwa zwei Wochen<\/li><li data-reason=\"fase:ouder\" hidden>Bis vier Monate<\/li><li data-reason=\"fase:alle\" hidden>Von Geburt bis Gruppe<\/li><li data-reason=\"aantal:middel\" hidden>5 bis 12<\/li><li data-reason=\"aantal:groot\" hidden>Mehr als 12<\/li><li data-reason=\"plek:buiten\" hidden>Im Freien<\/li><li data-reason=\"mest:shovel\" hidden>Mit dem Hoflader<\/li><li data-reason=\"plaats:nee\" hidden>Nein, fester Standort<\/li><\/ul><\/div>\n            <div class=\"dtk-find-actions\"><a class=\"dtk-link\" href=\"https:\/\/dairytop.eu\/de\/optima-klima-stall\/#maten\">Ansehen <svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><a class=\"dtk-btn dtk-btn--dark\" href=\"https:\/\/dairytop.eu\/de\/kontakt\/\" data-quote=\"oks\">Angebot anfordern<\/a><\/div>\n          <\/div>\n        <\/li>\n        <li class=\"dtk-find-card\" data-product=\"oks-xl\" data-group=\"oks\" data-score='{\"fase:ouder\":4,\"aantal:middel\":3,\"aantal:groot\":3,\"plek:buiten\":3,\"plek:binnen\":-10,\"mest:shovel\":2,\"plaats:nee\":3,\"plaats:ja\":-10}' hidden>\n          <a class=\"dtk-find-media\" href=\"https:\/\/dairytop.eu\/de\/optima-klima-stall\/#m-optima-klima-stal-xl\" tabindex=\"-1\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-buiten.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-buiten-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-buiten.webp 2200w\" sizes=\"auto, (min-width: 1000px) 30vw, 90vw\" width=\"2200\" height=\"1467\" alt=\"Optima Klima Stall XL\" loading=\"lazy\" decoding=\"async\"><\/a>\n          <div class=\"dtk-find-body\">\n            <p class=\"dtk-find-best\" hidden>Passt am besten<\/p>\n            <h4><a href=\"https:\/\/dairytop.eu\/de\/optima-klima-stall\/#m-optima-klima-stal-xl\">Optima Klima Stall XL<\/a><\/h4>\n            <p>Die ger\u00e4umigste Bucht des Optima Klima K\u00e4lberstalls, 18,3\u00a0m\u00b2, f\u00fcr K\u00e4lbergruppen bis vier Monate.<\/p>\n            <div class=\"dtk-find-why\"><span>Passt zu<\/span><ul><li data-reason=\"fase:ouder\" hidden>Bis vier Monate<\/li><li data-reason=\"aantal:middel\" hidden>5 bis 12<\/li><li data-reason=\"aantal:groot\" hidden>Mehr als 12<\/li><li data-reason=\"plek:buiten\" hidden>Im Freien<\/li><li data-reason=\"mest:shovel\" hidden>Mit dem Hoflader<\/li><li data-reason=\"plaats:nee\" hidden>Nein, fester Standort<\/li><\/ul><\/div>\n            <div class=\"dtk-find-actions\"><a class=\"dtk-link\" href=\"https:\/\/dairytop.eu\/de\/optima-klima-stall\/#m-optima-klima-stal-xl\">Ansehen <svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><a class=\"dtk-btn dtk-btn--dark\" href=\"https:\/\/dairytop.eu\/de\/kontakt\/\" data-quote=\"oks\" data-model=\"Optima Klima Stal XL\">Angebot anfordern<\/a><\/div>\n          <\/div>\n        <\/li>\n        <li class=\"dtk-find-card\" data-product=\"eenling\" data-score='{\"fase:eerst\":3,\"aantal:klein\":2,\"plek:binnen\":3,\"plek:buiten\":-10,\"mest:hand\":2,\"plaats:ja\":3}' hidden>\n          <a class=\"dtk-find-media\" href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/kalberstalle\/einzelhaltung\/\" tabindex=\"-1\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/eenling-wielen.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/eenling-wielen-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/eenling-wielen.webp 1600w\" sizes=\"auto, (min-width: 1000px) 30vw, 90vw\" width=\"1600\" height=\"1067\" alt=\"K\u00e4lberbox auf R\u00e4dern mit Eimern am Frontgitter\" loading=\"lazy\" decoding=\"async\"><\/a>\n          <div class=\"dtk-find-body\">\n            <p class=\"dtk-find-best\" hidden>Passt am besten<\/p>\n            <h4><a href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/kalberstalle\/einzelhaltung\/\">K\u00e4lberboxen auf R\u00e4dern<\/a><\/h4>\n            <p>Einzelboxen mit geschlossenen Kunststoffw\u00e4nden auf einem verzinkten Rahmen. Dank der gro\u00dfen R\u00e4der l\u00e4sst sich die Box leicht versetzen; die Bodenplatte ist herausnehmbar.<\/p>\n            <div class=\"dtk-find-why\"><span>Passt zu<\/span><ul><li data-reason=\"fase:eerst\" hidden>Erste Lebenswochen<\/li><li data-reason=\"aantal:klein\" hidden>1 bis 4<\/li><li data-reason=\"plek:binnen\" hidden>In einem Stall<\/li><li data-reason=\"mest:hand\" hidden>Von Hand<\/li><li data-reason=\"plaats:ja\" hidden>Ja, versetzbar<\/li><\/ul><\/div>\n            <div class=\"dtk-find-actions\"><a class=\"dtk-link\" href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/kalberstalle\/einzelhaltung\/\">Ansehen <svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><a class=\"dtk-btn dtk-btn--dark\" href=\"https:\/\/dairytop.eu\/de\/kontakt\/\" data-quote=\"advies\">Angebot anfordern<\/a><\/div>\n          <\/div>\n        <\/li>\n        <li class=\"dtk-find-card\" data-product=\"groep\" data-score='{\"fase:tweede\":3,\"fase:ouder\":2,\"aantal:middel\":2,\"aantal:groot\":2,\"plek:binnen\":3,\"plek:buiten\":-10,\"mest:hand\":1,\"plaats:nee\":2}' hidden>\n          <a class=\"dtk-find-media\" href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/kalberstalle\/gruppenunterkunft\/\" tabindex=\"-1\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/groep-binnen.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/groep-binnen-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/groep-binnen.webp 1000w\" sizes=\"auto, (min-width: 1000px) 30vw, 90vw\" width=\"1000\" height=\"662\" alt=\"Gruppenbuchten im Stall mit Fressgittern und Tr\u00f6gen\" loading=\"lazy\" decoding=\"async\"><\/a>\n          <div class=\"dtk-find-body\">\n            <p class=\"dtk-find-best\" hidden>Passt am besten<\/p>\n            <h4><a href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/kalberstalle\/gruppenunterkunft\/\">Gruppenhaltung<\/a><\/h4>\n            <p>Gruppenbuchten f\u00fcr den Stall, f\u00fcr kleine K\u00e4lbergruppen etwa ab der zweiten Lebenswoche.<\/p>\n            <div class=\"dtk-find-why\"><span>Passt zu<\/span><ul><li data-reason=\"fase:tweede\" hidden>Ab etwa zwei Wochen<\/li><li data-reason=\"fase:ouder\" hidden>Bis vier Monate<\/li><li data-reason=\"aantal:middel\" hidden>5 bis 12<\/li><li data-reason=\"aantal:groot\" hidden>Mehr als 12<\/li><li data-reason=\"plek:binnen\" hidden>In einem Stall<\/li><li data-reason=\"plaats:nee\" hidden>Nein, fester Standort<\/li><\/ul><\/div>\n            <div class=\"dtk-find-actions\"><a class=\"dtk-link\" href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/kalberstalle\/gruppenunterkunft\/\">Ansehen <svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><a class=\"dtk-btn dtk-btn--dark\" href=\"https:\/\/dairytop.eu\/de\/kontakt\/\" data-quote=\"advies\">Angebot anfordern<\/a><\/div>\n          <\/div>\n        <\/li>\n        <li class=\"dtk-find-card\" data-product=\"maatwerk\" data-score='{\"fase:alle\":2,\"aantal:groot\":3,\"plek:binnen\":1,\"plaats:nee\":2}' hidden>\n          <a class=\"dtk-find-media\" href=\"#maatwerk\" tabindex=\"-1\" aria-hidden=\"true\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-nummers.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-nummers-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-nummers.webp 1600w\" sizes=\"auto, (min-width: 1000px) 30vw, 90vw\" width=\"1600\" height=\"1067\" alt=\"Neu gebauter K\u00e4lberstall mit nummerierten Buchten\" loading=\"lazy\" decoding=\"async\"><\/a>\n          <div class=\"dtk-find-body\">\n            <p class=\"dtk-find-best\" hidden>Passt am besten<\/p>\n            <h4><a href=\"#maatwerk\">Ma\u00dfanfertigung<\/a><\/h4>\n            <p>Ein K\u00e4lberstall nach Ma\u00df f\u00fcr Ihren Platz, innen oder au\u00dfen. Unsere Projektspezialisten besuchen Sie gern.<\/p>\n            <div class=\"dtk-find-why\"><span>Passt zu<\/span><ul><li data-reason=\"fase:alle\" hidden>Von Geburt bis Gruppe<\/li><li data-reason=\"aantal:groot\" hidden>Mehr als 12<\/li><li data-reason=\"plaats:nee\" hidden>Nein, fester Standort<\/li><\/ul><\/div>\n            <div class=\"dtk-find-actions\"><a class=\"dtk-link\" href=\"#maatwerk\">Ansehen <svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a><a class=\"dtk-btn dtk-btn--dark\" href=\"https:\/\/dairytop.eu\/de\/kontakt\/\" data-quote=\"maatwerk\">Angebot anfordern<\/a><\/div>\n          <\/div>\n        <\/li>\n      <\/ol>\n      <p class=\"dtk-find-note\">Das ist eine erste Orientierung. Ein Berater von DairyTop schaut sich Ihre Situation gern mit Ihnen an. <a href=\"https:\/\/dairytop.eu\/de\/kontakt\/\" data-quote=\"advies\">Beratung anfragen<\/a><\/p>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"dtk-section dtk-section--tint\" id=\"systemen\" aria-labelledby=\"sys-h\">\n  <div class=\"dtk-wrap\"><div class=\"dtk-head\">\n    <p class=\"dtk-kicker\">Optima Klima, Quattro und K\u00e4lberboxen auf R\u00e4dern<\/p>\n    <h2 id=\"sys-h\">Drei Systeme im \u00dcberblick<\/h2>\n  <\/div><\/div>\n\n  <article class=\"dtk-feature\" aria-labelledby=\"f-oks\">\n    <div class=\"dtk-feature-media\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij-2.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij-2-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij-2.webp 1800w\" sizes=\"auto, (min-width: 900px) 55vw, 100vw\" width=\"1800\" height=\"1200\" alt=\"K\u00e4lber fressen am Fressgitter eines Optima Klima K\u00e4lberstalls\" loading=\"lazy\" decoding=\"async\"><\/div>\n    <div class=\"dtk-feature-body\">\n      <p class=\"dtk-feature-tag\">Gruppenhaltung im Freien<\/p>\n      <h3 id=\"f-oks\">Optima Klima K\u00e4lberstall<\/h3>\n      <p>Der Optima Klima Stall bietet Ihren K\u00e4lbern ein hervorragendes Umfeld f\u00fcr optimales Wachstum. Die K\u00e4lber stehen in bester Luft und kommen leicht an Futter und Wasser.<\/p>\n      <ul class=\"dtk-checks\">\n        <li><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span><strong>Stabile Kunststoffpaneele<\/strong>, UV- und s\u00e4urebest\u00e4ndig, 50 mm stark<\/span><\/li>\n        <li><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span><strong>Ged\u00e4mmtes Dach<\/strong> aus Sandwichpaneelen, f\u00fcr ein gutes Stallklima das ganze Jahr \u00fcber<\/span><\/li>\n        <li><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span><strong>6 bis 8 K\u00e4lber<\/strong> pro Bucht, in drei Gr\u00f6\u00dfen<\/span><\/li>\n      <\/ul>\n      <a class=\"dtk-link\" href=\"https:\/\/dairytop.eu\/de\/optima-klima-stall\/\">Zum Optima Klima K\u00e4lberstall <svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n    <\/div>\n  <\/article>\n\n  <article class=\"dtk-feature dtk-feature--flip\" aria-labelledby=\"f-q\">\n    <div class=\"dtk-feature-media\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-hoog.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-hoog-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-hoog.webp 1800w\" sizes=\"auto, (min-width: 900px) 55vw, 100vw\" width=\"1800\" height=\"1201\" alt=\"Die Quattro K\u00e4lberbox XL wird mit einem Hoflader angehoben, der Klappboden h\u00e4ngt offen\" loading=\"lazy\" decoding=\"async\"><\/div>\n    <div class=\"dtk-feature-body\">\n      <p class=\"dtk-feature-tag\">Einzeln, zu zweit oder in der Gruppe<\/p>\n      <h3 id=\"f-q\">Quattro K\u00e4lberbox XL<\/h3>\n      <p>Eine anhebbare K\u00e4lbereinheit mit vier Liegepl\u00e4tzen. Die K\u00e4lber stehen darin einzeln oder in einer kleinen Gruppe, und die Einheit w\u00e4chst mit: Sie nehmen einfach die Trennw\u00e4nde heraus.<\/p>\n      <ul class=\"dtk-checks\">\n        <li><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span><strong>Eine Einheit, drei Aufstellungen<\/strong>: vier Einzelboxen, zwei Doppelboxen oder eine Vierergruppe<\/span><\/li>\n        <li><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span><strong>Optional mit Klappboden<\/strong>: anheben, Boden \u00f6ffnen, und die Box ist ausgemistet<\/span><\/li>\n        <li><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span><strong>Ged\u00e4mmtes Dach<\/strong> aus Sandwichpaneelen<\/span><\/li>\n      <\/ul>\n      <a class=\"dtk-link\" href=\"https:\/\/dairytop.eu\/de\/quattro-kalberbox-xl\/\">Zur Quattro K\u00e4lberbox XL <svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n    <\/div>\n  <\/article>\n\n  <article class=\"dtk-feature\" aria-labelledby=\"f-een\">\n    <div class=\"dtk-feature-media\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/eenling-wielen.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/eenling-wielen-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/eenling-wielen.webp 1600w\" sizes=\"auto, (min-width: 900px) 55vw, 100vw\" width=\"1600\" height=\"1067\" alt=\"Ein Mitarbeiter verschiebt eine K\u00e4lberbox auf R\u00e4dern mit Eimern und Futterschalen am Frontgitter\" loading=\"lazy\" decoding=\"async\"><\/div>\n    <div class=\"dtk-feature-body\">\n      <p class=\"dtk-feature-tag\">Einzelhaltung<\/p>\n      <h3 id=\"f-een\">K\u00e4lberboxen auf R\u00e4dern<\/h3>\n      <p>K\u00e4lber-Einzelboxen mit geschlossenen Kunststoffseitenw\u00e4nden auf einem vollst\u00e4ndig verzinkten Rahmen. Dank der gro\u00dfen R\u00e4der l\u00e4sst sich die Box leicht versetzen, und die Einstiegsh\u00f6he betr\u00e4gt nur 20 cm.<\/p>\n      <ul class=\"dtk-checks\">\n        <li><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span><strong>Geschlossene Kunststoffw\u00e4nde<\/strong> ohne Abschlussprofile, leicht zu reinigen<\/span><\/li>\n        <li><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span><strong>Stabile Lenkrollen mit Feststeller<\/strong> und eine herausnehmbare Bodenplatte aus Kunststoff<\/span><\/li>\n        <li><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10.5l4 4 8-9\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><span><strong>Inklusive Eimerhalter, Futterschale und Nuckeleimerhalter<\/strong> am verzinkten Frontgitter<\/span><\/li>\n      <\/ul>\n      <a class=\"dtk-link\" href=\"https:\/\/dairytop.eu\/de\/Produktkategorie\/kalberstalle\/einzelhaltung\/\">Zur Einzelhaltung <svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg><\/a>\n    <\/div>\n  <\/article>\n<\/section>\n\n<section class=\"dtk-section\" id=\"maatwerk\" aria-labelledby=\"maat-h\">\n  <div class=\"dtk-wrap dtk-split dtk-split--flip\">\n    <div class=\"dtk-split-media\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-front.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-front-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-front.webp 1800w\" sizes=\"auto, (min-width: 900px) 50vw, 100vw\" width=\"1800\" height=\"1201\" alt=\"Neu gebauter K\u00e4lberstall mit Buchten, Frontgittern und Futtertr\u00f6gen\" loading=\"lazy\" decoding=\"async\"><\/div>\n    <div>\n      <p class=\"dtk-kicker\">Ma\u00dfanfertigung<\/p>\n      <h2 id=\"maat-h\">Kein Stall ist wie der andere<\/h2>\n      <p class=\"dtk-mt\">DairyTop ist auf Projekte nach Ma\u00df spezialisiert, innen wie au\u00dfen. Fast jeden Raum k\u00f6nnen wir mit Kunststoff zu dem K\u00e4lberstall ausbauen, den Sie sich w\u00fcnschen.<\/p>\n      <p>Vom ersten Entwurf bis zur \u00dcbergabe planen wir gemeinsam mit Ihnen. Unsere Projektspezialisten besuchen Sie gern, um Ihr Vorhaben zu besprechen.<\/p>\n      <div class=\"dtk-actions dtk-mt-l\"><a class=\"dtk-btn dtk-btn--dark\" href=\"https:\/\/dairytop.eu\/de\/kontakt\/\" data-quote=\"maatwerk\" data-intent=\"Bezoek\">Besuch vereinbaren<\/a><a class=\"dtk-btn dtk-btn--outline\" href=\"https:\/\/dairytop.eu\/de\/kontakt\/\">Kontakt aufnehmen<\/a><\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"dtk-section dtk-section--tint dtk-faq\" aria-labelledby=\"faq-h\">\n  <div class=\"dtk-wrap dtk-faq-grid\">\n    <div class=\"dtk-faq-head\">\n      <h2 id=\"faq-h\">H\u00e4ufige Fragen zur K\u00e4lberhaltung<\/h2>\n      <p>Ihre Frage ist nicht dabei? Unsere Berater helfen Ihnen gern weiter.<\/p>\n    <\/div>\n    <div class=\"dtk-faq-list\">\n      <details><summary><span>Ab wann k\u00f6nnen K\u00e4lber in die Gruppe?<\/span><svg class=\"dtk-ic dtk-ic-plus\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M10 4v12M4 10h12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"\/><\/svg><\/summary><div class=\"dtk-faq-a\"><p>Etwa ab der zweiten Lebenswoche k\u00f6nnen K\u00e4lber in kleinen, altersgleichen Gruppen gehalten werden. Das f\u00f6rdert ihr Wohlbefinden und ihr Sozialverhalten als Herdentiere. In den ersten Lebenswochen ist ihr Immunsystem noch schwach, deshalb werden sie einzeln gehalten.<\/p><\/div><\/details>\n      <details><summary><span>Was ist der Unterschied zwischen dem Optima Klima K\u00e4lberstall und der Quattro K\u00e4lberbox XL?<\/span><svg class=\"dtk-ic dtk-ic-plus\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M10 4v12M4 10h12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"\/><\/svg><\/summary><div class=\"dtk-faq-a\"><p>Der Optima Klima K\u00e4lberstall ist ein fester Stall auf Beton. Er besteht aus Buchten f\u00fcr je 6 bis 8 K\u00e4lber und l\u00e4sst sich beliebig erweitern. Die Quattro K\u00e4lberbox XL ist eine anhebbare Einheit mit vier Liegepl\u00e4tzen, die Sie als Einzelboxen, Doppelboxen oder als Gruppenbucht f\u00fcr vier K\u00e4lber nutzen.<\/p><\/div><\/details>\n      <details><summary><span>Kann DairyTop einen K\u00e4lberstall nach Ma\u00df bauen?<\/span><svg class=\"dtk-ic dtk-ic-plus\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M10 4v12M4 10h12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"\/><\/svg><\/summary><div class=\"dtk-faq-a\"><p>Ja. DairyTop ist auf Projekte nach Ma\u00df spezialisiert, innen wie au\u00dfen. Fast jeden Raum k\u00f6nnen wir mit Kunststoff zu dem K\u00e4lberstall ausbauen, den Sie sich w\u00fcnschen. Unsere Projektspezialisten besuchen Sie gern, um Ihr Vorhaben zu besprechen.<\/p><\/div><\/details>\n      <details><summary><span>Welche Haltung passt zu meinem Betrieb?<\/span><svg class=\"dtk-ic dtk-ic-plus\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M10 4v12M4 10h12\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\"\/><\/svg><\/summary><div class=\"dtk-faq-a\"><p>Das h\u00e4ngt von der Anzahl der K\u00e4lber ab, vom Alter, in dem Sie sie in Gruppen umstallen, und vom Platz auf Ihrem Hof oder in Ihrem Stall. Unsere Berater helfen Ihnen gern weiter: Rufen Sie uns an unter <a href=\"tel:+31593241712\">+31 (0)593 24 17 12<\/a> oder <a href=\"https:\/\/dairytop.eu\/de\/kontakt\/\">nehmen Sie Kontakt auf<\/a>.<\/p><\/div><\/details>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"dtk-contact\" id=\"contact\" aria-labelledby=\"contact-h\">\n  <div class=\"dtk-contact-media\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-adviseur.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-adviseur-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-adviseur.webp 1400w\" sizes=\"auto, (min-width: 900px) 50vw, 100vw\" width=\"1400\" height=\"934\" alt=\"Berater von DairyTop im Stall, neben einer Kuh am Fressgitter\" loading=\"lazy\" decoding=\"async\"><\/div>\n  <div class=\"dtk-contact-body\">\n    <h2 id=\"contact-h\">Beratung zur K\u00e4lberhaltung<\/h2>\n    <p>Sie haben Fragen zur passenden K\u00e4lberhaltung f\u00fcr Ihren Betrieb, ob Einzel- oder Gruppenhaltung? Sprechen Sie uns gern an. Wir beraten Sie unabh\u00e4ngig zu allen Systemen.<\/p>\n    <div class=\"dtk-actions\">\n      <a class=\"dtk-btn dtk-btn--dark\" href=\"https:\/\/dairytop.eu\/de\/kontakt\/\" data-quote=\"advies\">Angebot anfordern<\/a>\n      <a class=\"dtk-link\" href=\"tel:+31593241712\"><svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M6.2 2.8l2 3.6-1.6 1.5a10 10 0 005.5 5.5l1.5-1.6 3.6 2-.8 2.9c-.2.6-.8 1-1.4.9C8.6 16.9 3.1 11.4 2.4 5c0-.6.3-1.2.9-1.4z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linejoin=\"round\"\/><\/svg><span>+31 (0)593 24 17 12<\/span><\/a>\n    <\/div>\n  <\/div>\n<\/section>\n\n<dialog class=\"dtk-quote\" aria-labelledby=\"q-title\" data-quote-dialog data-endpoint=\"\/wp-json\/dairytop\/v1\/offerte\">\n  <div class=\"dtk-q-shell\">\n    <aside class=\"dtk-q-panel\" aria-hidden=\"true\">\n      <img decoding=\"async\" class=\"dtk-q-panel-img\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij.webp\" alt=\"\" width=\"640\" height=\"427\">\n      <div class=\"dtk-q-panel-copy\">\n        <p class=\"dtk-q-panel-k\">Angebot oder Beratung<\/p>\n        <p class=\"dtk-q-panel-t\" data-q-panel-title>K\u00e4lberhaltung<\/p>\n        <ol class=\"dtk-q-panel-steps\">\n          <li>Sie beschreiben, was Sie suchen, so kurz oder ausf\u00fchrlich, wie Sie m\u00f6chten<\/li>\n          <li>Ein Berater von DairyTop meldet sich bei Ihnen<\/li>\n          <li>Sie erhalten ein Angebot, oder wir besuchen Sie auf Ihrem Betrieb<\/li>\n        <\/ol>\n      <\/div>\n    <\/aside>\n    <form class=\"dtk-q-form\" novalidate data-q-form>\n      <div class=\"dtk-q-top\">\n        <p class=\"dtk-q-progress-t\" data-q-stepnum>Schritt 1 von 4<\/p>\n        <button type=\"button\" class=\"dtk-q-close\" data-q-close aria-label=\"Formular schlie\u00dfen\"><svg viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M5 5l10 10M15 5L5 15\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"\/><\/svg><\/button>\n      <\/div>\n      <div class=\"dtk-q-progress\" aria-hidden=\"true\"><span data-q-bar><\/span><\/div>\n\n      <fieldset class=\"dtk-q-step\" data-q-step=\"1\">\n        <legend><span class=\"dtk-q-h\" id=\"q-title\" tabindex=\"-1\">Wobei k\u00f6nnen wir Ihnen helfen?<\/span><\/legend>\n        <p class=\"dtk-q-label\">Wof\u00fcr m\u00f6chten Sie ein Angebot oder eine Beratung?<\/p>\n        <div class=\"dtk-q-choices\">\n          <label class=\"dtk-q-choice\"><input type=\"radio\" name=\"systeem\" value=\"oks\"><span class=\"dtk-q-choice-box\"><span class=\"dtk-q-choice-t\">Optima Klima K\u00e4lberstall<\/span><span class=\"dtk-q-choice-s\">Au\u00dfenstall, 6 bis 8 K\u00e4lber pro Bucht<\/span><\/span><\/label>\n          <label class=\"dtk-q-choice\"><input type=\"radio\" name=\"systeem\" value=\"quattro\"><span class=\"dtk-q-choice-box\"><span class=\"dtk-q-choice-t\">Quattro K\u00e4lberbox XL<\/span><span class=\"dtk-q-choice-s\">Anhebbare Einheit mit vier Liegepl\u00e4tzen<\/span><\/span><\/label>\n          <label class=\"dtk-q-choice\"><input type=\"radio\" name=\"systeem\" value=\"biest\"><span class=\"dtk-q-choice-box\"><span class=\"dtk-q-choice-t\">Kolostrum pasteurisieren<\/span><span class=\"dtk-q-choice-s\">Matilda oder ein Adda-Pasteurisierer<\/span><\/span><\/label>\n          <label class=\"dtk-q-choice\"><input type=\"radio\" name=\"systeem\" value=\"voeding\"><span class=\"dtk-q-choice-box\"><span class=\"dtk-q-choice-t\">K\u00e4lberf\u00fctterung<\/span><span class=\"dtk-q-choice-s\">Milchaustauscher, Dairy Pansen Pro oder Dairy K\u00e4lber-TMR<\/span><\/span><\/label>\n          <label class=\"dtk-q-choice\"><input type=\"radio\" name=\"systeem\" value=\"maatwerk\"><span class=\"dtk-q-choice-box\"><span class=\"dtk-q-choice-t\">Ma\u00dfanfertigung oder etwas anderes<\/span><span class=\"dtk-q-choice-s\">Ein Stall oder eine Einrichtung nach Ma\u00df<\/span><\/span><\/label>\n        <\/div>\n        <div class=\"dtk-q-sub\" data-q-sub=\"oks\" hidden>\n          <p class=\"dtk-q-label\">Welche Gr\u00f6\u00dfe?<\/p>\n          <div class=\"dtk-q-chips\"><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_oks\" value=\"Optima Klima Stal (OKS)\"><span>Optima Klima Stall (OKS), 14,0 m\u00b2<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_oks\" value=\"Optima Klima Stal Next Gen\"><span>Optima Klima Stall Next Gen, 15,3 m\u00b2<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_oks\" value=\"Optima Klima Stal XL\"><span>Optima Klima Stall XL, 18,3 m\u00b2<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_oks\" value=\"Weet ik nog niet\" checked><span>Wei\u00df ich noch nicht<\/span><\/label><\/div>\n        <\/div>\n        <div class=\"dtk-q-sub\" data-q-sub=\"quattro\" hidden>\n          <p class=\"dtk-q-label\">Welche Ausf\u00fchrung?<\/p>\n          <div class=\"dtk-q-chips\"><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_quattro\" value=\"Zonder klapbodem\"><span>Ohne Klappboden<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_quattro\" value=\"Met klapbodem\"><span>Mit Klappboden<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_quattro\" value=\"Weet ik nog niet\" checked><span>Wei\u00df ich noch nicht<\/span><\/label><\/div>\n        <\/div>\n        <div class=\"dtk-q-sub\" data-q-sub=\"biest\" hidden>\n          <p class=\"dtk-q-label\">Welches Modell?<\/p>\n          <div class=\"dtk-q-chips\"><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_biest\" value=\"Matilda\"><span>Matilda<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_biest\" value=\"Adda 10G\"><span>Adda 10G<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_biest\" value=\"Adda 30G\"><span>Adda 30G<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_biest\" value=\"Adda 60G\"><span>Adda 60G<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_biest\" value=\"Weet ik nog niet\" checked><span>Wei\u00df ich noch nicht<\/span><\/label><\/div>\n        <\/div>\n        <div class=\"dtk-q-sub\" data-q-sub=\"voeding\" hidden>\n          <p class=\"dtk-q-label\">Wor\u00fcber?<\/p>\n          <div class=\"dtk-q-chips\"><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_voeding\" value=\"Melkpoeder\"><span>Milchaustauscher<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_voeding\" value=\"Dairy Pansen Pro\"><span>Dairy Pansen Pro<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_voeding\" value=\"Dairy Kalver TMR\"><span>Dairy K\u00e4lber-TMR<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_voeding\" value=\"Weet ik nog niet\" checked><span>Wei\u00df ich noch nicht<\/span><\/label><\/div>\n        <\/div>\n        <p class=\"dtk-q-label\">Was bevorzugen Sie?<\/p>\n        <div class=\"dtk-q-chips\"><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"voorkeur\" value=\"Offerte\" checked><span>Ein Angebot erhalten<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"voorkeur\" value=\"Bezoek\"><span>Besuch durch einen Berater<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"voorkeur\" value=\"Terugbellen\"><span>R\u00fcckruf<\/span><\/label><\/div>\n      <\/fieldset>\n\n      <fieldset class=\"dtk-q-step\" data-q-step=\"2\" hidden>\n        <legend><span class=\"dtk-q-h\" tabindex=\"-1\">Erz\u00e4hlen Sie uns von Ihrem Betrieb<\/span><\/legend>\n        <p class=\"dtk-q-hint\">Alle Angaben in diesem Schritt sind freiwillig. Je mehr wir wissen, desto gezielter beraten wir Sie.<\/p>\n        <div class=\"dtk-q-grid\">\n          <label class=\"dtk-q-field\"><span>Anzahl K\u00e4lber<\/span><input type=\"number\" name=\"aantal\" min=\"1\" max=\"2000\" inputmode=\"numeric\" placeholder=\"Zum Beispiel 12\"><\/label>\n          <div class=\"dtk-q-field\" data-q-housing><span id=\"q-ruimte\">Verf\u00fcgbarer Platz in Metern<\/span>\n            <div class=\"dtk-q-dims\" role=\"group\" aria-labelledby=\"q-ruimte\"><input type=\"text\" name=\"lengte\" inputmode=\"decimal\" pattern=\"[0-9]+([,.][0-9]+)?\" maxlength=\"8\" placeholder=\"L\u00e4nge\" aria-label=\"L\u00e4nge in Metern\"><span aria-hidden=\"true\">\u00d7<\/span><input type=\"text\" name=\"breedte\" inputmode=\"decimal\" pattern=\"[0-9]+([,.][0-9]+)?\" maxlength=\"8\" placeholder=\"Breite\" aria-label=\"Breite in Metern\"><\/div>\n          <\/div>\n        <\/div>\n        <p class=\"dtk-q-label\" data-q-housing>Wo sollen die K\u00e4lber stehen?<\/p>\n        <div class=\"dtk-q-chips\" data-q-housing><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"plek\" value=\"Buiten\"><span>Im Freien<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"plek\" value=\"Binnen in een stal\"><span>In einem Stall<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"plek\" value=\"Weet ik nog niet\" checked><span>Wei\u00df ich noch nicht<\/span><\/label><\/div>\n        <label class=\"dtk-q-field\"><span>Wann m\u00f6chten Sie die neue Haltung in Betrieb nehmen?<\/span>\n          <select name=\"planning\"><option value=\"\">Bitte w\u00e4hlen<\/option><option value=\"Zo snel mogelijk\">So bald wie m\u00f6glich<\/option><option value=\"Binnen drie maanden\">Innerhalb von drei Monaten<\/option><option value=\"Later dit jaar\">Sp\u00e4ter in diesem Jahr<\/option><option value=\"Ik ori\u00ebnteer me nog\">Ich informiere mich noch<\/option><\/select><\/label>\n        <label class=\"dtk-q-field\"><span>Vorhaben oder weitere Angaben<\/span><textarea name=\"toelichting\" rows=\"4\" maxlength=\"2000\" placeholder=\"Zum Beispiel: Wir m\u00f6chten die Einzelboxen ersetzen und K\u00e4lber in Sechsergruppen drau\u00dfen halten.\"><\/textarea><\/label>\n      <\/fieldset>\n\n      <fieldset class=\"dtk-q-step\" data-q-step=\"3\" hidden>\n        <legend><span class=\"dtk-q-h\" tabindex=\"-1\">Fotos von Ihrem Hof oder Stall<\/span><\/legend>\n        <p class=\"dtk-q-hint\">Freiwillig. Ein paar Fotos vom Standort helfen unserem Berater bei der Planung. Bis zu 6 Fotos, je h\u00f6chstens 10 MB.<\/p>\n        <label class=\"dtk-q-drop\" data-q-drop>\n          <input type=\"file\" name=\"fotos\" accept=\"image\/jpeg,image\/png,image\/heic,image\/webp\" multiple data-q-files title=\"Fotos ausw\u00e4hlen\">\n          <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M4 16l4.5-5 3.5 4 2.5-3L20 16M4 5h16v14H4z\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.6\" stroke-linejoin=\"round\"\/><\/svg>\n          <span class=\"dtk-q-drop-t\">Fotos hierher ziehen oder <u>Dateien ausw\u00e4hlen<\/u><\/span>\n          <span class=\"dtk-q-drop-s\">JPG, PNG, HEIC oder WebP<\/span>\n        <\/label>\n        <p class=\"dtk-q-error\" data-q-file-error role=\"alert\" hidden><\/p>\n        <ul class=\"dtk-q-thumbs\" data-q-thumbs aria-label=\"Ausgew\u00e4hlte Fotos\"><\/ul>\n      <\/fieldset>\n\n      <fieldset class=\"dtk-q-step\" data-q-step=\"4\" hidden>\n        <legend><span class=\"dtk-q-h\" tabindex=\"-1\">Wie erreichen wir Sie?<\/span><\/legend>\n        <div class=\"dtk-q-grid\">\n          <label class=\"dtk-q-field\"><span>Name <abbr title=\"Pflichtfeld\">*<\/abbr><\/span><input type=\"text\" name=\"naam\" autocomplete=\"name\" required maxlength=\"80\"><em class=\"dtk-q-err\" hidden>Bitte geben Sie Ihren Namen ein.<\/em><\/label>\n          <label class=\"dtk-q-field\"><span>Betrieb oder Firma<\/span><input type=\"text\" name=\"bedrijf\" autocomplete=\"organization\" maxlength=\"120\"><\/label>\n          <label class=\"dtk-q-field\"><span>E-Mail-Adresse <abbr title=\"Pflichtfeld\">*<\/abbr><\/span><input type=\"email\" name=\"email\" autocomplete=\"email\" required maxlength=\"120\"><em class=\"dtk-q-err\" hidden>Bitte geben Sie eine g\u00fcltige E-Mail-Adresse ein.<\/em><\/label>\n          <label class=\"dtk-q-field\"><span>Telefonnummer <abbr title=\"Pflichtfeld\">*<\/abbr><\/span><input type=\"tel\" name=\"telefoon\" autocomplete=\"tel\" required maxlength=\"30\"><em class=\"dtk-q-err\" hidden>Bitte geben Sie Ihre Telefonnummer ein.<\/em><\/label>\n          <label class=\"dtk-q-field\"><span>Postleitzahl<\/span><input type=\"text\" name=\"postcode\" autocomplete=\"postal-code\" maxlength=\"12\"><\/label>\n          <label class=\"dtk-q-field\"><span>Ort<\/span><input type=\"text\" name=\"plaats\" autocomplete=\"address-level2\" maxlength=\"80\"><\/label>\n        <\/div>\n        <label class=\"dtk-q-hp\" aria-hidden=\"true\">Dieses Feld leer lassen<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label>\n        <p class=\"dtk-q-privacy\">DairyTop B.V. verwendet Ihre Angaben und Fotos nur, um Ihre Anfrage zu beantworten, und speichert sie nicht l\u00e4nger als daf\u00fcr n\u00f6tig. Mehr dazu lesen Sie in unserer <a href=\"https:\/\/dairytop.eu\/de\/wichtige-informationen\/\">Datenschutzerkl\u00e4rung<\/a>.<\/p>\n      <\/fieldset>\n\n      <div class=\"dtk-q-done\" data-q-done hidden tabindex=\"-1\">\n        <svg viewBox=\"0 0 48 48\" aria-hidden=\"true\"><circle cx=\"24\" cy=\"24\" r=\"22\" fill=\"#d9f1fc\"\/><path d=\"M14 25l7 7 13-15\" fill=\"none\" stroke=\"#1f3741\" stroke-width=\"3.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>\n        <p class=\"dtk-q-h\">Vielen Dank, Ihre Anfrage ist eingegangen<\/p>\n        <p>Ein Berater von DairyTop meldet sich so bald wie m\u00f6glich bei Ihnen. Eilt es? Rufen Sie uns an unter <a href=\"tel:+31593241712\">+31 (0)593 24 17 12<\/a>.<\/p>\n        <button type=\"button\" class=\"dtk-btn dtk-btn--dark\" data-q-close>Schlie\u00dfen<\/button>\n      <\/div>\n\n      <p class=\"dtk-q-error\" data-q-send-error role=\"alert\" hidden><\/p>\n      <div class=\"dtk-q-nav\" data-q-nav>\n        <button type=\"button\" class=\"dtk-q-back\" data-q-back hidden>Zur\u00fcck<\/button>\n        <button type=\"button\" class=\"dtk-btn dtk-btn--dark\" data-q-next>Weiter<\/button>\n        <button type=\"submit\" class=\"dtk-btn\" data-q-submit hidden>Anfrage senden<\/button>\n      <\/div>\n    <\/form>\n  <\/div>\n  <template data-q-panels>{\"oks\":{\"src\":\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-front-2.webp\",\"title\":\"Optima Klima K\u00e4lberstall\"},\"quattro\":{\"src\":\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-hoog.webp\",\"title\":\"Quattro K\u00e4lberbox XL\"},\"maatwerk\":{\"src\":\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-front.webp\",\"title\":\"Ma\u00dfanfertigung\"},\"advies\":{\"src\":\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij.webp\",\"title\":\"K\u00e4lberhaltung\"},\"biest\":{\"src\":\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/pu-matilda.webp\",\"title\":\"Kolostrum pasteurisieren\"},\"voeding\":{\"src\":\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/pro-elite-zak.webp\",\"title\":\"K\u00e4lberf\u00fctterung\"}}<\/template>\n<\/dialog>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Ab wann k\u00f6nnen K\u00e4lber in die Gruppe?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Etwa ab der zweiten Lebenswoche k\u00f6nnen K\u00e4lber in kleinen, altersgleichen Gruppen gehalten werden. Das f\u00f6rdert ihr Wohlbefinden und ihr Sozialverhalten als Herdentiere. In den ersten Lebenswochen ist ihr Immunsystem noch schwach, deshalb werden sie einzeln gehalten.\"}},{\"@type\":\"Question\",\"name\":\"Was ist der Unterschied zwischen dem Optima Klima K\u00e4lberstall und der Quattro K\u00e4lberbox XL?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Der Optima Klima K\u00e4lberstall ist ein fester Stall auf Beton. Er besteht aus Buchten f\u00fcr je 6 bis 8 K\u00e4lber und l\u00e4sst sich beliebig erweitern. Die Quattro K\u00e4lberbox XL ist eine anhebbare Einheit mit vier Liegepl\u00e4tzen, die Sie als Einzelboxen, Doppelboxen oder als Gruppenbucht f\u00fcr vier K\u00e4lber nutzen.\"}},{\"@type\":\"Question\",\"name\":\"Kann DairyTop einen K\u00e4lberstall nach Ma\u00df bauen?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Ja. DairyTop ist auf Projekte nach Ma\u00df spezialisiert, innen wie au\u00dfen. Fast jeden Raum k\u00f6nnen wir mit Kunststoff zu dem K\u00e4lberstall ausbauen, den Sie sich w\u00fcnschen. Unsere Projektspezialisten besuchen Sie gern, um Ihr Vorhaben zu besprechen.\"}},{\"@type\":\"Question\",\"name\":\"Welche Haltung passt zu meinem Betrieb?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Das h\u00e4ngt von der Anzahl der K\u00e4lber ab, vom Alter, in dem Sie sie in Gruppen umstallen, und vom Platz auf Ihrem Hof oder in Ihrem Stall. Unsere Berater helfen Ihnen gern weiter: Rufen Sie uns an unter +31 (0)593 24 17 12 oder nehmen Sie Kontakt auf.\"}}]}]}<\/script>\n<\/div>\n<script>\n(function () {\n  \/\/ Teksten in de taal van de pagina (lang op .dtk): nl, en of de.\n  var LANG = ((document.querySelector('.dtk[lang]') || document.documentElement).getAttribute('lang') || 'nl').slice(0, 2);\n  var TX = {\n    nl: { photoDrawings: 'Foto en tekeningen', photos: 'Foto\u2019s', close: 'Sluiten', prev: 'Vorige foto', next: 'Volgende foto', step: 'Stap {n} van {m}', remove: 'Verwijder {f}', notPhoto: '{f} is geen foto', tooBig: '{f} is groter dan 10 MB', max: \"maximaal {n} foto's\", notAdded: 'Niet toegevoegd: ', sent: 'Verstuurd', uploading: \"Foto's uploaden...\", sending: 'Versturen...', submit: 'Aanvraag versturen', failed: 'Versturen lukte niet. Probeer het opnieuw of bel ons.', tooMany: 'Te veel aanvragen in korte tijd. Bel ons gerust: +31 (0)593 24 17 12.', check: 'Controleer uw naam, e-mailadres en telefoonnummer.', photoCount: \"Maximaal 6 foto's per aanvraag.\", photoSize: 'Een foto is te groot. Kies een kleinere foto of laat hem weg.', photoType: 'Een bestand is geen foto (JPG, PNG, WebP of HEIC).', photoFailed: 'Een foto kon niet worden ge\u00fcpload. Probeer het opnieuw zonder die foto.' },\n    en: { photoDrawings: 'Photo and drawings', photos: 'Photos', close: 'Close', prev: 'Previous photo', next: 'Next photo', step: 'Step {n} of {m}', remove: 'Remove {f}', notPhoto: '{f} is not a photo', tooBig: '{f} is larger than 10 MB', max: 'no more than {n} photos', notAdded: 'Not added: ', sent: 'Sent', uploading: 'Uploading photos...', sending: 'Sending...', submit: 'Send request', failed: 'Your request could not be sent. Please try again or give us a call.', tooMany: 'Too many requests in a short time. Feel free to call us: +31 (0)593 24 17 12.', check: 'Please check your name, email address and phone number.', photoCount: 'No more than 6 photos per request.', photoSize: 'A photo is too large. Choose a smaller photo or leave it out.', photoType: 'A file is not a photo (JPG, PNG, WebP or HEIC).', photoFailed: 'A photo could not be uploaded. Please try again without that photo.' },\n    de: { photoDrawings: 'Foto und Zeichnungen', photos: 'Fotos', close: 'Schlie\u00dfen', prev: 'Vorheriges Foto', next: 'N\u00e4chstes Foto', step: 'Schritt {n} von {m}', remove: '{f} entfernen', notPhoto: '{f} ist kein Foto', tooBig: '{f} ist gr\u00f6\u00dfer als 10 MB', max: 'h\u00f6chstens {n} Fotos', notAdded: 'Nicht hinzugef\u00fcgt: ', sent: 'Gesendet', uploading: 'Fotos werden hochgeladen...', sending: 'Wird gesendet...', submit: 'Anfrage senden', failed: 'Die Anfrage konnte nicht gesendet werden. Bitte versuchen Sie es erneut oder rufen Sie uns an.', tooMany: 'Zu viele Anfragen in kurzer Zeit. Rufen Sie uns gerne an: +31 (0)593 24 17 12.', check: 'Bitte pr\u00fcfen Sie Ihren Namen, Ihre E-Mail-Adresse und Telefonnummer.', photoCount: 'H\u00f6chstens 6 Fotos pro Anfrage.', photoSize: 'Ein Foto ist zu gro\u00df. W\u00e4hlen Sie ein kleineres Foto oder lassen Sie es weg.', photoType: 'Eine Datei ist kein Foto (JPG, PNG, WebP oder HEIC).', photoFailed: 'Ein Foto konnte nicht hochgeladen werden. Bitte versuchen Sie es ohne dieses Foto erneut.' },\n  };\n  function tx(key, vars) {\n    var s = (TX[LANG] || TX.nl)[key];\n    for (var k in vars) s = s.replace('{' + k + '}', vars[k]);\n    return s;\n  }\n\n  \/\/ Mobile menu (only present in the version with header).\n  var burger = document.querySelector('.dtc-burger');\n  var nav = document.getElementById('dtc-nav');\n  if (burger && nav) {\n    burger.addEventListener('click', function () {\n      var open = nav.classList.toggle('is-open');\n      burger.setAttribute('aria-expanded', String(open));\n    });\n    document.addEventListener('keydown', function (e) {\n      if (e.key === 'Escape' && nav.classList.contains('is-open')) {\n        nav.classList.remove('is-open');\n        burger.setAttribute('aria-expanded', 'false');\n        burger.focus();\n      }\n    });\n    window.matchMedia('(min-width: 901px)').addEventListener('change', function (m) {\n      if (m.matches) { nav.classList.remove('is-open'); burger.setAttribute('aria-expanded', 'false'); }\n    });\n  }\n\n  \/\/ Quattro configurator: one unit, three layouts.\n  document.querySelectorAll('[data-config]').forEach(function (box) {\n    var buttons = box.querySelectorAll('[data-set]');\n    var outs = box.querySelectorAll('[data-out]');\n    buttons.forEach(function (b) {\n      b.addEventListener('click', function () {\n        var mode = b.getAttribute('data-set');\n        box.setAttribute('data-mode', mode);\n        buttons.forEach(function (x) { x.setAttribute('aria-pressed', String(x === b)); });\n        outs.forEach(function (o) { o.hidden = o.getAttribute('data-out') !== mode; });\n      });\n    });\n  });\n\n  \/\/ Carousel: prev\/next scroll by one card, disabled at the ends.\n  document.querySelectorAll('[data-carousel]').forEach(function (c) {\n    var track = c.querySelector('.dtk-carousel-track');\n    var btns = c.querySelectorAll('[data-dir]');\n    function update() {\n      var max = track.scrollWidth - track.clientWidth - 2;\n      btns[0].disabled = track.scrollLeft <= 2;\n      btns[1].disabled = track.scrollLeft >= max;\n      c.querySelector('.dtk-carousel-nav').hidden = max <= 0;\n    }\n    btns.forEach(function (b) {\n      b.addEventListener('click', function () {\n        var card = track.querySelector('.dtk-card');\n        var step = card ? card.getBoundingClientRect().width + parseFloat(getComputedStyle(track).columnGap || 0) : track.clientWidth;\n        track.scrollBy({ left: step * +b.getAttribute('data-dir'), behavior: 'smooth' });\n      });\n    });\n    track.addEventListener('scroll', update, { passive: true });\n    window.addEventListener('resize', update);\n    update();\n  });\n\n  \/\/ Photo slider: one photo in focus, arrows and counter, enlarge opens the lightbox.\n  document.querySelectorAll('[data-slider]').forEach(function (sl) {\n    var track = sl.querySelector('.dtk-slider-track');\n    var slides = sl.querySelectorAll('.dtk-slide');\n    var list = JSON.parse(sl.querySelector('template[data-all]').innerHTML);\n    var cur = sl.querySelector('[data-cur]'), cap = sl.querySelector('[data-cap]');\n    var i = 0, lock = null;\n    function go(n) {\n      i = (n + slides.length) % slides.length;\n      clearTimeout(lock); lock = setTimeout(function () { lock = null; }, 900);\n      track.scrollTo({ left: slides[i].offsetLeft - slides[0].offsetLeft, behavior: 'smooth' });\n      set(i);\n    }\n    function set(n) {\n      i = n; cur.textContent = n + 1; cap.textContent = list[n][1];\n      slides.forEach(function (s, k) { s.classList.toggle('is-current', k === n); });\n    }\n    sl.querySelectorAll('[data-step]').forEach(function (b) {\n      b.addEventListener('click', function () { go(i + (+b.getAttribute('data-step'))); });\n    });\n    \/\/ A clicked (or focused) photo becomes the current one.\n    sl.querySelectorAll('.dtk-slide-btn').forEach(function (b, k) {\n      b.addEventListener('click', function () { if (k !== i) go(k); });\n    });\n    \/\/ Current photo follows the scroll position (swipe, trackpad, restored scroll on reload).\n    function sync() {\n      var x = track.scrollLeft, best = 0, d = Infinity;\n      slides.forEach(function (s, k) { var dd = Math.abs(s.offsetLeft - slides[0].offsetLeft - x); if (dd < d) { d = dd; best = k; } });\n      \/\/ At the end of the track the last slides cannot scroll to the start; keep the chosen one.\n      var atEnd = x >= track.scrollWidth - track.clientWidth - 2;\n      if (atEnd && i > best) return;\n      set(best);\n    }\n    var t;\n    track.addEventListener('scroll', function () {\n      if (lock) return;\n      clearTimeout(t);\n      t = setTimeout(sync, 80);\n    }, { passive: true });\n    set(0);\n    requestAnimationFrame(sync);\n    window.addEventListener('load', sync);\n  });\n\n  \/\/ Veegcarrousels op mobiel (modelhok, klapbodemstappen, opbouw): teller onder de rij.\n  \/\/ Op desktop staat de rij als grid en is de teller verborgen (CSS).\n  document.querySelectorAll('.dtk-mrow-left, .dtk-steps--swipe').forEach(function (row) {\n    var items = row.matches('.dtk-mrow-left') ? row.querySelectorAll('.dtk-mrow-media, .dtk-draw') : row.children;\n    items = Array.prototype.slice.call(items);\n    if (items.length < 2) return;\n    var count = document.createElement('p');\n    count.className = 'dtk-swipe-count';\n    count.setAttribute('aria-hidden', 'true');\n    count.innerHTML = '<b>1<\/b> \/ ' + items.length;\n    row.insertAdjacentElement('afterend', count);\n    var cur = count.querySelector('b');\n    function sync() {\n      var pad = parseFloat(getComputedStyle(row).paddingLeft) || 0;\n      var left = row.getBoundingClientRect().left + pad, best = 0, d = Infinity;\n      items.forEach(function (el, k) { var dd = Math.abs(el.getBoundingClientRect().left - left); if (dd < d) { d = dd; best = k; } });\n      \/\/ Aan het eind komen de laatste items niet meer tegen de rand; dan telt het laatste.\n      if (row.scrollLeft > 0 && row.scrollLeft >= row.scrollWidth - row.clientWidth - 2) best = items.length - 1;\n      cur.textContent = best + 1;\n    }\n    var t;\n    row.addEventListener('scroll', function () { clearTimeout(t); t = setTimeout(sync, 60); }, { passive: true });\n    window.addEventListener('resize', sync);\n  });\n\n  \/\/ Galleries (photo sliders) share one native <dialog> lightbox.\n  \/\/ Keuzehulp: \u00e9\u00e9n vraag tegelijk, daarna punten optellen en de top drie tonen (weging in _finder.mjs).\n  document.querySelectorAll('[data-finder]').forEach(function (f) {\n    var qs = Array.prototype.slice.call(f.querySelectorAll('[data-finder-q]'));\n    var quiz = f.querySelector('[data-finder-quiz]'), result = f.querySelector('[data-finder-result]');\n    var stepEl = f.querySelector('[data-finder-step]'), bar = f.querySelector('[data-finder-bar]'), back = f.querySelector('[data-finder-back]');\n    var list = f.querySelector('[data-finder-list]'), cards = Array.prototype.slice.call(list.children);\n    var of = f.getAttribute('data-of'), answers = {}, cur = 0;\n    function show(i, focus) {\n      cur = i;\n      qs.forEach(function (q, k) { q.hidden = k !== i; });\n      stepEl.textContent = of.replace('{n}', i + 1).replace('{m}', qs.length);\n      bar.style.width = ((i + 1) \/ qs.length * 100) + '%';\n      back.hidden = i === 0;\n      if (focus) qs[i].querySelector('.dtk-find-qt').focus();\n    }\n    function finish() {\n      var scored = cards.map(function (c, order) {\n        var s = JSON.parse(c.getAttribute('data-score')), pts = 0;\n        Object.keys(answers).forEach(function (q) { pts += s[q + ':' + answers[q]] || 0; });\n        return { c: c, pts: pts, order: order, group: c.getAttribute('data-group') };\n      }).sort(function (a, b) { return b.pts - a.pts || a.order - b.order; });\n      var top = [], seen = {};\n      scored.forEach(function (x) {\n        if (top.length >= 3 || x.pts <= 0 || (top.length && x.pts < top[0].pts \/ 2)) return;\n        if (x.group) { if (seen[x.group]) return; seen[x.group] = true; }\n        top.push(x);\n      });\n      if (!top.length) top.push(scored[0]);\n      cards.forEach(function (c) { c.hidden = true; });\n      top.forEach(function (x, k) {\n        list.appendChild(x.c);\n        x.c.hidden = false;\n        x.c.querySelector('.dtk-find-best').hidden = k !== 0;\n        var any = false;\n        x.c.querySelectorAll('[data-reason]').forEach(function (li) {\n          var p = li.getAttribute('data-reason').split(':');\n          li.hidden = answers[p[0]] !== p[1];\n          if (!li.hidden) any = true;\n        });\n        x.c.querySelector('.dtk-find-why').hidden = !any;\n      });\n      quiz.hidden = true; result.hidden = false;\n      result.querySelector('[data-finder-result-h]').focus();\n    }\n    qs.forEach(function (q, i) {\n      q.querySelectorAll('[data-answer]').forEach(function (b) {\n        b.addEventListener('click', function () {\n          q.querySelectorAll('[data-answer]').forEach(function (o) { o.setAttribute('aria-pressed', String(o === b)); });\n          answers[q.getAttribute('data-finder-q')] = b.getAttribute('data-answer');\n          if (i < qs.length - 1) show(i + 1, true); else finish();\n        });\n      });\n    });\n    back.addEventListener('click', function () { if (cur > 0) show(cur - 1, true); });\n    f.querySelector('[data-finder-restart]').addEventListener('click', function () {\n      answers = {};\n      f.querySelectorAll('[data-answer]').forEach(function (o) { o.setAttribute('aria-pressed', 'false'); });\n      result.hidden = true; quiz.hidden = false;\n      show(0, true);\n    });\n  });\n\n  document.querySelectorAll('[data-gallery]').forEach(function (g) {\n    var list = JSON.parse(g.querySelector('template[data-all]').innerHTML);\n    var dlg = document.createElement('dialog');\n    dlg.className = 'dtk-lightbox';\n    dlg.setAttribute('aria-label', list.some(function (x) { return x[0].charAt(0) === '#'; }) ? tx('photoDrawings') : tx('photos'));\n    dlg.innerHTML = '<div class=\"dtk-lightbox-inner\"><button type=\"button\" class=\"dtk-lb-close\" aria-label=\"' + tx('close') + '\">' + tx('close') + '<\/button>' +\n      '<button type=\"button\" class=\"dtk-lb-nav dtk-lb-prev\" data-step=\"-1\" aria-label=\"' + tx('prev') + '\">\\u2190<\/button>' +\n      '<figure><figcaption><\/figcaption><p class=\"dtk-lb-count\" aria-live=\"polite\"><\/p><\/figure>' +\n      '<button type=\"button\" class=\"dtk-lb-nav dtk-lb-next\" data-step=\"1\" aria-label=\"' + tx('next') + '\">\\u2192<\/button><\/div>';\n    (g.closest('.dtk') || document.body).appendChild(dlg);\n    var im = null, pic = null, cap = dlg.querySelector('figcaption'), count = dlg.querySelector('.dtk-lb-count');\n    var i = 0, opener = null;\n    if (list.length < 2) dlg.querySelectorAll('.dtk-lb-nav').forEach(function (b) { b.hidden = true; });\n    function show(n) {\n      i = (n + list.length) % list.length;\n      var src = list[i][0];\n      if (src.charAt(0) === '#') {\n        \/\/ Tekening: kopie van de SVG op de pagina, zonder id's (die staan al in het document).\n        var svg = document.querySelector(src + ' svg');\n        if (!pic) { pic = document.createElement('div'); pic.className = 'dtk-lb-draw'; cap.parentNode.insertBefore(pic, cap); }\n        var copy = svg.cloneNode(true);\n        copy.querySelectorAll('[id]').forEach(function (el) { el.removeAttribute('id'); });\n        copy.removeAttribute('aria-labelledby');\n        copy.setAttribute('aria-label', list[i][1]);\n        pic.replaceChildren(copy);\n        pic.hidden = false;\n        if (im) im.hidden = true;\n      } else {\n        if (!im) { im = document.createElement('img'); cap.parentNode.insertBefore(im, cap); }\n        im.src = src; im.alt = list[i][1]; im.hidden = false;\n        if (pic) pic.hidden = true;\n      }\n      cap.textContent = list[i][1];\n      count.textContent = (i + 1) + ' \/ ' + list.length;\n    }\n    g.querySelectorAll('[data-index]').forEach(function (btn) {\n      btn.addEventListener('click', function () {\n        opener = btn; show(+btn.getAttribute('data-index')); dlg.showModal();\n      });\n    });\n    dlg.querySelectorAll('[data-step]').forEach(function (b) {\n      b.addEventListener('click', function () { show(i + (+b.getAttribute('data-step'))); });\n    });\n    dlg.querySelector('.dtk-lb-close').addEventListener('click', function () { dlg.close(); });\n    dlg.addEventListener('click', function (e) { if (e.target === dlg || e.target.classList.contains('dtk-lightbox-inner')) dlg.close(); });\n    dlg.addEventListener('keydown', function (e) {\n      if (e.key === 'ArrowRight') show(i + 1);\n      if (e.key === 'ArrowLeft') show(i - 1);\n    });\n    dlg.addEventListener('close', function () { if (opener) opener.focus({ preventScroll: true }); });\n  });\n\n  \/\/ Kalfassistent (homepage), in chatvorm: de vraag komt als bericht in het gesprek, het antwoord is het best\n  \/\/ passende antwoord uit de veelgestelde vragen met een link naar het hele antwoord. Geen server, geen taalmodel:\n  \/\/ tekst normaliseren, synoniemen in drie talen, punten optellen.\n  document.querySelectorAll('[data-assist]').forEach(function (box) {\n    var input = box.querySelector('[data-assist-input]'), log = box.querySelector('[data-chat-log]');\n    var tpl = box.querySelector('template[data-assist-index]');\n    var arrow = '<svg class=\"dtk-ic\" viewBox=\"0 0 20 20\" aria-hidden=\"true\"><path d=\"M4 10h11m-4.5-5L15 10l-4.5 5\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"\/><\/svg>';\n    function norm(s) { return s.toLowerCase().normalize('NFD').replace(\/[\u0300-\u036f]\/g, '').replace(\/[^a-z0-9]+\/g, ' ').trim(); }\n    var items = Array.prototype.map.call(tpl.content.querySelectorAll('article'), function (a) {\n      var l = a.querySelector('a');\n      var it = { q: a.querySelector('h3').textContent, a: a.querySelector('p').textContent, href: l.getAttribute('href'), label: '' };\n      it.wq = norm(it.q).split(' '); it.wa = norm(it.a).split(' '); it.wt = norm((a.getAttribute('data-terms') || '') + ' ' + it.label).split(' ');\n      return it;\n    });\n    var STOP = ('de het een en of van in op te is ik mijn wat hoe hoeveel welke wanneer waar waarom kan kunnen moet ook met voor bij aan er dat die u uw hij zijn heb nodig ' +\n      'the a an and or of in on to is i my what how many much which when where why can do does with for at it that you your need ' +\n      'der das ein eine und oder von auf zu ist mein meine was wie viel viele wieviel welche welcher wann wo warum kann konnen mit fur bei es dass sie ihr ihre brauche').split(' ');\n    var SYN = [['biest', 'biestmelk', 'colostrum', 'kolostrum', 'biestmilch'], ['kalf', 'kalveren', 'calf', 'calves', 'kalb', 'kalber'],\n      ['groep', 'groepen', 'groepshuisvesting', 'group', 'groups', 'gruppe', 'gruppen'], ['eenling', 'eenlingbox', 'eenlingboxen', 'individual', 'einzel', 'einzelbox', 'einzelboxen'],\n      ['pasteur', 'pasteuriseren', 'pasteuriseerder', 'pasteuriser', 'pasteurise', 'pasteurisierer', 'pasteurisieren'], ['zak', 'zakken', 'bag', 'bags', 'beutel'],\n      ['stal', 'barn', 'stall'], ['uitmesten', 'mest', 'mesten', 'muck', 'mucking', 'ausmisten', 'misten', 'ausmisten'], ['shovel', 'loader', 'hoflader'], ['duobox', 'duoboxen', 'duohok', 'pair', 'doppelbox'],\n      ['klapbodem', 'hinged', 'klappboden'], ['kwaliteit', 'quality', 'qualitat', 'brix', 'refractometer', 'refraktometer'], ['afdeling', 'afdelingen', 'pen', 'pens', 'bucht', 'buchten'],\n      ['melkpoeder', 'kunstmelk', 'replacer', 'milchaustauscher', 'milchpulver'], ['diarree', 'scours', 'diarrhoea', 'durchfall'], ['krachtvoer', 'kalverbrok', 'brok', 'concentrate', 'concentrates', 'pellet', 'kraftfutter']];\n    \/\/ Een woord past bij een zoekterm als het begin overeenkomt (kalveren ~ kalver, beurzen ~ beurs).\n    function hit(words, term) {\n      var stem = term.length > 5 ? term.slice(0, term.length - 2) : term;\n      for (var i = 0; i < words.length; i++) { var w = words[i]; if (w === term || (term.length >= 4 && (w.indexOf(stem) === 0 || term.indexOf(w) === 0 && w.length >= Math.max(4, term.length - 2)))) return true; }\n      return false;\n    }\n    function variants(term) {\n      var out = [term];\n      SYN.forEach(function (g) { if (g.some(function (x) { return hit([x], term) || hit([term], x); })) out = out.concat(g); });\n      return out;\n    }\n    function search(query) {\n      var terms = norm(query).split(' ').filter(function (w) { return w.length > 1 && STOP.indexOf(w) < 0; });\n      if (!terms.length) return null;\n      return items.map(function (it) {\n        var score = 0;\n        terms.forEach(function (term) {\n          var v = variants(term), best = 0;\n          v.forEach(function (x) { if (hit(it.wq, x)) best = Math.max(best, 3); else if (hit(it.wt, x)) best = Math.max(best, 2); else if (hit(it.wa, x)) best = Math.max(best, 1); });\n          score += best;\n        });\n        return { it: it, score: score };\n      }).filter(function (r) { return r.score > 0; }).sort(function (a, b) { return b.score - a.score || a.it.q.length - b.it.q.length; }) \/\/ gelijk: de gerichtste (kortste) vraag eerst\n        .filter(function (r, i, all) { return r.score * 2 >= all[0].score; }).slice(0, 6); \/\/ zwakke treffers weg\n    }\n    function el(tag, cls, text) { var e = document.createElement(tag); if (cls) e.className = cls; if (text != null) e.textContent = text; return e; }\n    function msg(kind) {\n      var li = el('div', 'dtk-msg dtk-msg--' + kind);\n      li.appendChild(el('span', 'dtk-msg-who', log.getAttribute(kind === 'you' ? 'data-you' : 'data-bot')));\n      log.appendChild(li);\n      return li;\n    }\n    function link(href, text) { var a = el('a', 'dtk-link', text + ' '); a.href = href; a.insertAdjacentHTML('beforeend', arrow); return a; }\n    function ask(q) {\n      q = q.trim(); if (!q) return;\n      var you = msg('you'); you.appendChild(el('p', null, q));\n      var r = search(q) || [], bot = msg('bot');\n      if (!r.length) {\n        bot.appendChild(el('p', null, log.getAttribute('data-none')));\n        var help = box.querySelector('.dtk-assist-help');\n        if (help) { var row = el('p', 'dtk-msg-links'); Array.prototype.forEach.call(help.querySelectorAll('a'), function (a, k) { if (k < 2) row.appendChild(a.cloneNode(true)); }); bot.appendChild(row); }\n      } else {\n        bot.appendChild(el('p', 'dtk-msg-lead', log.getAttribute('data-found')));\n        bot.appendChild(el('p', 'dtk-msg-q', r[0].it.q));\n        bot.appendChild(el('p', null, r[0].it.a));\n        bot.appendChild(link(r[0].it.href, log.getAttribute('data-read')));\n        if (r.length > 1) {\n          bot.appendChild(el('p', 'dtk-msg-lead', log.getAttribute('data-related')));\n          var ul = el('ul', 'dtk-msg-more');\n          r.slice(1, 3).forEach(function (x) { var li = el('li'); li.appendChild(link(x.it.href, x.it.q)); ul.appendChild(li); });\n          bot.appendChild(ul);\n        }\n      }\n      \/\/ Alleen het gesprek scrollt (niet de pagina): de vraag bovenaan in beeld, het antwoord eronder.\n      log.scrollTop += you.getBoundingClientRect().top - log.getBoundingClientRect().top - 8;\n    }\n    box.querySelector('[data-assist-form]').addEventListener('submit', function (e) { e.preventDefault(); ask(input.value); input.value = ''; input.focus({ preventScroll: true }); });\n    box.querySelectorAll('[data-assist-chip]').forEach(function (b) {\n      b.addEventListener('click', function () { ask(b.getAttribute('data-assist-chip')); });\n    });\n  });\n\n  \/\/ Veelgestelde vragen: een link naar #v-... opent die vraag en scrolt ernaartoe.\n  function openFaq() {\n    var id = decodeURIComponent(location.hash.slice(1)); if (!\/^v-\/.test(id)) return;\n    var d = document.getElementById(id); if (d && d.tagName === 'DETAILS') { d.open = true; d.scrollIntoView({ block: 'start' }); }\n  }\n  openFaq(); window.addEventListener('hashchange', openFaq);\n\n  \/\/ Bedrijfsvideo: de YouTube-speler komt pas na een klik in de pagina (youtube-nocookie) en gaat weg bij sluiten.\n  var vd = document.querySelector('[data-video-dialog]');\n  if (vd) {\n    var vframe = vd.querySelector('[data-video-frame]'), vOpener = null;\n    document.querySelectorAll('[data-video]').forEach(function (b) {\n      b.addEventListener('click', function () {\n        var f = document.createElement('iframe');\n        f.src = 'https:\/\/www.youtube-nocookie.com\/embed\/' + encodeURIComponent(b.getAttribute('data-video')) + '?autoplay=1&rel=0';\n        f.title = vd.getAttribute('aria-label');\n        f.allow = 'autoplay; encrypted-media; picture-in-picture; fullscreen';\n        f.setAttribute('allowfullscreen', '');\n        vframe.replaceChildren(f);\n        vOpener = b;\n        vd.showModal();\n      });\n    });\n    vd.querySelector('[data-video-close]').addEventListener('click', function () { vd.close(); });\n    vd.addEventListener('click', function (e) { if (e.target === vd) vd.close(); });\n    vd.addEventListener('close', function () { vframe.replaceChildren(); if (vOpener) vOpener.focus({ preventScroll: true }); });\n  }\n\n  \/\/ Beursagenda: voorbije beurzen weg; is er niets meer over, dan het hele blok.\n  document.querySelectorAll('[data-fair-end]').forEach(function (li) {\n    var today = new Date().toISOString().slice(0, 10);\n    if (li.getAttribute('data-fair-end') < today) li.hidden = true;\n  });\n  document.querySelectorAll('.dtk-fairs').forEach(function (ol) {\n    if (!ol.querySelector('li:not([hidden])')) ol.closest('section').hidden = true;\n  });\n\n  \/\/ Offerte-popup in stappen. Elk element met data-quote opent hem, met de keuze al ingevuld.\n  var qd = document.querySelector('[data-quote-dialog]');\n  if (qd) {\n    var form = qd.querySelector('[data-q-form]');\n    var steps = qd.querySelectorAll('[data-q-step]');\n    var panels = JSON.parse(qd.querySelector('template[data-q-panels]').innerHTML);\n    var pImg = qd.querySelector('.dtk-q-panel-img'), pTitle = qd.querySelector('[data-q-panel-title]');\n    var bar = qd.querySelector('[data-q-bar]'), num = qd.querySelector('[data-q-stepnum]');\n    var back = qd.querySelector('[data-q-back]'), next = qd.querySelector('[data-q-next]'), submit = qd.querySelector('[data-q-submit]');\n    var done = qd.querySelector('[data-q-done]'), qNav = qd.querySelector('[data-q-nav]');\n    var fileInput = qd.querySelector('[data-q-files]'), thumbs = qd.querySelector('[data-q-thumbs]'), fileErr = qd.querySelector('[data-q-file-error]');\n    var files = [], step = 1, qOpener = null, openedAt = 0, sending = false;\n    \/\/ Verzendadres (WordPress-plugin DairyTop Offerte). Zonder data-endpoint is dit de preview: er gaat niets weg.\n    var endpoint = qd.getAttribute('data-endpoint');\n    var sendErr = qd.querySelector('[data-q-send-error]');\n    var MAX_FILES = 6, MAX_BYTES = 10 * 1024 * 1024;\n\n    function panel(key) {\n      var p = panels[key] || panels.advies;\n      pImg.src = p.src; pTitle.textContent = p.title;\n    }\n    function show(n, focus) {\n      step = n;\n      steps.forEach(function (f) { f.hidden = +f.getAttribute('data-q-step') !== n; });\n      num.textContent = tx('step', { n: n, m: steps.length });\n      bar.style.width = (n \/ steps.length * 100) + '%';\n      back.hidden = n === 1;\n      next.hidden = n === steps.length;\n      submit.hidden = n !== steps.length;\n      if (focus !== false) { var h = qd.querySelector('[data-q-step=\"' + n + '\"] .dtk-q-h'); if (h) h.focus(); }\n    }\n    function syncSystem() {\n      var v = (form.querySelector('input[name=\"systeem\"]:checked') || {}).value;\n      qd.querySelectorAll('[data-q-sub]').forEach(function (s) { s.hidden = s.getAttribute('data-q-sub') !== v; });\n      \/\/ Ruimte en buiten\/binnen gaan over huisvesting; bij biest en voeding vragen we ze niet.\n      qd.querySelectorAll('[data-q-housing]').forEach(function (el) { el.hidden = v === 'biest' || v === 'voeding'; });\n      panel(v || 'advies');\n    }\n    function reset() {\n      form.reset(); files = []; renderFiles(); fileErr.hidden = true;\n      qd.querySelectorAll('.dtk-q-err').forEach(function (e) { e.hidden = true; });\n      qd.querySelectorAll('[aria-invalid]').forEach(function (e) { e.removeAttribute('aria-invalid'); });\n      done.hidden = true; qNav.hidden = false; form.classList.remove('is-done');\n      if (sendErr) sendErr.hidden = true;\n    }\n    function open(trigger) {\n      reset();\n      var sys = trigger.getAttribute('data-quote');\n      var model = trigger.getAttribute('data-model');\n      var intent = trigger.getAttribute('data-intent');\n      if (sys && sys !== 'advies') { var r = form.querySelector('input[name=\"systeem\"][value=\"' + sys + '\"]'); if (r) r.checked = true; }\n      if (model) { var m = form.querySelector('input[name^=\"uitvoering_\"][value=\"' + model + '\"]'); if (m) m.checked = true; }\n      if (intent) { var it = form.querySelector('input[name=\"voorkeur\"][value=\"' + intent + '\"]'); if (it) it.checked = true; }\n      syncSystem();\n      qOpener = trigger;\n      openedAt = Date.now();\n      qd.showModal();\n      show(1);\n    }\n    document.addEventListener('click', function (e) {\n      var t = e.target.closest('[data-quote]');\n      if (!t) return;\n      e.preventDefault();\n      open(t);\n    });\n    form.addEventListener('change', function (e) { if (e.target.name === 'systeem') syncSystem(); });\n    next.addEventListener('click', function () { show(Math.min(step + 1, steps.length)); });\n    back.addEventListener('click', function () { show(Math.max(step - 1, 1)); });\n    qd.querySelectorAll('[data-q-close]').forEach(function (b) { b.addEventListener('click', function () { qd.close(); }); });\n    qd.addEventListener('close', function () { if (qOpener) qOpener.focus({ preventScroll: true }); });\n    qd.addEventListener('click', function (e) { if (e.target === qd) qd.close(); });\n    \/\/ Enter in een veld gaat naar de volgende stap in plaats van direct te versturen.\n    form.addEventListener('keydown', function (e) {\n      if (e.key === 'Enter' && e.target.tagName === 'INPUT' && step < steps.length) { e.preventDefault(); show(step + 1); }\n    });\n\n    \/\/ Foto's: type en grootte in de browser; de server controleert opnieuw.\n    function renderFiles() {\n      thumbs.innerHTML = '';\n      files.forEach(function (f, k) {\n        var li = document.createElement('li');\n        var im = document.createElement('img'); im.alt = f.name; im.src = URL.createObjectURL(f);\n        im.onload = function () { URL.revokeObjectURL(im.src); };\n        var rm = document.createElement('button'); rm.type = 'button'; rm.className = 'dtk-q-thumb-rm';\n        rm.setAttribute('aria-label', tx('remove', { f: f.name })); rm.textContent = '\u00d7';\n        rm.addEventListener('click', function () { files.splice(k, 1); renderFiles(); });\n        li.appendChild(im); li.appendChild(rm); thumbs.appendChild(li);\n      });\n    }\n    function addFiles(list) {\n      var msg = [];\n      Array.prototype.forEach.call(list, function (f) {\n        if (!\/^image\\\/(jpeg|png|webp|heic|heif)$\/.test(f.type) && !\/\\.(heic|heif)$\/i.test(f.name)) { msg.push(tx('notPhoto', { f: f.name })); return; }\n        if (f.size > MAX_BYTES) { msg.push(tx('tooBig', { f: f.name })); return; }\n        if (files.length >= MAX_FILES) { msg.push(tx('max', { n: MAX_FILES })); return; }\n        files.push(f);\n      });\n      fileErr.hidden = !msg.length; fileErr.textContent = msg.length ? tx('notAdded') + msg.filter(function (m, k, a) { return a.indexOf(m) === k; }).join(', ') + '.' : '';\n      renderFiles(); fileInput.value = '';\n    }\n    fileInput.addEventListener('change', function () { addFiles(fileInput.files); });\n    var drop = qd.querySelector('[data-q-drop]');\n    ['dragenter', 'dragover'].forEach(function (ev) { drop.addEventListener(ev, function (e) { e.preventDefault(); drop.classList.add('is-over'); }); });\n    ['dragleave', 'drop'].forEach(function (ev) { drop.addEventListener(ev, function (e) { e.preventDefault(); drop.classList.remove('is-over'); }); });\n    drop.addEventListener('drop', function (e) { if (e.dataTransfer) addFiles(e.dataTransfer.files); });\n\n    form.addEventListener('submit', function (e) {\n      e.preventDefault();\n      var first = null;\n      [['naam', function (v) { return v.trim().length > 1; }], ['email', function (v) { return \/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(v.trim()); }], ['telefoon', function (v) { return v.replace(\/\\D\/g, '').length >= 8; }]].forEach(function (c) {\n        var el = form.elements[c[0]], ok = c[1](el.value), err = el.parentNode.querySelector('.dtk-q-err');\n        err.hidden = ok; if (ok) el.removeAttribute('aria-invalid'); else { el.setAttribute('aria-invalid', 'true'); first = first || el; }\n      });\n      if (first) { first.focus(); return; }\n      if (!endpoint) { finish(); return; } \/\/ preview: niets versturen\n      if (sending) return;\n      sending = true; submit.disabled = true; submit.textContent = files.length ? tx('uploading') : tx('sending');\n      if (sendErr) sendErr.hidden = true;\n      Promise.all(files.map(shrink)).then(function (photos) {\n        var fd = new FormData(form);\n        fd.delete('fotos');\n        photos.forEach(function (f) { fd.append('fotos[]', f, f.name); });\n        fd.append('taal', LANG);\n        fd.append('bron', location.href.split('#')[0]);\n        fd.append('invultijd', String(Date.now() - openedAt));\n        submit.textContent = tx('sending');\n        return fetch(endpoint, { method: 'POST', body: fd, credentials: 'same-origin' });\n      }).then(function (res) {\n        return res.json().catch(function () { return {}; }).then(function (j) {\n          if (!res.ok || !j.ok) throw new Error(res.status === 413 ? tx('photoSize') : (j.code && (TX[LANG] || TX.nl)[j.code]) || tx('failed'));\n        });\n      }).then(finish, function (err) {\n        if (sendErr) { sendErr.textContent = (err && err.message) || tx('failed'); sendErr.hidden = false; sendErr.scrollIntoView({ block: 'nearest' }); }\n      }).then(function () { sending = false; submit.disabled = false; submit.textContent = tx('submit'); });\n    });\n    function finish() {\n      steps.forEach(function (f) { f.hidden = true; });\n      qNav.hidden = true; form.classList.add('is-done'); done.hidden = false; done.focus();\n      bar.style.width = '100%'; num.textContent = tx('sent');\n    }\n    \/\/ Foto's altijd opnieuw coderen in de browser (lange zijde max 2400 px, JPEG 0,82): kleinere upload binnen de\n    \/\/ PHP-limieten, HEIC leesbaar als de browser hem kan openen, en EXIF (GPS-locatie, tijdstip, toestel) eraf,\n    \/\/ want een canvas neemt geen metadata mee. Kan de browser het beeld niet openen, dan bij JPEG de\n    \/\/ metadatablokken eruit (stripJpeg); alleen een ander type dat niet te openen is gaat ongewijzigd.\n    function shrink(f) {\n      var MAX = 2400;\n      if (!\/^image\\\/(jpeg|png|webp|heic|heif)$\/.test(f.type)) return Promise.resolve(f);\n      return decode(f).then(function (img) {\n        var w = img.width || img.naturalWidth, h = img.height || img.naturalHeight;\n        var k = Math.min(1, MAX \/ Math.max(w, h));\n        var c = document.createElement('canvas');\n        c.width = Math.round(w * k); c.height = Math.round(h * k);\n        var g = c.getContext('2d'); g.fillStyle = '#fff'; g.fillRect(0, 0, c.width, c.height); g.drawImage(img, 0, 0, c.width, c.height);\n        if (img.close) img.close();\n        return new Promise(function (r, x) { c.toBlob(function (b) { b ? r(new File([b], f.name.replace(\/\\.[^.]+$\/, '') + '.jpg', { type: 'image\/jpeg' })) : x(); }, 'image\/jpeg', 0.82); });\n      }).catch(function () { return f.type === 'image\/jpeg' ? stripJpeg(f) : f; });\n    }\n    function decode(f) {\n      var viaImg = function () {\n        return new Promise(function (r, x) {\n          var u = URL.createObjectURL(f), im = new Image();\n          im.onload = function () { URL.revokeObjectURL(u); im.naturalWidth ? r(im) : x(); };\n          im.onerror = function () { URL.revokeObjectURL(u); x(); };\n          im.src = u;\n        });\n      };\n      return window.createImageBitmap ? createImageBitmap(f).catch(viaImg) : viaImg();\n    }\n    \/\/ JPEG zonder persoonlijke metadata: APP1 (EXIF met GPS, XMP), APP13 (IPTC) en commentaar weg. Kleurprofiel\n    \/\/ (APP2) en Adobe-blok (APP14) blijven, die bepalen de kleuren; de beelddata blijft ongewijzigd.\n    function stripJpeg(f) {\n      return f.arrayBuffer().then(function (buf) {\n        var d = new Uint8Array(buf), parts = [d.subarray(0, 2)], i = 2;\n        if (d[0] !== 0xFF || d[1] !== 0xD8) return f;\n        while (i + 4 <= d.length && d[i] === 0xFF) {\n          var m = d[i + 1];\n          if (m === 0xDA) break; \/\/ begin beelddata\n          var end = i + 2 + ((d[i + 2] << 8) | d[i + 3]);\n          if (m !== 0xE1 && m !== 0xED && m !== 0xFE) parts.push(d.subarray(i, end));\n          i = end;\n        }\n        parts.push(d.subarray(i));\n        return new File(parts, f.name, { type: 'image\/jpeg' });\n      }).catch(function () { return f; });\n    }\n  }\n})();\n(function () {\n  \/\/ Live prijzen bij de shopkaarten (Kalvervoeding) uit de WooCommerce Store API. De prijs staat bewust niet in de HTML:\n  \/\/ die wijzigt in WooCommerce. Geen antwoord = het vak blijft leeg, de kaart werkt gewoon.\n  var grid = document.querySelector('[data-prices]');\n  if (!grid || !window.fetch) return;\n  var ids = [];\n  grid.querySelectorAll('[data-price]').forEach(function (s) { ids.push(s.getAttribute('data-price')); });\n  if (!ids.length) return;\n  var lang = grid.getAttribute('data-lang') || 'nl';\n  var tag = { nl: 'nl-NL', en: 'en-GB', de: 'de-DE' }[lang] || 'nl-NL';\n  var src = grid.getAttribute('data-prices') + '?per_page=' + ids.length + '&include=' + ids.join(',') + (lang !== 'nl' ? '&lang=' + lang : '');\n  fetch(src, { credentials: 'omit' }).then(function (r) { return r.ok ? r.json() : []; }).then(function (list) {\n    (Array.isArray(list) ? list : []).forEach(function (p) {\n      var pr = p && p.prices, el = pr && grid.querySelector('[data-price=\"' + Number(p.id) + '\"]');\n      if (!el) return;\n      var amount = Number(pr.price_range ? pr.price_range.min_amount : pr.price) \/ Math.pow(10, pr.currency_minor_unit || 2);\n      if (!(amount > 0)) return;\n      el.textContent = (pr.price_range ? grid.getAttribute('data-from') + ' ' : '') + new Intl.NumberFormat(tag, { style: 'currency', currency: pr.currency_code || 'EUR' }).format(amount);\n      var small = document.createElement('small');\n      small.textContent = grid.getAttribute('data-excl');\n      el.appendChild(small);\n    });\n  }).catch(function () {});\n})();\n\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Home K\u00e4lberhaltung K\u00e4lberhaltung DairyTop bietet ein breites Sortiment f\u00fcr die K\u00e4lberhaltung, f\u00fcr neugeborene K\u00e4lber und f\u00fcr K\u00e4lber, die schon in Gruppen gehalten werden k\u00f6nnen. Alles f\u00fcr eine gesunde und tiergerechte Aufzucht Ihrer K\u00e4lber. Zu den SystemenPers\u00f6nliche Beratung Alles f\u00fcr die K\u00e4lberhaltung Bl\u00e4ttern Sie durch alle Kategorien, oder springen Sie direkt zum gesuchten System. Einzelhaltung F\u00fcr [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"page-builder","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-7643","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>K\u00e4lberhaltung - Dairytop<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dairytop.eu\/de\/kaelberhaltung\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"K\u00e4lberhaltung - Dairytop\" \/>\n<meta property=\"og:description\" content=\"Home K\u00e4lberhaltung K\u00e4lberhaltung DairyTop bietet ein breites Sortiment f\u00fcr die K\u00e4lberhaltung, f\u00fcr neugeborene K\u00e4lber und f\u00fcr K\u00e4lber, die schon in Gruppen gehalten werden k\u00f6nnen. Alles f\u00fcr eine gesunde und tiergerechte Aufzucht Ihrer K\u00e4lber. Zu den SystemenPers\u00f6nliche Beratung Alles f\u00fcr die K\u00e4lberhaltung Bl\u00e4ttern Sie durch alle Kategorien, oder springen Sie direkt zum gesuchten System. Einzelhaltung F\u00fcr [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dairytop.eu\/de\/kaelberhaltung\/\" \/>\n<meta property=\"og:site_name\" content=\"Dairytop\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-16T15:04:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij.webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data1\" content=\"15\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberhaltung\\\/\",\"url\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberhaltung\\\/\",\"name\":\"K\u00e4lberhaltung - Dairytop\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dairytop.eu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberhaltung\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberhaltung\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/dairytop.eu\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/oksng-rij.webp\",\"datePublished\":\"2026-02-24T13:36:21+00:00\",\"dateModified\":\"2026-10-16T15:04:42+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberhaltung\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberhaltung\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberhaltung\\\/#primaryimage\",\"url\":\"https:\\\/\\\/dairytop.eu\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/oksng-rij.webp\",\"contentUrl\":\"https:\\\/\\\/dairytop.eu\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/oksng-rij.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberhaltung\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Startseite\",\"item\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"K\u00e4lberhaltung\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dairytop.eu\\\/#website\",\"url\":\"https:\\\/\\\/dairytop.eu\\\/\",\"name\":\"DairyTop\",\"description\":\"Uw specialist in Kalveropfok\",\"publisher\":{\"@id\":\"https:\\\/\\\/dairytop.eu\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dairytop.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dairytop.eu\\\/#organization\",\"name\":\"Milchtop\",\"url\":\"https:\\\/\\\/dairytop.eu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/dairytop.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/dairytop.eu\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/cropped-DairyTop-logo-large-1-1-1.png\",\"contentUrl\":\"https:\\\/\\\/dairytop.eu\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/cropped-DairyTop-logo-large-1-1-1.png\",\"width\":143,\"height\":119,\"caption\":\"Milchtop\"},\"image\":{\"@id\":\"https:\\\/\\\/dairytop.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"K\u00e4lberhaltung - Dairytop","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dairytop.eu\/de\/kaelberhaltung\/","og_locale":"de_DE","og_type":"article","og_title":"K\u00e4lberhaltung - Dairytop","og_description":"Home K\u00e4lberhaltung K\u00e4lberhaltung DairyTop bietet ein breites Sortiment f\u00fcr die K\u00e4lberhaltung, f\u00fcr neugeborene K\u00e4lber und f\u00fcr K\u00e4lber, die schon in Gruppen gehalten werden k\u00f6nnen. Alles f\u00fcr eine gesunde und tiergerechte Aufzucht Ihrer K\u00e4lber. Zu den SystemenPers\u00f6nliche Beratung Alles f\u00fcr die K\u00e4lberhaltung Bl\u00e4ttern Sie durch alle Kategorien, oder springen Sie direkt zum gesuchten System. Einzelhaltung F\u00fcr [&hellip;]","og_url":"https:\/\/dairytop.eu\/de\/kaelberhaltung\/","og_site_name":"Dairytop","article_modified_time":"2026-10-16T15:04:42+00:00","og_image":[{"url":"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij.webp","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Gesch\u00e4tzte Lesezeit":"15\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dairytop.eu\/de\/kaelberhaltung\/","url":"https:\/\/dairytop.eu\/de\/kaelberhaltung\/","name":"K\u00e4lberhaltung - Dairytop","isPartOf":{"@id":"https:\/\/dairytop.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dairytop.eu\/de\/kaelberhaltung\/#primaryimage"},"image":{"@id":"https:\/\/dairytop.eu\/de\/kaelberhaltung\/#primaryimage"},"thumbnailUrl":"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij.webp","datePublished":"2026-02-24T13:36:21+00:00","dateModified":"2026-10-16T15:04:42+00:00","breadcrumb":{"@id":"https:\/\/dairytop.eu\/de\/kaelberhaltung\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dairytop.eu\/de\/kaelberhaltung\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/dairytop.eu\/de\/kaelberhaltung\/#primaryimage","url":"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij.webp","contentUrl":"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/dairytop.eu\/de\/kaelberhaltung\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/dairytop.eu\/de\/"},{"@type":"ListItem","position":2,"name":"K\u00e4lberhaltung"}]},{"@type":"WebSite","@id":"https:\/\/dairytop.eu\/#website","url":"https:\/\/dairytop.eu\/","name":"DairyTop","description":"Uw specialist in Kalveropfok","publisher":{"@id":"https:\/\/dairytop.eu\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dairytop.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/dairytop.eu\/#organization","name":"Milchtop","url":"https:\/\/dairytop.eu\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/dairytop.eu\/#\/schema\/logo\/image\/","url":"https:\/\/dairytop.eu\/wp-content\/uploads\/2025\/10\/cropped-DairyTop-logo-large-1-1-1.png","contentUrl":"https:\/\/dairytop.eu\/wp-content\/uploads\/2025\/10\/cropped-DairyTop-logo-large-1-1-1.png","width":143,"height":119,"caption":"Milchtop"},"image":{"@id":"https:\/\/dairytop.eu\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/dairytop.eu\/de\/wp-json\/wp\/v2\/pages\/7643","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dairytop.eu\/de\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dairytop.eu\/de\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dairytop.eu\/de\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/dairytop.eu\/de\/wp-json\/wp\/v2\/comments?post=7643"}],"version-history":[{"count":37,"href":"https:\/\/dairytop.eu\/de\/wp-json\/wp\/v2\/pages\/7643\/revisions"}],"predecessor-version":[{"id":12827,"href":"https:\/\/dairytop.eu\/de\/wp-json\/wp\/v2\/pages\/7643\/revisions\/12827"}],"wp:attachment":[{"href":"https:\/\/dairytop.eu\/de\/wp-json\/wp\/v2\/media?parent=7643"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}