/* DOSA — ontwerp 2a. Klassen dosa-* staan op Divi-secties, -rijen, -kolommen en -modules
   (gegenereerd door tools/divi). Kleuren = Divi-designvariabelen; hier gespiegeld als tokens.
   Regels: oranje alleen voor meldknoppen; focus = 2px #8FC3EA; geen fade-in-animaties. */

:root {
  --dosa-darker: #021F36;
  --dosa-dark: #053151;
  --dosa-primary: #0B4F8A;
  --dosa-cta: #E8721C;
  --dosa-cta-hover: #D6620C;
  --dosa-accent: #E8F1F8;
  --dosa-sky: #8FC3EA;
  --dosa-on-dark-text: #DCE7F0;
  --dosa-on-dark-subtle: #B9CCDD;
  --dosa-on-dark-muted: #8FA9C0;
  --dosa-text: #1F2937;
  --dosa-muted: #6B7280;
  --dosa-line: #DCE7F0;
  --dosa-h1: clamp(38px, 5.2vw, 62px);
  --dosa-h2: clamp(26px, 3.2vw, 38px);
  --dosa-slogan: clamp(32px, 4.4vw, 56px);
  --dosa-gutter: 64px;
  --dosa-heading: Montserrat, system-ui, sans-serif;
  --dosa-body: Inter, system-ui, sans-serif;
}

/* ---------- Basis ---------- */
body .dosa-s { padding: 96px 0 !important; background-color: #fff; }
body .dosa-s .et_pb_row { width: calc(100% - 2 * var(--dosa-gutter)); max-width: 1152px; padding: 0; margin: 0 auto; }
body .dosa-s .et_pb_row + .et_pb_row { margin-top: 48px; }
body .dosa-s .et_pb_module { margin-bottom: 0; }
body .dosa-s .et_pb_text .et_pb_text_inner { font-family: var(--dosa-body); }
body .dosa-s .et_pb_text p, body .dosa-s .et_pb_text li { color: var(--dosa-text); }
body .dosa-s .et_pb_text p { padding-bottom: 0; }
body .dosa-s .et_pb_text :is(h1, h2, h3, h4) { font-family: var(--dosa-heading); color: var(--dosa-dark) !important; padding-bottom: 0; }
body .dosa-s .et_pb_text h2 { font-size: var(--dosa-h2); font-weight: 700; line-height: 1.15; margin: 0 0 14px; }
body .dosa-s .et_pb_text h3 { font-size: 22px; font-weight: 700; line-height: 1.3; margin: 0 0 10px; }
body .dosa-s .et_pb_text a { color: var(--dosa-primary); text-decoration: underline; text-underline-offset: 3px; }
body .dosa-s .et_pb_text a:hover { color: var(--dosa-dark); }
body .dosa-s a:focus-visible, body .et-l--header a:focus-visible, body .dosa-s .et_pb_button:focus-visible { outline: 2px solid var(--dosa-sky); outline-offset: 3px; border-radius: 4px; }

body .dosa-s--tint { background-color: var(--dosa-accent) !important; }
body .dosa-s--dark { background-color: var(--dosa-dark) !important; }
body .dosa-s--dark .et_pb_text, body .dosa-s--dark .et_pb_text p, body .dosa-s--dark .et_pb_text li { color: var(--dosa-on-dark-text); }
body .dosa-s--dark .et_pb_text :is(h1, h2, h3, h4) { color: #fff !important; }
body .dosa-s--dark .et_pb_text a { color: #fff; }
body .dosa-s--tight { padding: 64px 0 !important; }

/* Rasters: rijen met klasse dosa-grid-* negeren de Divi-kolombreedtes */
body .dosa-grid-2, body .dosa-grid-3, body .dosa-grid-hero, body .dosa-grid-split, body .dosa-grid-footer { display: grid !important; align-items: start; }
body .dosa-grid-2 { grid-template-columns: 1fr 1fr; gap: 28px; }
body .dosa-grid-3 { grid-template-columns: repeat(3, 1fr); gap: 28px; }
body .dosa-grid-hero { grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center; }
body .dosa-grid-split { grid-template-columns: 1fr 1.2fr; gap: 64px; align-items: center; }
body .dosa-grid-footer { grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
:is(.dosa-grid-2, .dosa-grid-3, .dosa-grid-hero, .dosa-grid-split, .dosa-grid-footer) > .et_pb_column {
  width: auto !important; max-width: none !important; margin: 0 !important; min-width: 0;
}
body .dosa-stack > .et_pb_column { gap: 20px; }

/* ---------- Typografie-onderdelen ---------- */
body .dosa-s .dosa-eyebrow { font: 600 13px/1.4 var(--dosa-body); letter-spacing: .12em; text-transform: uppercase; color: var(--dosa-sky) !important; margin: 0 0 16px; }
body .dosa-s--tint .dosa-eyebrow, body .dosa-s:not(.dosa-s--dark):not(.dosa-hero):not(.dosa-pagehero) .dosa-eyebrow { color: var(--dosa-primary) !important; }
body .dosa-intro { max-width: 680px; }
body .dosa-intro p, body .dosa-s .dosa-muted { font-size: 17px; line-height: 1.6; color: var(--dosa-muted) !important; }
body .dosa-s--dark .dosa-intro p { color: var(--dosa-on-dark-subtle) !important; }

body .dosa-prose { max-width: 720px; }
body .dosa-prose p, body .dosa-prose li { font-size: 17px; line-height: 1.7; }
body .dosa-prose p + p, body .dosa-prose p + ul, body .dosa-prose ul + p { margin-top: 16px; }
body .dosa-prose h2 { margin-top: 8px; }
body .dosa-prose h3 { margin-top: 28px; }
body .dosa-s .dosa-prose .et_pb_text_inner h3 { margin: 36px 0 6px; }
body .dosa-prose ul { padding-left: 20px; margin: 12px 0 0; }

/* ---------- Hero (home) ---------- */
body .dosa-hero, body .dosa-pagehero { background: linear-gradient(180deg, var(--dosa-darker), var(--dosa-dark)) !important; padding: 88px 0 !important; }
body .dosa-hero .et_pb_text h1 { font: 800 var(--dosa-h1)/1.04 var(--dosa-heading); letter-spacing: -.015em; color: #fff !important; margin: 0 0 24px; text-wrap: pretty; }
body .dosa-hl { color: var(--dosa-sky); }
body .dosa-s .dosa-lead { font-size: 19px; line-height: 1.6; color: var(--dosa-on-dark-text) !important; max-width: 540px; margin: 0 0 36px; text-wrap: pretty; }
body .dosa-hero__copy { flex-direction: row !important; flex-wrap: wrap; align-items: center; column-gap: 16px; }
body .dosa-hero__copy > .et_pb_module { flex: 0 0 100%; }
body .dosa-hero__copy > .et_pb_button_module_wrapper, body .dosa-hero__copy > .dosa-textlink { flex: 0 0 auto; }
body .dosa-s .dosa-textlink a, body .dosa-s a.dosa-textlink { display: inline-block; color: #fff !important; font: 600 17px var(--dosa-body); text-decoration: none; padding: 14px 4px; border-bottom: 1px solid rgba(255, 255, 255, .4); }
body .dosa-s .dosa-textlink a:hover, body .dosa-s a.dosa-textlink:hover { border-bottom-color: #fff; }
body .dosa-checks { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 40px 0 0 !important; padding: 0 !important; list-style: none; }
body .dosa-s .dosa-checks li { font-size: 14px; color: var(--dosa-on-dark-subtle); }
body .dosa-checks li::before { content: "✓ "; color: var(--dosa-sky); }

body .dosa-hero__foto .et_pb_image_wrap { display: block; aspect-ratio: 4 / 3; border-radius: 16px; overflow: hidden; box-shadow: 0 30px 60px rgba(0, 0, 0, .35); }
body .dosa-hero__foto img { width: 100%; height: 100%; object-fit: cover; }

body .dosa-hero__foto, body .dosa-person__foto { width: 100%; max-width: none; }
body :is(.dosa-hero__foto, .dosa-person__foto) .et_pb_image_wrap { width: 100%; }
body .dosa-s .et_pb_row:has(> .et_pb_column > .dosa-intro:only-child) + .et_pb_row { margin-top: 32px; }

/* ---------- Paginahero (subpagina's) ---------- */
body .dosa-pagehero { padding: 72px 0 64px !important; }
body .dosa-pagehero .et_pb_text h1 { font: 800 clamp(34px, 4.4vw, 52px)/1.08 var(--dosa-heading); letter-spacing: -.015em; color: #fff !important; margin: 0 0 18px; }
body .dosa-pagehero .dosa-lead { margin-bottom: 0; max-width: 680px; }
body .dosa-pagehero .et_pb_button_module_wrapper { margin-top: 28px; }

/* ---------- Kaarten ---------- */
body .dosa-card { border: 1px solid var(--dosa-line); border-top: 3px solid var(--dosa-primary); border-radius: 14px; padding: 36px; background: #fff; height: 100%; }
body .dosa-card--dark { border-top-color: var(--dosa-dark); }
body .dosa-s .dosa-kicker { font: 800 13px/1.4 var(--dosa-heading); letter-spacing: .12em; text-transform: uppercase; color: var(--dosa-primary) !important; margin: 0 0 12px; }
body .dosa-card h3 { font-size: 22px !important; margin-bottom: 14px !important; }
body .dosa-card ul { margin: 0; padding: 0 0 0 18px; }
body .dosa-s .dosa-card li { font-size: 16px; line-height: 1.8; }
body .dosa-card p + p { margin-top: 12px; }

body .dosa-mini { background: #fff; border-radius: 12px; padding: 24px; height: 100%; }
body .dosa-s .dosa-mini h3 { font-size: 15px; margin: 0 0 6px; }
body .dosa-s .dosa-mini p { font-size: 14px; line-height: 1.55; color: var(--dosa-muted); }
body .dosa-minis { display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 20px; }
body .dosa-minis > .et_pb_module { margin: 0 !important; }

/* Genummerde stappen */
body .dosa-steps { counter-reset: dosa-step; list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
body .dosa-steps li { counter-increment: dosa-step; background: #fff; border-radius: 12px; padding: 24px; font-size: 15px !important; line-height: 1.55 !important; }
body .dosa-steps li::before { content: counter(dosa-step); display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--dosa-primary); color: #fff; font: 700 15px var(--dosa-heading); margin-bottom: 12px; }
body .dosa-steps strong { display: block; font-family: var(--dosa-heading); color: var(--dosa-dark); margin-bottom: 4px; }

/* ---------- Lessen-sectie ---------- */
body .dosa-lessen-kop { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
body .dosa-lessen-kop h2 { margin: 0 !important; }
body .dosa-lessen-kop .dosa-eyebrow { margin-bottom: 12px; }

/* ---------- Slogan ---------- */
body .dosa-s--slogan { text-align: center; padding: 112px 0 !important; }
body .dosa-s--slogan .et_pb_text { text-align: center; }
body .dosa-s .dosa-slogan { font: 800 var(--dosa-slogan)/1.08 var(--dosa-heading); letter-spacing: -.02em; color: var(--dosa-dark) !important; max-width: 900px; margin: 0 auto; text-wrap: pretty; }
body .dosa-moed { color: var(--dosa-cta); }
body .dosa-s--slogan .dosa-muted { margin: 24px 0 36px !important; }
body #page-container .dosa-s .et_pb_button_module_wrapper { text-align: left !important; }
body #page-container .dosa-s .et_pb_button { margin-left: 0 !important; }
body #page-container .dosa-s--slogan .et_pb_button_module_wrapper { text-align: center !important; }

/* ---------- Mensen (bestuur) ---------- */
body .dosa-person__foto .et_pb_image_wrap { display: block; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; background: var(--dosa-accent); }
body .dosa-person__foto img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; }
body .dosa-person { margin-top: 20px !important; }
body .dosa-s .dosa-person h3 { margin-bottom: 4px; }
body .dosa-s .dosa-person .dosa-rol { font-size: 14px; font-weight: 600; color: var(--dosa-primary); margin-bottom: 10px; }
body .dosa-s .dosa-person p { font-size: 15px; line-height: 1.6; }

/* ---------- Downloads ---------- */
body .dosa-downloads { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
body .dosa-s .dosa-downloads a { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 20px; border: 1px solid var(--dosa-line); border-radius: 12px; background: #fff; text-decoration: none; font: 700 16px var(--dosa-heading); color: var(--dosa-dark); }
body .dosa-s .dosa-downloads a:hover { border-color: var(--dosa-primary); }
body .dosa-downloads small { font: 500 13px var(--dosa-body); color: var(--dosa-muted); white-space: nowrap; }

/* ---------- Kaart (incidenten) ---------- */
body .dosa-kaart .incidenten-kaart, body .dosa-kaart [data-config] { border-radius: 14px; overflow: hidden; }

/* ---------- Header (Theme Builder) ---------- */
body .et-l--header .et_pb_section { background-color: var(--dosa-darker) !important; }
body .et-l--header .et-menu > li > a { color: var(--dosa-on-dark-subtle) !important; padding-bottom: 4px !important; border-bottom: 2px solid transparent; }
body .et-l--header .et-menu > li > a:hover { color: #fff !important; opacity: 1; }
body .et-l--header .et-menu > li:is(.current-menu-item, .current-menu-ancestor, .current_page_parent) > a { color: #fff !important; border-bottom-color: var(--dosa-sky); }
body .et-l--header .mobile_menu_bar::before { color: #fff !important; }

/* ---------- Footer (Theme Builder) ---------- */
body .dosa-footer { background-color: var(--dosa-darker) !important; padding: 64px 0 32px !important; }
body .dosa-footer .et_pb_row { width: calc(100% - 2 * var(--dosa-gutter)); max-width: 1152px; padding: 0; }
body .dosa-footer .et_pb_text, body .dosa-footer .et_pb_text p { color: var(--dosa-on-dark-subtle); font-family: var(--dosa-body); padding-bottom: 0; }
body .dosa-footer .dosa-footer__merk { font: 800 22px var(--dosa-heading); letter-spacing: .04em; color: #fff; margin: 0 0 10px; }
body .dosa-footer .dosa-footer__merk + p { font-size: 14px; line-height: 1.6; max-width: 300px; }
body .dosa-footer .dosa-footer__kop { font: 700 13px var(--dosa-heading); letter-spacing: .08em; text-transform: uppercase; color: var(--dosa-sky); margin: 0 0 14px; }
body .dosa-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
body .dosa-footer li { padding: 0; }
body .dosa-footer a { color: #fff; text-decoration: none; font-size: 15px; }
body .dosa-footer a:hover { text-decoration: underline; text-underline-offset: 3px; }
body .dosa-footer a:focus-visible { outline: 2px solid var(--dosa-sky); outline-offset: 3px; }
body .dosa-footer .dosa-social { display: flex; gap: 10px; margin-top: 18px; }
body .dosa-footer .dosa-social a { width: 44px; height: 44px; border-radius: 8px; background: rgba(255, 255, 255, .1); display: grid; place-items: center; }
body .dosa-footer .dosa-social a:hover { background: rgba(255, 255, 255, .2); }
body .dosa-footer .dosa-social svg { width: 18px; height: 18px; fill: #fff; }
body .dosa-footer__onder { border-top: 1px solid rgba(255, 255, 255, .15); margin-top: 40px !important; padding-top: 24px !important; }
body .dosa-footer .dosa-footer__onder p { font-size: 13px; line-height: 1.6; max-width: 760px; }
body .dosa-footer .dosa-footer__onder p + p { color: var(--dosa-on-dark-muted); margin-top: 8px; }

.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* ---------- Tablet ---------- */
@media (max-width: 980px) {
 :root { --dosa-gutter: 40px; }
  body .dosa-s { padding: 72px 0 !important; }
  body .dosa-grid-hero, body .dosa-grid-split { grid-template-columns: 1fr; gap: 40px; }
  body .dosa-grid-3 { grid-template-columns: 1fr 1fr; }
  body .dosa-grid-footer { grid-template-columns: 1fr 1fr; }
  body .dosa-steps { grid-template-columns: 1fr 1fr; }
}

/* ---------- Mobiel ---------- */
@media (max-width: 767px) {
 :root { --dosa-gutter: 24px; }
  body .dosa-s { padding: 48px 0 !important; }
  body .dosa-s .et_pb_row + .et_pb_row { margin-top: 28px; }
  body .dosa-hero { padding: 44px 0 40px !important; }
  body .dosa-pagehero { padding: 44px 0 40px !important; }
  body .dosa-s .dosa-eyebrow { font-size: 12px; margin-bottom: 14px; }
  body .dosa-hero .et_pb_text h1 { margin-bottom: 16px; }
  body .dosa-s .dosa-lead { font-size: 17px; line-height: 1.55; margin-bottom: 28px; }
  body .dosa-hero__copy > .et_pb_button_module_wrapper, body .dosa-hero__copy > .dosa-textlink { flex: 0 0 100%; text-align: center; }
  body #page-container .dosa-hero__copy .et_pb_button { display: block !important; width: 100% !important; margin: 0 !important; text-align: center; }
  body .dosa-hero .dosa-textlink a { border-bottom: 0; }
  body .dosa-hero .dosa-textlink a::after { content: " →"; }
  body .dosa-checks { margin-top: 24px !important; }
  body .dosa-hero__foto .et_pb_image_wrap { aspect-ratio: 16 / 10; border-radius: 12px; box-shadow: none; }
  body .dosa-grid-2, body .dosa-grid-3, body .dosa-minis, body .dosa-steps, body .dosa-grid-footer { grid-template-columns: 1fr; gap: 14px; }
  body .dosa-grid-3 { gap: 32px; }
  body .dosa-card { padding: 20px; border-radius: 12px; }
  body .dosa-card h3 { font-size: 18px !important; }
  body .dosa-s .dosa-card li { font-size: 15px; line-height: 1.6; }
  body .dosa-s--slogan { padding: 64px 0 !important; }
  body .dosa-s--slogan .dosa-muted { margin: 16px 0 24px !important; font-size: 15px !important; }
  body .dosa-s--slogan .et_pb_button { display: block; }
  body .dosa-footer { padding: 40px 0 28px !important; }
  body .dosa-grid-footer { gap: 28px; }
  body .et-l--header .et_pb_button { font-size: 14px !important; padding: 10px 14px !important; white-space: nowrap; }
  body .et-l--header .et_pb_button::after { display: none !important; }
  body .et-l--header .et_pb_column { width: auto !important; flex: 0 1 auto !important; }
  body .et-l--header .et_pb_row { justify-content: space-between; flex-wrap: nowrap !important; column-gap: 12px; }
}

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

/* Bestuurslid zonder foto: initialen-vlak in dezelfde verhouding als de foto's */
body .dosa-s .dosa-person__initialen { aspect-ratio: 1 / 1; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(180deg, var(--dosa-darker), var(--dosa-dark)); color: var(--dosa-sky); font: 800 clamp(40px, 6vw, 72px) var(--dosa-heading); letter-spacing: .04em; }

/* ---------- Meldformulier (Forminator, ontwerp 'basic') ---------- */
body .dosa-formulier { max-width: 760px; background: #fff; border-radius: 14px; padding: 40px; }
body .dosa-formulier .forminator-ui.forminator-custom-form { font-family: var(--dosa-body); color: var(--dosa-text); margin: 0; }
body .dosa-formulier .forminator-row { margin-bottom: 24px; }
body .dosa-formulier .forminator-label, body .dosa-formulier .forminator-ui legend { font: 600 16px/1.4 var(--dosa-body) !important; color: var(--dosa-dark) !important; margin-bottom: 8px; }
body .dosa-formulier .forminator-description { font-size: 14px !important; color: var(--dosa-muted) !important; }
body .dosa-formulier :is(.forminator-input, .forminator-textarea, select) { width: 100%; border: 1px solid #B9CCDD !important; border-radius: 8px !important; padding: 12px 14px !important; font: 16px var(--dosa-body) !important; background: #fff !important; color: var(--dosa-text) !important; }
body .dosa-formulier .forminator-textarea { min-height: 140px; }
body .dosa-formulier :is(.forminator-input, .forminator-textarea, select):focus { outline: 2px solid var(--dosa-sky); outline-offset: 1px; border-color: var(--dosa-primary) !important; }
body .dosa-formulier :is(.forminator-radio, .forminator-checkbox) { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; line-height: 1.5; padding: 6px 0; min-height: 32px; }
body .dosa-formulier :is(.forminator-radio, .forminator-checkbox) input { accent-color: var(--dosa-primary); width: 18px; height: 18px; margin-top: 3px; flex: none; } /* flex: none, anders krimpt het rondje bij lange labels */
/* Keuzelijst (Forminator vervangt <select> door select2): zelfde rand en hoek als de andere velden */
body .dosa-formulier .select2-container .select2-selection--single { height: auto !important; min-height: 48px; border: 1px solid #B9CCDD !important; border-radius: 8px !important; background: #fff !important; display: flex; align-items: center; }
body .dosa-formulier .select2-container .select2-selection--single .select2-selection__rendered { padding: 12px 40px 12px 14px !important; font: 16px var(--dosa-body) !important; color: var(--dosa-text) !important; line-height: 1.4 !important; }
body .dosa-formulier .select2-container--focus .select2-selection--single, body .dosa-formulier .select2-container--open .select2-selection--single { outline: 2px solid var(--dosa-sky); outline-offset: 1px; border-color: var(--dosa-primary) !important; }
body .dosa-formulier .forminator-html h3 { font: 700 20px var(--dosa-heading); color: var(--dosa-dark); margin: 8px 0 6px; }
body .dosa-formulier .forminator-html p { font-size: 15px; line-height: 1.6; }
body .dosa-formulier .forminator-error-message, body .dosa-formulier .forminator-response-message.forminator-error { color: #B42318 !important; font-size: 14px; }
/* Stappenbalk */
body .dosa-formulier .forminator-pagination-steps, body .dosa-formulier .forminator-steps { margin-bottom: 28px; }
body .dosa-formulier .forminator-step .forminator-step-label { font-size: 13px; color: var(--dosa-muted); }
body .dosa-formulier .forminator-step.forminator-current .forminator-step-label { color: var(--dosa-dark); font-weight: 700; }
/* Knoppen: vorige/volgende rustig blauw; versturen = meldknop (oranje) */
body .dosa-formulier .forminator-button { font: 600 16px var(--dosa-body) !important; border-radius: 8px !important; padding: 14px 24px !important; min-height: 48px; cursor: pointer; border: 0 !important; }
body .dosa-formulier :is(.forminator-button-back, .forminator-button-next) { background: var(--dosa-accent) !important; color: var(--dosa-dark) !important; }
body .dosa-formulier .forminator-button-next { background: var(--dosa-primary) !important; color: #fff !important; }
body .dosa-formulier .forminator-button-submit { background: var(--dosa-cta) !important; color: #fff !important; }
body .dosa-formulier .forminator-button-submit:hover { background: var(--dosa-cta-hover) !important; }
body .dosa-formulier .forminator-button:focus-visible { outline: 2px solid var(--dosa-sky); outline-offset: 3px; }
@media (max-width: 767px) { body .dosa-formulier { padding: 20px; border-radius: 12px; } }
body .dosa-formulier .forminator-input-with-icon .forminator-input { padding-left: 42px !important; }
body .dosa-formulier .forminator-input-with-icon [class*="forminator-icon-"] { left: 14px; }

/* Lessenkaarten in Divi-tekstmodules: geen algemene linkstijl op de titel */
body .dosa-s .et_pb_text .dosa-les__titel a { color: #fff !important; text-decoration: none; }
body .dosa-s .et_pb_text .dosa-les__titel a:hover, body .dosa-s .et_pb_text .dosa-les__titel a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
body .dosa-s .et_pb_text .dosa-les__quote { color: var(--dosa-on-dark-subtle) !important; }
body .dosa-s .et_pb_text .dosa-les__meta { color: var(--dosa-on-dark-muted); }

/* Fallback voor Divi-fontvariabelen op pagina's waar Divi ze niet uitschrijft (bv. losse lessen).
   :where() = specificiteit 0, dus Divi's eigen :root-waarden gaan altijd voor. */
:where(:root) { --gvid-byj6t62tz2: Inter, system-ui, sans-serif; --gvid-7qczinyz2q: Montserrat, system-ui, sans-serif; }
body .dosa-footer .et_pb_text .et_pb_text_inner { font-family: var(--dosa-body); }

/* ---------- Losse les (posttype les) ---------- */
body:is(.single-les, .single-incident) #main-content { background: #fff; }
body:is(.single-les, .single-incident) #main-content .container { max-width: 760px; padding-top: 64px; }
body:is(.single-les, .single-incident) #main-content .container::before { display: none; }
body:is(.single-les, .single-incident) #left-area { width: 100%; padding: 0 0 64px; float: none; }
body:is(.single-les, .single-incident) .et_post_meta_wrapper .post-meta { display: none; }
body:is(.single-les, .single-incident) .entry-title { font: 800 clamp(30px, 4vw, 44px)/1.12 var(--dosa-heading); color: var(--dosa-dark); letter-spacing: -.01em; margin-bottom: 24px; }
body.single-les .et_post_meta_wrapper img { border-radius: 14px; margin-bottom: 32px; max-height: 420px; object-fit: cover; width: 100%; }
body:is(.single-les, .single-incident) .entry-content { font-family: var(--dosa-body); color: var(--dosa-text); }
body:is(.single-les, .single-incident) .entry-content :is(p, li) { font-size: 17px; line-height: 1.7; }
body:is(.single-les, .single-incident) .entry-content h2 { font: 700 24px/1.3 var(--dosa-heading); color: var(--dosa-dark); margin: 36px 0 10px; padding: 0; }
body.single-les .entry-content ul { padding-left: 22px; margin-bottom: 16px; }
body.single-les .entry-content .dosa-bron { margin-top: 32px; padding-top: 16px; border-top: 1px solid var(--dosa-line); font-size: 14px; color: var(--dosa-muted); }
body .dosa-footer :is(ul, li, a) { font-family: var(--dosa-body) !important; }

/* Mobiel menu: paneel over de volle breedte van de header, donker met witte links */
@media (max-width: 980px) {
  body .et-l--header .et_pb_column:has(.et_pb_menu), body .et-l--header .et_pb_menu,
  body .et-l--header .et_pb_menu :is(.et_pb_menu_inner_container, .et_pb_menu__wrap, .et_mobile_nav_menu, .mobile_nav) { position: static !important; }
  body .et-l--header .et_pb_row { position: relative; }
  body .et-l--header .et_pb_menu .mobile_nav .et_mobile_menu { left: 0 !important; right: 0; top: 100% !important; width: auto !important; padding: 8px 0 !important; background: var(--dosa-darker) !important; border-top: 2px solid var(--dosa-sky) !important; border-radius: 0 0 12px 12px; box-shadow: 0 16px 32px rgba(0, 0, 0, .35); }
  body .et-l--header .et_pb_menu .mobile_nav .et_mobile_menu ul { padding: 0 !important; background: transparent !important; }
  body .et-l--header .et_pb_menu .mobile_nav .et_mobile_menu li a { color: #fff !important; font-size: 17px !important; padding: 12px 20px !important; border-bottom: 1px solid rgba(255, 255, 255, .1) !important; background: transparent !important; }
  body .et-l--header .et_pb_menu .mobile_nav .et_mobile_menu li li a { padding-left: 24px !important; font-size: 16px !important; color: var(--dosa-on-dark-subtle) !important; }
  body .et-l--header .et_pb_menu .mobile_nav .et_mobile_menu :is(.current-menu-item, .current_page_item) > a { color: var(--dosa-sky) !important; }
  body .et-l--header .et_pb_menu .mobile_nav .et_mobile_menu li a:focus-visible { outline: 2px solid var(--dosa-sky); outline-offset: -2px; }
}

/* Sponsors: logo's in tegels van gelijke grootte, gecentreerd en even hoog */
body .dosa-s .dosa-sponsors { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
body .dosa-s .dosa-sponsors .dosa-sponsor { display: flex; align-items: center; justify-content: center; height: 180px; padding: 24px 32px; background: #fff; border: 1px solid var(--dosa-line); border-radius: 14px; }
body .dosa-s .dosa-sponsors .dosa-sponsor a { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; text-decoration: none; }
body .dosa-s .dosa-sponsors .dosa-sponsor:has(a:hover) { border-color: var(--dosa-primary); }
body .dosa-s .dosa-sponsors .dosa-sponsor a:focus-visible { outline: 2px solid var(--dosa-sky); outline-offset: 6px; border-radius: 8px; }
body .dosa-s .dosa-sponsors .dosa-sponsor img { display: block; width: 100%; height: 100%; object-fit: contain; } /* ook svg's met een kleine eigen maat vullen de tegel */
/* Optisch gelijk gewicht: compacte, zware logo's kleiner dan brede woordmerken */
body .dosa-s .dosa-sponsors .dosa-sponsor--ssi img { height: 78%; }
@media (max-width: 980px) { body .dosa-s .dosa-sponsors { grid-template-columns: 1fr 1fr; } }
@media (max-width: 479px) { body .dosa-s .dosa-sponsors { gap: 12px; } body .dosa-s .dosa-sponsors .dosa-sponsor { height: 120px; padding: 16px 20px; } }

/* Tabel in tekst (privacyverklaring) */
body .dosa-prose .dosa-tabel { width: 100%; border-collapse: collapse; margin: 16px 0 0; font-size: 16px; }
body .dosa-prose .dosa-tabel :is(th, td) { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--dosa-line); color: var(--dosa-text); }
body .dosa-prose .dosa-tabel th { font-weight: 600; color: var(--dosa-dark); }
@media (max-width: 479px) { body .dosa-prose .dosa-tabel { font-size: 15px; } body .dosa-prose .dosa-tabel :is(th, td) { padding: 8px 6px; } }

/* Artikelstijl voor lange teksten (privacyverklaring): zelfde koppen en afstanden als een les.
   Hoofdstuk (h2) 24px, 36px erboven; subkop (h3) 19px; tekst en lijsten op vaste afstand van 14px. */
body .dosa-s .dosa-artikel .et_pb_text_inner h2 { font: 700 24px/1.3 var(--dosa-heading); margin: 36px 0 10px; }
body .dosa-s .dosa-artikel .et_pb_text_inner h3 { font: 700 19px/1.35 var(--dosa-heading); margin: 24px 0 6px; }
body .dosa-s .dosa-artikel .et_pb_text_inner :is(h2, h3):first-child { margin-top: 0; }
body .dosa-s .dosa-artikel .et_pb_text_inner h2 + h3 { margin-top: 14px; }
body .dosa-s .dosa-artikel .et_pb_text_inner :is(p, ul, table) { margin-top: 14px; margin-bottom: 0; }
body .dosa-s .dosa-artikel .et_pb_text_inner :is(h2, h3) + :is(p, ul, table) { margin-top: 0; }
body .dosa-s .dosa-artikel .et_pb_text_inner > :first-child { margin-top: 0; }
