{"id":12488,"date":"2026-10-15T11:27:02","date_gmt":"2026-10-15T09:27:02","guid":{"rendered":"https:\/\/dairytop.eu\/?page_id=12488"},"modified":"2026-10-15T20:45:11","modified_gmt":"2026-10-15T18:45:11","slug":"calf-nutrition","status":"publish","type":"page","link":"https:\/\/dairytop.eu\/en\/calf-nutrition\/","title":{"rendered":"Calf nutrition"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"12488\" class=\"elementor elementor-12488 elementor-12391\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b817a80 elementor-section-full_width elementor-section-height-default elementor-section-height-default\" data-id=\"b817a80\" 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-\" data-id=\"\" 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- elementor-widget elementor-widget-html\" data-id=\"\" 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\/en\/calf-nutrition\/ (EN). 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); }\n\/* Astra zet randen op elke table, th en td (main.min.css); hier eerst alles op nul, dan alleen de horizontale lijnen. *\/\nhtml body .dtk-bags { width: 100%; min-width: 560px; border-collapse: collapse; border: 0; 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: 0; 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); }\n\/* Kaart vult het hele rijvak via flex op de li, niet met height: 100% (dat hield de kaart op de rijhoogte vast terwijl\n   de inhoud met grotere tekst hoger werd: Bekijken viel dan op de rand). *\/\nhtml body .dtk-cats > li { display: flex; }\nhtml body .dtk-cats a { flex: 1 1 auto; min-width: 0; display: grid; grid-template-rows: auto auto 1fr auto; 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); }\n\/* Rij van 100%: anders rekent height: 100% op de foto als auto en wordt een vierkante foto hoger dan het 4:3-vak. *\/\nhtml body .dtk-cats-img { display: grid; grid-template-rows: 100%; place-items: center; aspect-ratio: 4 \/ 3; margin-bottom: 12px; overflow: hidden; }\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, html body .dtk-cats-s { hyphens: auto; overflow-wrap: break-word; } html body .dtk-cats-t { font-size: 1rem; } }\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 tr:last-child { border-bottom: 0; }\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=\"en\">\n\n<header class=\"dtk-hero\">\n  <img fetchpriority=\"high\" class=\"dtk-hero-img\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/home-melkpoeder.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/home-melkpoeder-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/home-melkpoeder.webp 2048w\" sizes=\"100vw\" width=\"2048\" height=\"1229\" alt=\"A farm worker empties a bag of Pro Elite milk replacer into a milk tank, with calf hutches in the background\" fetchpriority=\"high\" decoding=\"async\">\n  <div class=\"dtk-hero-inner dtk-wrap\">\n    <nav class=\"dtk-crumbs\" aria-label=\"Breadcrumb\"><ol><li><a href=\"https:\/\/dairytop.eu\/en\/\">Home<\/a><\/li><li><span aria-current=\"page\">Calf nutrition<\/span><\/li><\/ol><\/nav>\n    <div class=\"dtk-hero-copy\">\n      <p class=\"dtk-hero-kicker\">Milk replacer, concentrates and more<\/p>\n      <h1>Calf nutrition<\/h1>\n      <p class=\"dtk-lead\">From the first colostrum to the move onto forage. We tailor milk replacer and concentrates to your farm; the complementary products you order straight from the shop.<\/p>\n      <div class=\"dtk-actions\"><a class=\"dtk-btn\" href=\"#melkpoeder\">See the milk replacers<\/a><a class=\"dtk-btn dtk-btn--ghost\" href=\"https:\/\/dairytop.eu\/en\/contact\/\" data-quote=\"voeding\">Advice on feeding<\/a><\/div>\n    <\/div>\n  <\/div>\n<\/header>\n<div class=\"dtk-wrap\"><dl class=\"dtk-facts\"><div><dt>On quotation, with advice<\/dt><dd>7 milk replacers<\/dd><\/div><div><dt>Skimmed milk powder (Pro Elite 60)<\/dt><dd>Up to 60%<\/dd><\/div><div><dt>Dairy Pansen Pro and Calf TMR<\/dt><dd>Concentrates<\/dd><\/div><div><dt>Complementary, in the shop<\/dt><dd>Many products<\/dd><\/div><\/dl><\/div>\n\n<section class=\"dtk-section\" id=\"voerplan\" aria-labelledby=\"plan-h\">\n  <div class=\"dtk-wrap\">\n    <div class=\"dtk-head\">\n      <p class=\"dtk-kicker\">From colostrum to forage<\/p>\n      <h2 id=\"plan-h\">What the calf needs, and when<\/h2>\n      <p>Each phase shows the products that go with it, and whether you order them from the shop or on quotation.<\/p>\n    <\/div>\n    <ol class=\"dtk-flow dtk-flow--3\">\n      <li class=\"dtk-flow-step\">\n        <h3>The first hours<\/h3>\n        <p>Colostrum is the first feed. If the cow has too little colostrum, or poor-quality colostrum, you top it up with colostrum powder. Stored colostrum is fed straight from the colostrum bag.<\/p>\n        <div class=\"dtk-prods\"><a class=\"dtk-prod\" href=\"https:\/\/dairytop.eu\/en\/product\/dairytop-calfs-choice-total-100-dry-colostrum-powder\/\"><span class=\"dtk-prod-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-cct100.webp\" width=\"310\" height=\"310\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span><span class=\"dtk-prod-n\">DairyTop Calf\u2019s Choice Total\u00ae 100 Dry colostrum powder\/colostrum<\/span><span class=\"dtk-tag dtk-tag--shop\">In the online shop<\/span><\/a><a class=\"dtk-prod\" href=\"https:\/\/dairytop.eu\/en\/product\/farm-o-san-colostrum-calf-1-5kg\/\"><span class=\"dtk-prod-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-colostrum-kalf.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-colostrum-kalf-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-colostrum-kalf.webp 900w\" sizes=\"auto, 56px\" width=\"900\" height=\"900\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span><span class=\"dtk-prod-n\">Farm-O-San Colostrum Calf 1.5KG<\/span><span class=\"dtk-tag dtk-tag--shop\">In the online shop<\/span><\/a><a class=\"dtk-prod\" href=\"https:\/\/dairytop.eu\/en\/product\/perfect-udder-colostrum-management-kit-4-liters-50-bags\/\"><span class=\"dtk-prod-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/pu-kit-4.webp\" width=\"238\" height=\"238\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span><span class=\"dtk-prod-n\">Perfect Udder\u00ae Colostrum Management Kit 4 Liters (50 bags)<\/span><span class=\"dtk-tag dtk-tag--shop\">In the online shop<\/span><\/a><\/div>\n        <a class=\"dtk-link dtk-mt\" href=\"https:\/\/dairytop.eu\/en\/colostrum-management\/\">Testing, storing and feeding colostrum <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      <\/li>\n      <li class=\"dtk-flow-step dtk-flow-step--quote\">\n        <h3>The milk-feeding period<\/h3>\n        <p>Milk replacer or whole milk. With whole milk you add vitamins and minerals, and you can acidify the milk with citric acid.<\/p>\n        <div class=\"dtk-prods\"><a class=\"dtk-prod\" href=\"#melkpoeder\"><span class=\"dtk-prod-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/pro-elite-zak.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/pro-elite-zak-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/pro-elite-zak.webp 1200w\" sizes=\"auto, 56px\" width=\"1200\" height=\"1200\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span><span class=\"dtk-prod-n\">Premium and Pro Elite milk replacers<\/span><span class=\"dtk-tag dtk-tag--quote\">On quotation<\/span><\/a><a class=\"dtk-prod\" href=\"https:\/\/dairytop.eu\/en\/product\/farm-o-san-startfit-3-5-kg\/\"><span class=\"dtk-prod-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-startfit.webp\" width=\"600\" height=\"600\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span><span class=\"dtk-prod-n\">Farm-O-San StartFit 3.5 kg<\/span><span class=\"dtk-tag dtk-tag--shop\">In the online shop<\/span><\/a><a class=\"dtk-prod\" href=\"https:\/\/dairytop.eu\/en\/product\/citric-acid\/\"><span class=\"dtk-prod-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-citroenzuur.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-citroenzuur-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-citroenzuur.webp 900w\" sizes=\"auto, 56px\" width=\"900\" height=\"900\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span><span class=\"dtk-prod-n\">Citric acid<\/span><span class=\"dtk-tag dtk-tag--shop\">In the online shop<\/span><\/a><a class=\"dtk-prod\" href=\"https:\/\/dairytop.eu\/en\/product\/hiko-calf-feeding-bucket-tk9-transparent\/\"><span class=\"dtk-prod-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-hiko-tk9.webp\" width=\"220\" height=\"220\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span><span class=\"dtk-prod-n\">HIKO Calf feeding bucket TK9 transparent<\/span><span class=\"dtk-tag dtk-tag--shop\">In the online shop<\/span><\/a><\/div>\n        \n      <\/li>\n      <li class=\"dtk-flow-step dtk-flow-step--quote\">\n        <h3>On to forage<\/h3>\n        <p>The rumen starts working during the milk-feeding period. A calf TMR and a calf pellet help the calf on its way to forage.<\/p>\n        <div class=\"dtk-prods\"><a class=\"dtk-prod\" href=\"#dairy-kalver-tmr\"><span class=\"dtk-prod-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-tmr.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-tmr-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-tmr.webp 1080w\" sizes=\"auto, 56px\" width=\"1080\" height=\"1080\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span><span class=\"dtk-prod-n\">Dairy Calf TMR<\/span><span class=\"dtk-tag dtk-tag--quote\">On quotation<\/span><\/a><a class=\"dtk-prod\" href=\"#dairy-pansen-pro\"><span class=\"dtk-prod-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-pansen-pro.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-pansen-pro-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-pansen-pro.webp 1080w\" sizes=\"auto, 56px\" width=\"1080\" height=\"1080\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span><span class=\"dtk-prod-n\">Dairy Pansen Pro<\/span><span class=\"dtk-tag dtk-tag--quote\">On quotation<\/span><\/a><\/div>\n        \n      <\/li>\n    <\/ol>\n  <\/div>\n<\/section>\n\n<section class=\"dtk-section dtk-powders\" id=\"melkpoeder\" aria-labelledby=\"mp-h\">\n  <div class=\"dtk-wrap\">\n    <div class=\"dtk-powders-head\">\n      <div>\n        <p class=\"dtk-kicker\">Milk replacer <span class=\"dtk-tag dtk-tag--quote\">On quotation<\/span><\/p>\n        <h2 id=\"mp-h\">Seven milk replacers, one piece of advice<\/h2>\n        <p class=\"dtk-mt\">Premium is based on whey powder. The Pro Elite line rises in skimmed milk powder, up to 60% in Pro Elite 60. Which milk replacer suits you depends on your calves, your goals and the way you feed, so an adviser puts together a tailored quote.<\/p>\n        <div class=\"dtk-actions dtk-mt-l\"><a class=\"dtk-btn\" href=\"https:\/\/dairytop.eu\/en\/contact\/\" data-quote=\"voeding\" data-model=\"Melkpoeder\">Advice on milk replacer<\/a><\/div>\n      <\/div>\n      <div class=\"dtk-powders-bags\">\n        <img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-premium.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-premium-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-premium.webp 1200w\" sizes=\"auto, (min-width: 900px) 18vw, 40vw\" width=\"1200\" height=\"1200\" alt=\"Bag of DairyTop Premium milk replacer\" loading=\"lazy\" decoding=\"async\">\n        <img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/pro-elite-zak.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/pro-elite-zak-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/pro-elite-zak.webp 1200w\" sizes=\"auto, (min-width: 900px) 18vw, 40vw\" width=\"1200\" height=\"1200\" alt=\"Bag of DairyTop Pro Elite milk replacer\" loading=\"lazy\" decoding=\"async\">\n      <\/div>\n    <\/div>\n    <div class=\"dtk-bags-scroll dtk-mt-l\" tabindex=\"0\" role=\"region\" aria-labelledby=\"mp-h\">\n      <table class=\"dtk-bags dtk-powder-table\">\n        <caption class=\"dtk-sr\">Milk replacers with share of skimmed milk powder, crude protein and crude fat<\/caption>\n        <thead><tr>\n          <th scope=\"col\">Milk replacer<\/th>\n          <th scope=\"col\">Skimmed milk powder<\/th>\n          <th scope=\"col\" class=\"dtk-num\">Crude protein<\/th>\n          <th scope=\"col\" class=\"dtk-num\">Crude fat<\/th>\n          <th scope=\"col\">Key feature<\/th>\n        <\/tr><\/thead>\n        <tbody>\n          <tr>\n            <th scope=\"row\"><a href=\"https:\/\/dairytop.eu\/en\/product\/premium\/\">Premium <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><\/th>\n            <td><span class=\"dtk-meter-none\">Whey powder<\/span><\/td>\n            <td class=\"dtk-num\" data-l=\"Crude protein\">21.0%<\/td>\n            <td class=\"dtk-num\" data-l=\"Crude fat\">17.0%<\/td>\n            <td class=\"dtk-powder-note\">Acidified, dissolves from 20\u00a0\u00b0C and stays stable for twenty hours. For batch feeding and automatic feeders.<\/td>\n          <\/tr>\n          <tr>\n            <th scope=\"row\"><a href=\"https:\/\/dairytop.eu\/en\/product\/victorum\/\">Victorum <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><\/th>\n            <td><span class=\"dtk-meter\"><span class=\"dtk-meter-bar\" style=\"--v:0.208\"><\/span><span class=\"dtk-meter-v\">12.5%<\/span><\/span><\/td>\n            <td class=\"dtk-num\" data-l=\"Crude protein\">23.0%<\/td>\n            <td class=\"dtk-num\" data-l=\"Crude fat\">18.0%<\/td>\n            <td class=\"dtk-powder-note\">Complete milk replacer up to three months, with whey powder and vegetable oil. Mix at 50 to 55\u00a0\u00b0C.<\/td>\n          <\/tr>\n          <tr>\n            <th scope=\"row\"><a href=\"https:\/\/dairytop.eu\/en\/product\/pro-elite-24-2\/\">Pro Elite 24 <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><\/th>\n            <td><span class=\"dtk-meter\"><span class=\"dtk-meter-bar\" style=\"--v:0.208\"><\/span><span class=\"dtk-meter-v\">12.5%<\/span><\/span><\/td>\n            <td class=\"dtk-num\" data-l=\"Crude protein\">24.0%<\/td>\n            <td class=\"dtk-num\" data-l=\"Crude fat\">20.0%<\/td>\n            <td class=\"dtk-powder-note\">High protein from whey protein concentrate and casein, with immunoglobulins.<\/td>\n          <\/tr>\n          <tr>\n            <th scope=\"row\"><a href=\"https:\/\/dairytop.eu\/en\/product\/pro-elite-30\/\">Pro Elite 30 <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><\/th>\n            <td><span class=\"dtk-meter\"><span class=\"dtk-meter-bar\" style=\"--v:0.500\"><\/span><span class=\"dtk-meter-v\">30%<\/span><\/span><\/td>\n            <td class=\"dtk-num\" data-l=\"Crude protein\">22.5%<\/td>\n            <td class=\"dtk-num\" data-l=\"Crude fat\">18.0%<\/td>\n            <td class=\"dtk-powder-note\">With linseed oil and probiotics. Suitable for automatic and batch feeding.<\/td>\n          <\/tr>\n          <tr>\n            <th scope=\"row\"><a href=\"https:\/\/dairytop.eu\/en\/product\/pro-elite-40\/\">Pro Elite 40 <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><\/th>\n            <td><span class=\"dtk-meter\"><span class=\"dtk-meter-bar\" style=\"--v:0.667\"><\/span><span class=\"dtk-meter-v\">40%<\/span><\/span><\/td>\n            <td class=\"dtk-num\" data-l=\"Crude protein\">22.5%<\/td>\n            <td class=\"dtk-num\" data-l=\"Crude fat\">18.0%<\/td>\n            <td class=\"dtk-powder-note\">Low-heat skimmed milk powder, with butter oil, linseed oil and coconut fat.<\/td>\n          <\/tr>\n          <tr>\n            <th scope=\"row\"><a href=\"https:\/\/dairytop.eu\/en\/product\/pro-elite-60\/\">Pro Elite 60 <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><\/th>\n            <td><span class=\"dtk-meter\"><span class=\"dtk-meter-bar\" style=\"--v:1.000\"><\/span><span class=\"dtk-meter-v\">60%<\/span><\/span><\/td>\n            <td class=\"dtk-num\" data-l=\"Crude protein\">24.0%<\/td>\n            <td class=\"dtk-num\" data-l=\"Crude fat\">18.5%<\/td>\n            <td class=\"dtk-powder-note\">The most powerful milk replacer in the range, for fast growth.<\/td>\n          <\/tr>\n          <tr>\n            <th scope=\"row\"><a href=\"https:\/\/dairytop.eu\/en\/product\/pro-elite-platinum\/\">Pro Elite Platinum <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><\/th>\n            <td><span class=\"dtk-meter\"><span class=\"dtk-meter-bar\" style=\"--v:0.208\"><\/span><span class=\"dtk-meter-v\">12.5%<\/span><\/span><\/td>\n            <td class=\"dtk-num\" data-l=\"Crude protein\">27.0%<\/td>\n            <td class=\"dtk-num\" data-l=\"Crude fat\">17.0%<\/td>\n            <td class=\"dtk-powder-note\">Whole milk replacer, with a fat to protein ratio of 17 to 27.<\/td>\n          <\/tr>\n        <\/tbody>\n      <\/table>\n    <\/div>\n    <p class=\"dtk-note\">Values as given in the product information in the shop. Supplied on pallets of 1,000&nbsp;kg.<\/p>\n  <\/div>\n<\/section>\n\n<section class=\"dtk-section dtk-section--tint\" id=\"krachtvoer\" aria-labelledby=\"kv-h\">\n  <div class=\"dtk-wrap\">\n    <div class=\"dtk-head\">\n      <p class=\"dtk-kicker\">Calf concentrates <span class=\"dtk-tag dtk-tag--quote\">On quotation<\/span><\/p>\n      <h2 id=\"kv-h\">On the way to a working rumen<\/h2>\n      <p>All three on quotation: Dairy Calf TMR in BigBags or 20&nbsp;kg bags, Dairy Calf TMR HL18 and Dairy Pansen Pro in BigBags. An adviser looks at which concentrate suits your forage and ration.<\/p>\n    <\/div>\n    <div class=\"dtk-mrows\">\n      <article class=\"dtk-mrow\" id=\"dairy-kalver-tmr\" aria-labelledby=\"dairy-kalver-tmr-h\">\n        <div class=\"dtk-pmedia\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-tmr.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-tmr-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-tmr.webp 1080w\" sizes=\"auto, (min-width: 900px) 50vw, 100vw\" width=\"1080\" height=\"1080\" alt=\"BigBag of Dairy Calf TMR\" loading=\"lazy\" decoding=\"async\"><\/div>\n        <div class=\"dtk-mrow-body\">\n          <h3 id=\"dairy-kalver-tmr-h\">Dairy Calf TMR<\/h3>\n          <p class=\"dtk-model-sub\">Forage and concentrate in one mix<\/p>\n          <p class=\"dtk-mt\">A calf TMR that combines forage and concentrate in the right ratio. Calves take in both from an early age, which helps get the rumen developing.<\/p>\n          <dl class=\"dtk-mrow-spec\">\n            <div><dt>Crude protein<\/dt><dd>173&nbsp;g\/kg<\/dd><\/div><div><dt>Crude fat<\/dt><dd>33&nbsp;g\/kg<\/dd><\/div><div><dt>Crude fibre<\/dt><dd>76&nbsp;g\/kg<\/dd><\/div><div><dt>Crude ash<\/dt><dd>69&nbsp;g\/kg<\/dd><\/div><div><dt>Supplied as<\/dt><dd>BigBag of approx. 750 kg or 20&nbsp;kg bags<\/dd><\/div>\n          <\/dl>\n          \n          <div class=\"dtk-actions\"><a class=\"dtk-btn dtk-btn--dark\" href=\"https:\/\/dairytop.eu\/en\/contact\/\" data-quote=\"voeding\" data-model=\"Dairy Kalver TMR\">Request a quote<\/a><a class=\"dtk-link\" href=\"https:\/\/dairytop.eu\/en\/product\/dairy-calf-tmr\/\">Product details <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><\/div>\n        <\/div>\n      <\/article>\n      <article class=\"dtk-mrow\" id=\"dairy-kalver-tmr-hl18\" aria-labelledby=\"dairy-kalver-tmr-hl18-h\">\n        <div class=\"dtk-pmedia\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-tmr-hl18.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-tmr-hl18-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-tmr-hl18.webp 1080w\" sizes=\"auto, (min-width: 900px) 50vw, 100vw\" width=\"1080\" height=\"1080\" alt=\"BigBag of Dairy Calf TMR HL18\" loading=\"lazy\" decoding=\"async\"><\/div>\n        <div class=\"dtk-mrow-body\">\n          <h3 id=\"dairy-kalver-tmr-hl18-h\">Dairy Calf TMR HL18<\/h3>\n          <p class=\"dtk-model-sub\">Calf TMR in BigBags<\/p>\n          <p class=\"dtk-mt\">A specially formulated calf TMR for the right balance between forage and concentrate. Calves take in both from an early age, which helps get the rumen developing.<\/p>\n          <dl class=\"dtk-mrow-spec\">\n            <div><dt>Crude protein<\/dt><dd>215.6&nbsp;g\/kg<\/dd><\/div><div><dt>Crude fat<\/dt><dd>34.8&nbsp;g\/kg<\/dd><\/div><div><dt>Crude fibre<\/dt><dd>118.5&nbsp;g\/kg<\/dd><\/div><div><dt>Crude ash<\/dt><dd>70.5&nbsp;g\/kg<\/dd><\/div><div><dt>Supplied as<\/dt><dd>BigBag of approx. 750 kg<\/dd><\/div>\n          <\/dl>\n          \n          <div class=\"dtk-actions\"><a class=\"dtk-btn dtk-btn--dark\" href=\"https:\/\/dairytop.eu\/en\/contact\/\" data-quote=\"voeding\" data-model=\"Dairy Kalver TMR\">Request a quote<\/a><a class=\"dtk-link\" href=\"https:\/\/dairytop.eu\/en\/product\/dairy-calf-tmr\/?attribute_soort=Dairy+Kalver+TMR+HL18\">Product details <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><\/div>\n        <\/div>\n      <\/article>\n      <article class=\"dtk-mrow\" id=\"dairy-pansen-pro\" aria-labelledby=\"dairy-pansen-pro-h\">\n        <div class=\"dtk-pmedia\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-pansen-pro.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-pansen-pro-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-pansen-pro.webp 1080w\" sizes=\"auto, (min-width: 900px) 50vw, 100vw\" width=\"1080\" height=\"1080\" alt=\"BigBag of Dairy Pansen Pro\" loading=\"lazy\" decoding=\"async\"><\/div>\n        <div class=\"dtk-mrow-body\">\n          <h3 id=\"dairy-pansen-pro-h\">Dairy Pansen Pro<\/h3>\n          <p class=\"dtk-model-sub\">Calf pellet for the milk-feeding period<\/p>\n          <p class=\"dtk-mt\">A very stable calf pellet, developed for the milk-feeding period. Suitable for feeding ad lib alongside hay, and also alongside a TMR ration of maize and grass silage.<\/p>\n          <dl class=\"dtk-mrow-spec\">\n            <div><dt>Crude protein<\/dt><dd>17.3%<\/dd><\/div><div><dt>Crude fat<\/dt><dd>3.8%<\/dd><\/div><div><dt>Crude fibre<\/dt><dd>12.7%<\/dd><\/div><div><dt>Crude ash<\/dt><dd>8.0%<\/dd><\/div><div><dt>Starch and sugars<\/dt><dd>21.6%<\/dd><\/div><div><dt>Supplied as<\/dt><dd>BigBag of approx. 1,000 kg<\/dd><\/div>\n          <\/dl>\n          \n          <div class=\"dtk-actions\"><a class=\"dtk-btn dtk-btn--dark\" href=\"https:\/\/dairytop.eu\/en\/contact\/\" data-quote=\"voeding\" data-model=\"Dairy Pansen Pro\">Request a quote<\/a><a class=\"dtk-link\" href=\"https:\/\/dairytop.eu\/en\/product\/dairy-pansen-pro\/\">Product details <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><\/div>\n        <\/div>\n      <\/article>\n    <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"dtk-section\" id=\"webshop\" aria-labelledby=\"shop-h\">\n  <div class=\"dtk-wrap\">\n    <div class=\"dtk-head\">\n      <p class=\"dtk-kicker\">Ready to order <span class=\"dtk-tag dtk-tag--shop\">In the online shop<\/span><\/p>\n      <h2 id=\"shop-h\">Complementary feeds<\/h2>\n      <p>Sorted by the moment you need them. Add them straight to your cart, or view the product in the shop first.<\/p>\n    <\/div>\n    <div class=\"dtk-needs\" data-prices=\"\/wp-json\/wc\/store\/v1\/products\" data-lang=\"en\" data-excl=\"excl. VAT\" data-from=\"From\">\n      <section class=\"dtk-need\" id=\"biest-aanvullen\" aria-labelledby=\"biest-aanvullen-h\">\n        <div class=\"dtk-need-head\"><h3 id=\"biest-aanvullen-h\">Topping up colostrum<\/h3><p>When the cow has too little colostrum, or poor-quality colostrum.<\/p><\/div>\n        <ul class=\"dtk-pcards\">\n          <li class=\"dtk-pcard\">\n            <a class=\"dtk-pcard-link\" href=\"https:\/\/dairytop.eu\/en\/product\/dairytop-calfs-choice-total-100-dry-colostrum-powder\/\">\n              <span class=\"dtk-pcard-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-cct100.webp\" width=\"310\" height=\"310\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span>\n              <span class=\"dtk-pcard-n\">DairyTop Calf\u2019s Choice Total\u00ae 100 Dry colostrum powder\/colostrum<\/span>\n              <span class=\"dtk-pcard-d\">Dried bovine colostrum to replace or supplement colostrum, rich in colostrum fat.<\/span>\n            <\/a>\n            <div class=\"dtk-pcard-buy\">\n              <span class=\"dtk-price\" data-price=\"6473\"><\/span>\n              <a class=\"dtk-btn dtk-btn--sm dtk-btn--outline\" href=\"https:\/\/dairytop.eu\/en\/product\/dairytop-calfs-choice-total-100-dry-colostrum-powder\/\">Choose options<\/a>\n            <\/div>\n          <\/li>\n          <li class=\"dtk-pcard\">\n            <a class=\"dtk-pcard-link\" href=\"https:\/\/dairytop.eu\/en\/product\/farm-o-san-colostrum-calf-1-5kg\/\">\n              <span class=\"dtk-pcard-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-colostrum-kalf.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-colostrum-kalf-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-colostrum-kalf.webp 900w\" sizes=\"auto, (min-width: 1000px) 16vw, 45vw\" width=\"900\" height=\"900\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span>\n              <span class=\"dtk-pcard-n\">Farm-O-San Colostrum Calf 1.5KG<\/span>\n              <span class=\"dtk-pcard-d\">Colostrum powder with 20% immunoglobulins, to replace or enrich colostrum.<\/span>\n            <\/a>\n            <div class=\"dtk-pcard-buy\">\n              <span class=\"dtk-price\" data-price=\"5888\"><\/span>\n              <a class=\"dtk-btn dtk-btn--sm\" href=\"https:\/\/dairytop.eu\/en\/cart\/?add-to-cart=5888\" rel=\"nofollow\" aria-label=\"Add to cart: Farm-O-San Colostrum Calf 1.5KG\">Add to cart<\/a>\n            <\/div>\n          <\/li>\n          <li class=\"dtk-pcard\">\n            <a class=\"dtk-pcard-link\" href=\"https:\/\/dairytop.eu\/en\/product\/farm-o-san-trycop-3-5kg\/\">\n              <span class=\"dtk-pcard-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-trycop.webp\" width=\"220\" height=\"220\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span>\n              <span class=\"dtk-pcard-n\">Farm-O-San Trycop 3.5KG<\/span>\n              <span class=\"dtk-pcard-d\">Proteins for the gut wall. You start with the very first colostrum feed.<\/span>\n            <\/a>\n            <div class=\"dtk-pcard-buy\">\n              <span class=\"dtk-price\" data-price=\"5692\"><\/span>\n              <a class=\"dtk-btn dtk-btn--sm\" href=\"https:\/\/dairytop.eu\/en\/cart\/?add-to-cart=5692\" rel=\"nofollow\" aria-label=\"Add to cart: Farm-O-San Trycop 3.5KG\">Add to cart<\/a>\n            <\/div>\n          <\/li>\n        <\/ul>\n      <\/section>\n      <section class=\"dtk-need\" id=\"diarree\" aria-labelledby=\"diarree-h\">\n        <div class=\"dtk-need-head\"><h3 id=\"diarree-h\">Scours and fluid loss<\/h3><p>Electrolytes and energy to restore the fluid balance.<\/p><\/div>\n        <ul class=\"dtk-pcards\">\n          <li class=\"dtk-pcard\">\n            <a class=\"dtk-pcard-link\" href=\"https:\/\/dairytop.eu\/en\/product\/dairytop-fit-extra\/\">\n              <span class=\"dtk-pcard-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-fit-extra.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-fit-extra-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-fit-extra.webp 900w\" sizes=\"auto, (min-width: 1000px) 16vw, 45vw\" width=\"900\" height=\"900\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span>\n              <span class=\"dtk-pcard-n\">DairyTop Fit Extra<\/span>\n              <span class=\"dtk-pcard-d\">Dietetic feed with electrolytes, sugars and buffers. 5&nbsp;kg tub.<\/span>\n            <\/a>\n            <div class=\"dtk-pcard-buy\">\n              <span class=\"dtk-price\" data-price=\"5279\"><\/span>\n              <a class=\"dtk-btn dtk-btn--sm\" href=\"https:\/\/dairytop.eu\/en\/cart\/?add-to-cart=5279\" rel=\"nofollow\" aria-label=\"Add to cart: DairyTop Fit Extra\">Add to cart<\/a>\n            <\/div>\n          <\/li>\n          <li class=\"dtk-pcard\">\n            <a class=\"dtk-pcard-link\" href=\"https:\/\/dairytop.eu\/en\/product\/dairytop-el-mix-old\/\">\n              <span class=\"dtk-pcard-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-el-mix.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-el-mix-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-el-mix.webp 900w\" sizes=\"auto, (min-width: 1000px) 16vw, 45vw\" width=\"900\" height=\"900\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span>\n              <span class=\"dtk-pcard-n\">DairyTop El-Mix<\/span>\n              <span class=\"dtk-pcard-d\">Electrolyte mix to replace salts and fluid. 20&nbsp;kg bag.<\/span>\n            <\/a>\n            <div class=\"dtk-pcard-buy\">\n              <span class=\"dtk-price\" data-price=\"7036\"><\/span>\n              <a class=\"dtk-btn dtk-btn--sm\" href=\"https:\/\/dairytop.eu\/en\/cart\/?add-to-cart=7036\" rel=\"nofollow\" aria-label=\"Add to cart: DairyTop El-Mix\">Add to cart<\/a>\n            <\/div>\n          <\/li>\n          <li class=\"dtk-pcard\">\n            <a class=\"dtk-pcard-link\" href=\"https:\/\/dairytop.eu\/en\/product\/farm-o-san-rediar-3-5-kg\/\">\n              <span class=\"dtk-pcard-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-rediar.webp\" width=\"450\" height=\"450\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span>\n              <span class=\"dtk-pcard-n\">Farm-O-San Rediar 3.5 kg<\/span>\n              <span class=\"dtk-pcard-d\">Dietetic feed that stabilises the fluid and electrolyte balance. 3.5&nbsp;kg.<\/span>\n            <\/a>\n            <div class=\"dtk-pcard-buy\">\n              <span class=\"dtk-price\" data-price=\"6201\"><\/span>\n              <a class=\"dtk-btn dtk-btn--sm\" href=\"https:\/\/dairytop.eu\/en\/cart\/?add-to-cart=6201\" rel=\"nofollow\" aria-label=\"Add to cart: Farm-O-San Rediar 3.5 kg\">Add to cart<\/a>\n            <\/div>\n          <\/li>\n          <li class=\"dtk-pcard\">\n            <a class=\"dtk-pcard-link\" href=\"https:\/\/dairytop.eu\/en\/product\/farm-o-san-powerfit-3-5-kg\/\">\n              <span class=\"dtk-pcard-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-powerfit.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-powerfit-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-powerfit.webp 900w\" sizes=\"auto, (min-width: 1000px) 16vw, 45vw\" width=\"900\" height=\"900\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span>\n              <span class=\"dtk-pcard-n\">Farm-O-San Powerfit 3.5 kg<\/span>\n              <span class=\"dtk-pcard-d\">Electrolytes with dextrose, between feeds or during transport and hot weather. 3.5&nbsp;kg.<\/span>\n            <\/a>\n            <div class=\"dtk-pcard-buy\">\n              <span class=\"dtk-price\" data-price=\"6020\"><\/span>\n              <a class=\"dtk-btn dtk-btn--sm\" href=\"https:\/\/dairytop.eu\/en\/cart\/?add-to-cart=6020\" rel=\"nofollow\" aria-label=\"Add to cart: Farm-O-San Powerfit 3.5 kg\">Add to cart<\/a>\n            <\/div>\n          <\/li>\n        <\/ul>\n      <\/section>\n      <section class=\"dtk-need\" id=\"vitaminen\" aria-labelledby=\"vitaminen-h\">\n        <div class=\"dtk-need-head\"><h3 id=\"vitaminen-h\">Vitamins and minerals<\/h3><p>Especially when you feed whole milk, or when changing feed.<\/p><\/div>\n        <ul class=\"dtk-pcards\">\n          <li class=\"dtk-pcard\">\n            <a class=\"dtk-pcard-link\" href=\"https:\/\/dairytop.eu\/en\/product\/farm-o-san-startfit-3-5-kg\/\">\n              <span class=\"dtk-pcard-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-startfit.webp\" width=\"600\" height=\"600\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span>\n              <span class=\"dtk-pcard-n\">Farm-O-San StartFit 3.5 kg<\/span>\n              <span class=\"dtk-pcard-d\">Vitamins, minerals and trace elements, mixed into the milk. 3.5&nbsp;kg.<\/span>\n            <\/a>\n            <div class=\"dtk-pcard-buy\">\n              <span class=\"dtk-price\" data-price=\"6983\"><\/span>\n              <a class=\"dtk-btn dtk-btn--sm\" href=\"https:\/\/dairytop.eu\/en\/cart\/?add-to-cart=6983\" rel=\"nofollow\" aria-label=\"Add to cart: Farm-O-San StartFit 3.5 kg\">Add to cart<\/a>\n            <\/div>\n          <\/li>\n          <li class=\"dtk-pcard\">\n            <a class=\"dtk-pcard-link\" href=\"https:\/\/dairytop.eu\/en\/product\/agrivet-vitamix\/\">\n              <span class=\"dtk-pcard-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-vitamix.webp\" width=\"600\" height=\"600\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span>\n              <span class=\"dtk-pcard-n\">Agrivet Vitamix<\/span>\n              <span class=\"dtk-pcard-d\">Vitamins, minerals and amino acids, for example when changing feed.<\/span>\n            <\/a>\n            <div class=\"dtk-pcard-buy\">\n              <span class=\"dtk-price\" data-price=\"10686\"><\/span>\n              <a class=\"dtk-btn dtk-btn--sm\" href=\"https:\/\/dairytop.eu\/en\/cart\/?add-to-cart=10686\" rel=\"nofollow\" aria-label=\"Add to cart: Agrivet Vitamix\">Add to cart<\/a>\n            <\/div>\n          <\/li>\n          <li class=\"dtk-pcard\">\n            <a class=\"dtk-pcard-link\" href=\"https:\/\/dairytop.eu\/en\/product\/lick-stone-for-young-cattle\/\">\n              <span class=\"dtk-pcard-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-liksteen.webp\" width=\"390\" height=\"390\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span>\n              <span class=\"dtk-pcard-n\">Lick Stone for Young Cattle<\/span>\n              <span class=\"dtk-pcard-d\">Lick block with the essential minerals for young stock.<\/span>\n            <\/a>\n            <div class=\"dtk-pcard-buy\">\n              <span class=\"dtk-price\" data-price=\"5594\"><\/span>\n              <a class=\"dtk-btn dtk-btn--sm\" href=\"https:\/\/dairytop.eu\/en\/cart\/?add-to-cart=5594\" rel=\"nofollow\" aria-label=\"Add to cart: Lick Stone for Young Cattle\">Add to cart<\/a>\n            <\/div>\n          <\/li>\n        <\/ul>\n      <\/section>\n      <section class=\"dtk-need\" id=\"aanzuren\" aria-labelledby=\"aanzuren-h\">\n        <div class=\"dtk-need-head\"><h3 id=\"aanzuren-h\">Acidifying milk<\/h3><p>For ad lib feeding or better handling of whole milk.<\/p><\/div>\n        <ul class=\"dtk-pcards\">\n          <li class=\"dtk-pcard\">\n            <a class=\"dtk-pcard-link\" href=\"https:\/\/dairytop.eu\/en\/product\/citric-acid\/\">\n              <span class=\"dtk-pcard-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-citroenzuur.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-citroenzuur-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-citroenzuur.webp 900w\" sizes=\"auto, (min-width: 1000px) 16vw, 45vw\" width=\"900\" height=\"900\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span>\n              <span class=\"dtk-pcard-n\">Citric acid<\/span>\n              <span class=\"dtk-pcard-d\">Pure citric acid. Standard dose 1&nbsp;gram per litre of milk. 25&nbsp;kg bag.<\/span>\n            <\/a>\n            <div class=\"dtk-pcard-buy\">\n              <span class=\"dtk-price\" data-price=\"6520\"><\/span>\n              <a class=\"dtk-btn dtk-btn--sm\" href=\"https:\/\/dairytop.eu\/en\/cart\/?add-to-cart=6520\" rel=\"nofollow\" aria-label=\"Add to cart: Citric acid\">Add to cart<\/a>\n            <\/div>\n          <\/li>\n        <\/ul>\n      <\/section>\n      <section class=\"dtk-need\" id=\"koe\" aria-labelledby=\"koe-h\">\n        <div class=\"dtk-need-head\"><h3 id=\"koe-h\">For the cow after calving<\/h3><p>Once, straight after calving and before the cow gets drinking water.<\/p><\/div>\n        <ul class=\"dtk-pcards\">\n          <li class=\"dtk-pcard\">\n            <a class=\"dtk-pcard-link\" href=\"https:\/\/dairytop.eu\/en\/product\/farm-o-san-reviva-15-kg\/\">\n              <span class=\"dtk-pcard-img\"><img loading=\"lazy\" src=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/vo-reviva.webp\" width=\"220\" height=\"220\" alt=\"\" loading=\"lazy\" decoding=\"async\"><\/span>\n              <span class=\"dtk-pcard-n\">Farm-O-san Reviva 15 kg<\/span>\n              <span class=\"dtk-pcard-d\">Drink straight after calving, rich in calcium and energy. 15&nbsp;kg tub.<\/span>\n            <\/a>\n            <div class=\"dtk-pcard-buy\">\n              <span class=\"dtk-price\" data-price=\"6989\"><\/span>\n              <a class=\"dtk-btn dtk-btn--sm\" href=\"https:\/\/dairytop.eu\/en\/cart\/?add-to-cart=6989\" rel=\"nofollow\" aria-label=\"Add to cart: Farm-O-san Reviva 15 kg\">Add to cart<\/a>\n            <\/div>\n          <\/li>\n        <\/ul>\n      <\/section>\n    <\/div>\n    <div class=\"dtk-links dtk-mt-l\"><a class=\"dtk-link\" href=\"https:\/\/dairytop.eu\/en\/product-category\/calf-nutrition\/complementary-feed\/\">All complementary feeds in the shop <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><\/div>\n    <p class=\"dtk-note\">Not sure which product you need? Call us on <a href=\"tel:+31593241712\">+31 (0)593 24 17 12<\/a>. With a sick calf, always consult your vet.<\/p>\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\">Frequently asked questions about calf nutrition<\/h2>\n      <p>Can\u2019t find your question? Our advisers will be glad to help.<\/p>\n    <\/div>\n    <div class=\"dtk-faq-list\">\n      <details><summary><span>Why can\u2019t I just order milk replacer and concentrates in the shop?<\/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>Which milk replacer or concentrate suits you depends on your calves, your forage and how you feed: by bucket, automatic feeder or in batches. A DairyTop adviser works this out with you and sends a quote. The complementary products you can order straight from the shop.<\/p><\/div><\/details>\n      <details><summary><span>What does the number in Pro Elite mean?<\/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>For Pro Elite 30, 40 and 60, the number is the share of skimmed milk powder: 30, 40 or 60%. Pro Elite 24 is different: there the number is the 24% protein content, with 12.5% skimmed milk powder.<\/p><\/div><\/details>\n      <details><summary><span>Which milk replacer suits an automatic feeder?<\/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>According to the product information, Premium and Pro Elite 30 are particularly suited to automatic feeders. Premium dissolves from 20\u00a0\u00b0C and stays stable for twenty hours, so it also suits batch feeding.<\/p><\/div><\/details>\n      <details><summary><span>How do I acidify whole milk with citric acid?<\/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>The standard dose is 1 gram of citric acid per litre of milk. The milk should be no warmer than 30\u00a0\u00b0C, or it will curdle. The optimum pH is between 5.5 and 5.8.<\/p><\/div><\/details>\n      <details><summary><span>What is the difference between Dairy Pansen Pro and Dairy Calf TMR?<\/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>Dairy Pansen Pro is a calf pellet you feed ad lib alongside hay, or alongside a ration of maize and grass silage. Dairy Calf TMR combines forage and concentrate in one mix, so the calf takes in both in the right ratio.<\/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\/home-kalf-emmers.webp\" srcset=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/home-kalf-emmers-640.webp 640w, https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/home-kalf-emmers.webp 2200w\" sizes=\"auto, (min-width: 900px) 50vw, 100vw\" width=\"2200\" height=\"1467\" alt=\"A calf drinks from a blue DairyTop feed bucket at the front of a calf pen\" loading=\"lazy\" decoding=\"async\"><\/div>\n  <div class=\"dtk-contact-body\">\n    <h2 id=\"contact-h\">Advice on calf nutrition<\/h2>\n    <p>Thinking of switching milk replacer, or looking for a concentrate that suits your forage? Tell us how many calves you have and how you feed them now. An adviser will think it through with you and send a quote.<\/p>\n    <div class=\"dtk-actions\">\n      <a class=\"dtk-btn dtk-btn--dark\" href=\"https:\/\/dairytop.eu\/en\/contact\/\" data-quote=\"voeding\">Request a quote<\/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\">Quote or advice<\/p>\n        <p class=\"dtk-q-panel-t\" data-q-panel-title>Calf housing<\/p>\n        <ol class=\"dtk-q-panel-steps\">\n          <li>Tell us what you need, in as much or as little detail as you like<\/li>\n          <li>A DairyTop adviser gets in touch with you<\/li>\n          <li>You receive a quote, or we come and see you on the farm<\/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>Step 1 of 4<\/p>\n        <button type=\"button\" class=\"dtk-q-close\" data-q-close aria-label=\"Close form\"><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\">How can we help?<\/span><\/legend>\n        <p class=\"dtk-q-label\">What would you like a quote or advice on?<\/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 Calf Barn<\/span><span class=\"dtk-q-choice-s\">Outdoor barn, 6 to 8 calves per pen<\/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 Calf Box XL<\/span><span class=\"dtk-q-choice-s\">Liftable unit with four lying spaces<\/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\">Pasteurising colostrum<\/span><span class=\"dtk-q-choice-s\">Matilda or an Adda pasteuriser<\/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\">Calf nutrition<\/span><span class=\"dtk-q-choice-s\">Milk replacer, Dairy Pansen Pro or Dairy Calf 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\">Made to measure, or something else<\/span><span class=\"dtk-q-choice-s\">A barn or fit-out built to measure<\/span><\/span><\/label>\n        <\/div>\n        <div class=\"dtk-q-sub\" data-q-sub=\"oks\" hidden>\n          <p class=\"dtk-q-label\">Which size?<\/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 Stal (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 Stal 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 Stal 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>Not sure yet<\/span><\/label><\/div>\n        <\/div>\n        <div class=\"dtk-q-sub\" data-q-sub=\"quattro\" hidden>\n          <p class=\"dtk-q-label\">Which version?<\/p>\n          <div class=\"dtk-q-chips\"><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_quattro\" value=\"Zonder klapbodem\"><span>Without hinged floor<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_quattro\" value=\"Met klapbodem\"><span>With hinged floor<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_quattro\" value=\"Weet ik nog niet\" checked><span>Not sure yet<\/span><\/label><\/div>\n        <\/div>\n        <div class=\"dtk-q-sub\" data-q-sub=\"biest\" hidden>\n          <p class=\"dtk-q-label\">Which model?<\/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>Not sure yet<\/span><\/label><\/div>\n        <\/div>\n        <div class=\"dtk-q-sub\" data-q-sub=\"voeding\" hidden>\n          <p class=\"dtk-q-label\">About what?<\/p>\n          <div class=\"dtk-q-chips\"><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_voeding\" value=\"Melkpoeder\"><span>Milk replacer<\/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 Calf TMR<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"uitvoering_voeding\" value=\"Weet ik nog niet\" checked><span>Not sure yet<\/span><\/label><\/div>\n        <\/div>\n        <p class=\"dtk-q-label\">What would you prefer?<\/p>\n        <div class=\"dtk-q-chips\"><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"voorkeur\" value=\"Offerte\" checked><span>Send me a quote<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"voorkeur\" value=\"Bezoek\"><span>Have an adviser visit<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"voorkeur\" value=\"Terugbellen\"><span>Call me back<\/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\">Tell us about your situation<\/span><\/legend>\n        <p class=\"dtk-q-hint\">Everything on this step is optional. The more we know, the more specific our advice.<\/p>\n        <div class=\"dtk-q-grid\">\n          <label class=\"dtk-q-field\"><span>Number of calves<\/span><input type=\"number\" name=\"aantal\" min=\"1\" max=\"2000\" inputmode=\"numeric\" placeholder=\"For example 12\"><\/label>\n          <div class=\"dtk-q-field\" data-q-housing><span id=\"q-ruimte\">Available space in metres<\/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=\"Length\" aria-label=\"Length in metres\"><span aria-hidden=\"true\">\u00d7<\/span><input type=\"text\" name=\"breedte\" inputmode=\"decimal\" pattern=\"[0-9]+([,.][0-9]+)?\" maxlength=\"8\" placeholder=\"Width\" aria-label=\"Width in metres\"><\/div>\n          <\/div>\n        <\/div>\n        <p class=\"dtk-q-label\" data-q-housing>Where will the housing go?<\/p>\n        <div class=\"dtk-q-chips\" data-q-housing><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"plek\" value=\"Buiten\"><span>Outdoors<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"plek\" value=\"Binnen in een stal\"><span>Inside a barn<\/span><\/label><label class=\"dtk-q-chip\"><input type=\"radio\" name=\"plek\" value=\"Weet ik nog niet\" checked><span>Not sure yet<\/span><\/label><\/div>\n        <label class=\"dtk-q-field\"><span>When would you like to start using it?<\/span>\n          <select name=\"planning\"><option value=\"\">Please choose<\/option><option value=\"Zo snel mogelijk\">As soon as possible<\/option><option value=\"Binnen drie maanden\">Within three months<\/option><option value=\"Later dit jaar\">Later this year<\/option><option value=\"Ik ori\u00ebnteer me nog\">Just looking for now<\/option><\/select><\/label>\n        <label class=\"dtk-q-field\"><span>Your plans or other details<\/span><textarea name=\"toelichting\" rows=\"4\" maxlength=\"2000\" placeholder=\"For example: we want to replace our individual pens and keep calves outdoors in groups of six.\"><\/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\">Photos of your yard or barn<\/span><\/legend>\n        <p class=\"dtk-q-hint\">Optional. A few photos of the site help our adviser work out what suits you. Up to 6 photos, max. 10 MB each.<\/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=\"Choose photos\">\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\">Drag photos here or <u>choose files<\/u><\/span>\n          <span class=\"dtk-q-drop-s\">JPG, PNG, HEIC or 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=\"Selected photos\"><\/ul>\n      <\/fieldset>\n\n      <fieldset class=\"dtk-q-step\" data-q-step=\"4\" hidden>\n        <legend><span class=\"dtk-q-h\" tabindex=\"-1\">How can we reach you?<\/span><\/legend>\n        <div class=\"dtk-q-grid\">\n          <label class=\"dtk-q-field\"><span>Name <abbr title=\"required\">*<\/abbr><\/span><input type=\"text\" name=\"naam\" autocomplete=\"name\" required maxlength=\"80\"><em class=\"dtk-q-err\" hidden>Please enter your name.<\/em><\/label>\n          <label class=\"dtk-q-field\"><span>Farm or company name<\/span><input type=\"text\" name=\"bedrijf\" autocomplete=\"organization\" maxlength=\"120\"><\/label>\n          <label class=\"dtk-q-field\"><span>Email address <abbr title=\"required\">*<\/abbr><\/span><input type=\"email\" name=\"email\" autocomplete=\"email\" required maxlength=\"120\"><em class=\"dtk-q-err\" hidden>Please enter a valid email address.<\/em><\/label>\n          <label class=\"dtk-q-field\"><span>Phone number <abbr title=\"required\">*<\/abbr><\/span><input type=\"tel\" name=\"telefoon\" autocomplete=\"tel\" required maxlength=\"30\"><em class=\"dtk-q-err\" hidden>Please enter your phone number.<\/em><\/label>\n          <label class=\"dtk-q-field\"><span>Postcode<\/span><input type=\"text\" name=\"postcode\" autocomplete=\"postal-code\" maxlength=\"12\"><\/label>\n          <label class=\"dtk-q-field\"><span>Town<\/span><input type=\"text\" name=\"plaats\" autocomplete=\"address-level2\" maxlength=\"80\"><\/label>\n        <\/div>\n        <label class=\"dtk-q-hp\" aria-hidden=\"true\">Leave this field empty<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label>\n        <p class=\"dtk-q-privacy\">DairyTop B.V. uses your details and photos only to answer your request and keeps them no longer than necessary. You can read more in our <a href=\"https:\/\/dairytop.eu\/en\/important-information\/\">privacy statement<\/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\">Thank you, we have received your request<\/p>\n        <p>A DairyTop adviser will contact you as soon as possible. In a hurry? Call us on <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>Close<\/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>Back<\/button>\n        <button type=\"button\" class=\"dtk-btn dtk-btn--dark\" data-q-next>Next<\/button>\n        <button type=\"submit\" class=\"dtk-btn\" data-q-submit hidden>Send request<\/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 Calf Barn\"},\"quattro\":{\"src\":\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/qk-hoog.webp\",\"title\":\"Quattro Calf Box XL\"},\"maatwerk\":{\"src\":\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksxl-front.webp\",\"title\":\"Made to measure\"},\"advies\":{\"src\":\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/oksng-rij.webp\",\"title\":\"Calf housing\"},\"biest\":{\"src\":\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/pu-matilda.webp\",\"title\":\"Pasteurising colostrum\"},\"voeding\":{\"src\":\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/pro-elite-zak.webp\",\"title\":\"Calf nutrition\"}}<\/template>\n<\/dialog>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"FAQPage\",\"mainEntity\":[{\"@type\":\"Question\",\"name\":\"Why can\u2019t I just order milk replacer and concentrates in the shop?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Which milk replacer or concentrate suits you depends on your calves, your forage and how you feed: by bucket, automatic feeder or in batches. A DairyTop adviser works this out with you and sends a quote. The complementary products you can order straight from the shop.\"}},{\"@type\":\"Question\",\"name\":\"What does the number in Pro Elite mean?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"For Pro Elite 30, 40 and 60, the number is the share of skimmed milk powder: 30, 40 or 60%. Pro Elite 24 is different: there the number is the 24% protein content, with 12.5% skimmed milk powder.\"}},{\"@type\":\"Question\",\"name\":\"Which milk replacer suits an automatic feeder?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"According to the product information, Premium and Pro Elite 30 are particularly suited to automatic feeders. Premium dissolves from 20\u00a0\u00b0C and stays stable for twenty hours, so it also suits batch feeding.\"}},{\"@type\":\"Question\",\"name\":\"How do I acidify whole milk with citric acid?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The standard dose is 1 gram of citric acid per litre of milk. The milk should be no warmer than 30\u00a0\u00b0C, or it will curdle. The optimum pH is between 5.5 and 5.8.\"}},{\"@type\":\"Question\",\"name\":\"What is the difference between Dairy Pansen Pro and Dairy Calf TMR?\",\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Dairy Pansen Pro is a calf pellet you feed ad lib alongside hay, or alongside a ration of maize and grass silage. Dairy Calf TMR combines forage and concentrate in one mix, so the calf takes in both in the right ratio.\"}}]}]}<\/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 Calf nutrition Milk replacer, concentrates and more Calf nutrition From the first colostrum to the move onto forage. We tailor milk replacer and concentrates to your farm; the complementary products you order straight from the shop. See the milk replacersAdvice on feeding On quotation, with advice 7 milk replacers Skimmed milk powder (Pro Elite [&hellip;]<\/p>\n","protected":false},"author":584,"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":"unboxed","site-sidebar-style":"unboxed","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":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"default","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","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-12488","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>Calf nutrition | DairyTop<\/title>\n<meta name=\"description\" content=\"Calf nutrition from DairyTop: Premium and Pro Elite milk replacers and concentrates (Dairy Pansen Pro, Dairy Calf TMR) on quotation, complementary feeds straight from the shop.\" \/>\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\/kaelberfuetterung\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Calf nutrition | DairyTop\" \/>\n<meta property=\"og:description\" content=\"Calf nutrition from DairyTop: Premium and Pro Elite milk replacers and concentrates (Dairy Pansen Pro, Dairy Calf TMR) on quotation, complementary feeds straight from the shop.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dairytop.eu\/de\/kaelberfuetterung\/\" \/>\n<meta property=\"og:site_name\" content=\"Dairytop\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-15T18:45:11+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/home-melkpoeder.webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberfuetterung\\\/\",\"url\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberfuetterung\\\/\",\"name\":\"Calf nutrition | DairyTop\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dairytop.eu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberfuetterung\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberfuetterung\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/dairytop.eu\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/home-melkpoeder.webp\",\"datePublished\":\"2026-10-15T09:27:02+00:00\",\"dateModified\":\"2026-10-15T18:45:11+00:00\",\"description\":\"Calf nutrition from DairyTop: Premium and Pro Elite milk replacers and concentrates (Dairy Pansen Pro, Dairy Calf TMR) on quotation, complementary feeds straight from the shop.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberfuetterung\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberfuetterung\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberfuetterung\\\/#primaryimage\",\"url\":\"https:\\\/\\\/dairytop.eu\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/home-melkpoeder.webp\",\"contentUrl\":\"https:\\\/\\\/dairytop.eu\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/home-melkpoeder.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/kaelberfuetterung\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dairytop.eu\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calf nutrition\"}]},{\"@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\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dairytop.eu\\\/#organization\",\"name\":\"DairyTop\",\"url\":\"https:\\\/\\\/dairytop.eu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@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\":\"DairyTop\"},\"image\":{\"@id\":\"https:\\\/\\\/dairytop.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Calf nutrition | DairyTop","description":"Calf nutrition from DairyTop: Premium and Pro Elite milk replacers and concentrates (Dairy Pansen Pro, Dairy Calf TMR) on quotation, complementary feeds straight from the shop.","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\/kaelberfuetterung\/","og_locale":"en_US","og_type":"article","og_title":"Calf nutrition | DairyTop","og_description":"Calf nutrition from DairyTop: Premium and Pro Elite milk replacers and concentrates (Dairy Pansen Pro, Dairy Calf TMR) on quotation, complementary feeds straight from the shop.","og_url":"https:\/\/dairytop.eu\/de\/kaelberfuetterung\/","og_site_name":"Dairytop","article_modified_time":"2026-10-15T18:45:11+00:00","og_image":[{"url":"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/home-melkpoeder.webp","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/dairytop.eu\/de\/kaelberfuetterung\/","url":"https:\/\/dairytop.eu\/de\/kaelberfuetterung\/","name":"Calf nutrition | DairyTop","isPartOf":{"@id":"https:\/\/dairytop.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dairytop.eu\/de\/kaelberfuetterung\/#primaryimage"},"image":{"@id":"https:\/\/dairytop.eu\/de\/kaelberfuetterung\/#primaryimage"},"thumbnailUrl":"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/home-melkpoeder.webp","datePublished":"2026-10-15T09:27:02+00:00","dateModified":"2026-10-15T18:45:11+00:00","description":"Calf nutrition from DairyTop: Premium and Pro Elite milk replacers and concentrates (Dairy Pansen Pro, Dairy Calf TMR) on quotation, complementary feeds straight from the shop.","breadcrumb":{"@id":"https:\/\/dairytop.eu\/de\/kaelberfuetterung\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dairytop.eu\/de\/kaelberfuetterung\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dairytop.eu\/de\/kaelberfuetterung\/#primaryimage","url":"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/home-melkpoeder.webp","contentUrl":"https:\/\/dairytop.eu\/wp-content\/uploads\/2026\/10\/home-melkpoeder.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/dairytop.eu\/de\/kaelberfuetterung\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dairytop.eu\/de\/"},{"@type":"ListItem","position":2,"name":"Calf nutrition"}]},{"@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":"en-US"},{"@type":"Organization","@id":"https:\/\/dairytop.eu\/#organization","name":"DairyTop","url":"https:\/\/dairytop.eu\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@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":"DairyTop"},"image":{"@id":"https:\/\/dairytop.eu\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/dairytop.eu\/en\/wp-json\/wp\/v2\/pages\/12488","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dairytop.eu\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dairytop.eu\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dairytop.eu\/en\/wp-json\/wp\/v2\/users\/584"}],"replies":[{"embeddable":true,"href":"https:\/\/dairytop.eu\/en\/wp-json\/wp\/v2\/comments?post=12488"}],"version-history":[{"count":19,"href":"https:\/\/dairytop.eu\/en\/wp-json\/wp\/v2\/pages\/12488\/revisions"}],"predecessor-version":[{"id":12815,"href":"https:\/\/dairytop.eu\/en\/wp-json\/wp\/v2\/pages\/12488\/revisions\/12815"}],"wp:attachment":[{"href":"https:\/\/dairytop.eu\/en\/wp-json\/wp\/v2\/media?parent=12488"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}