/*
Theme Name: DJzoeker
Theme URI: https://djzoeker.nl/
Description: Child theme van Twenty Twenty-Five voor DJzoeker, met licht en donker thema. Iconen: Lucide (https://lucide.dev), ISC-licentie, zie assets/icons/LICENSE-lucide.txt.
Author: DJzoeker
Template: twentytwentyfive
Version: 2.0.1
Requires at least: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: djzoeker
*/

/* Donker thema: expliciete keuze via de knop */
html[data-theme="dark"] {
  --wp--preset--color--bg: #100D1E;
  --wp--preset--color--surface: #1A1630;
  --wp--preset--color--surface-2: #241F40;
  --wp--preset--color--text: #F4F2FB;
  --wp--preset--color--text-muted: #B6B0CC;
  --wp--preset--color--primary: #A98BFF;
  --wp--preset--color--on-primary: #120C24;
  --wp--preset--color--accent: #FF6FA8;
  --wp--preset--color--cta: #FF8A3D;
  --wp--preset--color--cta-hover: #FFA466;
  --wp--preset--color--on-cta: #1A0F08;
  --wp--preset--color--border: #353052;
  --wp--preset--color--border-strong: #7D7699;
  --wp--preset--color--focus: #C4B0FF;
  --wp--preset--color--success: #4ADE80;
  --wp--preset--color--error: #FF7B7B;
  --wp--preset--color--hero-start: #3B1E9E;
  --wp--preset--color--hero-end: #8E1747;
  --wp--preset--color--on-hero: #FFFFFF;
  --wp--preset--color--cta-hero: #FF8A3D;
  --wp--preset--color--on-cta-hero: #1A0F08;
  --wp--preset--color--tint: #161229;
  --wp--preset--color--mesh-1: #2B1F63;
  --wp--preset--color--mesh-2: #3D1533;
  --wp--preset--color--base: #100D1E;
  --wp--preset--color--contrast: #F4F2FB;
  color-scheme: dark;
}
html[data-theme="light"] { color-scheme: light; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
  --wp--preset--color--bg: #100D1E;
  --wp--preset--color--surface: #1A1630;
  --wp--preset--color--surface-2: #241F40;
  --wp--preset--color--text: #F4F2FB;
  --wp--preset--color--text-muted: #B6B0CC;
  --wp--preset--color--primary: #A98BFF;
  --wp--preset--color--on-primary: #120C24;
  --wp--preset--color--accent: #FF6FA8;
  --wp--preset--color--cta: #FF8A3D;
  --wp--preset--color--cta-hover: #FFA466;
  --wp--preset--color--on-cta: #1A0F08;
  --wp--preset--color--border: #353052;
  --wp--preset--color--border-strong: #7D7699;
  --wp--preset--color--focus: #C4B0FF;
  --wp--preset--color--success: #4ADE80;
  --wp--preset--color--error: #FF7B7B;
  --wp--preset--color--hero-start: #3B1E9E;
  --wp--preset--color--hero-end: #8E1747;
  --wp--preset--color--on-hero: #FFFFFF;
  --wp--preset--color--cta-hero: #FF8A3D;
  --wp--preset--color--on-cta-hero: #1A0F08;
  --wp--preset--color--tint: #161229;
  --wp--preset--color--mesh-1: #2B1F63;
  --wp--preset--color--mesh-2: #3D1533;
  --wp--preset--color--base: #100D1E;
  --wp--preset--color--contrast: #F4F2FB;
  }
}

/* Iconen: Lucide (ISC), als CSS-masker zodat ze de themakleur volgen */
:root { --djz-check: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22 /%3E %3Cpath d=%22m16 9-5.5 5.5L8 12%22 /%3E %3C/svg%3E"); --djz-euro: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M4 10h12%22 /%3E %3Cpath d=%22M4 14h9%22 /%3E %3Cpath d=%22M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2%22 /%3E %3C/svg%3E"); --djz-chevron: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22m6 9 6 6 6-6%22 /%3E %3C/svg%3E"); --djz-headphones: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3%22 /%3E %3C/svg%3E"); }
.djz-i-heart { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5%22 /%3E %3C/svg%3E"); }
.djz-i-briefcase-business { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M12 12h.01%22 /%3E %3Cpath d=%22M16 6V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2%22 /%3E %3Cpath d=%22M22 13a18.15 18.15 0 0 1-20 0%22 /%3E %3Crect width=%2220%22 height=%2214%22 x=%222%22 y=%226%22 rx=%222%22 /%3E %3C/svg%3E"); }
.djz-i-cake { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M20 21v-8a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8%22 /%3E %3Cpath d=%22M4 16s.5-1 2-1 2.5 2 4 2 2.5-2 4-2 2.5 2 4 2 2-1 2-1%22 /%3E %3Cpath d=%22M2 21h20%22 /%3E %3Cpath d=%22M7 8v3%22 /%3E %3Cpath d=%22M12 8v3%22 /%3E %3Cpath d=%22M17 8v3%22 /%3E %3Cpath d=%22M7 4h.01%22 /%3E %3Cpath d=%22M12 4h.01%22 /%3E %3Cpath d=%22M17 4h.01%22 /%3E %3C/svg%3E"); }
.djz-i-sparkles { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z%22 /%3E %3Cpath d=%22M20 2v4%22 /%3E %3Cpath d=%22M22 4h-4%22 /%3E %3Ccircle cx=%224%22 cy=%2220%22 r=%222%22 /%3E %3C/svg%3E"); }
.djz-i-music { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M21 16V3a1 1 0 0 0-1.28-.96l-10 2.917a1 1 0 0 0-.72.96V19%22 /%3E %3Ccircle cx=%2218%22 cy=%2216%22 r=%223%22 /%3E %3Ccircle cx=%226%22 cy=%2219%22 r=%223%22 /%3E %3C/svg%3E"); }
.djz-i-disc-3 { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22 /%3E %3Cpath d=%22M6 12c0-1.7.7-3.2 1.8-4.2%22 /%3E %3Ccircle cx=%2212%22 cy=%2212%22 r=%222%22 /%3E %3Cpath d=%22M18 12c0 1.7-.7 3.2-1.8 4.2%22 /%3E %3C/svg%3E"); }
.djz-i-radio { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M16.247 7.761a6 6 0 0 1 0 8.478%22 /%3E %3Cpath d=%22M19.075 4.933a10 10 0 0 1 0 14.134%22 /%3E %3Cpath d=%22M4.925 19.067a10 10 0 0 1 0-14.134%22 /%3E %3Cpath d=%22M7.753 16.239a6 6 0 0 1 0-8.478%22 /%3E %3Ccircle cx=%2212%22 cy=%2212%22 r=%222%22 /%3E %3C/svg%3E"); }
.djz-i-speaker { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Crect width=%2216%22 height=%2220%22 x=%224%22 y=%222%22 rx=%222%22 /%3E %3Cpath d=%22M12 6h.01%22 /%3E %3Ccircle cx=%2212%22 cy=%2214%22 r=%224%22 /%3E %3Cpath d=%22M12 14h.01%22 /%3E %3C/svg%3E"); }
.djz-i-clock { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22 /%3E %3Cpath d=%22M12 6v6l4 2%22 /%3E %3C/svg%3E"); }
.djz-i-calendar-days { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M8 2v3%22 /%3E %3Cpath d=%22M16 2v3%22 /%3E %3Crect x=%223%22 y=%223%22 width=%2218%22 height=%2218%22 rx=%222%22 /%3E %3Cpath d=%22M3 9h18%22 /%3E %3Cpath d=%22M8 13h.01%22 /%3E %3Cpath d=%22M12 13h.01%22 /%3E %3Cpath d=%22M16 13h.01%22 /%3E %3Cpath d=%22M8 17h.01%22 /%3E %3Cpath d=%22M12 17h.01%22 /%3E %3Cpath d=%22M16 17h.01%22 /%3E %3C/svg%3E"); }
.djz-i-route { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Ccircle cx=%226%22 cy=%2219%22 r=%223%22 /%3E %3Cpath d=%22M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15%22 /%3E %3Ccircle cx=%2218%22 cy=%225%22 r=%223%22 /%3E %3C/svg%3E"); }
.djz-i-user-round-check { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M2 21a8 8 0 0 1 13.292-6%22 /%3E %3Ccircle cx=%2210%22 cy=%228%22 r=%225%22 /%3E %3Cpath d=%22m16 19 2 2 4-4%22 /%3E %3C/svg%3E"); }
.djz-i-messages-square { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M16 10a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 14.286V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z%22 /%3E %3Cpath d=%22M20 9a2 2 0 0 1 2 2v10.286a.71.71 0 0 1-1.212.502l-2.202-2.202A2 2 0 0 0 17.172 19H10a2 2 0 0 1-2-2v-1%22 /%3E %3C/svg%3E"); }
.djz-i-file-text { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z%22 /%3E %3Cpath d=%22M14 2v5a1 1 0 0 0 1 1h5%22 /%3E %3Cpath d=%22M10 9H8%22 /%3E %3Cpath d=%22M16 13H8%22 /%3E %3Cpath d=%22M16 17H8%22 /%3E %3C/svg%3E"); }
.djz-i-map-pin { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0%22 /%3E %3Ccircle cx=%2212%22 cy=%2210%22 r=%223%22 /%3E %3C/svg%3E"); }
.djz-i-clipboard-list { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Crect width=%228%22 height=%224%22 x=%228%22 y=%222%22 rx=%221%22 ry=%221%22 /%3E %3Cpath d=%22M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2%22 /%3E %3Cpath d=%22M12 11h4%22 /%3E %3Cpath d=%22M12 16h4%22 /%3E %3Cpath d=%22M8 11h.01%22 /%3E %3Cpath d=%22M8 16h.01%22 /%3E %3C/svg%3E"); }
.djz-i-search { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22m21 21-4.34-4.34%22 /%3E %3Ccircle cx=%2211%22 cy=%2211%22 r=%228%22 /%3E %3C/svg%3E"); }
.djz-i-list-checks { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M13 5h8%22 /%3E %3Cpath d=%22M13 12h8%22 /%3E %3Cpath d=%22M13 19h8%22 /%3E %3Cpath d=%22m3 17 2 2 4-4%22 /%3E %3Cpath d=%22m3 7 2 2 4-4%22 /%3E %3C/svg%3E"); }
.djz-i-users { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2%22 /%3E %3Cpath d=%22M16 3.128a4 4 0 0 1 0 7.744%22 /%3E %3Cpath d=%22M22 21v-2a4 4 0 0 0-3-3.87%22 /%3E %3Ccircle cx=%229%22 cy=%227%22 r=%224%22 /%3E %3C/svg%3E"); }
.djz-i-check { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M20 6 9 17l-5-5%22 /%3E %3C/svg%3E"); }
.djz-i-circle-check { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Ccircle cx=%2212%22 cy=%2212%22 r=%2210%22 /%3E %3Cpath d=%22m16 9-5.5 5.5L8 12%22 /%3E %3C/svg%3E"); }
.djz-i-euro { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M4 10h12%22 /%3E %3Cpath d=%22M4 14h9%22 /%3E %3Cpath d=%22M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12c0 4.4 3.5 8 7.8 8 2 0 3.8-.8 5.2-2%22 /%3E %3C/svg%3E"); }
.djz-i-chevron-down { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22m6 9 6 6 6-6%22 /%3E %3C/svg%3E"); }
.djz-i-arrow-right { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M5 12h14%22 /%3E %3Cpath d=%22m12 5 7 7-7 7%22 /%3E %3C/svg%3E"); }
.djz-i-headphones { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-7a9 9 0 0 1 18 0v7a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3%22 /%3E %3C/svg%3E"); }
.djz-i-mic { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M12 19v3%22 /%3E %3Cpath d=%22M19 10v2a7 7 0 0 1-14 0v-2%22 /%3E %3Crect x=%229%22 y=%222%22 width=%226%22 height=%2213%22 rx=%223%22 /%3E %3C/svg%3E"); }
.djz-i-shield-check { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z%22 /%3E %3Cpath d=%22m9 12 2 2 4-4%22 /%3E %3C/svg%3E"); }
.djz-i-wallet { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M19 7V4a1 1 0 0 0-1-1H5a2 2 0 0 0 0 4h15a1 1 0 0 1 1 1v4h-3a2 2 0 0 0 0 4h3a1 1 0 0 0 1-1v-2a1 1 0 0 0-1-1%22 /%3E %3Cpath d=%22M3 5v14a2 2 0 0 0 2 2h15a1 1 0 0 0 1-1v-4%22 /%3E %3C/svg%3E"); }
.djz-i-receipt { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M12 17V7%22 /%3E %3Cpath d=%22M16 8h-6a2 2 0 0 0 0 4h4a2 2 0 0 1 0 4H8%22 /%3E %3Cpath d=%22M4 3a1 1 0 0 1 1-1 1.3 1.3 0 0 1 .7.2l.933.6a1.3 1.3 0 0 0 1.4 0l.934-.6a1.3 1.3 0 0 1 1.4 0l.933.6a1.3 1.3 0 0 0 1.4 0l.933-.6a1.3 1.3 0 0 1 1.4 0l.934.6a1.3 1.3 0 0 0 1.4 0l.933-.6A1.3 1.3 0 0 1 19 2a1 1 0 0 1 1 1v18a1 1 0 0 1-1 1 1.3 1.3 0 0 1-.7-.2l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.934.6a1.3 1.3 0 0 1-1.4 0l-.933-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-1.4 0l-.934-.6a1.3 1.3 0 0 0-1.4 0l-.933.6a1.3 1.3 0 0 1-.7.2 1 1 0 0 1-1-1z%22 /%3E %3C/svg%3E"); }
.djz-i-lightbulb { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5%22 /%3E %3Cpath d=%22M9 18h6%22 /%3E %3Cpath d=%22M10 22h4%22 /%3E %3C/svg%3E"); }
.djz-i-sliders-horizontal { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M10 5H3%22 /%3E %3Cpath d=%22M12 19H3%22 /%3E %3Cpath d=%22M14 3v4%22 /%3E %3Cpath d=%22M16 17v4%22 /%3E %3Cpath d=%22M21 12h-9%22 /%3E %3Cpath d=%22M21 19h-5%22 /%3E %3Cpath d=%22M21 5h-7%22 /%3E %3Cpath d=%22M8 10v4%22 /%3E %3Cpath d=%22M8 12H3%22 /%3E %3C/svg%3E"); }
.djz-i-send { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z%22 /%3E %3Cpath d=%22m21.854 2.147-10.94 10.939%22 /%3E %3C/svg%3E"); }
.djz-i-party-popper { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M5.8 11.3 2 22l10.7-3.79%22 /%3E %3Cpath d=%22M4 3h.01%22 /%3E %3Cpath d=%22M22 8h.01%22 /%3E %3Cpath d=%22M15 2h.01%22 /%3E %3Cpath d=%22M22 20h.01%22 /%3E %3Cpath d=%22m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10%22 /%3E %3Cpath d=%22m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17%22 /%3E %3Cpath d=%22m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7%22 /%3E %3Cpath d=%22M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z%22 /%3E %3C/svg%3E"); }
.djz-i-tent { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M3.5 21 14 3%22 /%3E %3Cpath d=%22M20.5 21 10 3%22 /%3E %3Cpath d=%22M15.5 21 12 15l-3.5 6%22 /%3E %3Cpath d=%22M2 21h20%22 /%3E %3C/svg%3E"); }
.djz-i-scale { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M12 3v18%22 /%3E %3Cpath d=%22m19 8 3 8a5 5 0 0 1-6 0zV7%22 /%3E %3Cpath d=%22M3 7h1a17 17 0 0 0 8-2 17 17 0 0 0 8 2h1%22 /%3E %3Cpath d=%22m5 8 3 8a5 5 0 0 1-6 0zV7%22 /%3E %3Cpath d=%22M7 21h10%22 /%3E %3C/svg%3E"); }
.djz-i-beer { --djz-i: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23000%22 stroke-width=%222%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22 %3E %3Cpath d=%22M17 11h1a3 3 0 0 1 0 6h-1%22 /%3E %3Cpath d=%22M9 12v6%22 /%3E %3Cpath d=%22M13 12v6%22 /%3E %3Cpath d=%22M14 7.5c-1 0-1.44.5-3 .5s-2-.5-3-.5-1.72.5-2.5.5a2.5 2.5 0 0 1 0-5c.78 0 1.57.5 2.5.5S9.44 2 11 2s2 1.5 3 1.5 1.72-.5 2.5-.5a2.5 2.5 0 0 1 0 5c-.78 0-1.5-.5-2.5-.5Z%22 /%3E %3Cpath d=%22M5 8v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8%22 /%3E %3C/svg%3E"); }
/* ===================== Tokens ===================== */
:root {
  --djz-r-sm: 10px; --djz-r: 14px; --djz-r-lg: 18px;
  --djz-s-1: .5rem; --djz-s-2: .75rem; --djz-s-3: 1rem; --djz-s-4: 1.5rem; --djz-s-5: 2rem; --djz-s-6: 3rem;
  --djz-shadow-sm: 0 1px 2px rgba(26,21,48,.05);
  --djz-shadow: 0 1px 2px rgba(26,21,48,.04), 0 6px 20px -6px rgba(26,21,48,.10);
  --djz-shadow-lg: 0 2px 4px rgba(26,21,48,.04), 0 24px 48px -16px rgba(60,30,140,.22);
  --djz-measure: 70ch;
  --djz-header-h: 68px;
}
html[data-theme="dark"] {
  --djz-shadow-sm: 0 1px 2px rgba(0,0,0,.3);
  --djz-shadow: 0 1px 2px rgba(0,0,0,.35), 0 8px 24px -8px rgba(0,0,0,.5);
  --djz-shadow-lg: 0 2px 4px rgba(0,0,0,.35), 0 24px 56px -16px rgba(0,0,0,.7);
}
@media (prefers-color-scheme: dark) { :root:not([data-theme]) { --djz-shadow: 0 1px 2px rgba(0,0,0,.35), 0 8px 24px -8px rgba(0,0,0,.5); --djz-shadow-lg: 0 2px 4px rgba(0,0,0,.35), 0 24px 56px -16px rgba(0,0,0,.7); } }

html { scroll-padding-top: calc(var(--djz-header-h) + 1.5rem); }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: clip; }
.screen-reader-text:focus { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--text); }
p, li { text-wrap: pretty; }
h1, h2, h3 { text-wrap: balance; }
strong { font-weight: 600; }
::selection { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--on-primary); }

/* Focus */
:where(a, button, input, select, textarea, summary, label, [tabindex]):focus-visible {
  outline: 3px solid var(--wp--preset--color--focus); outline-offset: 3px; border-radius: 6px;
}
.wp-element-button:focus-visible, .wp-block-button__link:focus-visible { border-radius: 999px; }

/* Knoppen */
.wp-element-button, .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; box-sizing: border-box;
  box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 6px 16px -6px rgba(194,65,12,.55);
  transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.wp-element-button:hover, .wp-block-button__link:hover { transform: translateY(-1px); }
html[data-theme="dark"] :where(.wp-element-button, .wp-block-button__link) { box-shadow: 0 6px 18px -8px rgba(255,138,61,.55); }
.wp-block-button.is-style-outline > .wp-block-button__link {
  background: transparent; color: var(--wp--preset--color--text); border: 1.5px solid var(--wp--preset--color--border-strong); box-shadow: none; padding: calc(.95rem - 1.5px) calc(1.6rem - 1.5px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--text); border-color: var(--wp--preset--color--text); }
.wp-block-buttons { gap: .75rem; }
.djz-btn-arrow { width: 18px; height: 18px; flex-shrink: 0; transition: transform .15s ease; }
.wp-element-button:hover .djz-btn-arrow { transform: translateX(2px); }

/* ===================== Header ===================== */
.djz-header {
  position: sticky; top: 0; z-index: 50;
  background: color-mix(in srgb, var(--wp--preset--color--bg) 82%, transparent);
  -webkit-backdrop-filter: saturate(180%) blur(14px); backdrop-filter: saturate(180%) blur(14px);
  border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--border) 80%, transparent);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .djz-header { background: var(--wp--preset--color--bg); } }
.admin-bar .djz-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .djz-header { top: 46px; } }
.djz-header__inner { min-height: var(--djz-header-h); gap: 1rem; }
.djz-logo { display: inline-flex; align-items: center; text-decoration: none; line-height: 0; flex-shrink: 0; border-radius: 8px; }
.djz-logo svg { height: 28px; width: auto; display: block; }
.djz-header .djz-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--text); text-decoration: none; padding: .5rem .8rem; border-radius: 999px; transition: background-color .15s ease, color .15s ease; }
.djz-header .djz-nav .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--surface-2); color: var(--wp--preset--color--text); }
.djz-header .djz-nav .current-menu-item > a, .djz-header .djz-nav a[aria-current="page"] { color: var(--wp--preset--color--primary); background: var(--wp--preset--color--surface-2); }
.djz-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--bg) !important; color: var(--wp--preset--color--text) !important; padding: 1.25rem clamp(1.25rem, 5vw, 2.5rem); }
.djz-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4rem; }
.djz-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { font-family: var(--wp--preset--font-family--heading); font-size: 1.75rem; font-weight: 700; letter-spacing: -.02em; gap: .25rem; align-items: flex-start; width: 100%; }
.djz-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--wp--preset--color--border); }
.djz-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: .9rem 0; border-radius: 0; background: none; width: 100%; }
.djz-header .wp-block-navigation__responsive-container-open, .djz-header .wp-block-navigation__responsive-container-close {
  color: var(--wp--preset--color--text); width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 999px;
  border: 1px solid var(--wp--preset--color--border); background: var(--wp--preset--color--surface);
}
.djz-header .wp-block-navigation__responsive-container-close { display: inline-flex; top: 12px; right: 0; }
@media (max-width: 599.98px) { .djz-header .wp-block-navigation__responsive-container-open { display: inline-flex; } }
.djz-actions { display: flex; align-items: center; gap: .5rem; flex-shrink: 0; }
.djz-header-cta.wp-element-button { padding: .65rem 1.15rem; font-size: .95rem; white-space: nowrap; min-height: 44px; box-shadow: none; }

/* Thema-knop: rond icoon */
.theme-toggle {
  display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border-radius: 999px; cursor: pointer;
  background: var(--wp--preset--color--surface); color: var(--wp--preset--color--text);
  border: 1px solid var(--wp--preset--color--border-strong);
  transition: background-color .15s ease, transform .2s ease;
}
.theme-toggle:hover { background: var(--wp--preset--color--surface-2); }
.theme-toggle:active { transform: scale(.94); }
.theme-toggle svg { width: 20px; height: 20px; grid-area: 1 / 1; transition: transform .35s ease, opacity .2s ease; }
.theme-toggle .icon-sun { opacity: 0; transform: rotate(-90deg) scale(.6); }
html[data-theme="dark"] .theme-toggle .icon-sun { opacity: 1; transform: none; }
html[data-theme="dark"] .theme-toggle .icon-moon { opacity: 0; transform: rotate(90deg) scale(.6); }
.theme-toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

@media (max-width: 599px) {
  .djz-logo svg { height: 23px; }
  .djz-hide-xs { display: none; }
  .djz-header__inner { gap: .35rem; }
  .djz-actions { gap: .35rem; }
  .djz-header-cta.wp-element-button { padding: .6rem .95rem; font-size: .9rem; }
}

/* ===================== Hero ===================== */
.djz-hero {
  position: relative; isolation: isolate; overflow: hidden;
  background:
    radial-gradient(55% 75% at 8% 0%, var(--wp--preset--color--mesh-1) 0%, transparent 70%),
    radial-gradient(45% 65% at 100% 15%, var(--wp--preset--color--mesh-2) 0%, transparent 70%),
    radial-gradient(40% 50% at 60% 110%, var(--wp--preset--color--mesh-1) 0%, transparent 70%),
    var(--wp--preset--color--bg);
  border-bottom: 1px solid var(--wp--preset--color--border);
  padding-top: clamp(3rem, 8vw, 6.5rem) !important; padding-bottom: clamp(3rem, 8vw, 6rem) !important;
}
.djz-hero::before { /* subtiel raster */
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background-image: linear-gradient(var(--wp--preset--color--border) 1px, transparent 1px), linear-gradient(90deg, var(--wp--preset--color--border) 1px, transparent 1px);
  background-size: 56px 56px; opacity: .35;
  -webkit-mask-image: radial-gradient(70% 60% at 50% 30%, #000 0%, transparent 75%); mask-image: radial-gradient(70% 60% at 50% 30%, #000 0%, transparent 75%);
}
.djz-hero__inner { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: center; }
@media (min-width: 960px) { .djz-hero__inner.has-aside { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); } }
.djz-hero__copy > * { margin-block: 0; }
.djz-hero__copy > * + * { margin-top: 1.25rem; }
.djz-hero h1 { max-width: 18ch; }
.djz-hero__inner:not(.has-aside) h1 { max-width: 22ch; }
.djz-hero__copy > p { font-size: var(--wp--preset--font-size--large); line-height: 1.55; color: var(--wp--preset--color--text-muted); max-width: 58ch; }
.djz-hero__copy > p.djz-small { font-size: var(--wp--preset--font-size--small); max-width: 60ch; }
.djz-hero__copy .wp-block-buttons { margin-top: 2rem; }
.djz-hero__copy a:not(.wp-element-button) { color: var(--wp--preset--color--primary); font-weight: 500; }
.djz-hero--form { padding-bottom: clamp(5rem, 10vw, 7.5rem) !important; }

/* Quickstart-kaart */
.djz-quick {
  background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--djz-r-lg);
  box-shadow: var(--djz-shadow-lg); padding: clamp(1.25rem, 3vw, 2rem); margin: 0;
}
.djz-quick fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.djz-quick legend { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.3rem; letter-spacing: -.015em; padding: 0; margin-bottom: 1rem; color: var(--wp--preset--color--text); }
.djz-chips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.djz-chip { position: relative; display: block; }
.djz-chips .djz-chip:last-child:nth-child(odd) { grid-column: 1 / -1; }
.djz-chip input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.djz-chip span {
  display: flex; align-items: center; gap: .6rem; min-height: 52px; padding: .65rem .85rem; box-sizing: border-box;
  border: 1.5px solid var(--wp--preset--color--border-strong); border-radius: var(--djz-r-sm); background: var(--wp--preset--color--surface);
  font-weight: 500; font-size: 1rem; line-height: 1.25; color: var(--wp--preset--color--text); transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.djz-chip span::before { content: ""; width: 20px; height: 20px; flex-shrink: 0; background: var(--wp--preset--color--primary); -webkit-mask: var(--djz-i) center / contain no-repeat; mask: var(--djz-i) center / contain no-repeat; }
.djz-chip input:hover + span { border-color: var(--wp--preset--color--primary); }
.djz-chip input:checked + span { border-color: var(--wp--preset--color--primary); background: var(--wp--preset--color--surface-2); box-shadow: 0 0 0 1.5px var(--wp--preset--color--primary) inset; font-weight: 600; }
.djz-chip input:focus-visible + span { outline: 3px solid var(--wp--preset--color--focus); outline-offset: 2px; }
.djz-quick .wp-element-button { width: 100%; margin-top: 1.25rem; font-size: 1.05rem; min-height: 54px; }
.djz-quick__note { margin: .85rem 0 0; text-align: center; color: var(--wp--preset--color--text-muted); font-size: var(--wp--preset--font-size--small); display: flex; align-items: center; justify-content: center; gap: .4rem; }
.djz-quick__note::before { content: ""; width: 16px; height: 16px; background: var(--wp--preset--color--success); -webkit-mask: var(--djz-i) center / contain no-repeat; mask: var(--djz-i) center / contain no-repeat; }

/* Zo werkt het (strook in hero) */
.djz-how { list-style: none; margin: clamp(2.5rem, 6vw, 4rem) 0 0 !important; padding: 0; display: grid; gap: .75rem; counter-reset: djzhow; }
@media (min-width: 782px) { .djz-how { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; } }
.djz-how__label { margin: clamp(2.5rem, 6vw, 4rem) 0 0 !important; font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--text-muted); }
.djz-how__label + .djz-how { margin-top: .85rem !important; }
.djz-how li { counter-increment: djzhow; display: flex; align-items: center; gap: .85rem; padding: .9rem 1rem; border-radius: var(--djz-r); background: color-mix(in srgb, var(--wp--preset--color--surface) 75%, transparent); border: 1px solid var(--wp--preset--color--border); font-weight: 600; line-height: 1.35; }
.djz-how li::before { content: counter(djzhow); display: grid; place-items: center; width: 34px; height: 34px; flex-shrink: 0; border-radius: 999px; background: var(--wp--preset--color--primary); color: var(--wp--preset--color--on-primary); font: 700 .95rem/1 var(--wp--preset--font-family--heading); }

/* ===================== Secties ===================== */
.djz-section { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
.djz-section--tint { background: var(--wp--preset--color--tint); border-top: 1px solid var(--wp--preset--color--border); border-bottom: 1px solid var(--wp--preset--color--border); }
.djz-section + .djz-section--tint, .djz-section--tint + .djz-section { border-top: 0; }
.djz-section > h2 { margin-top: 0; margin-bottom: 0; }
.djz-section > h2 + * { margin-top: 1rem; }
.djz-section > h2 + p { font-size: 1.125rem; color: var(--wp--preset--color--text-muted); }
.djz-section > :where(h2, h3, p, ul, ol, .wp-block-table, .wp-block-details) { max-width: min(var(--djz-measure), var(--wp--style--global--content-size, 720px)); }
.djz-section > * + h3 { margin-top: 2.25rem; }
.djz-section > h3 { margin-bottom: .5rem; }
.djz-section > h3 + p { margin-top: 0; }
.djz-section > ul:not([class*="djz-"]) li, .djz-section > ol:not([class*="djz-"]) li, .djz-prose li { margin-block: .4rem; }
.djz-section > ul:not([class*="djz-"]) li::marker, .djz-prose ul li::marker { color: var(--wp--preset--color--primary); }
.djz-section > ol:not([class*="djz-"]) li::marker { color: var(--wp--preset--color--primary); font-weight: 700; }
.djz-more { font-weight: 600; }
.djz-more a { text-decoration: none; display: inline-flex; align-items: center; gap: .3rem; }
.djz-more a:hover { text-decoration: underline; text-underline-offset: 4px; }
.djz-muted, .djz-small { color: var(--wp--preset--color--text-muted); font-size: var(--wp--preset--font-size--small); }
.djz-eyebrow { font-size: .8rem !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--primary) !important; margin-bottom: .5rem !important; }

/* Inhoudsopgave als pills */
.djz-toc { list-style: none; padding: 0 !important; display: flex; flex-wrap: wrap; gap: .5rem; max-width: none !important; }
.djz-toc li { margin: 0 !important; }
.djz-toc a { display: inline-flex; align-items: center; min-height: 40px; padding: .35rem .95rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--border-strong); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--text); text-decoration: none; font-size: .95rem; font-weight: 500; transition: border-color .15s ease, color .15s ease; }
.djz-toc a:hover { border-color: var(--wp--preset--color--primary); color: var(--wp--preset--color--primary); }

/* Icoon-badge */
.djz-ico { position: relative; }
.djz-card::before, .djz-steps li::before, .djz-checks li::before, .djz-pricelist li::before { content: ""; display: block; flex-shrink: 0; background: var(--wp--preset--color--primary); -webkit-mask: var(--djz-i, none) center / contain no-repeat; mask: var(--djz-i, none) center / contain no-repeat; }

/* Kaartenraster */
.djz-grid { display: grid; gap: clamp(1rem, 2vw, 1.25rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); margin-top: clamp(1.75rem, 4vw, 2.5rem) !important; }
.djz-grid--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.djz-card {
  position: relative; display: flex; flex-direction: column; gap: 0; margin: 0 !important;
  background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--djz-r-lg);
  padding: clamp(1.25rem, 2.5vw, 1.75rem); padding-top: calc(clamp(1.25rem, 2.5vw, 1.75rem) + 60px); box-shadow: var(--djz-shadow-sm);
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.djz-card::before { position: absolute; top: clamp(1.25rem, 2.5vw, 1.75rem); left: calc(clamp(1.25rem, 2.5vw, 1.75rem) + 11px); width: 24px; height: 24px; margin-top: 11px; z-index: 1; }
.djz-card::after { content: ""; position: absolute; top: clamp(1.25rem, 2.5vw, 1.75rem); left: clamp(1.25rem, 2.5vw, 1.75rem); width: 46px; height: 46px; border-radius: 12px; background: var(--wp--preset--color--surface-2); border: 1px solid var(--wp--preset--color--border); }
.djz-card:hover { box-shadow: var(--djz-shadow); border-color: var(--wp--preset--color--border-strong); }
.djz-card > * { margin: 0; }
.djz-card > h3 { font-size: 1.2rem; margin-bottom: .5rem; }
.djz-card > p { color: var(--wp--preset--color--text-muted); font-size: 1rem; line-height: 1.6; }
.djz-card > p + p, .djz-card > ul { margin-top: .6rem; }
.djz-card > ul { padding-left: 1.1rem; font-size: 1rem; color: var(--wp--preset--color--text-muted); }
.djz-card > ul li { margin-block: .3rem; }
.djz-card > ul li strong { color: var(--wp--preset--color--text); }
.djz-card > .djz-more { margin-top: auto; padding-top: 1rem; font-size: .975rem; color: var(--wp--preset--color--text); display: flex; flex-wrap: wrap; gap: .35rem 1rem; }
.djz-card > .djz-more a { position: relative; }
.djz-card--link > .djz-more a:first-child::after { content: ""; position: absolute; inset: -100vmax; z-index: 0; } /* hele kaart klikbaar wanneer er één link is */
.djz-card--link { cursor: pointer; overflow: hidden; }
.djz-card--link:hover { transform: translateY(-2px); }
.djz-card--link > .djz-more a { color: var(--wp--preset--color--primary); }

/* Stappen */
.djz-steps { list-style: none; padding: 0 !important; margin-top: clamp(1.75rem, 4vw, 2.5rem) !important; display: grid; gap: clamp(1rem, 2vw, 1.25rem); grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); counter-reset: djzstep; max-width: none !important; }
.djz-steps > li {
  counter-increment: djzstep; position: relative; margin: 0 !important;
  background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--djz-r-lg);
  padding: 1.5rem; padding-top: 5.25rem; color: var(--wp--preset--color--text-muted); font-size: 1rem; line-height: 1.6; box-shadow: var(--djz-shadow-sm);
}
.djz-steps > li::before { position: absolute; top: 1.5rem; left: 1.5rem; width: 46px; height: 46px; border-radius: 12px; background: var(--wp--preset--color--primary); -webkit-mask: none; mask: none; }
.djz-steps > li > .djz-step-ico { display: none; }
.djz-steps > li::after { content: counter(djzstep, decimal-leading-zero); position: absolute; top: 1.35rem; right: 1.5rem; font: 800 2.25rem/1 var(--wp--preset--font-family--heading); letter-spacing: -.04em; color: var(--wp--preset--color--border); }
.djz-steps > li > strong:first-child { display: block; color: var(--wp--preset--color--text); font-family: var(--wp--preset--font-family--heading); font-size: 1.15rem; letter-spacing: -.015em; line-height: 1.25; margin-bottom: .35rem; }
.djz-steps > li .djz-sico { position: absolute; top: calc(1.5rem + 11px); left: calc(1.5rem + 11px); width: 24px; height: 24px; background: var(--wp--preset--color--on-primary); -webkit-mask: var(--djz-i) center / contain no-repeat; mask: var(--djz-i) center / contain no-repeat; }

/* Checklist-raster */
.djz-checks { list-style: none; padding: 0 !important; margin-top: clamp(1.5rem, 4vw, 2.25rem) !important; display: grid; gap: .85rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); max-width: none !important; }
.djz-checks > li { --djz-i: var(--djz-check); display: grid; grid-template-columns: 28px 1fr; gap: .85rem; align-items: start; margin: 0 !important; padding: 1.15rem 1.25rem; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--djz-r); color: var(--wp--preset--color--text-muted); font-size: 1rem; line-height: 1.55; }
.djz-checks > li::before { width: 28px; height: 28px; background: var(--wp--preset--color--success); grid-row: span 2; }
.djz-checks > li > strong:first-child { display: block; color: var(--wp--preset--color--text); font-weight: 600; margin-bottom: .15rem; }
.djz-section--tint .djz-checks > li, .djz-section--tint .djz-card, .djz-section--tint .djz-steps > li { box-shadow: none; }

/* Prijsteaser */
.djz-price {
  margin-top: clamp(1.75rem, 4vw, 2.5rem) !important; display: grid; gap: clamp(1.5rem, 4vw, 3rem); align-items: center;
  background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: calc(var(--djz-r-lg) + 4px);
  padding: clamp(1.5rem, 4vw, 2.75rem); box-shadow: var(--djz-shadow); position: relative; overflow: hidden;
}
.djz-price::after { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg, var(--wp--preset--color--primary), var(--wp--preset--color--accent)); }
@media (min-width: 900px) { .djz-price { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.djz-price > * { margin: 0 !important; }
.djz-price__text > * { margin-block: 0; }
.djz-price__text > * + * { margin-top: 1rem; }
.djz-price__text p { color: var(--wp--preset--color--text-muted); }
.djz-pricelist { list-style: none; padding: 0 !important; margin: 0 !important; display: grid; gap: .75rem; }
.djz-pricelist > li { --djz-i: var(--djz-euro); display: grid; grid-template-columns: 44px 1fr; gap: 1rem; align-items: center; margin: 0 !important; padding: 1rem 1.15rem; border-radius: var(--djz-r); background: var(--wp--preset--color--tint); border: 1px solid var(--wp--preset--color--border); font-weight: 500; line-height: 1.45; color: var(--wp--preset--color--text); }
.djz-pricelist > li::before { width: 22px; height: 22px; justify-self: center; }
.djz-pricelist > li { background-image: radial-gradient(circle at 22px 50%, var(--wp--preset--color--surface) 0 21px, transparent 22px); background-position: 1.15rem 0; background-repeat: no-repeat; }

/* Notitie & kader */
.djz-note { background: var(--wp--preset--color--surface-2); border: 1px solid var(--wp--preset--color--border); border-left: 4px solid var(--wp--preset--color--primary); border-radius: var(--djz-r); padding: 1.1rem 1.35rem; }
.djz-note > :first-child { margin-top: 0; } .djz-note > :last-child { margin-bottom: 0; }
.djz-section--tint .djz-note { background: var(--wp--preset--color--surface); }
.djz-box { background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--djz-r-lg); padding: clamp(1.25rem, 3vw, 2rem); box-shadow: var(--djz-shadow-sm); }
.djz-box > :first-child { margin-top: 0; } .djz-box > :last-child { margin-bottom: 0; }

/* CTA-band */
.djz-cta {
  position: relative; overflow: hidden; isolation: isolate; margin-top: clamp(2rem, 5vw, 3rem) !important;
  background: linear-gradient(120deg, var(--wp--preset--color--hero-start) 0%, var(--wp--preset--color--hero-end) 100%);
  color: var(--wp--preset--color--on-hero); border-radius: calc(var(--djz-r-lg) + 6px); padding: clamp(1.75rem, 5vw, 3.25rem) !important;
  display: grid; gap: 1rem 2.5rem; align-items: center; box-shadow: var(--djz-shadow-lg);
}
.djz-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(50% 90% at 90% 0%, rgba(255,255,255,.18), transparent 70%), radial-gradient(40% 80% at 0% 100%, rgba(0,0,0,.18), transparent 70%); }
@media (min-width: 900px) { .djz-cta { grid-template-columns: minmax(0, 1fr) auto; } .djz-cta > .wp-block-buttons { grid-column: 2; grid-row: 1 / span 3; } }
.djz-cta > * { margin: 0 !important; max-width: 60ch; }
.djz-cta :where(p, h2, h3, li, strong) { color: var(--wp--preset--color--on-hero); }
.djz-cta > p:first-child strong { font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.5rem, 3vw, 2rem); letter-spacing: -.025em; line-height: 1.15; font-weight: 700; display: block; }
.djz-cta a:not(.wp-element-button) { color: var(--wp--preset--color--on-hero); }
.djz-cta .wp-block-button__link { background: var(--wp--preset--color--cta-hero); color: var(--wp--preset--color--on-cta-hero); box-shadow: 0 10px 24px -10px rgba(0,0,0,.45); white-space: nowrap; }
.djz-cta .wp-block-button__link:hover { background: var(--wp--preset--color--cta-hero); filter: brightness(1.05); }
.djz-cta .wp-block-button__link:focus-visible { outline-color: var(--wp--preset--color--on-hero); }

/* Voor dj's-blok */
.djz-djblock { display: grid; gap: 1.25rem 2.5rem; align-items: center; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: calc(var(--djz-r-lg) + 4px); padding: clamp(1.5rem, 4vw, 2.5rem) !important; box-shadow: var(--djz-shadow-sm); --djz-i: var(--djz-headphones); }
@media (min-width: 900px) { .djz-djblock { grid-template-columns: 64px minmax(0, 1fr) auto; } }
.djz-djblock::before { content: ""; width: 64px; height: 64px; border-radius: 16px; background: linear-gradient(135deg, var(--wp--preset--color--hero-start), var(--wp--preset--color--hero-end)); }
.djz-djblock::after { content: ""; position: absolute; }
.djz-djblock > * { margin: 0 !important; }
.djz-djblock__text p { margin: 0; }
.djz-djblock__text p + p { margin-top: .35rem; color: var(--wp--preset--color--text-muted); }
.djz-djblock__ico { display: none; }
.djz-djblock .wp-block-button__link { background: transparent; color: var(--wp--preset--color--text); border: 1.5px solid var(--wp--preset--color--border-strong); box-shadow: none; padding: calc(.95rem - 1.5px) calc(1.6rem - 1.5px); }
.djz-djblock .wp-block-button__link:hover { border-color: var(--wp--preset--color--text); background: var(--wp--preset--color--surface-2); color: var(--wp--preset--color--text); }
.djz-djblock { position: relative; }
.djz-djblock .djz-djico { position: absolute; width: 30px; height: 30px; top: calc(clamp(1.5rem, 4vw, 2.5rem) + 17px); left: calc(clamp(1.5rem, 4vw, 2.5rem) + 17px); background: #fff; -webkit-mask: var(--djz-i) center / contain no-repeat; mask: var(--djz-i) center / contain no-repeat; }
@media (max-width: 899.98px) { .djz-djblock .djz-djico { top: calc(clamp(1.5rem, 4vw, 2.5rem) + 17px); } }

/* ===================== Tabellen ===================== */
.wp-block-table { overflow-x: auto; margin-top: 1.5rem; border: 1px solid var(--wp--preset--color--border); border-radius: var(--djz-r); background: var(--wp--preset--color--surface); box-shadow: var(--djz-shadow-sm); }
.wp-block-table table { border-collapse: collapse; width: 100%; font-size: .975rem; margin: 0; border: 0; }
.wp-block-table th, .wp-block-table td { border: 0; border-bottom: 1px solid var(--wp--preset--color--border); padding: .85rem 1.1rem; text-align: left; vertical-align: top; }
.wp-block-table tbody tr:last-child td { border-bottom: 0; }
.wp-block-table thead { border-bottom: 0; }
.wp-block-table thead th { background: var(--wp--preset--color--surface-2); font-weight: 600; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; color: var(--wp--preset--color--text-muted); }
.wp-block-table tbody tr:hover td { background: color-mix(in srgb, var(--wp--preset--color--surface-2) 50%, transparent); }
.wp-block-table td:first-child { font-weight: 500; color: var(--wp--preset--color--text); }
.wp-block-table td:last-child { white-space: normal; }
@media (max-width: 599px) { .wp-block-table th, .wp-block-table td { padding: .7rem .8rem; } .wp-block-table table { font-size: .925rem; } }

/* ===================== FAQ (accordeon) ===================== */
.djz-faq { margin-top: clamp(1.5rem, 4vw, 2.25rem) !important; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--djz-r-lg); box-shadow: var(--djz-shadow-sm); padding: 0 clamp(1.1rem, 3vw, 1.75rem) !important; }
.djz-faq > * { margin: 0 !important; }
.djz-faq .wp-block-details { border: 0; border-bottom: 1px solid var(--wp--preset--color--border); border-radius: 0; padding: 0; background: none; }
.djz-faq .wp-block-details:last-child { border-bottom: 0; }
.wp-block-details summary { cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1rem; font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.1rem; letter-spacing: -.012em; line-height: 1.35; padding: 1.2rem 0; color: var(--wp--preset--color--text); --djz-i: var(--djz-chevron); }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: ""; flex-shrink: 0; width: 32px; height: 32px; border-radius: 999px; background: var(--wp--preset--color--surface-2) var(--djz-chev-bg, none); transition: transform .2s ease; -webkit-mask: none; mask: none; }
.wp-block-details summary { position: relative; }
.wp-block-details summary .djz-chev { display: none; }
.wp-block-details summary::before { content: ""; position: absolute; right: 7px; top: 50%; width: 18px; height: 18px; margin-top: -9px; background: var(--wp--preset--color--primary); -webkit-mask: var(--djz-i) center / contain no-repeat; mask: var(--djz-i) center / contain no-repeat; transition: transform .2s ease; z-index: 1; }
.wp-block-details[open] summary::before { transform: rotate(180deg); }
.wp-block-details summary:hover { color: var(--wp--preset--color--primary); }
.wp-block-details > :not(summary) { color: var(--wp--preset--color--text-muted); margin-top: 0; padding-right: 2.5rem; }
.wp-block-details > :last-child { padding-bottom: 1.25rem; margin-bottom: 0; }
.djz-prose .wp-block-details, .djz-box .wp-block-details { border-bottom: 1px solid var(--wp--preset--color--border); }

/* ===================== Formulieren ===================== */
.djz-section--form { padding-top: 0 !important; }
.djz-section--form > .djz-form-wrap:first-child { margin-top: calc(-1 * clamp(3.5rem, 8vw, 5.5rem)) !important; position: relative; z-index: 2; }
.djz-form-wrap {
  background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: calc(var(--djz-r-lg) + 4px);
  padding: clamp(1.25rem, 4vw, 2.75rem) !important; box-shadow: var(--djz-shadow-lg); max-width: 760px !important;
}
.djz-form-wrap .fluentform .ff-el-group { margin-bottom: 1.4rem; }
input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=hidden]), select, textarea {
  background: var(--wp--preset--color--surface) !important; color: var(--wp--preset--color--text) !important;
  border: 1.5px solid var(--wp--preset--color--border-strong) !important; border-radius: var(--djz-r-sm) !important;
  min-height: 52px; font: inherit; font-size: 1.0625rem !important; padding: .7rem .95rem !important; box-shadow: none !important; transition: border-color .15s ease, box-shadow .15s ease;
}
textarea { min-height: 120px; }
input:not([type=checkbox]):not([type=radio]):hover, select:hover, textarea:hover { border-color: var(--wp--preset--color--text-muted) !important; }
input:focus-visible, select:focus-visible, textarea:focus-visible, input:focus, select:focus, textarea:focus {
  outline: 3px solid var(--wp--preset--color--focus) !important; outline-offset: 1px; border-color: var(--wp--preset--color--focus) !important;
}
.fluentform .ff-el-input--label { margin-bottom: .45rem; }
.fluentform .ff-el-input--label label, .fluentform label { color: var(--wp--preset--color--text); font-weight: 600; font-size: 1rem; }
.fluentform .ff-el-input--label.ff-el-is-required.asterisk-right label::after { color: var(--wp--preset--color--error); }
.fluentform .ff-el-help-message, .fluentform .djz-help, .fluentform .djz-field-intro .djz-help { color: var(--wp--preset--color--text-muted); font-size: var(--wp--preset--font-size--small); margin-top: .4rem; font-style: normal; }
/* Keuzerondjes en vinkjes als grote klikvlakken */
.fluentform .ff-el-form-check { position: relative; display: inline-flex; margin: 0 .5rem .5rem 0 !important; }
.fluentform .ff-el-form-check-label { display: flex !important; align-items: center; gap: .6rem; min-height: 48px; padding: .55rem 1rem .55rem .85rem; box-sizing: border-box; border: 1.5px solid var(--wp--preset--color--border-strong); border-radius: var(--djz-r-sm); background: var(--wp--preset--color--surface); color: var(--wp--preset--color--text) !important; font-weight: 500 !important; cursor: pointer; transition: border-color .15s ease, background-color .15s ease; }
.fluentform .ff-el-form-check-label:hover { border-color: var(--wp--preset--color--primary); }
.fluentform .ff-el-form-check:has(input:checked) .ff-el-form-check-label { border-color: var(--wp--preset--color--primary); background: var(--wp--preset--color--surface-2); box-shadow: 0 0 0 1.5px var(--wp--preset--color--primary) inset; }
.fluentform .ff-el-form-check:has(input:focus-visible) .ff-el-form-check-label { outline: 3px solid var(--wp--preset--color--focus); outline-offset: 2px; }
.fluentform .ff-el-form-check-input { accent-color: var(--wp--preset--color--primary); width: 1.2rem; height: 1.2rem; margin: 0 !important; flex-shrink: 0; }
.fluentform .ff_t_c, .fluentform .ff-el-tc .ff-el-form-check-label { line-height: 1.5; }
.fluentform .ff-el-tc .ff-el-form-check { display: flex; margin-right: 0 !important; }
.fluentform .ff-el-tc .ff-el-form-check-label { align-items: flex-start; padding: .9rem 1rem; }
.fluentform .ff-el-tc .ff-el-form-check-input { margin-top: .15rem !important; }
.fluentform .ff_t_c a, .fluentform .djz-small a { color: var(--wp--preset--color--primary); }
/* Knoppen in formulier */
.fluentform .ff-btn-submit, .fluentform .ff-btn-next, .fluentform .ff-btn-prev {
  background: var(--wp--preset--color--cta) !important; color: var(--wp--preset--color--on-cta) !important; border: 0 !important;
  border-radius: 999px !important; min-height: 52px; padding: .85rem 1.75rem !important; font: 600 1.05rem/1.2 var(--wp--preset--font-family--body) !important; cursor: pointer;
  box-shadow: 0 6px 16px -6px rgba(194,65,12,.55) !important; transition: background-color .15s ease, transform .15s ease;
}
.fluentform .ff-btn-submit:hover, .fluentform .ff-btn-next:hover { background: var(--wp--preset--color--cta-hover) !important; transform: translateY(-1px); }
.fluentform .ff-btn-prev { background: transparent !important; color: var(--wp--preset--color--text) !important; border: 1.5px solid var(--wp--preset--color--border-strong) !important; box-shadow: none !important; }
.fluentform .ff-btn-prev:hover { border-color: var(--wp--preset--color--text) !important; }
.fluentform .error, .fluentform .text-danger { color: var(--wp--preset--color--error) !important; font-size: var(--wp--preset--font-size--small); margin-top: .4rem; font-weight: 500; }
.fluentform .ff-el-is-error .ff-el-form-control { border-color: var(--wp--preset--color--error) !important; }
.fluentform .ff-message-success, .ff-message-success { background: var(--wp--preset--color--surface) !important; color: var(--wp--preset--color--text) !important; border: 1px solid var(--wp--preset--color--success) !important; border-radius: var(--djz-r); padding: 1rem 1.25rem; box-shadow: none !important; }
.fluentform .ff-el-section-break { margin-bottom: 1.25rem !important; }
.fluentform .ff-el-section-break hr { display: none; }
.fluentform .ff-el-section-break .ff-el-section-title { color: var(--wp--preset--color--text); font-family: var(--wp--preset--font-family--heading); font-size: clamp(1.4rem, 3vw, 1.75rem); letter-spacing: -.022em; line-height: 1.2; margin: 0 0 .25rem; }
.fluentform .ff-el-section-title:focus { outline: none; }
.fluentform .djz-field-intro { margin-bottom: .25rem; }
.flatpickr-calendar { font-family: inherit; }
.fluentform .ff-t-container { gap: 1rem; }

/* Stappenindicator (JS) */
.djz-step-hidden { display: none !important; }
.djz-progress { color: var(--wp--preset--color--text-muted); font-size: var(--wp--preset--font-size--small); }
.djz-stepper { margin: 0 0 1.75rem; }
.djz-stepper__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.djz-stepper__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); gap: .5rem; }
.djz-stepper__list li { display: flex; flex-direction: column; gap: .55rem; font-size: .9rem; font-weight: 500; color: var(--wp--preset--color--text-muted); margin: 0; }
.djz-stepper__list li::before { content: ""; display: block; height: 6px; border-radius: 999px; background: var(--wp--preset--color--surface-2); border: 1px solid var(--wp--preset--color--border); transition: background-color .25s ease; }
.djz-stepper__list li span.djz-stepper__num { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: .4rem; border-radius: 999px; font: 700 .8rem/1 var(--wp--preset--font-family--body); background: var(--wp--preset--color--surface-2); color: var(--wp--preset--color--text-muted); border: 1px solid var(--wp--preset--color--border-strong); vertical-align: middle; }
.djz-stepper__list li.is-done::before, .djz-stepper__list li.is-current::before { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); }
.djz-stepper__list li.is-current { color: var(--wp--preset--color--text); font-weight: 600; }
.djz-stepper__list li.is-current .djz-stepper__num, .djz-stepper__list li.is-done .djz-stepper__num { background: var(--wp--preset--color--primary); color: var(--wp--preset--color--on-primary); border-color: var(--wp--preset--color--primary); }
.djz-stepnav { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; justify-content: space-between; margin-top: 1.75rem; padding-top: 1.5rem; border-top: 1px solid var(--wp--preset--color--border); }
.djz-stepnav .ff-btn-next, .djz-stepnav .ff-btn-submit { margin-left: auto !important; }
.djz-stepnav .ff-btn-submit { margin: 0; }
@media (max-width: 480px) { .djz-stepnav .ff-btn-next, .djz-stepnav .ff-btn-submit { flex: 1 1 100%; order: -1; } .djz-stepnav .ff-btn-prev { flex: 1 1 100%; } }

/* ===================== Gewone pagina's ===================== */
.djz-main--page { padding-top: 0 !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
.djz-pagehead {
  margin-top: 0 !important; margin-bottom: clamp(2rem, 5vw, 3.5rem) !important; padding-top: clamp(2.5rem, 6vw, 4.5rem); padding-bottom: clamp(2rem, 5vw, 3rem);
  background: radial-gradient(50% 120% at 0% 0%, var(--wp--preset--color--mesh-1) 0%, transparent 70%), radial-gradient(40% 120% at 100% 0%, var(--wp--preset--color--mesh-2) 0%, transparent 70%), var(--wp--preset--color--bg);
  border-bottom: 1px solid var(--wp--preset--color--border);
}
.djz-pagehead h1 { font-size: clamp(2rem, 4.5vw, 3rem); margin: 0; }
.djz-prose > h2 { font-size: clamp(1.45rem, 3vw, 1.85rem); margin-top: 2.75rem; }
.djz-prose > h3 { font-size: 1.2rem; margin-top: 2rem; }
.djz-prose > .djz-form-wrap { margin-top: 2rem; }

/* ===================== Footer ===================== */
.djz-footer { background: var(--wp--preset--color--surface); border-top: 1px solid var(--wp--preset--color--border); padding-top: clamp(3rem, 6vw, 4.5rem) !important; padding-bottom: 1.5rem !important; margin-top: 0 !important; }
.djz-footer__cols { gap: 2rem 3rem !important; }
.djz-footer__brand .djz-muted { max-width: 34ch; margin-top: 1rem; line-height: 1.6; }
.djz-footer h2 { font-size: .8rem; font-family: var(--wp--preset--font-family--body); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--text-muted); margin: .35rem 0 .9rem; }
.djz-footer ul { list-style: none; padding: 0; margin: 0; }
.djz-footer li { margin: .5rem 0; }
.djz-footer a { color: var(--wp--preset--color--text); text-decoration: none; font-size: .975rem; }
.djz-footer a:hover { color: var(--wp--preset--color--primary); text-decoration: underline; text-underline-offset: 4px; }
.djz-footer__bottom { margin-top: clamp(2.5rem, 5vw, 3.5rem) !important; padding-top: 1.25rem; border-top: 1px solid var(--wp--preset--color--border); }
@media (max-width: 781px) { .djz-footer__cols { display: grid !important; grid-template-columns: 1fr 1fr; } .djz-footer__brand { grid-column: 1 / -1; } }

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }

/* ---- Verfijningen v2 ---- */
/* Tekstkolommen links uitlijnen op de brede container (geen gecentreerde 720-kolom naast brede rasters) */
@media (min-width: 782px) {
  body:not(:has(.djz-hero--form)) .djz-section.is-layout-constrained > :not(.alignwide):not(.alignfull) {
    margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size, 1200px)) / 2)) !important;
    margin-right: auto !important;
  }
}
.djz-section > :first-child { margin-top: 0 !important; }
.djz-section--intro { padding-top: clamp(2.5rem, 5vw, 3.5rem) !important; padding-bottom: clamp(2.5rem, 5vw, 3.5rem) !important; }
.djz-section--intro > p:not(.djz-toc-label) { font-size: 1.125rem; }
.djz-toc-label { margin-top: 1.5rem !important; margin-bottom: .6rem !important; font-size: .8rem !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--text-muted); }
.djz-toc-label + .djz-toc { margin-top: 0 !important; }
.djz-section > .djz-toc { max-width: var(--wp--style--global--wide-size, 1200px) !important; }

/* Checklist: icoon absoluut, tekst als lopende alinea */
.djz-checks > li { display: block; position: relative; padding: 1.15rem 1.25rem 1.15rem 3.6rem; }
.djz-checks > li::before { position: absolute; left: 1.2rem; top: 1.2rem; width: 24px; height: 24px; }
.djz-checks > li > strong:first-child { display: inline; margin: 0; }
.djz-checks > li > .djz-sico { display: none; }

/* Stappen als rijen (5+ stappen) */
.djz-steps--rows { grid-template-columns: 1fr; gap: 0; max-width: 880px !important; background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: var(--djz-r-lg); box-shadow: var(--djz-shadow-sm); overflow: hidden; }
.djz-steps--rows > li { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 1.25rem 1.5rem 1.25rem 5rem !important; min-height: 0 !important; background: transparent !important; transform: none !important; }
.djz-steps--rows > li + li { border-top: 1px solid var(--wp--preset--color--border) !important; }
.djz-steps--rows > li::before { top: 1.2rem !important; left: 1.5rem !important; width: 40px !important; height: 40px !important; border-radius: 11px !important; }
.djz-steps--rows > li .djz-sico { top: calc(1.2rem + 9px) !important; left: calc(1.5rem + 9px) !important; width: 22px !important; height: 22px !important; }
.djz-steps--rows > li::after { content: none !important; }
.djz-steps--rows > li > strong:first-child { display: inline; font-size: inherit; font-family: inherit; letter-spacing: 0; }
.djz-section--tint .djz-steps--rows { box-shadow: none; }

/* Hero-varianten */
.djz-hero--form .djz-hero__inner { max-width: 760px !important; }
.djz-hero__card { background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--border); border-radius: calc(var(--djz-r-lg) + 2px); box-shadow: var(--djz-shadow-lg, var(--djz-shadow)); padding: clamp(1.25rem, 3vw, 1.75rem); }
.djz-hero__card > * { margin-block: 0; }
.djz-hero__card > * + * { margin-top: .85rem; }
.djz-hero__card > p:first-child { font-family: var(--wp--preset--font-family--heading); font-weight: 700; font-size: 1.2rem; letter-spacing: -.015em; color: var(--wp--preset--color--text); }
.djz-hero__card ul { list-style: none; padding: 0; }
.djz-hero__card li { --djz-i: var(--djz-euro); position: relative; padding: .7rem .9rem .7rem 3rem; margin: 0 0 .5rem; border-radius: var(--djz-r-sm); background: var(--wp--preset--color--surface-2); border: 1px solid var(--wp--preset--color--border); line-height: 1.45; }
.djz-hero__card li::before { content: ""; position: absolute; left: .9rem; top: .8rem; width: 20px; height: 20px; background: var(--wp--preset--color--primary); -webkit-mask: var(--djz-i) center / contain no-repeat; mask: var(--djz-i) center / contain no-repeat; }
.djz-how-wrap > * { margin-block: 0; }

/* Prijsteaser zonder lijst */
.djz-price--single { grid-template-columns: 1fr !important; max-width: 880px; }

/* Ritme na brede componenten en tussen meerdere H2's in een sectie */
.djz-section > :is(.djz-steps, .djz-checks, .djz-grid, .djz-price, .djz-cta, .wp-block-table, .djz-faq) + * { margin-top: 2.25rem !important; }
.djz-section.djz-section > * + h2 { margin-top: clamp(3rem, 6vw, 4.5rem) !important; }
/* Aanvraagpagina: één gefocuste kolom */
body:has(.djz-hero--form) .djz-section > * { max-width: 760px !important; margin-left: auto !important; margin-right: auto !important; }
body:has(.djz-hero--form) .djz-steps { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
/* Snelstart-chips op smalle schermen */
@media (max-width: 400px) { .djz-chip span { font-size: .95rem; padding-left: .7rem; padding-right: .5rem; gap: .5rem; } .djz-chips { gap: .5rem; } }
.djz-steps:not(.djz-steps--rows) > li > .djz-sico + strong { display: block; color: var(--wp--preset--color--text); font-family: var(--wp--preset--font-family--heading); font-size: 1.15rem; letter-spacing: -.015em; line-height: 1.25; margin-bottom: .35rem; }
.djz-steps--rows > li > .djz-sico + strong { color: var(--wp--preset--color--text); }
.wp-element-button:has(> .djz-hide-xs), .wp-block-button__link:has(> .djz-hide-xs) { gap: 0 !important; }
.djz-hide-xs { white-space: pre; }
