/* ==========================================================================
   COOLFORCE DESIGNSYSTEEM 2026 (Apple-norm: hiërarchie, rust, één actie per scherm)
   Beheer: New Marketing Ideas, newmarketingideas.business
   Vervangt de vorige "Extra CSS" (rollback: coolforce-extra-css-backup-2026-09-06.css)
   ========================================================================== */

/* 1. TOKENS ------------------------------------------------------------- */
:root {
  --global-palette2: #1f6fb2;            /* was #4fa3e3 (2,7:1): nu AA op wit en op lichtblauw */
  --cf-ink: #1d1d1f;
  --cf-ink-2: #4a5563;
  --cf-navy: #0d4f8b;
  --cf-navy-deep: #0b3d6e;
  --cf-blue: #1f6fb2;
  --cf-blue-soft: #eaf2fb;
  --cf-green: #15803d;                   /* wit op groen 5,0:1 (was #22c55e, 2,3:1) */
  --cf-green-hover: #136f35;
  --cf-green-soft: rgba(21, 128, 61, 0.10);
  --cf-surface: #ffffff;
  --cf-surface-2: #f6f9fc;
  --cf-border: #dfe5ec;
  --cf-radius-s: 10px;
  --cf-radius: 12px;
  --cf-radius-l: 20px;
  --cf-shadow-s: 0 1px 2px rgba(15, 23, 42, 0.06), 0 0 0 1px rgba(15, 23, 42, 0.04);
  --cf-shadow-m: 0 8px 24px rgba(15, 23, 42, 0.08);
  --cf-space-section: clamp(48px, 6.5vw, 80px);
  --cf-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --cf-accent: #1f6fb2;
  --cf-green-dark: var(--cf-green-hover);   /* aliassen voor oudere regels */
  --cf-blue-dark: var(--cf-navy-deep);
}
/* Paginastijlen (LP Rotselaar) zetten eigen :root-tokens; body wint voor alle nakomelingen */
body { --cf-green: #15803d; --cf-green-hover: #136f35; --cf-green-dark: #136f35; --cf-green-soft: rgba(21, 128, 61, 0.10); --cf-accent: #1f6fb2; --cf-border: #dfe5ec; --global-palette2: #1f6fb2; }

html, body { margin: 0; padding: 0; overflow-x: hidden; }
#wrapper, #inner-wrap, .site, .site-content, .entry-content, .content-area { overflow-x: hidden; max-width: 100%; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* 2. TYPOGRAFIE: één schaal, zes stappen ---------------------------------- */
body, .entry-content, .kb-form, .kb-form label, .site-footer { font-size: 17px; line-height: 1.55; color: var(--cf-ink); }
.entry-content p, .entry-content li { font-size: 17px; line-height: 1.55; }
.entry-content p { margin-bottom: 1em; }
.entry-content p.has-small-font-size, .entry-content .has-small-font-size { font-size: 15px !important; line-height: 1.5; }
.entry-content p.has-text-align-center:not(.kb-adv-heading-link), .entry-content .kt-adv-heading-wrap p.has-text-align-center { max-width: 62ch; margin-left: auto; margin-right: auto; }

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5,
.entry-content .wp-block-kadence-advancedheading:is(h1, h2, h3, h4, h5) {
  font-weight: 700; letter-spacing: -0.015em; text-wrap: balance; margin-top: 0;
}
.entry-content h1, .entry-content h1.wp-block-kadence-advancedheading { font-size: clamp(32px, 4vw, 44px) !important; line-height: 1.1 !important; letter-spacing: -0.02em; margin-bottom: 20px; }
.entry-content h2, .entry-content h2.wp-block-kadence-advancedheading { font-size: clamp(28px, 3.2vw, 34px) !important; line-height: 1.15 !important; margin-bottom: 16px; }
.entry-content h3, .entry-content h3.wp-block-kadence-advancedheading { font-size: 22px !important; line-height: 1.3 !important; letter-spacing: -0.01em; margin-bottom: 8px; }
.entry-content h4, .entry-content h4.wp-block-kadence-advancedheading { font-size: 19px !important; line-height: 1.35 !important; margin-bottom: 8px; }
.entry-content h5 { font-size: 17px !important; line-height: 1.4 !important; }
/* Kadence 'advanced heading' als div (geen h-tag): zelfde lettertype en schaal als h4 */
.entry-content div.wp-block-kadence-advancedheading, .entry-content div.wp-block-kadence-advancedheading strong { font-family: inherit !important; }
.entry-content div.wp-block-kadence-advancedheading:has(> strong:only-child) { font-size: 19px !important; line-height: 1.35 !important; color: var(--cf-ink) !important; margin-bottom: 8px; }

/* Kleurhiërarchie: h1/h2 merkblauw, h3+ inkt. Witte koppen op donkere vlakken blijven wit. */
.entry-content :is(h1, h2):not(.has-theme-palette-8-color):not(.has-theme-palette-9-color):not(.has-white-color) { color: var(--cf-navy) !important; }
.entry-content :is(h3, h4, h5):not(.has-theme-palette-8-color):not(.has-theme-palette-9-color):not(.has-white-color) { color: var(--cf-ink) !important; }
.entry-content .cf-process.cf-process.cf-process :is(h2, h3), .entry-content .wp-block-cover.wp-block-cover.wp-block-cover :is(h1, h2, h3, p) { color: #fff !important; }

/* Kicker: kleine hoofdletters boven een kop (h6 of kop met kleine font-size) */
.entry-content h6, .entry-content h6.wp-block-kadence-advancedheading,
.entry-content :is(h2, h3, h4)[style*="font-size:12px"], .entry-content :is(h2, h3, h4)[style*="font-size: 12px"],
.entry-content :is(h2, h3, h4)[style*="font-size:13px"], .entry-content :is(h2, h3, h4)[style*="font-size:14px"] {
  font-size: 13px !important; line-height: 1.4 !important; font-weight: 600 !important; letter-spacing: 0.08em !important; text-transform: uppercase;
  color: var(--cf-accent) !important; margin-bottom: 12px !important;
}

.entry-content a:not(.wp-block-button__link):not(.kb-button):not(.button):not(.kt-blocks-accordion-header) { color: var(--cf-accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.wp-block-paragraph a, .entry-content .wp-block-paragraph a { color: var(--cf-accent) !important; text-decoration: underline !important; }
/* Lopende tekst in 'lichtblauw' wordt rustig grijs; korte kickers blijven blauw */
.entry-content p.has-theme-palette-2-color:not(.has-small-font-size) { color: var(--cf-ink-2) !important; }
.entry-content p.has-theme-palette-2-color:not(.has-small-font-size):has(> strong:only-child) { color: var(--cf-accent) !important; }

/* 3. RITME: vaste sectieafstand op 8pt-raster ------------------------------ */
.entry-content > .kb-row-layout-wrap > .kt-row-column-wrap { padding-top: var(--cf-space-section) !important; padding-bottom: var(--cf-space-section) !important; }
.entry-content > .wp-block-group.alignfull.has-background, .entry-content > .wp-block-columns.has-background { padding-top: var(--cf-space-section) !important; padding-bottom: var(--cf-space-section) !important; margin-bottom: 0; }
.entry-content > .wp-block-group.alignfull:not(.has-background) { padding-top: var(--cf-space-section); padding-bottom: var(--cf-space-section); }
.entry-content > .wp-block-heading.has-text-align-center { margin-top: var(--cf-space-section) !important; margin-bottom: 32px !important; }
.entry-content > .wp-block-heading + .kb-row-layout-wrap > .kt-row-column-wrap, .entry-content > .wp-block-cover + .kb-row-layout-wrap > .kt-row-column-wrap { padding-top: 0 !important; }
.entry-content > .wp-block-spacer { height: clamp(24px, 4vw, 48px) !important; }
.entry-content .wp-block-columns { gap: 24px; }
.wp-block-buttons { gap: 12px !important; flex-wrap: wrap; }

/* 4. HEADER: rustig, één actie ------------------------------------------- */
#masthead .site-header-inner-wrap { box-shadow: 0 1px 0 rgba(255, 255, 255, 0.10); }
#masthead .site-main-header-inner-wrap { min-height: 72px; }
.site-header .custom-logo, #masthead .custom-logo {
  height: 34px !important; width: auto !important; max-width: none !important; aspect-ratio: 6.7 / 1;
  object-fit: cover; object-position: 50% 47.6%;     /* snijdt het lege canvas rond het logo weg */
}
.site-header .brand { display: inline-flex; align-items: center; min-height: 44px; }
#masthead .main-navigation .primary-menu-container > ul > li > a { font-size: 16px; font-weight: 500; min-height: 44px; display: inline-flex; align-items: center; padding: 0 14px; border-radius: 8px; color: rgba(255, 255, 255, 0.92); transition: background-color 0.2s var(--cf-ease); }
#masthead .main-navigation .primary-menu-container > ul > li > a:hover, #masthead .main-navigation .primary-menu-container > ul > li.current-menu-item > a { background: rgba(255, 255, 255, 0.10); color: #fff; }
#main-header .header-button, .site-header .button, .site-header a.button, nav.main-navigation a.button, .header-html a.button,
.mobile-header-button-wrap .mobile-header-button {
  background: var(--cf-green) !important; color: #fff !important; border: 0 !important; border-radius: var(--cf-radius-s) !important;
  padding: 0 20px !important; min-height: 44px !important; display: inline-flex !important; align-items: center !important;
  font-size: 16px !important; font-weight: 600 !important; letter-spacing: 0; box-shadow: none !important; text-decoration: none !important;
  transition: background-color 0.2s var(--cf-ease) !important;
}
#main-header .header-button:hover, .site-header .button:hover, .mobile-header-button-wrap .mobile-header-button:hover { background: var(--cf-green-hover) !important; color: #fff !important; }
.mobile-header-button-wrap .mobile-header-button-inner-wrap .mobile-header-button { margin: 0 12px 0 0 !important; border: 0 !important; padding: 0 16px !important; }
#masthead .menu-toggle-open, #masthead .menu-toggle-close { min-width: 44px; min-height: 44px; border-radius: 8px; }
#mobile-drawer .drawer-inner { padding: 24px; }
#mobile-drawer .mobile-navigation ul li a { font-size: 19px; font-weight: 500; min-height: 48px; display: flex; align-items: center; }
.skip-link:focus { color: var(--cf-ink) !important; background: #fff; padding: 8px 12px; border-radius: 8px; }

/* 5. KNOPPEN: één primaire stijl, 48px, geen gloed ------------------------- */
.wp-block-button .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link,
.jetpack-contact-form__form button[type="submit"], form.contact-form button[type="submit"], form.jetpack-contact-form__form button[type="submit"],
.kadence-blocks-form-field .kb-forms-submit, .wp-block-kadence-form .kb-forms-submit, button.form-button-submit, button.kb-forms-submit,
.kb-button, .kt-button, .wp-block-kadence-singlebtn, .wp-block-kadence-advancedbtn .kb-button, a.kb-button, button.kb-button,
.has-theme-palette-1-background-color[class*="button"], .has-theme-palette-2-background-color[class*="button"], .has-theme-palette-10-background-color[class*="button"], .has-theme-palette-11-background-color[class*="button"] {
  background: var(--cf-green) !important; background-color: var(--cf-green) !important; color: #fff !important;
  border: 0 !important; border-radius: var(--cf-radius) !important;
  padding: 0 28px !important; min-height: 48px !important; line-height: 1.2 !important;
  font-size: 17px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-decoration: none !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
  box-shadow: none !important; transform: none !important;
  transition: background-color 0.2s var(--cf-ease), transform 0.15s var(--cf-ease) !important;
  cursor: pointer;
}
.wp-block-button .wp-block-button__link:hover, .jetpack-contact-form__form button[type="submit"]:hover, form.contact-form button[type="submit"]:hover,
.kadence-blocks-form-field .kb-forms-submit:hover, button.kb-forms-submit:hover, .kb-button:hover, .kt-button:hover, .wp-block-kadence-singlebtn:hover {
  background: var(--cf-green-hover) !important; background-color: var(--cf-green-hover) !important; color: #fff !important; transform: none !important; box-shadow: none !important;
}
.wp-block-button .wp-block-button__link:active, .kb-button:active, button.kb-forms-submit:active { transform: scale(0.98) !important; }
.wp-block-button .wp-block-button__link strong { font-weight: 600 !important; }
/* Secundaire knop (outline-varianten van Kadence) blijft rustig */
.kb-button[class*="outline"], .kt-button[class*="outline"] {
  background: transparent !important; background-color: transparent !important; color: var(--cf-navy) !important;
  box-shadow: inset 0 0 0 1.5px var(--cf-border) !important;
}
.kb-button[class*="outline"]:hover, .kt-button[class*="outline"]:hover { background: var(--cf-blue-soft) !important; background-color: var(--cf-blue-soft) !important; color: var(--cf-navy) !important; }
/* Micro-tekst onder een knop: kleiner, cursief, meer lucht (huisregel NMI) */
.wp-block-buttons + p, .wp-block-kadence-advancedbtn + p, .wp-block-button + p, .kb-form-wrap + p { font-size: 14px !important; font-style: italic; color: var(--cf-ink-2) !important; margin-top: 12px; }
.wp-block-buttons + p em, .wp-block-kadence-advancedbtn + p em, .wp-block-buttons + p strong, .wp-block-kadence-advancedbtn + p strong { color: var(--cf-ink-2) !important; font-weight: 500; }

/* Focus zichtbaar voor toetsenbord (Apple/WCAG) */
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible { outline: 2px solid var(--cf-accent) !important; outline-offset: 3px !important; box-shadow: none; }
.site-header :where(a, button):focus-visible { outline-color: #fff !important; }

/* 6. KAARTEN: witte kaart, 1px rand, zachte schaduw, geen lift ------------- */
.wp-block-column.has-theme-palette-6-background-color.has-background,
.cf-why-grid .wp-block-column,
body.page-id-11 .wp-block-columns.alignwide > .wp-block-column:has(h3):not(:has(img)),
body.page-id-12 .wp-block-columns.alignwide > .wp-block-column:has(h3):not(:has(img)),
body.page-id-10 .wp-block-columns.alignwide > .wp-block-column:has(h3):not(:has(img)) {
  background: var(--cf-surface) !important; background-color: var(--cf-surface) !important;
  border: 1px solid var(--cf-border) !important; border-radius: var(--cf-radius-l) !important;
  padding: 32px !important; box-shadow: var(--cf-shadow-s) !important; position: relative !important;
  transition: box-shadow 0.25s var(--cf-ease), border-color 0.25s var(--cf-ease) !important; transform: none !important;
}
.wp-block-column.has-theme-palette-6-background-color.has-background:hover, .cf-why-grid .wp-block-column:hover,
body.page-id-11 .wp-block-columns.alignwide > .wp-block-column:has(h3):not(:has(img)):hover,
body.page-id-12 .wp-block-columns.alignwide > .wp-block-column:has(h3):not(:has(img)):hover,
body.page-id-10 .wp-block-columns.alignwide > .wp-block-column:has(h3):not(:has(img)):hover { transform: none !important; box-shadow: var(--cf-shadow-m) !important; border-color: #cfd8e3 !important; }
.wp-block-column.has-theme-palette-6-background-color.has-background::before, .cf-why-grid .wp-block-column::before,
body.page-id-11 .wp-block-columns.alignwide > .wp-block-column:has(h3):not(:has(img))::before,
body.page-id-12 .wp-block-columns.alignwide > .wp-block-column:has(h3):not(:has(img))::before,
body.page-id-10 .wp-block-columns.alignwide > .wp-block-column:has(h3):not(:has(img))::before { content: ""; display: block; width: 40px; height: 3px; border-radius: 2px; background: var(--cf-green); margin-bottom: 20px; }
.cf-why-grid .wp-block-columns { gap: 24px; }
.cf-why-grid h3, .wp-block-column.has-theme-palette-6-background-color.has-background h3 { margin-top: 0; margin-bottom: 8px; }
.cf-why-grid p, .wp-block-column.has-theme-palette-6-background-color.has-background p:last-child { margin-bottom: 0; }
.wp-block-columns.alignwide { gap: 24px !important; }
/* Kadence-kolomkaarten (home dienstkaarten): zelfde taal */
.entry-content .kb-row-layout-wrap .wp-block-kadence-column > .kt-inside-inner-col[style*="box-shadow"],
.entry-content .wp-block-kadence-column.kadence-column4_e1ea0b-ab > .kt-inside-inner-col { box-shadow: var(--cf-shadow-s) !important; border-radius: var(--cf-radius-l) !important; }
.entry-content .wp-block-kadence-column > .kt-inside-inner-col img.wp-image, .entry-content .wp-block-kadence-column figure img { border-radius: var(--cf-radius); }
.entry-content .wp-block-image img, .entry-content .wp-block-cover:not(.alignfull):not(.alignwide) { border-radius: var(--cf-radius-l); }

/* 7. FORMULIEREN: 48px velden, één focusstijl, witte kaart ---------------- */
.kb-form .kb-field, .kb-form input.kb-field, .kb-form textarea.kb-field, .kb-form select.kb-field,
.jetpack-contact-form__form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), .jetpack-contact-form__form textarea, .jetpack-contact-form__form select,
.entry-content input[type="text"], .entry-content input[type="email"], .entry-content input[type="tel"], .entry-content input[type="number"], .entry-content textarea, .entry-content select {
  min-height: 48px !important; padding: 12px 16px !important; font-size: 17px !important; line-height: 1.4 !important;
  background: #fff !important; color: var(--cf-ink) !important;
  border: 1px solid var(--cf-border) !important; border-radius: var(--cf-radius) !important; box-shadow: none !important;
  transition: border-color 0.2s var(--cf-ease), box-shadow 0.2s var(--cf-ease);
}
.entry-content textarea, .kb-form textarea.kb-field { min-height: 140px !important; }
.kb-form .kb-field:focus, .entry-content input:focus, .entry-content textarea:focus, .entry-content select:focus, .jetpack-contact-form__form input:focus, .jetpack-contact-form__form textarea:focus {
  border-color: var(--cf-accent) !important; box-shadow: 0 0 0 4px rgba(31, 111, 178, 0.15) !important; outline: none !important;
}
.kb-form label, .jetpack-contact-form__form label, .entry-content .grunion-field-label { font-size: 15px !important; font-weight: 600 !important; color: var(--cf-ink) !important; margin-bottom: 6px; }
.kb-form .kadence-blocks-form-field { margin-bottom: 16px; }
.kb-form .kb-required, .jetpack-contact-form__form .required { color: #b91c1c !important; }
.kb-form .kadence-blocks-form-field .kb-forms-submit, .wp-block-kadence-form .kb-forms-submit, .jetpack-contact-form__form button[type="submit"], form.contact-form button[type="submit"] {
  display: inline-flex !important; margin-left: auto !important; margin-right: auto !important; float: none !important; width: auto !important; min-width: 220px;
}
.kb-form .kb-submit-field { display: flex; justify-content: center; }
/* Contactpagina: donker formulierblok wordt een witte kaart */
body.page-id-13 .wp-block-kadence-column.inner-column-2 > .kt-inside-inner-col {
  background: var(--cf-surface) !important; border: 1px solid var(--cf-border) !important; border-radius: var(--cf-radius-l) !important;
  box-shadow: var(--cf-shadow-s) !important; padding: 32px !important;
}
body.page-id-13 .wp-block-kadence-column.inner-column-2 :is(h2, p, label).has-theme-palette-9-color,
body.page-id-13 .wp-block-kadence-column.inner-column-2 :is(h2, p, label) { color: var(--cf-ink) !important; }
body.page-id-13 .wp-block-kadence-column.inner-column-2 h2 { color: var(--cf-navy) !important; }
body.page-id-13 .entry-content > .kb-row-layout-wrap > .kt-row-column-wrap { padding-top: 48px !important; }
body.page-id-13 .kb-form .kb-field { border: 1px solid var(--cf-border) !important; border-radius: var(--cf-radius) !important; }

/* 8. ACCORDEONS: één rustige stijl (Kadence en core details) --------------- */
.kt-accordion-wrap .kt-accordion-pane { border: 1px solid var(--cf-border) !important; border-radius: var(--cf-radius) !important; margin-bottom: 10px !important; background: #fff; overflow: hidden; }
.kt-accordion-wrap .kt-blocks-accordion-header { background: transparent !important; border: 0 !important; padding: 18px 20px !important; font-size: 18px !important; font-weight: 600 !important; color: var(--cf-ink) !important; min-height: 56px; line-height: 1.3 !important; text-align: left; }
.kt-accordion-wrap .kt-blocks-accordion-header:hover, .kt-accordion-wrap .kt-blocks-accordion-header.kt-accordion-panel-active { background: var(--cf-surface-2) !important; color: var(--cf-navy) !important; }
.kt-accordion-wrap .kt-blocks-accordion-header .kt-blocks-accordion-icon-trail, .kt-accordion-wrap .kt-blocks-accordion-header .kt-btn-svg-icon { color: var(--cf-accent) !important; }
.kt-accordion-wrap .kt-accordion-panel-inner { padding: 4px 20px 20px !important; border: 0 !important; }
.kt-accordion-wrap .kt-accordion-panel-inner p { font-size: 17px !important; color: var(--cf-ink-2) !important; }
.wp-block-details { border: 1px solid var(--cf-border) !important; border-radius: var(--cf-radius) !important; background: #fff !important; padding: 18px 20px !important; margin-bottom: 10px !important; box-shadow: none !important; }
.wp-block-details[open] { border-color: #cfd8e3 !important; box-shadow: var(--cf-shadow-s) !important; }
.wp-block-details > summary { cursor: pointer; font-weight: 600; font-size: 18px; list-style: none; padding-right: 40px; position: relative; color: var(--cf-ink); min-height: 28px; }
.wp-block-details > summary::-webkit-details-marker { display: none; }
.wp-block-details > summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; background: var(--cf-blue-soft); color: var(--cf-accent); display: inline-flex; align-items: center; justify-content: center; font-weight: 500; font-size: 20px; }
.wp-block-details[open] > summary::after { content: "\2212"; }

/* 9. HERO (cover) en slideshow --------------------------------------------- */
.entry-content > .wp-block-cover.alignwide, .entry-content > .wp-block-cover.alignfull { border-radius: 0; margin-bottom: 0 !important; }
.entry-content .wp-block-cover .wp-block-cover__background { background: linear-gradient(180deg, rgba(4, 25, 50, 0.04) 0%, rgba(4, 25, 50, 0.38) 100%) !important; opacity: 1 !important; }
.entry-content .wp-block-cover .wp-block-buttons { margin-bottom: 40px; }
.wp-block-jetpack-slideshow { border-radius: var(--cf-radius-l); overflow: hidden; }
.wp-block-jetpack-slideshow .wp-block-jetpack-slideshow_button-prev, .wp-block-jetpack-slideshow .wp-block-jetpack-slideshow_button-next,
.wp-block-jetpack-slideshow .swiper-button-prev, .wp-block-jetpack-slideshow .swiper-button-next {
  width: 44px !important; height: 44px !important; border-radius: 50% !important; background: rgba(255, 255, 255, 0.92) !important; color: var(--cf-navy) !important; box-shadow: var(--cf-shadow-s) !important; margin-top: -22px !important;
}
.wp-block-jetpack-slideshow .swiper-button-prev::after, .wp-block-jetpack-slideshow .swiper-button-next::after { font-size: 16px !important; font-weight: 700; }
.wp-block-jetpack-slideshow .swiper-button-prev { left: 12px !important; } .wp-block-jetpack-slideshow .swiper-button-next { right: 12px !important; }
.wp-block-jetpack-slideshow .wp-block-jetpack-slideshow_pagination, .wp-block-jetpack-slideshow .swiper-pagination-fraction {
  position: absolute; left: 50% !important; right: auto !important; top: auto !important; bottom: 16px !important; transform: translateX(-50%); width: max-content !important; max-width: max-content !important; display: inline-block !important; z-index: 5; line-height: 1; text-align: center;
  background: rgba(13, 79, 139, 0.85); color: #fff !important; font-size: 13px; font-weight: 600; padding: 8px 14px; border-radius: 999px;
}
.wp-block-jetpack-slideshow_slide figure img { border-radius: 0; }
.wp-block-jetpack-slideshow .wp-block-jetpack-slideshow_button-pause { width: 44px; height: 44px; }

/* 10. TRUSTINDEX en WhatsApp: in lijn met het systeem ---------------------- */
.qlwapp .qlwapp__button, .qlwapp__button { background: var(--cf-green) !important; color: #fff !important; border-radius: 999px !important; box-shadow: var(--cf-shadow-m) !important; min-height: 48px !important; font-weight: 600 !important; }
.qlwapp .qlwapp__button:hover { background: var(--cf-green-hover) !important; }

/* 11. FOOTER: leesbaar, rustig, aanraakbaar -------------------------------- */
.site-footer { font-size: 15px; line-height: 1.6; }
.site-footer .site-footer-wrap { border-top: 1px solid rgba(255, 255, 255, 0.10); }
.site-footer .site-top-footer-inner-wrap { padding-top: 64px; padding-bottom: 40px; }
.site-footer a, .site-footer p a, .site-footer .wp-block-paragraph a, .site-footer .footer-widget-area a { color: #fff !important; text-decoration: none !important; text-underline-offset: 3px; }
.site-footer a:hover { text-decoration: underline !important; }
.site-footer .widget_nav_menu li a, .site-footer .wp-block-navigation a { display: inline-flex; align-items: center; min-height: 40px; }
.site-footer .footer-widget-area .widget-title, .site-footer :is(h2, h3, h4, h5) { font-size: 15px !important; font-weight: 600 !important; letter-spacing: 0.06em; text-transform: uppercase; color: rgba(255, 255, 255, 0.80) !important; margin-bottom: 12px !important; }
.site-footer .widget_media_image img.wp-image-43 { height: 48px !important; width: auto !important; max-width: 100%; aspect-ratio: 5.25 / 1 !important; object-fit: cover !important; object-position: 50% 46.3% !important; margin-bottom: 20px; }
.site-footer .site-footer-section, .site-footer .footer-widget-area, .site-footer .footer-widget-area-inner { align-self: flex-start !important; justify-content: flex-start !important; }
.site-footer .footer-widget-area.content-valign-middle, .site-footer .footer-widget-area.content-valign-bottom { justify-content: flex-start !important; }
.site-footer .widget_media_image figure { margin: 0 !important; }
.site-footer .footer-widget1 { text-align: left !important; }
.site-footer .footer-widget1 p { text-align: left !important; color: rgba(255, 255, 255, 0.85); max-width: 36ch; }
.site-footer .site-middle-footer-inner-wrap, .site-footer .site-bottom-footer-inner-wrap { padding-top: 20px; padding-bottom: 20px; border-top: 1px solid rgba(255, 255, 255, 0.10); }
.site-footer .site-bottom-footer-inner-wrap { font-size: 14px; color: rgba(255, 255, 255, 0.70); }

/* 12. PAGINASPECIFIEKE COMPONENTEN (LP Rotselaar en dienstpagina's) -------- */
.cf-hero .wp-block-columns ul { list-style: none; padding-left: 0; margin: 16px 0 24px; }
.cf-hero .wp-block-columns ul li { position: relative; list-style: none; padding-left: 32px; line-height: 1.5; margin-bottom: 10px; }
.cf-hero .wp-block-columns ul li::before { content: ""; position: absolute; left: 0; top: 3px; width: 22px; height: 22px; background: var(--cf-green); border-radius: 50%; background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="white" d="M6.5 11.5L3 8l1-1 2.5 2.5L12 4l1 1z"/></svg>'); background-repeat: no-repeat; background-position: center; background-size: 14px 14px; }

.cf-trust-band { background: var(--cf-navy-deep); color: #fff; width: 100vw !important; position: relative; left: 50% !important; right: 50%; margin-left: -50vw !important; margin-right: -50vw !important; padding: 40px 0 !important; }
.cf-trust-inner { max-width: 1280px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr; align-items: center; gap: 24px; }
.cf-trust-item { display: flex; gap: 14px; align-items: center; min-width: 0; }
.cf-trust-icon { width: 40px; height: 40px; border-radius: 50%; background: var(--cf-green); color: #fff; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 18px; flex-shrink: 0; }
.cf-trust-title { font-weight: 600; font-size: 16px; color: #fff; line-height: 1.3; }
.cf-trust-sub { font-size: 14px; color: rgba(255, 255, 255, 0.78); line-height: 1.3; margin-top: 3px; }
.cf-trust-divider { width: 1px; height: 40px; background: rgba(255, 255, 255, 0.14); }

.cf-process { background: var(--cf-navy-deep) !important; color: #fff; }
.cf-process .wp-block-column { background: rgba(255, 255, 255, 0.05) !important; border: 1px solid rgba(255, 255, 255, 0.10) !important; border-radius: var(--cf-radius-l) !important; padding: 32px 24px !important; text-align: center !important; }
.entry-content .cf-process.cf-process .wp-block-column h3:first-of-type { box-shadow: none !important; font-size: 15px !important; font-weight: 700 !important; width: 40px; height: 40px; background: var(--cf-green); color: #fff !important; border-radius: 50%; display: inline-flex !important; align-items: center; justify-content: center; margin: 0 auto 16px !important; }
.entry-content .cf-process.cf-process .wp-block-column h3:nth-of-type(2), .entry-content .cf-process.cf-process .wp-block-column > .wp-block-heading + .wp-block-heading { color: #fff !important; font-size: 20px !important; margin-bottom: 8px !important; font-weight: 600 !important; }
.cf-process .wp-block-column p { color: rgba(255, 255, 255, 0.84) !important; font-size: 16px !important; line-height: 1.5; }
.entry-content .cf-process.cf-process.cf-process .wp-block-column p em { color: #7fdc9a !important; font-style: normal; font-weight: 600; }

.cf-sticky-cta { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; background: rgba(255, 255, 255, 0.92); -webkit-backdrop-filter: saturate(180%) blur(16px); backdrop-filter: saturate(180%) blur(16px); border-top: 1px solid var(--cf-border); padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); gap: 8px; }
.cf-sticky-cta a { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 6px; background: var(--cf-green); color: #fff !important; text-decoration: none !important; font-weight: 600; font-size: 16px; border-radius: var(--cf-radius); padding: 0 12px; min-height: 48px; }

/* 13. BEWEGING: subtiel, en uit voor wie dat vraagt ------------------------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}

/* 14. MOBIEL ---------------------------------------------------------------- */
@media (max-width: 1024px) {
  .cf-trust-inner { grid-template-columns: 1fr 1fr; gap: 20px 16px; }
  .cf-trust-divider { display: none; }
}
@media (max-width: 768px) {
  .site-header .custom-logo, #masthead .custom-logo { height: 24px !important; }
  .mobile-header-button-wrap .mobile-header-button-inner-wrap .mobile-header-button { padding: 0 12px !important; min-height: 40px !important; font-size: 15px !important; margin: 0 8px 0 0 !important; white-space: nowrap; }
  #masthead .site-header-item { flex-shrink: 0; }
  .entry-content > .kb-row-layout-wrap > .kt-row-column-wrap { padding-left: 16px !important; padding-right: 16px !important; }
  .entry-content .kb-row-layout-wrap .wp-block-kadence-column > .kt-inside-inner-col:has(> .wp-block-kadence-advancedbtn) { padding: 20px !important; }
  .entry-content p, .entry-content li { font-size: 17px; }
  .entry-content h1, .entry-content h1.wp-block-kadence-advancedheading { font-size: 32px !important; }
  .entry-content h2, .entry-content h2.wp-block-kadence-advancedheading { font-size: 27px !important; }
  .entry-content h3, .entry-content h3.wp-block-kadence-advancedheading { font-size: 20px !important; }
  .wp-block-buttons { flex-direction: column !important; width: 100%; }
  .wp-block-button { width: 100% !important; }
  .wp-block-button .wp-block-button__link, .jetpack-contact-form__form button[type="submit"], .kb-button, .kb-form .kb-forms-submit { width: 100% !important; min-height: 52px !important; }
  .wp-block-column.has-theme-palette-6-background-color.has-background, .cf-why-grid .wp-block-column,
  body.page-id-11 .wp-block-columns.alignwide > .wp-block-column:has(h3):not(:has(img)),
  body.page-id-12 .wp-block-columns.alignwide > .wp-block-column:has(h3):not(:has(img)),
  body.page-id-10 .wp-block-columns.alignwide > .wp-block-column:has(h3):not(:has(img)) { padding: 24px !important; margin-bottom: 12px !important; }
  body.page-id-13 .wp-block-kadence-column.inner-column-2 > .kt-inside-inner-col { padding: 24px !important; }
  .cf-sticky-cta { display: flex; }
  body:has(.cf-sticky-cta) { padding-bottom: 84px !important; }
  .cf-trust-band { padding: 28px 0 !important; }
  .cf-trust-inner { padding: 0 20px; }
  .cf-trust-icon { width: 34px; height: 34px; font-size: 15px; }
  .cf-trust-title { font-size: 15px; } .cf-trust-sub { font-size: 13px; }
  .entry-content .wp-block-cover .wp-block-buttons { margin-bottom: 24px; }
  .site-footer .site-top-footer-inner-wrap { padding-top: 48px; padding-bottom: 24px; }
  .site-footer .footer-widget1, .site-footer .footer-widget1 p { text-align: center !important; margin-left: auto; margin-right: auto; }
  .site-footer .widget_media_image img.wp-image-43 { margin-left: auto; margin-right: auto; }
  .kt-accordion-wrap .kt-blocks-accordion-header { font-size: 17px !important; padding: 16px !important; }
  .qlwapp .qlwapp__button { min-height: 48px !important; }
}
