{"id":1950,"date":"2025-03-17T17:32:58","date_gmt":"2025-03-17T17:32:58","guid":{"rendered":"https:\/\/biologiehuis.com\/?page_id=1950"},"modified":"2025-08-14T15:35:47","modified_gmt":"2025-08-14T15:35:47","slug":"meerkeuze-vragen","status":"publish","type":"page","link":"https:\/\/biologiehuis.com\/?page_id=1950","title":{"rendered":"Meerkeuze vragen"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"1950\" class=\"elementor elementor-1950\">\n\t\t\t\t<div class=\"elementor-element elementor-element-27eee69 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"27eee69\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7edca46 elementor-widget elementor-widget-heading\" data-id=\"7edca46\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Meerkeuze vragen<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e7ad099 elementor-widget__width-inherit elementor-widget elementor-widget-html\" data-id=\"e7ad099\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!--\n  WordPress \/ Gutenberg: Kant\u2011en\u2011klare HTML + CSS + JS (geen frameworks nodig)\n  Plaats dit in een \"Aangepaste HTML\" blok. Alles is inline en namespaced met prefix `as-`.\n  Versie 2: meer afgestemd op jouw groene huisstijl + een speelsere, \"chaotische\" bordspel\u2011route.\n-->\n\n<section class=\"as-wrap\" aria-label=\"Stappenplan voor het juiste antwoord\">\n  <style>\n    \/* =====================\n       Design tokens (jouw huisstijl)\n       ===================== *\/\n    .as-wrap {\n      \/* Global Colors uit je screenshot *\/\n      --as-color-primary: #6EC1E4; \/* Primair (blauw) *\/\n      --as-color-secondary: #54595F; \/* Secundair (grijs) *\/\n      --as-color-text: #7A7A7A; \/* Tekst *\/\n      --as-color-accent: #61CE70; \/* Accent (groen) *\/\n\n      \/* Custom kleuren *\/\n      --as-color-dark: #030A11;  \/* Donker *\/\n      --as-color-gold: #929B00;  \/* Goud *\/\n      --as-color-neutral: #C4C4C4; \/* Lichtgrijs *\/\n\n      \/* UI en accenten *\/\n      --as-surface: #F5FFF7; \/* subtiel groen oppervlak voor cards *\/\n      --as-surface-2: #ECFDF1; \/* tint voor hover *\/\n      --as-grad-strong: linear-gradient(90deg, var(--as-color-accent), #4FBD66, var(--as-color-gold));\n      --as-grad-soft: linear-gradient(90deg, rgba(97,206,112,.35), rgba(110,193,228,.25));\n      --as-text-strong: var(--as-color-dark);\n      --as-text: var(--as-color-text);\n      --as-muted: #64748b; \/* neutraal voor microcopy *\/\n      --as-card: var(--as-surface);\n      --as-border: rgba(3,10,17,0.10);\n      --as-shadow: 0 10px 30px rgba(3,10,17,0.06);\n      --as-radius: 20px;\n      --as-blur: saturate(180%) blur(8px);\n\n      \/* Fonts \u2014 zet hier je eigen fonts als je wilt *\/\n      --as-font-head: var(--as-font-body, system-ui, -apple-system, Segoe UI, Roboto, Arial);\n      --as-font-body: system-ui, -apple-system, Segoe UI, Roboto, Arial;\n    }\n\n    \/* ===================== Base ===================== *\/\n    .as-wrap * { box-sizing: border-box; }\n    .as-wrap { position: relative; padding: 36px 20px; color: var(--as-text); background:\n      radial-gradient(1200px 500px at -10% -10%, rgba(97,206,112,.18), transparent),\n      radial-gradient(1200px 500px at 110% 110%, rgba(110,193,228,.14), transparent);\n      font-family: var(--as-font-body);\n    }\n    .as-container { max-width: 1600px; margin: 0 auto; position: relative; border: 1px solid rgba(255,255,255,.2); border-radius: 28px; padding: 6px; background: linear-gradient(#ffffff, #ffffff) padding-box, var(--as-grad-soft) border-box; box-shadow: 0 30px 80px rgba(3,10,17,0.10); }\n\n    \/* ===================== Hero ===================== *\/\n    .as-badge { display: inline-flex; align-items: center; gap: 8px; font: 600 12px\/1.2 var(--as-font-body); color: #2F3C2F; padding: 8px 12px; border: 1px solid var(--as-border); border-radius: 999px; background: rgba(255,255,255,0.85); box-shadow: 0 2px 10px rgba(3,10,17,0.06); backdrop-filter: var(--as-blur); }\n    .as-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--as-grad-strong); display: inline-block; }\n    .as-title { margin: 16px 0 8px; font-weight: 800; line-height: 1.02; letter-spacing: -0.02em; font-size: clamp(28px, 5vw, 48px); background: var(--as-grad-strong); -webkit-background-clip: text; background-clip: text; color: transparent; font-family: var(--as-font-head); }\n    .as-sub { max-width: 820px; color: #2F3C2F; opacity:.85; font-size: clamp(14px, 2.1vw, 18px); }\n\n    \/* ===================== Search ===================== *\/\n    .as-search { position: relative; margin: 22px 0 10px; }\n    .as-input { width: 100%; height: 46px; padding: 10px 14px 10px 42px; border-radius: 14px; border: 1px solid var(--as-border); background: rgba(255,255,255,0.92); box-shadow: 0 6px 16px rgba(3,10,17,0.05); outline: none; font-size: 15px; color: var(--as-text-strong); }\n    .as-input:focus { border-color: rgba(97,206,112,.55); box-shadow: 0 0 0 4px rgba(97,206,112,.18); }\n    .as-search-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; opacity: 0.45; fill: currentColor; color: #3E7E52; }\n    .as-count { font-size: 13px; color: var(--as-muted); margin-top: 6px; }\n\n    \/* ===================== Grid ===================== *\/\n    .as-grid { list-style: none; padding: 0; margin: 28px 0 0; display: grid; grid-template-columns: 1fr; gap: 18px; }\n    @media (min-width: 640px) { .as-grid { grid-template-columns: 1fr 1fr; } }\n\n    \/* ===================== Cards ===================== *\/\n    .as-card { position: relative; border: 1px solid var(--as-border); border-radius: var(--as-radius); background: var(--as-card); backdrop-filter: var(--as-blur); box-shadow: var(--as-shadow); overflow: hidden; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease; }\n    .as-card:hover { transform: translateY(-2px) rotate(-.2deg); background: var(--as-surface-2); box-shadow: 0 16px 40px rgba(3,10,17,0.10); }\n    .as-card-inner { display: flex; gap: 16px; padding: 20px; align-items: flex-start; }\n\n    .as-num { position: relative; flex: 0 0 48px; height: 48px; display: grid; place-items: center; border-radius: 14px; color: #fff; font-weight: 800; letter-spacing: 0.02em; isolation: isolate; }\n    .as-num::before { content: \"\"; position: absolute; inset: 0; border-radius: 14px; background: var(--as-grad-strong); opacity: 0.98; z-index: -1; }\n    .as-num::after { content: \"\"; position: absolute; inset: 0; border-radius: 14px; box-shadow: inset 0 0 18px rgba(255,255,255,0.22); z-index: -1; }\n\n    .as-head { display: flex; align-items: center; gap: 8px; }\n    .as-h3 { margin: 0; font-size: 18px; font-weight: 800; color: var(--as-text-strong); font-family: var(--as-font-head); }\n    .as-check { width: 16px; height: 16px; opacity: .95; fill: var(--as-color-accent); }\n    .as-desc { margin: 8px 0 0; color: #2F3C2F; opacity:.85; line-height: 1.6; font-size: 15px; }\n\n    .as-divider { height: 1px; margin: 16px 20px 0; background: linear-gradient(90deg, transparent, rgba(3,10,17,0.10), transparent); }\n    .as-micro { padding: 10px 20px 18px; color: var(--as-muted); font-size: 12px; }\n\n    \/* Hover glow *\/\n    .as-glow { pointer-events: none; position: absolute; inset: 0; opacity: 0; transition: opacity .3s ease; }\n    .as-card:hover .as-glow { opacity: 1; }\n    .as-glow::before { content: \"\"; position: absolute; inset: -6px; border-radius: calc(var(--as-radius) + 6px); background: radial-gradient(600px 120px at 20% 0%, rgba(97,206,112,.18), transparent 60%), radial-gradient(600px 120px at 80% 100%, rgba(146,155,0,.16), transparent 60%); }\n\n    \/* Reveal animation *\/\n    .as-card { opacity: 0; transform: translateY(8px); }\n    .as-card.is-visible { opacity: 1; transform: translateY(0); transition: opacity .4s ease, transform .4s ease; }\n\n    \/* Footer *\/\n    .as-foot { margin: 22px 0 0; text-align: center; border: 1px solid var(--as-border); border-radius: var(--as-radius); background: rgba(255,255,255,0.85); padding: 18px; color: #2F3C2F; box-shadow: 0 8px 24px rgba(3,10,17,0.08); font-weight: 600; }\n    .as-brand { background: var(--as-grad-strong); -webkit-background-clip: text; background-clip: text; color: transparent; font-weight: 800; }\n\n    \/* ===================== Bordspel \u2014 route ===================== *\/\n    .as-flow { position: absolute; inset: 0; pointer-events: none; z-index: 0; }\n    .as-container > *:not(.as-flow) { position: relative; z-index: 1; }\n    .as-start, .as-finish { position: absolute; z-index: 2; padding: 6px 10px; border-radius: 999px; font: 800 12px\/1 var(--as-font-head); color: #fff; box-shadow: 0 8px 20px rgba(3,10,17,0.18); letter-spacing:.02em; }\n    .as-start { background: var(--as-grad-strong); }\n    .as-finish { background: linear-gradient(90deg, var(--as-color-gold), #5E6B72); }\n  <\/style>\n\n  <div class=\"as-container\">\n    <svg class=\"as-flow\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"none\" aria-hidden=\"true\"><\/svg>\n\n\n    <header>\n      <span class=\"as-badge\"><i class=\"as-dot\"><\/i> Examensucces begint met scherpe keuzes<\/span>\n      <h2 class=\"as-title\">Stappenplan voor het Juiste Antwoord<\/h2>\n    <\/header>\n\n    <div class=\"as-search\" role=\"search\">\n    \n      <label for=\"as-input\" class=\"screen-reader-text\">Zoek in stappen<\/label>\n      <input id=\"as-input\" class=\"as-input\" type=\"search\" placeholder=\"Zoek in 20 stappen\u2026\" aria-label=\"Zoek in stappen\" \/>\n      <div class=\"as-count\" aria-live=\"polite\">20 stappen gevonden<\/div>\n    <\/div>\n\n    <ol class=\"as-grid\" id=\"as-grid\">\n      <!-- Cards -->\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">1<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Lees de vraag aandachtig<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Begrijp exact wat er wordt gevraagd v\u00f3\u00f3rdat je naar de opties kijkt. Een klein detail kan doorslaggevend zijn.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Tip: onderstreep sleutelwoorden in de vraag.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">2<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Let op signaalwoorden<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Woorden als \u2018altijd\u2019, \u2018nooit\u2019, \u2018soms\u2019 geven hints. Absolutistische uitspraken zijn vaak verdacht.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Let op nuances zoals \"meestal\" of \"vaak\".<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">3<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Bepaal de kern<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Identificeer het onderwerp en koppel dit aan je kennis om irrelevante opties uit te sluiten.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Vat de vraag in \u00e9\u00e9n zin samen.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">4<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Bedenk eerst zelf een antwoord<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Formuleer een logisch antwoord in je hoofd voordat je de opties leest. Zo voorkom je be\u00efnvloeding.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Denk 5\u201310 seconden na v\u00f3\u00f3r je scrolt.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">5<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Elimineer duidelijke missers<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Schrap opties die aantoonbaar onjuist zijn en vergroot zo je kans op de juiste keuze.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Streep ze letterlijk door op papier.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">6<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Vergelijk wat overblijft<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Kies tussen plausibele opties degene die preciezer of vollediger is.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Let op sleutelbegrippen die ontbreken.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">7<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Pas de uitsluitingsmethode toe<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Twijfel je? Verwijder stap voor stap de minst waarschijnlijke optie.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Van 4 \u2192 2 antwoorden gaat vaak snel.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">8<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Match vraag en antwoord<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Let op formuleringen die terugkomen in de juiste optie.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Synoniemen tellen ook!<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">9<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Vermijd valkuilen<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Let op omgekeerde logica of misleidende zinsbouw. Lees kritisch.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Zoek woorden als \"tenzij\", \"behalve\".<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">10<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Check op tegenstrijdigheden<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Een antwoord dat zichzelf tegenspreekt of niet aansluit, is waarschijnlijk fout.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Logica > gevoel.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">11<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Redeneer feitelijk<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Baseer je keuze op kennis en logica, niet op gokken of intu\u00eftie alleen.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Denk: bewijs, definitie, oorzaak\u2192gevolg.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">12<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Toets relevantie<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Een antwoord kan juist lijken maar niet passen bij de vraag. Focus op relevantie.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Dwaal niet af.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">13<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Let op dubbele ontkenningen<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Herschrijf zo nodig verwarrende zinnen naar eenvoudige taal.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Schrap \u2018niet\u2019 en kijk opnieuw.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">14<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Neem de tijd<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Vermijd haast, zeker wanneer meerdere antwoorden plausibel lijken.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Eerst denken, dan klikken.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">15<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Gebruik voorkennis en logica<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Ook zonder het exacte antwoord kun je via redeneren vaak tot de beste keuze komen.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Maak denkstappen expliciet.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">16<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Kies het meest complete antwoord<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Als meerdere opties kloppen, ga voor de optie die het volledigst is.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Volledigheid > fragment.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">17<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Controleer grammaticale overeenstemming<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Soms verraadt de formulering welk antwoord het beste past.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Let op enkelvoud\/meervoud.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">18<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Markeer lastige vragen<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Sla even over en kom later terug met een frisse blik.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Zet een \u2b50 en ga door.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">19<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Blijf gefocust, vertrouw je voorbereiding<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Stress en twijfel zijn slechte raadgevers. Adem, focus, ga door.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Mini-pauze = meer scherpte.<\/div><div class=\"as-glow\"><\/div><\/li>\n      <li class=\"as-card\"><div class=\"as-card-inner\"><div class=\"as-num\">20<\/div><div class=\"as-body\"><div class=\"as-head\"><h3 class=\"as-h3\">Blijf bij je eerste keuze (tenzij\u2026)<\/h3><svg class=\"as-check\" viewBox=\"0 0 24 24\" aria-hidden=\"true\"><path d=\"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\/><\/svg><\/div><p class=\"as-desc\">Wijzig je antwoord alleen als je goede, nieuwe argumenten hebt.<\/p><\/div><\/div><div class=\"as-divider\"><\/div><div class=\"as-micro\">Twijfel \u2260 bewijs.<\/div><div class=\"as-glow\"><\/div><\/li>\n    <\/ol>\n\n\n\n  <script>\n    (function(){\n      const wrap = document.querySelector('.as-wrap');\n      const container = document.querySelector('.as-container');\n      const input = document.getElementById('as-input');\n      const grid = document.getElementById('as-grid');\n      const count = document.querySelector('.as-count');\n      const cards = Array.from(grid.querySelectorAll('.as-card'));\n      const svg = container.querySelector('.as-flow');\n\n\n      \/\/ Pas deze aan om de speelsheid te regelen\n      const CHAOS = 1.0; \/\/ 0 = recht, 0.6 = subtiel, 1.0 = speels, 1.6 = lekker chaotisch\n\n      function visibleCards(){\n        return cards.filter(c => c.style.display !== 'none');\n      }\n\n      function filter(){\n        const q = (input.value || '').trim().toLowerCase();\n        let visible = 0;\n        cards.forEach(card => {\n          const text = card.innerText.toLowerCase();\n          const match = !q || text.includes(q);\n          card.style.display = match ? '' : 'none';\n          if (match) visible++;\n        });\n        count.textContent = visible + ' stap' + (visible === 1 ? '' : 'pen') + ' gevonden';\n        requestAnimationFrame(drawFlow);\n      }\n\n      input.addEventListener('input', filter);\n\n      \/\/ Reveal on view\n      const io = new IntersectionObserver((entries) => {\n        for (const e of entries) {\n          if (e.isIntersecting) {\n            e.target.classList.add('is-visible');\n            io.unobserve(e.target);\n          }\n        }\n      }, { rootMargin: '0px 0px -80px 0px', threshold: 0.05 });\n      cards.forEach(c => io.observe(c));\n\n      \/\/ ================== Bordspel-flow (SVG met speelse kronkels) ==================\n      function noise(seed){\n        const x = Math.sin(seed) * 10000; return x - Math.floor(x); \/\/ 0..1\n      }\n\n      function centerOf(el){\n        const r = el.getBoundingClientRect();\n        const c = container.getBoundingClientRect();\n        return { x: r.left - c.left + r.width\/2, y: r.top - c.top + r.height\/2 };\n      }\n\n      function chaoticPath(a, b, i){\n        const p1 = centerOf(a); const p2 = centerOf(b);\n        const dx = p2.x - p1.x, dy = p2.y - p1.y; const len = Math.hypot(dx,dy) || 1;\n        const nx = -dy\/len, ny = dx\/len; \/\/ normaal (loodrecht)\n        const amp = Math.min(130, 18 + len*0.35) * CHAOS; \/\/ amplitude\n\n        \/\/ maak twee tussenpunten langs de lijn, maar duw ze opzij met ruis\n        const w1 = { x: p1.x + dx*0.33 + nx * (noise(i*7+1)-.5) * amp,\n                     y: p1.y + dy*0.33 + ny * (noise(i*7+2)-.5) * amp };\n        const w2 = { x: p1.x + dx*0.66 + nx * (noise(i*7+3)-.5) * amp,\n                     y: p1.y + dy*0.66 + ny * (noise(i*7+4)-.5) * amp };\n\n        \/\/ controlepunten rond de waypoints voor mooie bochten\n        const c1 = { x: p1.x + dx*0.16 + nx * (noise(i*7+5)-.5) * amp,\n                     y: p1.y + dy*0.16 + ny * (noise(i*7+6)-.5) * amp };\n        const c2 = { x: w1.x + nx * (noise(i*7+7)-.5) * amp*0.6,\n                     y: w1.y + ny * (noise(i*7+8)-.5) * amp*0.6 };\n        const c3 = { x: w1.x + dx*0.16 + nx * (noise(i*7+9)-.5) * amp,\n                     y: w1.y + dy*0.16 + ny * (noise(i*7+10)-.5) * amp };\n        const c4 = { x: w2.x + nx * (noise(i*7+11)-.5) * amp*0.6,\n                     y: w2.y + ny * (noise(i*7+12)-.5) * amp*0.6 };\n        const c5 = { x: w2.x + dx*0.16 + nx * (noise(i*7+13)-.5) * amp,\n                     y: w2.y + dy*0.16 + ny * (noise(i*7+14)-.5) * amp };\n        const c6 = { x: p2.x - dx*0.05 + nx * (noise(i*7+15)-.5) * amp*0.4,\n                     y: p2.y - dy*0.05 + ny * (noise(i*7+16)-.5) * amp*0.4 };\n\n        return `M ${p1.x} ${p1.y}\n                C ${c1.x} ${c1.y}, ${c2.x} ${c2.y}, ${w1.x} ${w1.y}\n                C ${c3.x} ${c3.y}, ${c4.x} ${c4.y}, ${w2.x} ${w2.y}\n                C ${c5.x} ${c5.y}, ${c6.x} ${c6.y}, ${p2.x} ${p2.y}`;\n      }\n\n      function drawFlow(){\n        const vis = visibleCards();\n        const cbox = container.getBoundingClientRect();\n        svg.setAttribute('width', cbox.width);\n        svg.setAttribute('height', cbox.height);\n        svg.setAttribute('viewBox', `0 0 ${cbox.width} ${cbox.height}`);\n\n        \/\/ clear\n        svg.innerHTML = '';\n\n        \/\/ defs (pijlpunt + gradient)\n        const defs = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'defs');\n        const grad = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'linearGradient');\n        grad.setAttribute('id','as-path');\n        grad.setAttribute('x1','0'); grad.setAttribute('x2','1'); grad.setAttribute('y1','0'); grad.setAttribute('y2','0');\n        const stop1 = document.createElementNS('http:\/\/www.w3.org\/2000\/svg','stop'); stop1.setAttribute('offset','0%'); stop1.setAttribute('stop-color', getComputedStyle(wrap).getPropertyValue('--as-color-accent').trim());\n        const stop2 = document.createElementNS('http:\/\/www.w3.org\/2000\/svg','stop'); stop2.setAttribute('offset','70%'); stop2.setAttribute('stop-color', getComputedStyle(wrap).getPropertyValue('--as-color-gold').trim());\n        const stop3 = document.createElementNS('http:\/\/www.w3.org\/2000\/svg','stop'); stop3.setAttribute('offset','100%'); stop3.setAttribute('stop-color', getComputedStyle(wrap).getPropertyValue('--as-color-secondary').trim());\n        grad.append(stop1,stop2,stop3);\n\n        const marker = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'marker');\n        marker.setAttribute('id', 'as-arrow');\n        marker.setAttribute('markerWidth', '14');\n        marker.setAttribute('markerHeight', '14');\n        marker.setAttribute('refX', '10');\n        marker.setAttribute('refY', '5');\n        marker.setAttribute('orient', 'auto');\n        const tip = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n        tip.setAttribute('d', 'M0,0 L10,5 L0,10 Z');\n        tip.setAttribute('fill', getComputedStyle(wrap).getPropertyValue('--as-color-gold').trim() || '#929B00');\n        marker.appendChild(tip);\n\n        defs.appendChild(grad);\n        defs.appendChild(marker);\n        svg.appendChild(defs);\n\n        \/\/ Schaduwpaden (glow) + hoofdroute\n        for (let i = 0; i < vis.length - 1; i++) {\n          const d = chaoticPath(vis[i], vis[i+1], i+1);\n\n          const glow = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          glow.setAttribute('d', d);\n          glow.setAttribute('fill', 'none');\n          glow.setAttribute('stroke', 'rgba(97,206,112,.25)');\n          glow.setAttribute('stroke-width', '8');\n          glow.setAttribute('stroke-linecap', 'round');\n          glow.setAttribute('opacity', '1');\n          svg.appendChild(glow);\n\n          const path = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'path');\n          path.setAttribute('d', d);\n          path.setAttribute('fill', 'none');\n          path.setAttribute('stroke', 'url(#as-path)');\n          path.setAttribute('stroke-width', '3');\n          path.setAttribute('stroke-linecap', 'round');\n          path.setAttribute('marker-end', 'url(#as-arrow)');\n          path.setAttribute('opacity', '0.95');\n          path.setAttribute('stroke-dasharray', (i % 2 ? '16 6' : '0')); \/\/ af en toe gestreept voor chaos\n          svg.appendChild(path);\n\n          \/\/ kleine pion\u2011bolletjes op waypoints\n          const dot = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'circle');\n          const p = centerOf(vis[i]);\n          dot.setAttribute('cx', p.x); dot.setAttribute('cy', p.y); dot.setAttribute('r', '4');\n          dot.setAttribute('fill', i % 3 === 0 ? getComputedStyle(wrap).getPropertyValue('--as-color-accent').trim() : '#A1D8B0');\n          dot.setAttribute('opacity', '.9');\n          svg.appendChild(dot);\n        }\n\n        \/\/ START \/ FINISH positioneren\n        const visNow = vis;\n        if (visNow[0]) {\n          const a = visNow[0].getBoundingClientRect();\n          const c = container.getBoundingClientRect();\n          startTag.style.left = (a.left - c.left - 6) + 'px';\n          startTag.style.top  = (a.top - c.top - 28) + 'px';\n        }\n        if (visNow[visNow.length - 1]) {\n          const b = visNow[visNow.length - 1].getBoundingClientRect();\n          const c = container.getBoundingClientRect();\n          finishTag.style.left = (b.right - c.left - 72) + 'px';\n          finishTag.style.top  = (b.bottom - c.top + 10) + 'px';\n        }\n      }\n\n      window.addEventListener('resize', () => requestAnimationFrame(drawFlow));\n      window.addEventListener('load', () => requestAnimationFrame(drawFlow));\n      \/\/ Eerste render\n      drawFlow();\n    })();\n  <\/script>\n<\/section>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fa19f48 elementor-widget elementor-widget-heading\" data-id=\"fa19f48\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Nog beter voorbereiden?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6a53ff0 elementor-widget elementor-widget-text-editor\" data-id=\"6a53ff0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>We willen graag dat je je zo goed mogelijk voorbereid! Je kan hieronder nog meer lezen en verschillende oefeningen en toetsen maken om je kennis te testen. Succes!!!<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7317de0 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"7317de0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a99c304 elementor-widget elementor-widget-n-accordion\" data-id=\"a99c304\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;default_state&quot;:&quot;all_collapsed&quot;,&quot;max_items_expended&quot;:&quot;one&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1770\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1770\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Oefenen per onderdeel <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-minus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-plus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1770\" class=\"elementor-element elementor-element-218800b e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-child\" data-id=\"218800b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9c23559 elementor-widget elementor-widget-html\" data-id=\"9c23559\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- === ONDERDEEL MET 3 MCQ-VRAGEN NAAST ELKAAR + TOELICHTING (Elementor HTML widget) === -->\r\n<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n\r\n<div class=\"quiz-wrap\">\r\n  <!-- ===== ONDERDEEL 1: Lees de vraag zorgvuldig ===== -->\r\n  <section class=\"quiz-section\" data-section-id=\"onderdeel-1\">\r\n    <div class=\"quiz-header\">\r\n      <h2 class=\"quiz-title\">Onderdeel 1 \u2013 Lees de vraag zorgvuldig<\/h2>\r\n      <div class=\"quiz-toolbar\">\r\n        <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n        <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n        <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n      <\/div>\r\n      <p class=\"quiz-desc\">\r\n        Scan eerst de <strong>kernwoorden<\/strong> (bijv. \u201cnaar\/van\u201d, \u201cprimair\/secundair\u201d, \u201cdirect\/indirect\u201d), let op\r\n        <strong>signaalwoorden<\/strong> (\u201cbehalve\u201d, \u201ctenzij\u201d, \u201caltijd\u201d) en op <strong>context<\/strong> (mens\/dier,\r\n        cel\/organisme, in vivo\/in vitro). E\u00e9n klein detail bepaalt vaak het juiste antwoord.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"quiz-grid\">\r\n      <!-- Vraag 1 -->\r\n      <div class=\"mcq-quiz\" data-correct=\"B\">\r\n        <h3 id=\"q1\">Welke bloedvaten vervoeren <em>zuurstofrijk<\/em> bloed <strong>naar<\/strong> het hart?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q1\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Pulmonale slagaders<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Pulmonale aders<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Aorta<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Vena cava<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden>\r\n          <strong>Uitleg:<\/strong> \u201cNaar het hart\u201d + zuurstofrijk = <em>pulmonale aders<\/em> (van longen naar linkerhart). Aorta\/Vena cava gaan juist <em>van\/naar<\/em> het lichaam.\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Vraag 2 -->\r\n      <div class=\"mcq-quiz\" data-correct=\"B\">\r\n        <h3 id=\"q2\">Welke vaten voeren <em>zuurstofarm<\/em> bloed <strong>van<\/strong> het hart naar de longen?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q2\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Venae pulmonales<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Arteriae pulmonales (longslagaders)<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Aorta<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Vena cava<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden>\r\n          <strong>Uitleg:<\/strong> \u201cVan het hart naar de longen\u201d + zuurstofarm = <em>longslagaders<\/em>. De venae pulmonales brengen juist zuurstofrijk bloed terug.\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- Vraag 3 -->\r\n      <div class=\"mcq-quiz\" data-correct=\"C\">\r\n        <h3 id=\"q3\">Waar bevindt DNA zich bij <em>prokaryoten<\/em> hoofdzakelijk?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q3\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Kern<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Mitochondri\u00ebn<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Nucleo\u00efde<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Nucleolus<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden>\r\n          <strong>Uitleg:<\/strong> Prokaryoten hebben geen kern of mitochondri\u00ebn. Hun circulair DNA ligt in het <em>nucleo\u00efde<\/em>.\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n<\/div>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4248667 elementor-widget elementor-widget-html\" data-id=\"4248667\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n\r\n<div class=\"quiz-wrap\">\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-2\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 2 \u2013 Let op signaalwoorden<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">\r\n      Absolutistische woorden als <strong>altijd<\/strong>, <strong>nooit<\/strong>, <strong>uitsluitend<\/strong> maken een bewering vaak kwetsbaar.\r\n      Nuancewoorden (<em>meestal<\/em>, <em>soms<\/em>, <em>kan<\/em>) passen vaker bij correcte uitspraken.\r\n    <\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q2-1\">Enzymen werken <strong>altijd<\/strong> optimaal bij pH 7.<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q2-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Waar<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onwaar<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Pepsine (maag) werkt zuur; andere juist basisch. \u201cAltijd\u201d is te absoluut.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q2-2\">Fotosynthese vindt <strong>altijd<\/strong> plaats bij daglicht.<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q2-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Waar<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onwaar<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> CAM-planten fixeren \u2019s nachts CO\u2082; \u201caltijd\u201d klopt dus niet.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q2-3\">Alle hormonen zijn <strong>altijd<\/strong> eiwitten.<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q2-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Waar<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onwaar<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Stero\u00efdhormonen zijn lipiden, geen eiwitten.<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-579416e elementor-widget elementor-widget-html\" data-id=\"579416e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-3\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 3 \u2013 Bepaal het onderwerp van de vraag<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">\r\n      Vat de vraag in \u00e9\u00e9n kernwoord samen (bijv. \u201climiterende factor\u201d, \u201cregelhormoon\u201d) en koppel dit aan je voorkennis.\r\n    <\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q3-1\">Wat is vaak de beperkende factor voor primaire productie in de open oceaan?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q3-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Licht<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Nitraat\/fosfaat<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> CO\u2082<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> O\u2082<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> In de open oceaan zijn nutri\u00ebnten (N\/P) vaak schaars.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"C\">\r\n      <h3 id=\"q3-2\">Welk hormoon verlaagt direct de bloedglucosespiegel?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q3-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Glucagon<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Adrenaline<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Insuline<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Cortisol<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Insuline stimuleert opname\/opslaan van glucose.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q3-3\">Wat is meestal limiterend voor plantengroei in de woestijn?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q3-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Licht<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Water<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> CO\u2082<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Zuurstof<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> In droge ecosystemen is water de beperkende hulpbron.<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7566063 elementor-widget elementor-widget-html\" data-id=\"7566063\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-4\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 4 \u2013 Probeer eerst zelf een antwoord te bedenken<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Formuleer v\u00f3\u00f3r je opties leest jouw korte \u2018eigen antwoord\u2019. Zo vermijd je framing door afleiders.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"C\">\r\n      <h3 id=\"q4-1\">Waar vindt de ATP-productie van de aerobe respiratie vooral plaats?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q4-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Cytoplasma<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Ribosomen<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Mitochondri\u00ebn<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Kern<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Oxidatieve fosforylering bevindt zich in mitochondri\u00ebn.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"C\">\r\n      <h3 id=\"q4-2\">Waar vindt glycolyse plaats?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q4-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Mitochondri\u00ebn<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Kern<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Cytoplasma<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Golgi<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Glycolyse = cytosolisch proces.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q4-3\">Waar vindt translatie plaats?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q4-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Kern<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Ribosomen<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Lysosomen<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Peroxisomen<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Eiwitsynthese gebeurt op ribosomen (vrij of op RER).<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0ff00ea elementor-widget elementor-widget-html\" data-id=\"0ff00ea\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-5\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 5 \u2013 Elimineer duidelijk onjuiste antwoorden<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Schrap eerst wat feitelijk niet kan; je kans op het juiste antwoord stijgt direct.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"C\">\r\n      <h3 id=\"q5-1\">Welke structuur bevat <em>dubbelstrengs<\/em> DNA?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q5-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> tRNA<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Ribosoom<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Mitochondriaal genoom<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> mRNA<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> tRNA\/mRNA zijn RNA; mitochondriaal DNA is dubbelstrengs.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"A\">\r\n      <h3 id=\"q5-2\">Welke structuur komt <em>niet<\/em> voor in cellen van hogere planten?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q5-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Centriool<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Vacuole<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Celwand<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Chloroplast<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Planten hebben doorgaans geen centriolen (m.u.v. lagere groepen).<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"D\">\r\n      <h3 id=\"q5-3\">Welke stof is <em>geen<\/em> koolhydraat?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q5-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Glucose<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Cellulose<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Sacharose<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Cholesterol<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Cholesterol is een lipide (sterol).<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6a4812e elementor-widget elementor-widget-html\" data-id=\"6a4812e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-6\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 6 \u2013 Vergelijk de overgebleven opties zorgvuldig<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Kies de meest <strong>precieze<\/strong> term: let op wat precies wordt omgezet of gedaan.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"C\">\r\n      <h3 id=\"q6-1\">Welke stap zet DNA om in RNA?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q6-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Replicatie<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Translatie<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Transcriptie<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Splicing<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Transcriptie: DNA-template \u2192 RNA.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"D\">\r\n      <h3 id=\"q6-2\">Het verwijderen van introns uit pre-mRNA heet\u2026<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q6-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Replicatie<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Translatie<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Transcriptie<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Splicing<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Splicing verwijdert introns en liggt exons aaneen.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q6-3\">Het laden van een aminozuur op tRNA heet\u2026<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q6-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Replicatie<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Aminoacylatie<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Translocatie<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Splicing<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Aminoacyl-tRNA-synthetase katalyseert aminoacylatie.<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a3ce45a elementor-widget elementor-widget-html\" data-id=\"a3ce45a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-7\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 7 \u2013 Pas de uitsluitingsmethode toe<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Schrap de minst waarschijnlijke optie, herhaal tot de beste overblijft.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q7-1\">Welke structuur is <em>niet<\/em> membraangebonden?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q7-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Lysosoom<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Ribosoom<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Golgi-apparaat<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Mitochondrion<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Ribosomen hebben geen membraan.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"D\">\r\n      <h3 id=\"q7-2\">Welke is <em>niet<\/em> onderdeel van het endomembraansysteem?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q7-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> ER<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Golgi<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Lysosomen<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Mitochondri\u00ebn<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Mitochondri\u00ebn vallen buiten het endomembraansysteem.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"C\">\r\n      <h3 id=\"q7-3\">Welke is <em>geen<\/em> dierlijk weefseltype?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q7-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Epitheel<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Bindweefsel<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Xyleem<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Spierweefsel<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Xyleem is plantaardig transportweefsel.<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-824fff3 elementor-widget elementor-widget-html\" data-id=\"824fff3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-8\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 8 \u2013 Let op overeenkomsten tussen vraag en antwoord<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Definities en sleutelwoorden in de vraag \u201crijmen\u201d vaak met de juiste optie.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q8-1\">Een <em>negatieve feedback<\/em>\u2026<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q8-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Versterkt de initi\u00eble prikkel<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Werkt de afwijking tegen<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Is altijd pathologisch<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Komt alleen bij hormonen voor<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Negatieve feedback corrigeert afwijkingen.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"C\">\r\n      <h3 id=\"q8-2\">Homeostase is het vermogen om\u2026<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q8-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Energie te produceren<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Te groeien<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Interne stabiliteit te handhaven<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Te muteren<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Definitie-match.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"C\">\r\n      <h3 id=\"q8-3\">Een <em>allosterische remmer<\/em>\u2026<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q8-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Bindt aan het actieve centrum<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Verhoogt Vmax<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Bindt elders en verlaagt activiteit<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Verlaagt Km altijd<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> \u201cAllosterisch\u201d = andere bindingsplaats.<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e4e18c9 elementor-widget elementor-widget-html\" data-id=\"e4e18c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-9\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 9 \u2013 Vermijd valkuilen zoals omgekeerde logica<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Let op woorden als <strong>niet<\/strong>, <strong>behalve<\/strong>, <strong>tenzij<\/strong>. Check de causale richting.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"C\">\r\n      <h3 id=\"q9-1\">Welke verandering treedt <em>niet<\/em> op bij <strong>verhoogde<\/strong> bloedglucose?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q9-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Meer insulineafgifte<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Minder glucagonafgifte<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Meer glycogenolyse<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Meer glucoseopname in spieren<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Hoge glucose \u2192 opslag (glycogenese), niet afbraak (glycogenolyse).<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q9-2\">Bij <strong>afkoeling<\/strong> van het lichaam treedt <em>niet<\/em> op\u2026<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q9-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Rillen<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Vasodilatatie<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Thyroxine-toename<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Vasoconstrictie<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Kou \u2192 vasoconstrictie i.p.v. dilatatie.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"D\">\r\n      <h3 id=\"q9-3\">Activatie van de <strong>parasympathicus<\/strong> veroorzaakt alles, <em>behalve<\/em>\u2026<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q9-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Lagere hartslag<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Verhoogde darmmotiliteit<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Pupilverkleining<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Bronchodilatatie<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Bronchodilatatie is sympathisch effect.<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-89e16cf elementor-widget elementor-widget-html\" data-id=\"89e16cf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-10\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 10 \u2013 Controleer op interne tegenstrijdigheden<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Is een optie strijdig met basiskennis of met zichzelf? Dan is die vrijwel zeker onjuist.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q10-1\">Fotosynthese <em>verbruikt<\/em> zuurstof om glucose te maken.<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q10-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Waar<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onwaar<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Lichtreacties <em>produceren<\/em> O\u2082.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q10-2\">Tijdens <em>mitose<\/em> wordt DNA gedupliceerd.<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q10-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Waar<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onwaar<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> DNA-replicatie gebeurt in S-fase <em>voorafgaand<\/em> aan mitose.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q10-3\">Anaerobe glycolyse vereist zuurstof.<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q10-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Waar<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onwaar<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> \u201cAnaeroob\u201d = zonder zuurstof.<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a5150b1 elementor-widget elementor-widget-html\" data-id=\"a5150b1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-11\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 11 \u2013 Gebruik wetenschappelijke en logische redenering<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Denk in gradi\u00ebnten, evenwichten en affiniteiten; vaak kom je zo zonder uit-het-hoofd-kennis tot het juiste antwoord.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q11-1\">Water diffundeert via een semipermeabel membraan naar de oplossing met\u2026<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q11-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Lagere osmotische waarde<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Hogere osmotische waarde<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Gelijke osmotische waarde<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Hogere pH<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Osmose: water gaat naar hogere osmolaliteit.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"A\">\r\n      <h3 id=\"q11-2\">Een zakje zout buiten de cel maakt het buitenmilieu hypertoon. Water gaat\u2026<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q11-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Naar buiten<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Naar binnen<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Niet verplaatsen<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Alleen ionen bewegen<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Cel verliest water naar hypertoon milieu.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"A\">\r\n      <h3 id=\"q11-3\">O\u2082 diffundeert van alveoli naar bloed wanneer pO\u2082(alveoli) \u2026 pO\u2082(bloed).<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q11-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> &gt;<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> &lt;<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> =<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Onbelangrijk<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Diffusie met de gradi\u00ebnt (hoog \u2192 laag).<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f057610 elementor-widget elementor-widget-html\" data-id=\"f057610\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-12\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 12 \u2013 Denk na over de relevantie (direct vs indirect)<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Kies het antwoord dat het <strong>directe<\/strong> gevolg beschrijft, niet een afgeleid effect.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q12-1\">Wat is het <em>directe<\/em> effect van remming van ATP-synthetase?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q12-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> pH-verandering in matrix<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Minder protonenstroom door het enzym<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Minder zuurstof in kamer<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Meer citraat in cytosol<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> De protonenstroom stopt; andere effecten volgen daaruit.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"C\">\r\n      <h3 id=\"q12-2\"><em>Direct<\/em> effect van remming van Na\u207a\/K\u207a-ATPase?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q12-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Cel zwelt op<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Depolarisatie membraan<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Minder Na\u207a-export\/K\u207a-import<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Ca\u00b2\u207a-stijging intracellulair<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> A\/B\/D zijn gevolgen; C is het primaire effect.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"C\">\r\n      <h3 id=\"q12-3\">Niet-competitieve remming be\u00efnvloedt direct\u2026<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q12-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Km \u2191<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Km \u2193<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Vmax \u2193<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Vmax \u2191<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Vmax daalt; Km blijft ~ gelijk.<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-92ede24 elementor-widget elementor-widget-html\" data-id=\"92ede24\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-13\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 13 \u2013 Let op dubbele ontkenningen<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Herschrijf naar een positieve zin. \u201cNiet onjuist\u201d betekent in feite: <strong>juist<\/strong>.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q13-1\">Welke uitspraak is <em>niet onjuist<\/em> over DNA-replicatie?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q13-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Vindt niet in S-fase plaats<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Is semi-conservatief<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Vereist geen enzymen<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Gebeurt niet in prokaryoten<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Replicatie is semi-conservatief.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q13-2\">Welke uitspraak over eukaryoot mRNA-capping is <em>niet onjuist<\/em>?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q13-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Vindt niet aan 3'-uiteinde plaats<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Gebeurt aan het 5'-uiteinde<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Biedt geen bescherming<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Komt niet voor bij mRNA<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> De cap zit op 5'-uiteinde en beschermt mRNA.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q13-3\">Welke uitspraak over prokaryoten is <em>niet onjuist<\/em>?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q13-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Hebben niet geen ribosomen<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Hebben geen membraangebonden organellen<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Replicatie gebeurt niet in S-fase<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Hebben niet geen kernmembraan<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Prokaryoten missen membraangebonden organellen.<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ddb571c elementor-widget elementor-widget-html\" data-id=\"ddb571c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-14\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 14 \u2013 Vermijd overhaaste beslissingen<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Pauzeer even bij tricky woorden. Zoek verborgen absolutismen of uitzonderingen.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q14-1\">Alle virussen bevatten zowel DNA <em>als<\/em> RNA.<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q14-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Waar<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onwaar<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Virussen hebben \u00f3f DNA, \u00f3f RNA.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q14-2\">Alle aminozuren zijn essentieel voor de mens.<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q14-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Waar<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onwaar<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Er zijn essenti\u00eble en niet-essenti\u00eble aminozuren.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q14-3\">Alle bacteri\u00ebn zijn pathogeen.<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q14-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Waar<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onwaar<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> De meeste bacteri\u00ebn zijn onschadelijk of nuttig.<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cf4822f elementor-widget elementor-widget-html\" data-id=\"cf4822f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-15\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 15 \u2013 Gebruik je voorkennis en logica<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Koppel onbekende casus aan bekende principes (osmose, hormoonwerking, feedback).<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"A\">\r\n      <h3 id=\"q15-1\">Nieuw hormoon \u2191 Na\u207a-reabsorptie in de nier. Bloedvolume\u2026<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q15-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Neemt toe<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Neemt af<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Onveranderd<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Onvoorspelbaar<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Water volgt Na\u207a \u2192 volume \u2191.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"A\">\r\n      <h3 id=\"q15-2\">ADH stijgt. Wat gebeurt met urinevolume?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q15-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Daalt<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Stijgt<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Onveranderd<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Eerst op, dan neer<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> ADH \u2192 waterreabsorptie \u2191 \u2192 urinevolume \u2193.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"A\">\r\n      <h3 id=\"q15-3\">pCO\u2082 in bloed stijgt. Ademhalingsfrequentie\u2026<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q15-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Neemt toe<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Neemt af<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Onveranderd<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Alleen bij inspanning<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Chemoreflex: ventilatie \u2191 om CO\u2082 te lozen.<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-18154d8 elementor-widget elementor-widget-html\" data-id=\"18154d8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-16\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 16 \u2013 Kies het meest complete antwoord<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Wanneer meerdere opties waar lijken, wint degene die de <strong>volledige<\/strong> definitie of set factoren dekt.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"D\">\r\n      <h3 id=\"q16-1\">Welke factoren be\u00efnvloeden enzymactiviteit <em>in vivo<\/em> het meest?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q16-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> pH<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Temperatuur<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Substraatconcentratie<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> pH, temperatuur \u00e9n substraatconcentratie<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Alle drie zijn bepalend.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"D\">\r\n      <h3 id=\"q16-2\">Snelheid van eenvoudige diffusie door een membraan hangt het meest af van\u2026<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q16-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Concentratiegradi\u00ebnt<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Oppervlak<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Membraandikte<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> A, B \u00e9n C (Fick)<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Fick\u2019s wet: alle drie factoren tellen.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"A\">\r\n      <h3 id=\"q16-3\">Welke <em>meiotische<\/em> processen verhogen genetische variatie <em>direct<\/em>?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q16-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Crossing-over en onafhankelijke assortering<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> DNA-replicatie en mutatie<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Mitose en meiose II<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Epigenetische modificaties<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Beide zijn kernelementen van meiose-variatie.<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-76225d0 elementor-widget elementor-widget-html\" data-id=\"76225d0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" data-section-id=\"onderdeel-17\">\r\n  <div class=\"quiz-header\">\r\n    <h2 class=\"quiz-title\">Onderdeel 17 \u2013 Controleer de grammaticale overeenstemming<\/h2>\r\n    <div class=\"quiz-toolbar\">\r\n      <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n      <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n      <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n    <\/div>\r\n    <p class=\"quiz-desc\">Enkelvoud\/meervoud of tijd kan een hint zijn \u2014 maar inhoud moet \u00f3\u00f3k kloppen.<\/p>\r\n  <\/div>\r\n\r\n  <div class=\"quiz-grid\">\r\n    <div class=\"mcq-quiz\" data-correct=\"C\">\r\n      <h3 id=\"q17-1\">Welke <em>hormonen<\/em> reguleren <strong>acuut<\/strong> de calciumspiegel in bloed?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q17-1\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Parathormoon reguleert<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Calcitonine reguleert<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Parathormoon en calcitonine reguleren<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Vitamine D reguleert<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Meervoud onderwerp + inhoudelijk correct: PTH &amp; calcitonine.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"B\">\r\n      <h3 id=\"q17-2\">Welke <em>enzymen<\/em> \u2026 DNA-synthese in eukaryoten?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q17-2\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> DNA-polymerase \u03b4 en \u03b5 katalyseert<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> DNA-polymerasen \u03b4 en \u03b5 katalyseren<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> DNA-polymerase \u03b4 katalyseren<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> DNA-polymerase \u03b5 katalyseren<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Meervoud onderwerp \u2192 meervoud werkwoord.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"mcq-quiz\" data-correct=\"A\">\r\n      <h3 id=\"q17-3\">Welke <em>organen<\/em> zijn hoofdplaatsen van gaswisseling?<\/h3>\r\n      <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q17-3\">\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Alveoli in longen en kieuwen<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Nieren en lever<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Maag en pancreas<\/label><\/li>\r\n        <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Milt en thymus<\/label><\/li>\r\n      <\/ul>\r\n      <div class=\"feedback\"><\/div>\r\n      <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Inhoud en meervoud sluiten aan: longalveoli en kieuwen.<\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1a2b53e elementor-widget elementor-widget-html\" data-id=\"1a2b53e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n<section class=\"quiz-section\" id=\"onderdeel-18\" data-section-id=\"onderdeel-18\">\r\n    <div class=\"quiz-header\">\r\n      <h2 class=\"quiz-title\">Onderdeel 18 \u2013 Markeer lastige vragen en kom later terug<\/h2>\r\n      <div class=\"quiz-toolbar\">\r\n        <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n        <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n        <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n      <\/div>\r\n      <p class=\"quiz-desc\">\r\n        Twijfel je? <strong>Markeer<\/strong> de vraag en ga door. Kom later terug met een frisse blik.\r\n        Complexe rekenvragen (kruisingen, populatiegenetica) los je zorgvuldiger op als je eerst makkelijke punten pakt.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"quiz-grid\">\r\n      <!-- Vraag 18.1 -->\r\n      <div class=\"mcq-quiz\" data-correct=\"B\">\r\n        <h3 id=\"q18-1\">Dihybride kruising <em>AaBb \u00d7 AaBb<\/em> (onafhankelijk). Fenotypische verhouding?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q18-1\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> 1 : 1 : 1 : 1<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> 9 : 3 : 3 : 1<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> 3 : 1<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> 1 : 2 : 1<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Klassiek dihybride resultaat bij onafhankelijke assortering: <em>9:3:3:1<\/em>.<\/div>\r\n      <\/div>\r\n\r\n      <!-- Vraag 18.2 -->\r\n      <div class=\"mcq-quiz\" data-correct=\"B\">\r\n        <h3 id=\"q18-2\">Kruising <em>AaBb \u00d7 aabb<\/em> geeft fenotypen 1:1:1:1. Wat zegt dit?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q18-2\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Genen zijn gekoppeld<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onafhankelijke assortering<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Lethaal allel aanwezig<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Incomplete dominantie<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Testcross van dihybride met dubbel recessief \u2192 bij onafhankelijk assorteren verwacht je <em>1:1:1:1<\/em>.<\/div>\r\n      <\/div>\r\n\r\n      <!-- Vraag 18.3 -->\r\n      <div class=\"mcq-quiz\" data-correct=\"B\">\r\n        <h3 id=\"q18-3\">Hardy\u2013Weinberg: <em>p = 0,8<\/em>. Frequentie heterozygoten (<em>2pq<\/em>)?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q18-3\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> 0,64<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> 0,32<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> 0,16<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> 0,04<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> <em>q = 0,2<\/em> \u21d2 <em>2pq = 2\u00b70,8\u00b70,2 = 0,32<\/em>.<\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d98f3e3 elementor-widget elementor-widget-html\" data-id=\"d98f3e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n  <section class=\"quiz-section\" id=\"onderdeel-19\" data-section-id=\"onderdeel-19\">\r\n    <div class=\"quiz-header\">\r\n      <h2 class=\"quiz-title\">Onderdeel 19 \u2013 Blijf gefocust en vertrouw op je voorbereiding<\/h2>\r\n      <div class=\"quiz-toolbar\">\r\n        <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n        <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n        <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n      <\/div>\r\n      <p class=\"quiz-desc\">\r\n        Laat je niet afleiden door exotische antwoordopties. Herken de <strong>basisfeiten<\/strong> en kies\r\n        de meest directe en correcte optie die daarbij past.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"quiz-grid\">\r\n      <!-- Vraag 19.1 -->\r\n      <div class=\"mcq-quiz\" data-correct=\"C\">\r\n        <h3 id=\"q19-1\">Welke is de <em>eind<\/em>-elektronenacceptor in de oxidatieve fosforylering?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q19-1\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> NAD\u207a<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> FAD<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Zuurstof (O\u2082)<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Co-enzym A<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Complex IV draagt e\u207b over op O\u2082 \u2192 H\u2082O. O\u2082 is de terminale acceptor.<\/div>\r\n      <\/div>\r\n\r\n      <!-- Vraag 19.2 -->\r\n      <div class=\"mcq-quiz\" data-correct=\"C\">\r\n        <h3 id=\"q19-2\">Hoofdfunctie van ribosomen?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q19-2\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> DNA-replicatie<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Lipidesynthese<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Eiwitsynthese<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> ATP-productie<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Ribosomen katalyseren translatie: mRNA \u2192 polypeptide.<\/div>\r\n      <\/div>\r\n\r\n      <!-- Vraag 19.3 -->\r\n      <div class=\"mcq-quiz\" data-correct=\"A\">\r\n        <h3 id=\"q19-3\">Tijdens de <em>opgaande fase<\/em> van een actiepotentiaal openen vooral\u2026<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q19-3\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Spanningsafhankelijke Na\u207a-kanalen<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Spanningsafhankelijke K\u207a-kanalen<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Ligand-gestuurde Cl\u207b-kanalen<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Mechanosensorische kanalen<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Opening van Na\u207a-kanalen veroorzaakt snelle depolarisatie (upstroke).<\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-da9d818 elementor-widget elementor-widget-html\" data-id=\"da9d818\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\r\n  .quiz-wrap{max-width:1600px;margin:0 auto}\r\n  .quiz-section{border:1px solid #e5e7eb;border-radius:14px;padding:1rem;background:#fff;margin:1rem 0}\r\n\r\n  \/* Header met titel, toelichting onder titel, en knoppen rechts *\/\r\n  .quiz-header{\r\n    display:grid;\r\n    grid-template-columns: 1fr auto;\r\n    grid-template-areas:\r\n      \"title toolbar\"\r\n      \"desc  desc\";\r\n    gap:.5rem 1rem;\r\n    margin-bottom:.75rem;\r\n    align-items:center;\r\n  }\r\n  .quiz-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .quiz-desc{grid-area:desc;margin:0;color:#475569;font-size:.96rem;line-height:1.45}\r\n  .quiz-toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .quiz-toolbar button{border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}\r\n  .btn-check{background:#0ea5e9;color:#fff}\r\n  .btn-reset{background:#e5e7eb}\r\n  .quiz-summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Grid met 3 kaarten naast elkaar *\/\r\n  .quiz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n  @media (max-width:1100px){.quiz-grid{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.quiz-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Kaarten *\/\r\n  .mcq-quiz{border:1px solid #e5e7eb;border-radius:12px;padding:1rem}\r\n  .mcq-quiz h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* statuskleuren *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq-quiz.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n<\/style>\r\n<div class=\"quiz-wrap\">\r\n\r\n <section class=\"quiz-section\" id=\"onderdeel-20\" data-section-id=\"onderdeel-20\">\r\n    <div class=\"quiz-header\">\r\n      <h2 class=\"quiz-title\">Onderdeel 20 \u2013 Houd je eerste keuze aan (tenzij zeker fout)<\/h2>\r\n      <div class=\"quiz-toolbar\">\r\n        <button class=\"btn-check\" type=\"button\">Controleer onderdeel<\/button>\r\n        <button class=\"btn-reset\" type=\"button\" hidden>Opnieuw<\/button>\r\n        <div class=\"quiz-summary\" aria-live=\"polite\"><\/div>\r\n      <\/div>\r\n      <p class=\"quiz-desc\">\r\n        Je eerste antwoord is vaak gebaseerd op correcte herkenning.<br>\r\n        Verander alleen met <strong>sterk bewijs<\/strong> (definitie, regel, berekening) na herlezen van de vraag.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div class=\"quiz-grid\">\r\n      <!-- Vraag 20.1 -->\r\n      <div class=\"mcq-quiz\" data-correct=\"B\">\r\n        <h3 id=\"q20-1\">Welke component is sleutel in de <em>Ca\u00b2\u207a-afhankelijke start<\/em> van skeletspiercontractie?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q20-1\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Tropomyosine<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Troponine C<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> ATP-synthetase<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Keratine<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Ca\u00b2\u207a bindt aan <em>troponine C<\/em>, verschuift tropomyosine en opent de bindingsplaatsen voor myosine.<\/div>\r\n      <\/div>\r\n\r\n      <!-- Vraag 20.2 -->\r\n      <div class=\"mcq-quiz\" data-correct=\"A\">\r\n        <h3 id=\"q20-2\">Waar bindt <em>O\u2082<\/em> in hemoglobine?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q20-2\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Aan Fe\u00b2\u207a van de heemgroep<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Aan de \u03b2-keten<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Aan het porfyrineskelet<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Aan globine-NH\u2083\u207a<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> O\u2082 bindt reversibel aan het ijzer (<em>Fe\u00b2\u207a<\/em>) in de heemgroep.<\/div>\r\n      <\/div>\r\n\r\n      <!-- Vraag 20.3 -->\r\n      <div class=\"mcq-quiz\" data-correct=\"C\">\r\n        <h3 id=\"q20-3\">Welke fase duurt gemiddeld het langst in de celcyclus van delende cellen?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"q20-3\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Mitose<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Cytokinese<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Interfase (vooral G\u2081)<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> G\u2080<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Cellen brengen het grootste deel van hun tijd door in <em>interfase<\/em> (groei\/voorbereiding), niet in mitose.<\/div>\r\n      <\/div>\r\n    <\/div>\r\n  <\/section>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ Maak elke sectie zelfstandig (meerdere onderdelen op \u00e9\u00e9n pagina kan).\r\n  document.querySelectorAll('.quiz-section').forEach((section, sIdx) => {\r\n    const quizzes = Array.from(section.querySelectorAll('.mcq-quiz'));\r\n    const btnCheck = section.querySelector('.btn-check');\r\n    const btnReset = section.querySelector('.btn-reset');\r\n    const summary = section.querySelector('.quiz-summary');\r\n\r\n    \/\/ Unieke radio-groepsnamen per vraag zodat sets niet botsen.\r\n    const stamp = Date.now() + '-' + sIdx;\r\n    quizzes.forEach((quiz, qIdx) => {\r\n      const name = `mcq-${stamp}-${qIdx}`;\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = name);\r\n    });\r\n\r\n    function checkSection(){\r\n      let answered = 0, correctCount = 0;\r\n\r\n      quizzes.forEach(q => q.classList.remove('unanswered'));\r\n\r\n      \/\/ Check of alles beantwoord is\r\n      for (const quiz of quizzes) {\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        if (chosen) answered++; else quiz.classList.add('unanswered');\r\n      }\r\n      if (answered !== quizzes.length){\r\n        summary.textContent = 'Kies bij alle vragen een antwoord voordat je controleert.';\r\n        return;\r\n      }\r\n\r\n      \/\/ Beoordelen\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        const correctLetter = (quiz.dataset.correct || '').trim().toUpperCase();\r\n\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n\r\n        const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n        const chosenLabel = chosen ? chosen.closest('label') : null;\r\n        const correctInput = options.find(o => o.value.toUpperCase() === correctLetter);\r\n        const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n        if (chosen && chosen.value.toUpperCase() === correctLetter){\r\n          correctCount++;\r\n          if (chosenLabel) chosenLabel.classList.add('correct');\r\n          feedback.innerHTML = '\u2705 Goed!';\r\n        } else {\r\n          if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n          if (correctLabel) correctLabel.classList.add('correct');\r\n          const corrText = correctLabel ? correctLabel.textContent.trim() : correctLetter;\r\n          feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${corrText}<\/strong>.`;\r\n        }\r\n\r\n        \/\/ Uitleg tonen en inputs vergrendelen\r\n        explanation.hidden = false;\r\n        options.forEach(o => o.disabled = true);\r\n      });\r\n\r\n      summary.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n      btnCheck.disabled = true;\r\n      btnReset.hidden = false;\r\n    }\r\n\r\n    function resetSection(){\r\n      quizzes.forEach((quiz) => {\r\n        const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n        const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n        const feedback = quiz.querySelector('.feedback');\r\n        const explanation = quiz.querySelector('.explanation');\r\n        labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n        options.forEach(o => { o.checked = false; o.disabled = false; });\r\n        quiz.classList.remove('unanswered');\r\n        feedback.textContent = '';\r\n        explanation.hidden = true;\r\n      });\r\n      summary.textContent = '';\r\n      btnCheck.disabled = false;\r\n      btnReset.hidden = true;\r\n    }\r\n\r\n    btnCheck.addEventListener('click', checkSection);\r\n    btnReset.addEventListener('click', resetSection);\r\n  });\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1771\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"2\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1771\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Oefentoets maken <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-minus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-plus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1771\" class=\"elementor-element elementor-element-745547f e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-child\" data-id=\"745547f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30ee56e elementor-widget elementor-widget-html\" data-id=\"30ee56e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- === OEFENTOETS (10 vragen) \u2014 Elementor HTML widget === -->\r\n<style>\r\n  \/* Layout *\/\r\n  #oefentoets-wrap{max-width:1600px;margin:0 auto}\r\n  .card{border:1px solid #e5e7eb;border-radius:14px;background:#fff}\r\n  .hidden{display:none !important}\r\n\r\n  \/* Startscherm *\/\r\n  #start-panel{padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}\r\n  #start-panel h2{margin:0;font-size:1.25rem}\r\n  #start-panel p{margin:.25rem 0;color:#475569}\r\n  .btn{border:0;border-radius:10px;padding:.7rem 1.1rem;cursor:pointer}\r\n  .btn-primary{background:#0ea5e9;color:#fff}\r\n  .btn-secondary{background:#e5e7eb}\r\n\r\n  \/* Toets header & toolbar *\/\r\n  #toets{padding:1rem;margin:1rem 0}\r\n  .toets-header{display:grid;grid-template-columns:1fr auto;grid-template-areas:\"title toolbar\" \"desc desc\";gap:.5rem 1rem;margin-bottom:.75rem;align-items:center}\r\n  .toets-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  .toets-desc{grid-area:desc;margin:0;color:#475569}\r\n  .toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  .summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Vragenraster *\/\r\n  .q-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}\r\n  @media (max-width:900px){.q-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Vraagkaart *\/\r\n  .mcq{padding:1rem}\r\n  .mcq h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  .options li{margin:.35rem 0}\r\n  .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  .explanation[hidden]{display:none}\r\n\r\n  \/* Stati *\/\r\n  .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  .mcq.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n\r\n  \/* Advies-paneel *\/\r\n  #advies{margin-top:1rem;padding:1rem}\r\n  #advies h3{margin:.25rem 0 .5rem}\r\n  .advies-item{border:1px solid #e5e7eb;border-radius:12px;padding:.75rem;margin:.5rem 0}\r\n  .badge{display:inline-block;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .55rem;margin-right:.35rem;font-size:.8rem}\r\n  .small{color:#64748b;font-size:.92rem}\r\n<\/style>\r\n\r\n<div id=\"oefentoets-wrap\">\r\n  <!-- STARTSCHERM -->\r\n  <section id=\"start-panel\" class=\"card\">\r\n    <h2>Oefentoets 1 \u2013 10 vragen <\/h2>\r\n    <p>\r\n      Deze toets is gericht op <strong>toets-strategie\u00ebn<\/strong> (onderdelen), niet op diepe feitenkennis.\r\n      Klik op <em>Start<\/em> om te beginnen. Je ziet de vragen pas na het starten.\r\n    <\/p>\r\n    <button id=\"btn-start\" class=\"btn btn-primary\" type=\"button\">Start oefentoets<\/button>\r\n    <p class=\"small\">Tip: let op signaalwoorden, \u201cniet\/tenzij\/behalve\u201d, en kies het <em>meest directe<\/em> of <em>meest complete<\/em> antwoord.<\/p>\r\n  <\/section>\r\n\r\n  <!-- TOETS (aanvankelijk verborgen) -->\r\n  <section id=\"toets\" class=\"card hidden\" aria-hidden=\"true\">\r\n    <div class=\"toets-header\">\r\n      <h2 class=\"toets-title\">Oefentoets 1 \u2013 10 vragen<\/h2>\r\n      <div class=\"toolbar\">\r\n        <button id=\"btn-check\" class=\"btn btn-primary\" type=\"button\">Controleer toets<\/button>\r\n        <button id=\"btn-reset\" class=\"btn btn-secondary hidden\" type=\"button\">Opnieuw<\/button>\r\n        <div id=\"score\" class=\"summary\" aria-live=\"polite\"><\/div>\r\n      <\/div>\r\n      <p class=\"toets-desc\">\r\n        Beantwoord alle vragen. Na het controleren zie je per vraag <strong>goed\/fout<\/strong>, het juiste antwoord en\r\n        <strong>uitleg<\/strong>. Onderaan verschijnt persoonlijke <strong>studie-advies<\/strong> met de\r\n        <em>onderdelen<\/em> die je het best kunt oefenen.\r\n      <\/p>\r\n    <\/div>\r\n\r\n    <div id=\"q-grid\" class=\"q-grid\">\r\n      <!-- VRAAG 1 -->\r\n      <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"2,14\">\r\n        <h3 id=\"v1\">1: \u201cSpiercellen gebruiken <em>uitsluitend<\/em> glucose als energiebron.\u201d Waar\/onwaar?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"v1\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Waar<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onwaar<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Het signaalwoord <em>\u201cuitsluitend\u201d<\/em> (absoluut) maakt de bewering verdacht. Spieren kunnen ook vetzuren en lactaat gebruiken.<\/div>\r\n      <\/article>\r\n\r\n      <!-- VRAAG 2 -->\r\n      <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"13,1,8\">\r\n        <h3 id=\"v2\">2: Welke uitspraak is <em>niet onjuist<\/em> over negatieve feedback?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"v2\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Verhoogt <em>altijd<\/em> de afwijking<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Werkt de afwijking tegen<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Komt nooit voor in hormoonstelsels<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Is geen regulatiemechanisme<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> \u201cNiet onjuist\u201d = juist. Optie B past bij de definitie (woord-overeenkomst). Absoluten \u201caltijd\/nooit\u201d zijn verdacht.<\/div>\r\n      <\/article>\r\n\r\n      <!-- VRAAG 3 -->\r\n      <article class=\"mcq\" data-correct=\"D\" data-onderdelen=\"9,1,3\">\r\n        <h3 id=\"v3\">3: Bij vochttekort stijgt ADH. Welke verandering treedt <strong>niet<\/strong> op?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"v3\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Meer waterreabsorptie<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Concentrere urine<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Lagere diurese<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Sterke toename van speekselproductie<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Let op de valkuil \u201c<em>niet<\/em>\u201d. ADH leidt juist tot waterbehoud; speeksel neemt eerder af bij dehydratie. Dus D is de uitzondering.<\/div>\r\n      <\/article>\r\n\r\n      <!-- VRAAG 4 -->\r\n      <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"6,8\">\r\n        <h3 id=\"v4\">4: Het omzetten van <em>codons<\/em> naar aminozuren heet\u2026<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"v4\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Transcriptie<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Translatie<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Replicatie<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Splicing<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> \u201cCodons\u201d \u2192 \u201cvertalen\u201d past semantisch bij <em>translatie<\/em> (precies juiste term).<\/div>\r\n      <\/article>\r\n\r\n      <!-- VRAAG 5 -->\r\n      <article class=\"mcq\" data-correct=\"A\" data-onderdelen=\"12,11\">\r\n        <h3 id=\"v5\">5: Wat is het meest <em>directe<\/em> effect van blokkeren van spanningsafhankelijke Na\u207a-kanalen in een neuron?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"v5\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Minder Na\u207a-instroom bij depolarisatie<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Minder neurotransmitterafgifte<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Lagere hartslag<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Verhoogde ATP-productie<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> \u201cDirect\u201d = op het mechanisme zelf: de kanaaldoorlaat stopt \u2192 minder Na\u207a-instroom. B\/C\/D zijn (mogelijke) afgeleide gevolgen.<\/div>\r\n      <\/article>\r\n\r\n      <!-- VRAAG 6 -->\r\n      <article class=\"mcq\" data-correct=\"C\" data-onderdelen=\"1,14\">\r\n        <h3 id=\"v6\">6: Welke waarde komt het meest overeen met <strong>1000&nbsp;\u00b5m<\/strong>?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"v6\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> 1&nbsp;cm<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> 0,1&nbsp;mm<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> 1&nbsp;mm<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> 10&nbsp;mm<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> 1000 micrometer = 1 millimeter. Goed lezen van eenheden voorkomt valkuilen.<\/div>\r\n      <\/article>\r\n\r\n      <!-- VRAAG 7 -->\r\n      <article class=\"mcq\" data-correct=\"C\" data-onderdelen=\"5,7\">\r\n        <h3 id=\"v7\">7: Welke <em>is<\/em> onderdeel van het endomembraansysteem?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"v7\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Mitochondrion<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Chloroplast<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Golgi-apparaat<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Ribosoom<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Elimineer wat duidelijk niet past (mitochondrion\/chloroplast zijn eigen systemen; ribosomen zijn niet-membraangebonden). Dan blijft <em>Golgi<\/em> over.<\/div>\r\n      <\/article>\r\n\r\n      <!-- VRAAG 8 -->\r\n      <article class=\"mcq\" data-correct=\"C\" data-onderdelen=\"16,6\">\r\n        <h3 id=\"v8\">8: Wat bepaalt het fenotype bij een <em>polygen<\/em> kenmerk het meest?<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"v8\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Alleen genotype<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Alleen omgeving<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Genotype <em>\u00e9n<\/em> omgeving<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Alleen mutaties<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Kies het <em>meest complete<\/em> antwoord dat de realiteit dekt: beide dragen bij.<\/div>\r\n      <\/article>\r\n\r\n      <!-- VRAAG 9 -->\r\n      <article class=\"mcq\" data-correct=\"A\" data-onderdelen=\"8,3\">\r\n        <h3 id=\"v9\">9: <em>Osmoregulatie<\/em> betekent primair\u2026<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"v9\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Handhaven van water- en zoutbalans<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Temperatuur constant houden<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Zuurstofopname regelen<\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Bloeddruk verhogen<\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Woordmatch: \u201cosmo-\u201d = concentraties\/vocht\/zouten \u2192 water- en zoutbalans.<\/div>\r\n      <\/article>\r\n\r\n      <!-- VRAAG 10 -->\r\n      <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"17,6\">\r\n        <h3 id=\"v10\">10: Welke zin sluit grammaticaal aan bij het meervoud in de vraag: \u201cWelke <em>hormonen<\/em> \u2026 de bloedsuikerspiegel?\u201d<\/h3>\r\n        <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"v10\">\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Insuline en glucagon <em>reguleert<\/em><\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Insuline en glucagon <em>reguleren<\/em><\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Insuline <em>reguleren<\/em><\/label><\/li>\r\n          <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Glucagon <em>reguleert<\/em><\/label><\/li>\r\n        <\/ul>\r\n        <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n        <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Onderwerp is meervoud (\u201chormonen\u201d) \u2192 werkwoord ook meervoud: \u201creguleren\u201d.<\/div>\r\n      <\/article>\r\n    <\/div>\r\n\r\n    <!-- Adviesblok: wordt gevuld na controleren -->\r\n    <section id=\"advies\" class=\"card hidden\" aria-live=\"polite\">\r\n      <h3>Persoonlijk studie-advies<\/h3>\r\n      <div id=\"advies-body\"><\/div>\r\n    <\/section>\r\n  <\/section>\r\n<\/div>\r\n\r\n<script>\r\n(() => {\r\n  \/\/ <<< BELANGRIJK: scope naar EIGEN container >>>\r\n  const root = document.getElementById('oefentoets-wrap');\r\n  if(!root) return;\r\n\r\n  const startPanel = root.querySelector('#start-panel');\r\n  const btnStart   = root.querySelector('#btn-start');\r\n  const toets      = root.querySelector('#toets');\r\n  const btnCheck   = root.querySelector('#btn-check');\r\n  const btnReset   = root.querySelector('#btn-reset');\r\n  const score      = root.querySelector('#score');\r\n  const advies     = root.querySelector('#advies');\r\n  const adviesBody = root.querySelector('#advies-body');\r\n\r\n  \/\/ Onderdelen (ongewijzigd)\r\n  const ONDERDELEN = {\r\n    1:{titel:'Lees de vraag zorgvuldig', tip:'Let op kleine woordjes (niet, behalve) en eenheden \u2014 die bepalen vaak het antwoord.'},\r\n    2:{titel:'Let op signaalwoorden', tip:'Absoluten (\u201caltijd\/nooit\/uitsluitend\u201d) zijn vaak verdacht.'},\r\n    3:{titel:'Bepaal het onderwerp', tip:'Vat de kern in 1 woord en redeneer vandaaruit.'},\r\n    4:{titel:'Bedenk eerst zelf een antwoord', tip:'Formuleer je eigen hypothese v\u00f3\u00f3r de opties.'},\r\n    5:{titel:'Elimineer duidelijk onjuiste antwoorden', tip:'Schrap wat niet kan.'},\r\n    6:{titel:'Vergelijk opties zorgvuldig', tip:'Kies de precies juiste term.'},\r\n    7:{titel:'Uitsluitingsmethode', tip:'Verwijder minst waarschijnlijke opties bij twijfel.'},\r\n    8:{titel:'Let op overeenkomsten vraag & antwoord', tip:'Match sleutelwoorden\/definities.'},\r\n    9:{titel:'Vermijd omgekeerde logica', tip:'Let op \u201cniet\/tenzij\/behalve\u201d.'},\r\n    10:{titel:'Controleer interne tegenstrijdigheden', tip:'Check botsing met basisfeiten.'},\r\n    11:{titel:'Gebruik logische redenering', tip:'Denk in gradi\u00ebnten\/directe effecten.'},\r\n    12:{titel:'Direct vs. indirect', tip:'Kies het onmiddellijke gevolg.'},\r\n    13:{titel:'Dubbele ontkenningen', tip:'Herschrijf \u201cniet onjuist\u201d \u2192 \u201cjuist\u201d.'},\r\n    14:{titel:'Vermijd overhaaste beslissingen', tip:'Neem 5 seconden en herlees.'},\r\n    15:{titel:'Gebruik voorkennis en logica', tip:'Koppel aan bekende principes.'},\r\n    16:{titel:'Meest complete antwoord', tip:'Als meerdere kloppen: kies de meest volledige.'},\r\n    17:{titel:'Grammaticale overeenstemming', tip:'Onderwerp \u2194 werkwoord (enk.\/mv.).'},\r\n    18:{titel:'Markeer lastige vragen', tip:'Sla tijdelijk over; kom terug.'},\r\n    19:{titel:'Blijf gefocust', tip:'Negeer afleiders; kies basisantwoord.'},\r\n    20:{titel:'Houd je eerste keuze aan', tip:'Verander alleen met hard bewijs.'}\r\n  };\r\n\r\n  \/\/ Start (g\u00e9\u00e9n autoscroll)\r\n  btnStart.addEventListener('click', () => {\r\n    startPanel.classList.add('hidden');\r\n    toets.classList.remove('hidden');\r\n    toets.removeAttribute('aria-hidden');\r\n    \/\/ Unieke radio-groepen binnen DIT root\r\n    const quizzes = root.querySelectorAll('.mcq');\r\n    const stamp = 'toets-' + Date.now();\r\n    quizzes.forEach((quiz, idx) => {\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = `${stamp}-${idx}`);\r\n    });\r\n  });\r\n\r\n  \/\/ Controleer ALLEEN vragen binnen DIT root\r\n  btnCheck.addEventListener('click', () => {\r\n    const quizzes = Array.from(root.querySelectorAll('.mcq'));\r\n    let answered = 0, correctCount = 0;\r\n    const stepCounts = {};\r\n    const wrongQuestions = [];\r\n\r\n    quizzes.forEach(q => q.classList.remove('unanswered'));\r\n    quizzes.forEach(q => { if (q.querySelector('input[type=\"radio\"]:checked')) answered++; else q.classList.add('unanswered');});\r\n    if (answered !== quizzes.length){ score.textContent = 'Beantwoord alle vragen voor je controleert.'; return; }\r\n\r\n    quizzes.forEach((quiz, idx) => {\r\n      const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n      const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n      const feedback = quiz.querySelector('.feedback');\r\n      const explanation = quiz.querySelector('.explanation');\r\n      const correctLetter = (quiz.dataset.correct||'').trim().toUpperCase();\r\n      const onderdelen = (quiz.dataset.onderdelen||'').split(',').map(s=>s.trim()).filter(Boolean);\r\n\r\n      labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n      const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n      const chosenLabel = chosen ? chosen.closest('label') : null;\r\n      const correctInput = options.find(o => o.value.toUpperCase()===correctLetter);\r\n      const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n      if (chosen && chosen.value.toUpperCase()===correctLetter){\r\n        correctCount++;\r\n        if (chosenLabel) chosenLabel.classList.add('correct');\r\n        feedback.innerHTML = '\u2705 Goed!';\r\n      } else {\r\n        if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n        if (correctLabel) correctLabel.classList.add('correct');\r\n        feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${correctLabel?correctLabel.textContent.trim():correctLetter}<\/strong>.`;\r\n        wrongQuestions.push({idx: idx+1, onderdelen});\r\n        onderdelen.forEach(n => {\r\n          if(!stepCounts[n]) stepCounts[n]={count:0, vragen:[]};\r\n          stepCounts[n].count++; stepCounts[n].vragen.push(idx+1);\r\n        });\r\n      }\r\n      explanation.hidden = false;\r\n      options.forEach(o => o.disabled = true);\r\n    });\r\n\r\n    score.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n    btnCheck.disabled = true; btnReset.classList.remove('hidden');\r\n    renderAdvice(stepCounts, wrongQuestions);\r\n  });\r\n\r\n  \/\/ Reset (alleen binnen DIT root)\r\n  btnReset.addEventListener('click', () => {\r\n    const quizzes = Array.from(root.querySelectorAll('.mcq'));\r\n    quizzes.forEach(q => {\r\n      q.classList.remove('unanswered');\r\n      q.querySelectorAll('label.option').forEach(l => l.classList.remove('correct','incorrect'));\r\n      q.querySelectorAll('input[type=\"radio\"]').forEach(o => {o.checked=false; o.disabled=false;});\r\n      q.querySelector('.feedback').textContent='';\r\n      q.querySelector('.explanation').hidden = true;\r\n    });\r\n    score.textContent = '';\r\n    btnCheck.disabled = false;\r\n    btnReset.classList.add('hidden');\r\n    advies.classList.add('hidden'); adviesBody.innerHTML='';\r\n  });\r\n\r\n  function renderAdvice(stepCounts, wrongQuestions){\r\n    const entries = Object.entries(stepCounts).sort((a,b)=> (b[1]?.count||0)-(a[1]?.count||0));\r\n    adviesBody.innerHTML='';\r\n    if(!entries.length){\r\n      advies.classList.remove('hidden');\r\n      adviesBody.innerHTML = `<div class=\"advies-item\">\ud83c\udf89 Top! Geen directe verbeterpunten. Blijf letten op <span class=\"badge\">2<\/span> Signaalwoorden en <span class=\"badge\">1<\/span> Zorgvuldig lezen.<\/div>`;\r\n      return;\r\n    }\r\n    entries.forEach(([nr,data])=>{\r\n      const meta = ONDERDELEN[nr]||{titel:`Onderdeel ${nr}`,tip:''};\r\n      const vragen = Array.from(new Set(data.vragen)).sort((a,b)=>a-b).join(', ');\r\n      const el = document.createElement('div');\r\n      el.className='advies-item';\r\n      el.innerHTML = `<div class=\"badge\">${nr}<\/div><strong>${meta.titel}<\/strong> \u2014 kwam naar voren bij: <strong>${vragen}<\/strong>.<br><span class=\"small\">Waarom advies: ${meta.tip}<\/span>`;\r\n      adviesBody.appendChild(el);\r\n    });\r\n    if(wrongQuestions.length){\r\n      const cross=document.createElement('div');\r\n      cross.className='small'; cross.style.marginTop='.5rem';\r\n      cross.innerHTML = `<em>Meerdere onderdelen per vraag:<\/em> ` + wrongQuestions.map(w=>`Vraag ${w.idx}: ${w.onderdelen.join(', ')}`).join(' \u2022 ');\r\n      adviesBody.appendChild(cross);\r\n    }\r\n    advies.classList.remove('hidden');\r\n  }\r\n})();\r\n<\/script>\r\n\r\n\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a5787c3 elementor-widget elementor-widget-html\" data-id=\"a5787c3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- === OEFENTOETS \u2014 SET A (10 vragen) === -->\r\n<style>\r\n  #oefentoetsA-wrap{max-width:1600px;margin:0 auto}\r\n  #oefentoetsA .card{border:1px solid #e5e7eb;border-radius:14px;background:#fff}\r\n  #oefentoetsA .hidden{display:none!important}\r\n\r\n  \/* Startscherm *\/\r\n  #oefentoetsA #start-panel{padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}\r\n  #oefentoetsA #start-panel h2{margin:0;font-size:1.25rem}\r\n  #oefentoetsA #start-panel p{margin:.25rem 0;color:#475569}\r\n  #oefentoetsA .btn{border:0;border-radius:10px;padding:.7rem 1.1rem;cursor:pointer}\r\n  #oefentoetsA .btn-primary{background:#0ea5e9;color:#fff}\r\n  #oefentoetsA .btn-secondary{background:#e5e7eb}\r\n\r\n  \/* Toets header & toolbar *\/\r\n  #oefentoetsA #toets{padding:1rem;margin:1rem 0}\r\n  #oefentoetsA .toets-header{display:grid;grid-template-columns:1fr auto;grid-template-areas:\"title toolbar\" \"desc desc\";gap:.5rem 1rem;margin-bottom:.75rem;align-items:center}\r\n  #oefentoetsA .toets-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  #oefentoetsA .toets-desc{grid-area:desc;margin:0;color:#475569}\r\n  #oefentoetsA .toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  #oefentoetsA .summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Vragenraster *\/\r\n  #oefentoetsA .q-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}\r\n  @media (max-width:900px){#oefentoetsA .q-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Vraagkaart *\/\r\n  #oefentoetsA .mcq{padding:1rem}\r\n  #oefentoetsA .mcq h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  #oefentoetsA .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  #oefentoetsA .options li{margin:.35rem 0}\r\n  #oefentoetsA .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  #oefentoetsA .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  #oefentoetsA .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  #oefentoetsA .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  #oefentoetsA .explanation[hidden]{display:none}\r\n\r\n  \/* Stati *\/\r\n  #oefentoetsA .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  #oefentoetsA .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  #oefentoetsA .mcq.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n\r\n  \/* Advies *\/\r\n  #oefentoetsA #advies{margin-top:1rem;padding:1rem}\r\n  #oefentoetsA #advies h3{margin:.25rem 0 .5rem}\r\n  #oefentoetsA .advies-item{border:1px solid #e5e7eb;border-radius:12px;padding:.75rem;margin:.5rem 0}\r\n  #oefentoetsA .badge{display:inline-block;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .55rem;margin-right:.35rem;font-size:.8rem}\r\n  #oefentoetsA .small{color:#64748b;font-size:.92rem}\r\n<\/style>\r\n\r\n<div id=\"oefentoetsA-wrap\">\r\n  <section id=\"oefentoetsA\">\r\n    <!-- START -->\r\n    <section id=\"start-panel\" class=\"card\">\r\n      <h2>Oefentoets 2 \u2013 10 vragen <\/h2>\r\n      <p>Deze toets is gericht op <strong>toets-strategie\u00ebn<\/strong> (onderdelen), niet op diepe feitenkennis.\r\n      Klik op <em>Start<\/em> om te beginnen. Je ziet de vragen pas na het starten.<\/p>\r\n      <button id=\"btn-start\" class=\"btn btn-primary\" type=\"button\">Start oefentoets<\/button>\r\n      <p class=\"small\">Tip: let op signaalwoorden, \u201cniet\/tenzij\/behalve\u201d, en kies het <em>meest directe<\/em> of <em>meest complete<\/em> antwoord.<\/p>\r\n    <\/section>\r\n\r\n    <!-- TOETS (verborgen) -->\r\n    <section id=\"toets\" class=\"card hidden\" aria-hidden=\"true\">\r\n      <div class=\"toets-header\">\r\n        <h2 class=\"toets-title\">Oefentoets 2 - 10 vragen<\/h2>\r\n        <div class=\"toolbar\">\r\n          <button id=\"btn-check\" class=\"btn btn-primary\" type=\"button\">Controleer toets<\/button>\r\n          <button id=\"btn-reset\" class=\"btn btn-secondary hidden\" type=\"button\">Opnieuw<\/button>\r\n          <div id=\"score\" class=\"summary\" aria-live=\"polite\"><\/div>\r\n        <\/div>\r\n    <p class=\"toets-desc\">\r\n        Beantwoord alle vragen. Na het controleren zie je per vraag <strong>goed\/fout<\/strong>, het juiste antwoord en\r\n        <strong>uitleg<\/strong>. Onderaan verschijnt persoonlijke <strong>studie-advies<\/strong> met de\r\n        <em>onderdelen<\/em> die je het best kunt oefenen.\r\n      <\/p>\r\n      <\/div>\r\n\r\n      <div id=\"q-grid\" class=\"q-grid\">\r\n        <!-- 1 -->\r\n        <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"2,14\">\r\n          <h3 id=\"a1\">1: \u201cAlle enzymen werken het best bij 37\u00b0C.\u201d Waar\/onwaar?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"a1\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Waar<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onwaar<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Signaalwoord <em>\u201calle\u201d<\/em> is te absoluut; optimale T varieert per enzym.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 2 -->\r\n        <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"13,1,8\">\r\n          <h3 id=\"a2\">2: Welke uitspraak is <em>niet onjuist<\/em> over mitose?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"a2\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> DNA-replicatie gebeurt tijdens mitose<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Zusterchromatiden worden gescheiden<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Mitose treedt nooit op in somatische cellen<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Mitose halveert het chromosomenaantal<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> \u201cNiet onjuist\u201d = juist. Definitie-match: mitose scheidt <em>zusterchromatiden<\/em>.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 3 -->\r\n        <article class=\"mcq\" data-correct=\"D\" data-onderdelen=\"9,1,3\">\r\n          <h3 id=\"a3\">3: Bij acute activatie van de sympathicus: wat treedt <strong>niet<\/strong> op?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"a3\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Verhoogde hartslag<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Bronchodilatatie<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Pupildilatatie<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Toegenomen speekselvloed<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Val op \u201c<em>niet<\/em>\u201d: parasympathisch effect (speeksel) past niet bij sympathicus.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 4 -->\r\n        <article class=\"mcq\" data-correct=\"D\" data-onderdelen=\"6,4\">\r\n          <h3 id=\"a4\">4: Het verwijderen van introns uit pre-mRNA heet\u2026<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"a4\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Transcriptie<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Translatie<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Replicatie<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Splicing<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> De precieze term bij deze stap is <em>splicing<\/em>.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 5 -->\r\n        <article class=\"mcq\" data-correct=\"A\" data-onderdelen=\"5,7\">\r\n          <h3 id=\"a5\">5: Welke structuur vind je typisch <strong>niet<\/strong> in prokaryoten?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"a5\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Golgi-apparaat<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> 70S-ribosomen<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Plasmamembraan<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Nucleo\u00efde<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Schrap wat w\u00e9l kan (ribosomen, membraan, nucleo\u00efde). Overblijft: <em>Golgi<\/em>.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 6 -->\r\n        <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"1,14\">\r\n          <h3 id=\"a6\">6: Welke hoeveelheid is het grootst?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"a6\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> 0,5 L<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> 600 mL<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> 5 dL<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> 450 mL<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> 0,5 L = 500 mL; 5 dL = 0,5 L = 500 mL; 600 mL is het grootst.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 7 -->\r\n        <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"8,6\">\r\n          <h3 id=\"a7\">7: Anabole processen zijn primair\u2026<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"a7\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Afbraak en leveren energie<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Opbouw en kosten vaak energie<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Altijd afbraak van vetten<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Alleen bij planten aanwezig<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Woord\/definitie-match: <em>anabool<\/em> = opbouw.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 8 -->\r\n        <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"10,1\">\r\n          <h3 id=\"a8\">8: \u201cTijdens glycolyse wordt pyruvaat direct geoxideerd in de mitochondriale matrix.\u201d Waar\/onwaar?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"a8\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Waar<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onwaar<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Glycolyse is cytosolisch; matrix komt pas erna. Interne tegenstrijdigheid.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 9 -->\r\n        <article class=\"mcq\" data-correct=\"A\" data-onderdelen=\"3,11\">\r\n          <h3 id=\"a9\">9: Wat is \u2019s nachts in een kas meestal limiterend voor fotosynthese?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"a9\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Licht<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> CO\u2082<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Water<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Nitraat<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Onderwerp: fotosynthese \u2192 \u2019s nachts ontbreekt licht \u2192 limiterend.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 10 -->\r\n        <article class=\"mcq\" data-correct=\"C\" data-onderdelen=\"4,6\">\r\n          <h3 id=\"a10\">10: Waar vindt de meeste ATP-productie plaats bij aerobe respiratie?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"a10\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Cytoplasma<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Ribosomen<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Mitochondri\u00ebn<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Kern<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Denk eerst zelf: oxidatieve fosforylering \u2192 mitochondri\u00ebn.<\/div>\r\n        <\/article>\r\n      <\/div>\r\n\r\n      <section id=\"advies\" class=\"card hidden\" aria-live=\"polite\">\r\n        <h3>Persoonlijk studie-advies<\/h3>\r\n        <div id=\"advies-body\"><\/div>\r\n      <\/section>\r\n    <\/section>\r\n  <\/section>\r\n<\/div>\r\n\r\n<script>\r\n(() => {\r\n  const root = document.getElementById('oefentoetsA');\r\n  const startPanel = root.querySelector('#start-panel');\r\n  const btnStart = root.querySelector('#btn-start');\r\n  const toets = root.querySelector('#toets');\r\n  const btnCheck = root.querySelector('#btn-check');\r\n  const btnReset = root.querySelector('#btn-reset');\r\n  const score = root.querySelector('#score');\r\n  const advies = root.querySelector('#advies');\r\n  const adviesBody = root.querySelector('#advies-body');\r\n\r\n  \/\/ Alle 20 onderdelen met tips\r\n  const ONDERDELEN = {\r\n    1:{titel:'Lees de vraag zorgvuldig', tip:'Let op kleine woordjes (niet, behalve) en eenheden.'},\r\n    2:{titel:'Let op signaalwoorden', tip:'Absoluten (\u201caltijd\/nooit\/alle\u201d) zijn vaak verdacht.'},\r\n    3:{titel:'Bepaal het onderwerp', tip:'Vat de kern in 1 woord en redeneer vandaaruit.'},\r\n    4:{titel:'Bedenk eerst zelf een antwoord', tip:'Formuleer je eigen hypothese v\u00f3\u00f3r je opties leest.'},\r\n    5:{titel:'Elimineer duidelijk onjuiste antwoorden', tip:'Schrap wat niet kan; verhoog je kans direct.'},\r\n    6:{titel:'Vergelijk opties zorgvuldig', tip:'Kies de term die het proces het preciesst benoemt.'},\r\n    7:{titel:'Uitsluitingsmethode', tip:'Twijfel? Verwijder minst waarschijnlijke en herhaal.'},\r\n    8:{titel:'Let op overeenkomsten vraag & antwoord', tip:'Match sleutelwoorden\/definities.'},\r\n    9:{titel:'Vermijd omgekeerde logica', tip:'Pas op voor \u201cniet\/tenzij\/behalve\u201d en omgekeerde causaliteit.'},\r\n    10:{titel:'Controleer interne tegenstrijdigheden', tip:'Fouten verraden zich door botsing met basisfeiten.'},\r\n    11:{titel:'Gebruik logische redenering', tip:'Denk in gradi\u00ebnten\/evenwichten\/directe effecten.'},\r\n    12:{titel:'Direct vs. indirect', tip:'Pak het onmiddellijke gevolg, niet een latere consequentie.'},\r\n    13:{titel:'Dubbele ontkenningen', tip:'Herschrijf naar een positieve zin om helder te kiezen.'},\r\n    14:{titel:'Vermijd overhaaste beslissingen', tip:'Neem 5 seconden, check units en signaalwoorden.'},\r\n    15:{titel:'Gebruik voorkennis en analogie', tip:'Koppel aan bekende principes (osmose, feedback).'},\r\n    16:{titel:'Meest complete antwoord', tip:'Als meerdere kloppen, kies de die alles dekt.'},\r\n    17:{titel:'Grammaticale overeenstemming', tip:'Onderwerp en werkwoord in aantal laten kloppen.'},\r\n    18:{titel:'Markeer lastige vragen', tip:'Sla desnoods over en kom later terug.'},\r\n    19:{titel:'Blijf gefocust', tip:'Negeer afleiders; vertrouw op je voorbereiding.'},\r\n    20:{titel:'Houd je eerste keuze aan', tip:'Verander alleen met sterk bewijs na herlezen.'}\r\n  };\r\n\r\n  btnStart.addEventListener('click', () => {\r\n    startPanel.classList.add('hidden');\r\n    toets.classList.remove('hidden');\r\n    toets.removeAttribute('aria-hidden');\r\n    const quizzes = root.querySelectorAll('.mcq');\r\n    const stamp = 'setA-' + Date.now();\r\n    quizzes.forEach((quiz, idx) => {\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = `${stamp}-${idx}`);\r\n    });\r\n  });\r\n\r\n  btnCheck.addEventListener('click', () => {\r\n    const quizzes = Array.from(root.querySelectorAll('.mcq'));\r\n    let answered = 0, correctCount = 0;\r\n    const stepCounts = {};\r\n    const wrongQuestions = [];\r\n\r\n    quizzes.forEach(q => q.classList.remove('unanswered'));\r\n    quizzes.forEach(q => { if (q.querySelector('input[type=\"radio\"]:checked')) answered++; else q.classList.add('unanswered');});\r\n    if (answered !== quizzes.length){ score.textContent = 'Beantwoord alle vragen voor je controleert.'; return; }\r\n\r\n    quizzes.forEach((quiz, idx) => {\r\n      const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n      const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n      const feedback = quiz.querySelector('.feedback');\r\n      const explanation = quiz.querySelector('.explanation');\r\n      const correctLetter = (quiz.dataset.correct||'').trim().toUpperCase();\r\n      const onderdelen = (quiz.dataset.onderdelen||'').split(',').map(s=>s.trim()).filter(Boolean);\r\n\r\n      labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n      const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n      const chosenLabel = chosen ? chosen.closest('label') : null;\r\n      const correctInput = options.find(o => o.value.toUpperCase()===correctLetter);\r\n      const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n      if (chosen && chosen.value.toUpperCase()===correctLetter){\r\n        correctCount++;\r\n        if (chosenLabel) chosenLabel.classList.add('correct');\r\n        feedback.innerHTML = '\u2705 Goed!';\r\n      } else {\r\n        if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n        if (correctLabel) correctLabel.classList.add('correct');\r\n        feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${correctLabel?correctLabel.textContent.trim():correctLetter}<\/strong>.`;\r\n        wrongQuestions.push({idx: idx+1, onderdelen});\r\n        onderdelen.forEach(n => {\r\n          if(!stepCounts[n]) stepCounts[n]={count:0, vragen:[]};\r\n          stepCounts[n].count++; stepCounts[n].vragen.push(idx+1);\r\n        });\r\n      }\r\n      explanation.hidden = false;\r\n      options.forEach(o => o.disabled = true);\r\n    });\r\n\r\n    score.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n    btnCheck.disabled = true; root.querySelector('#btn-reset').classList.remove('hidden');\r\n    renderAdvice(stepCounts, wrongQuestions);\r\n  });\r\n\r\n  btnReset.addEventListener('click', () => {\r\n    const quizzes = Array.from(root.querySelectorAll('.mcq'));\r\n    quizzes.forEach(q => {\r\n      q.classList.remove('unanswered');\r\n      q.querySelectorAll('label.option').forEach(l => l.classList.remove('correct','incorrect'));\r\n      q.querySelectorAll('input[type=\"radio\"]').forEach(o => {o.checked=false; o.disabled=false;});\r\n      q.querySelector('.feedback').textContent='';\r\n      q.querySelector('.explanation').hidden = true;\r\n    });\r\n    score.textContent = '';\r\n    root.querySelector('#btn-check').disabled = false;\r\n    root.querySelector('#btn-reset').classList.add('hidden');\r\n    advies.classList.add('hidden'); adviesBody.innerHTML='';\r\n  });\r\n\r\n  function renderAdvice(stepCounts, wrongQuestions){\r\n    const entries = Object.entries(stepCounts).sort((a,b)=> (b[1]?.count||0)-(a[1]?.count||0));\r\n    adviesBody.innerHTML='';\r\n    if(!entries.length){\r\n      advies.classList.remove('hidden');\r\n      adviesBody.innerHTML = `<div class=\"advies-item\">\ud83c\udf89 Top! Geen directe verbeterpunten. Blijf letten op <span class=\"badge\">2<\/span> Signaalwoorden en <span class=\"badge\">1<\/span> Zorgvuldig lezen.<\/div>`;\r\n      return;\r\n    }\r\n    entries.forEach(([nr,data])=>{\r\n      const meta = ONDERDELEN[nr]||{titel:`Onderdeel ${nr}`,tip:''};\r\n      const vragen = Array.from(new Set(data.vragen)).sort((a,b)=>a-b).join(', ');\r\n      const el = document.createElement('div');\r\n      el.className='advies-item';\r\n      el.innerHTML = `<div class=\"badge\">${nr}<\/div><strong>${meta.titel}<\/strong> \u2014 kwam naar voren bij: <strong>${vragen}<\/strong>.<br><span class=\"small\">Waarom advies: ${meta.tip}<\/span>`;\r\n      adviesBody.appendChild(el);\r\n    });\r\n    if(wrongQuestions.length){\r\n      const cross=document.createElement('div');\r\n      cross.className='small'; cross.style.marginTop='.5rem';\r\n      cross.innerHTML = `<em>Meerdere onderdelen per vraag:<\/em> ` + wrongQuestions.map(w=>`Vraag ${w.idx}: ${w.onderdelen.join(', ')}`).join(' \u2022 ');\r\n      adviesBody.appendChild(cross);\r\n    }\r\n    advies.classList.remove('hidden');\r\n  }\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-23c6dc6 elementor-widget elementor-widget-html\" data-id=\"23c6dc6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- === OEFENTOETS \u2014 SET B (10 vragen) === -->\r\n<style>\r\n  #oefentoetsB-wrap{max-width:1600px;margin:0 auto}\r\n  #oefentoetsB .card{border:1px solid #e5e7eb;border-radius:14px;background:#fff}\r\n  #oefentoetsB .hidden{display:none!important}\r\n\r\n  \/* Startscherm *\/\r\n  #oefentoetsB #start-panel{padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}\r\n  #oefentoetsB #start-panel h2{margin:0;font-size:1.25rem}\r\n  #oefentoetsB #start-panel p{margin:.25rem 0;color:#475569}\r\n  #oefentoetsB .btn{border:0;border-radius:10px;padding:.7rem 1.1rem;cursor:pointer}\r\n  #oefentoetsB .btn-primary{background:#0ea5e9;color:#fff}\r\n  #oefentoetsB .btn-secondary{background:#e5e7eb}\r\n\r\n  \/* Toets header & toolbar *\/\r\n  #oefentoetsB #toets{padding:1rem;margin:1rem 0}\r\n  #oefentoetsB .toets-header{display:grid;grid-template-columns:1fr auto;grid-template-areas:\"title toolbar\" \"desc desc\";gap:.5rem 1rem;margin-bottom:.75rem;align-items:center}\r\n  #oefentoetsB .toets-title{grid-area:title;margin:0;font-size:1.2rem}\r\n  #oefentoetsB .toets-desc{grid-area:desc;margin:0;color:#475569}\r\n  #oefentoetsB .toolbar{grid-area:toolbar;display:flex;gap:.5rem;align-items:center}\r\n  #oefentoetsB .summary{font-weight:600;white-space:nowrap}\r\n\r\n  \/* Vragenraster *\/\r\n  #oefentoetsB .q-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}\r\n  @media (max-width:900px){#oefentoetsB .q-grid{grid-template-columns:1fr}}\r\n\r\n  \/* Vraagkaart *\/\r\n  #oefentoetsB .mcq{padding:1rem}\r\n  #oefentoetsB .mcq h3{margin:.1rem 0 .6rem;font-size:1.05rem}\r\n  #oefentoetsB .options{list-style:none;margin:.5rem 0 1rem;padding:0}\r\n  #oefentoetsB .options li{margin:.35rem 0}\r\n  #oefentoetsB .option{display:flex;gap:.5rem;align-items:center;padding:.5rem .6rem;border:1px solid #e5e7eb;border-radius:10px;cursor:pointer}\r\n  #oefentoetsB .option input[type=\"radio\"]{margin:0 .25rem 0 .2rem}\r\n  #oefentoetsB .feedback{margin:.5rem 0 .2rem;font-weight:600;min-height:1.2em}\r\n  #oefentoetsB .explanation{margin:.25rem 0 0;border-top:1px dashed #e5e7eb;padding-top:.6rem}\r\n  #oefentoetsB .explanation[hidden]{display:none}\r\n\r\n  \/* Stati *\/\r\n  #oefentoetsB .option.correct{border-color:#22c55e;background:#ecfdf5}\r\n  #oefentoetsB .option.incorrect{border-color:#ef4444;background:#fef2f2}\r\n  #oefentoetsB .mcq.unanswered{box-shadow:0 0 0 2px #ef4444 inset}\r\n\r\n  \/* Advies *\/\r\n  #oefentoetsB #advies{margin-top:1rem;padding:1rem}\r\n  #oefentoetsB #advies h3{margin:.25rem 0 .5rem}\r\n  #oefentoetsB .advies-item{border:1px solid #e5e7eb;border-radius:12px;padding:.75rem;margin:.5rem 0}\r\n  #oefentoetsB .badge{display:inline-block;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:999px;padding:.2rem .55rem;margin-right:.35rem;font-size:.8rem}\r\n  #oefentoetsB .small{color:#64748b;font-size:.92rem}\r\n<\/style>\r\n\r\n<div id=\"oefentoetsB-wrap\">\r\n  <section id=\"oefentoetsB\">\r\n    <!-- START -->\r\n    <section id=\"start-panel\" class=\"card\">\r\n      <h2>Oefentoets 3 - 10 vragen <\/h2>\r\n       <p>Deze toets is gericht op <strong>toets-strategie\u00ebn<\/strong> (onderdelen), niet op diepe feitenkennis.\r\n      Klik op <em>Start<\/em> om te beginnen. Je ziet de vragen pas na het starten.<\/p>\r\n      <button id=\"btn-start\" class=\"btn btn-primary\" type=\"button\">Start oefentoets<\/button>\r\n          <p class=\"small\">Tip: let op signaalwoorden, \u201cniet\/tenzij\/behalve\u201d, en kies het <em>meest directe<\/em> of <em>meest complete<\/em> antwoord.<\/p>\r\n    <\/section>\r\n\r\n    <!-- TOETS (verborgen) -->\r\n    <section id=\"toets\" class=\"card hidden\" aria-hidden=\"true\">\r\n      <div class=\"toets-header\">\r\n        <h2 class=\"toets-title\">Oefentoets 3 - 10 vragen<\/h2>\r\n        <div class=\"toolbar\">\r\n          <button id=\"btn-check\" class=\"btn btn-primary\" type=\"button\">Controleer toets<\/button>\r\n          <button id=\"btn-reset\" class=\"btn btn-secondary hidden\" type=\"button\">Opnieuw<\/button>\r\n          <div id=\"score\" class=\"summary\" aria-live=\"polite\"><\/div>\r\n        <\/div>\r\n<p class=\"toets-desc\">\r\n        Beantwoord alle vragen. Na het controleren zie je per vraag <strong>goed\/fout<\/strong>, het juiste antwoord en\r\n        <strong>uitleg<\/strong>. Onderaan verschijnt persoonlijke <strong>studie-advies<\/strong> met de\r\n        <em>onderdelen<\/em> die je het best kunt oefenen.\r\n      <\/p>\r\n      <\/div>\r\n\r\n      <div id=\"q-grid\" class=\"q-grid\">\r\n        <!-- 1 -->\r\n        <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"12,6\">\r\n          <h3 id=\"b1\">1: Stopzetten van <em>transcriptie<\/em> heeft direct tot gevolg\u2026<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"b1\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Minder eiwitsynthese<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Minder RNA-productie<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Minder ATP-productie<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Minder DNA-replicatie<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Direct \u2260 afgeleid. Transcriptie \u2192 RNA; eiwitsynthese daalt later, maar is niet direct.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 2 -->\r\n        <article class=\"mcq\" data-correct=\"D\" data-onderdelen=\"16,6\">\r\n          <h3 id=\"b2\">2: Welke factoren bepalen de <em>acute<\/em> bloeddruk het meest?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"b2\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Hartminuutvolume<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Perifere weerstand<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Bloedvolume<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Hartminuutvolume <em>\u00e9n<\/em> perifere weerstand<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Meest complete set voor <em>acuut<\/em>: CO \u00d7 R perifeer.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 3 -->\r\n        <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"17,6\">\r\n          <h3 id=\"b3\">3: Welke zin is grammaticaal correct?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"b3\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Genen codeert voor eiwitten<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Genen coderen voor eiwitten<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Het genen coderen voor eiwitten<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Gene coderen voor eiwitten<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Onderwerp meervoud \u2192 werkwoord meervoud: <em>coderen<\/em>.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 4 -->\r\n        <article class=\"mcq\" data-correct=\"A\" data-onderdelen=\"15,11\">\r\n          <h3 id=\"b4\">4: Vasodilatatie van huidarteriolen doet de warmte-afgifte\u2026<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"b4\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Toenemen<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Afnemen<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Onveranderd blijven<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Alleen bij kou veranderen<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Voorkennis\/logica: meer doorbloeding huid \u2192 meer warmte-afgifte.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 5 -->\r\n        <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"18,3,7\">\r\n          <h3 id=\"b5\">5: Kruising <em>AaBb \u00d7 aabb<\/em> met fenotypen 1:1:1:1 duidt op\u2026<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"b5\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Gekoppelde genen<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onafhankelijke assortering<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Lethaal allel<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Incomplete dominantie<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Testcross \u2192 verwacht 1:1:1:1 bij onafhankelijke overerving. (Is het lastig? Markeer en kom later terug.)<\/div>\r\n        <\/article>\r\n\r\n        <!-- 6 -->\r\n        <article class=\"mcq\" data-correct=\"C\" data-onderdelen=\"19,5\">\r\n          <h3 id=\"b6\">6: Hoofdfunctie van lysosomen?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"b6\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Eiwitsynthese<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> ATP-productie<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Intracellulaire vertering<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> DNA-replicatie<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Focus op basisfeit, elimineer afleiders \u2192 vertering.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 7 -->\r\n        <article class=\"mcq\" data-correct=\"C\" data-onderdelen=\"20,4\">\r\n          <h3 id=\"b7\">7: Welk proces zet DNA om in DNA?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"b7\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Transcriptie<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Translatie<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Replicatie<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Splicing<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Eerste ingeving is vaak juist: <em>replicatie<\/em>. Verander alleen met bewijs.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 8 -->\r\n        <article class=\"mcq\" data-correct=\"A\" data-onderdelen=\"13,1\">\r\n          <h3 id=\"b8\">8: Welke uitspraak is <em>niet onjuist<\/em> over prokaryoten?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"b8\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Hebben geen membraangebonden organellen<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Hebben geen ribosomen<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Hebben altijd een kern<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Komen uitsluitend bij mensen voor<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> \u201cNiet onjuist\u201d = juist. A beschrijft correct wat prokaryoten missen.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 9 -->\r\n        <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"2,14\">\r\n          <h3 id=\"b9\">9: \u201cEnzymremmers zijn <em>altijd<\/em> schadelijk voor cellen.\u201d Waar\/onwaar?<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"b9\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Waar<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Onwaar<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> \u201cAltijd\u201d is te absoluut; remming kan regulerend\/nuttig zijn.<\/div>\r\n        <\/article>\r\n\r\n        <!-- 10 -->\r\n        <article class=\"mcq\" data-correct=\"B\" data-onderdelen=\"11,12\">\r\n          <h3 id=\"b10\">10: Een cel in een <em>hypertoon<\/em> milieu zal in volume\u2026<\/h3>\r\n          <ul class=\"options\" role=\"radiogroup\" aria-labelledby=\"b10\">\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"A\"><span>A.<\/span> Toenemen<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"B\"><span>B.<\/span> Afnemen<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"C\"><span>C.<\/span> Onveranderd blijven<\/label><\/li>\r\n            <li><label class=\"option\"><input type=\"radio\" value=\"D\"><span>D.<\/span> Eerst toenemen, dan afnemen<\/label><\/li>\r\n          <\/ul>\r\n          <div class=\"feedback\" aria-live=\"polite\"><\/div>\r\n          <div class=\"explanation\" hidden><strong>Uitleg:<\/strong> Logica\/osmose: water verlaat de cel richting hogere osmolaliteit \u2192 krimpen.<\/div>\r\n        <\/article>\r\n      <\/div>\r\n\r\n      <section id=\"advies\" class=\"card hidden\" aria-live=\"polite\">\r\n        <h3>Persoonlijk studie-advies<\/h3>\r\n        <div id=\"advies-body\"><\/div>\r\n      <\/section>\r\n    <\/section>\r\n  <\/section>\r\n<\/div>\r\n\r\n<script>\r\n(() => {\r\n  const root = document.getElementById('oefentoetsB');\r\n  const startPanel = root.querySelector('#start-panel');\r\n  const btnStart = root.querySelector('#btn-start');\r\n  const toets = root.querySelector('#toets');\r\n  const btnCheck = root.querySelector('#btn-check');\r\n  const btnReset = root.querySelector('#btn-reset');\r\n  const score = root.querySelector('#score');\r\n  const advies = root.querySelector('#advies');\r\n  const adviesBody = root.querySelector('#advies-body');\r\n\r\n  \/\/ Alle 20 onderdelen\r\n  const ONDERDELEN = {\r\n    1:{titel:'Lees de vraag zorgvuldig', tip:'Let op kleine woordjes (niet, behalve) en eenheden.'},\r\n    2:{titel:'Let op signaalwoorden', tip:'Absoluten (\u201caltijd\/nooit\/uitsluitend\u201d) zijn vaak verdacht.'},\r\n    3:{titel:'Bepaal het onderwerp', tip:'Vat de kern in 1 woord en redeneer vandaaruit.'},\r\n    4:{titel:'Bedenk eerst zelf een antwoord', tip:'Formuleer je eigen hypothese v\u00f3\u00f3r de opties.'},\r\n    5:{titel:'Elimineer duidelijk onjuiste antwoorden', tip:'Schrap wat niet kan.'},\r\n    6:{titel:'Vergelijk opties zorgvuldig', tip:'Kies de precies juiste term.'},\r\n    7:{titel:'Uitsluitingsmethode', tip:'Verwijder minst waarschijnlijke opties bij twijfel.'},\r\n    8:{titel:'Let op overeenkomsten vraag & antwoord', tip:'Match sleutelwoorden\/definities.'},\r\n    9:{titel:'Vermijd omgekeerde logica', tip:'Let op \u201cniet\/tenzij\/behalve\u201d.'},\r\n    10:{titel:'Controleer interne tegenstrijdigheden', tip:'Check botsing met basisfeiten.'},\r\n    11:{titel:'Gebruik logische redenering', tip:'Denk in gradi\u00ebnten\/directe effecten.'},\r\n    12:{titel:'Direct vs. indirect', tip:'Kies het onmiddellijke gevolg.'},\r\n    13:{titel:'Dubbele ontkenningen', tip:'Herschrijf \u201cniet onjuist\u201d \u2192 \u201cjuist\u201d.'},\r\n    14:{titel:'Vermijd overhaaste beslissingen', tip:'Neem 5 seconden en herlees.'},\r\n    15:{titel:'Gebruik voorkennis en logica', tip:'Koppel aan bekende principes.'},\r\n    16:{titel:'Meest complete antwoord', tip:'Als meerdere kloppen: kies de meest volledige.'},\r\n    17:{titel:'Grammaticale overeenstemming', tip:'Onderwerp \u2194 werkwoord (enk.\/mv.).'},\r\n    18:{titel:'Markeer lastige vragen', tip:'Sla tijdelijk over; kom terug.'},\r\n    19:{titel:'Blijf gefocust', tip:'Negeer afleiders; kies basisantwoord.'},\r\n    20:{titel:'Houd je eerste keuze aan', tip:'Verander alleen met hard bewijs.'}\r\n  };\r\n\r\n  btnStart.addEventListener('click', () => {\r\n    startPanel.classList.add('hidden');\r\n    toets.classList.remove('hidden');\r\n    toets.removeAttribute('aria-hidden');\r\n    const quizzes = root.querySelectorAll('.mcq');\r\n    const stamp = 'setB-' + Date.now();\r\n    quizzes.forEach((quiz, idx) => {\r\n      quiz.querySelectorAll('input[type=\"radio\"]').forEach(r => r.name = `${stamp}-${idx}`);\r\n    });\r\n  });\r\n\r\n  btnCheck.addEventListener('click', () => {\r\n    const quizzes = Array.from(root.querySelectorAll('.mcq'));\r\n    let answered = 0, correctCount = 0;\r\n    const stepCounts = {};\r\n    const wrongQuestions = [];\r\n\r\n    quizzes.forEach(q => q.classList.remove('unanswered'));\r\n    quizzes.forEach(q => { if (q.querySelector('input[type=\"radio\"]:checked')) answered++; else q.classList.add('unanswered');});\r\n    if (answered !== quizzes.length){ score.textContent = 'Beantwoord alle vragen voor je controleert.'; return; }\r\n\r\n    quizzes.forEach((quiz, idx) => {\r\n      const labels = Array.from(quiz.querySelectorAll('label.option'));\r\n      const options = Array.from(quiz.querySelectorAll('input[type=\"radio\"]'));\r\n      const feedback = quiz.querySelector('.feedback');\r\n      const explanation = quiz.querySelector('.explanation');\r\n      const correctLetter = (quiz.dataset.correct||'').trim().toUpperCase();\r\n      const onderdelen = (quiz.dataset.onderdelen||'').split(',').map(s=>s.trim()).filter(Boolean);\r\n\r\n      labels.forEach(l => l.classList.remove('correct','incorrect'));\r\n      const chosen = quiz.querySelector('input[type=\"radio\"]:checked');\r\n      const chosenLabel = chosen ? chosen.closest('label') : null;\r\n      const correctInput = options.find(o => o.value.toUpperCase()===correctLetter);\r\n      const correctLabel = correctInput ? correctInput.closest('label') : null;\r\n\r\n      if (chosen && chosen.value.toUpperCase()===correctLetter){\r\n        correctCount++;\r\n        if (chosenLabel) chosenLabel.classList.add('correct');\r\n        feedback.innerHTML = '\u2705 Goed!';\r\n      } else {\r\n        if (chosenLabel) chosenLabel.classList.add('incorrect');\r\n        if (correctLabel) correctLabel.classList.add('correct');\r\n        feedback.innerHTML = `\u274c Niet helemaal. Het juiste antwoord is <strong>${correctLabel?correctLabel.textContent.trim():correctLetter}<\/strong>.`;\r\n        wrongQuestions.push({idx: idx+1, onderdelen});\r\n        onderdelen.forEach(n => {\r\n          if(!stepCounts[n]) stepCounts[n]={count:0, vragen:[]};\r\n          stepCounts[n].count++; stepCounts[n].vragen.push(idx+1);\r\n        });\r\n      }\r\n      explanation.hidden = false;\r\n      options.forEach(o => o.disabled = true);\r\n    });\r\n\r\n    score.textContent = `Score: ${correctCount}\/${quizzes.length} goed.`;\r\n    btnCheck.disabled = true; root.querySelector('#btn-reset').classList.remove('hidden');\r\n    renderAdvice(stepCounts, wrongQuestions);\r\n  });\r\n\r\n  btnReset.addEventListener('click', () => {\r\n    const quizzes = Array.from(root.querySelectorAll('.mcq'));\r\n    quizzes.forEach(q => {\r\n      q.classList.remove('unanswered');\r\n      q.querySelectorAll('label.option').forEach(l => l.classList.remove('correct','incorrect'));\r\n      q.querySelectorAll('input[type=\"radio\"]').forEach(o => {o.checked=false; o.disabled=false;});\r\n      q.querySelector('.feedback').textContent='';\r\n      q.querySelector('.explanation').hidden = true;\r\n    });\r\n    score.textContent = '';\r\n    root.querySelector('#btn-check').disabled = false;\r\n    root.querySelector('#btn-reset').classList.add('hidden');\r\n    advies.classList.add('hidden'); adviesBody.innerHTML='';\r\n  });\r\n\r\n  function renderAdvice(stepCounts, wrongQuestions){\r\n    const entries = Object.entries(stepCounts).sort((a,b)=> (b[1]?.count||0)-(a[1]?.count||0));\r\n    adviesBody.innerHTML='';\r\n    if(!entries.length){\r\n      advies.classList.remove('hidden');\r\n      adviesBody.innerHTML = `<div class=\"advies-item\">\ud83c\udf89 Top! Geen directe verbeterpunten. Blijf letten op <span class=\"badge\">12<\/span> Direct vs. indirect en <span class=\"badge\">2<\/span> Signaalwoorden.<\/div>`;\r\n      return;\r\n    }\r\n    entries.forEach(([nr,data])=>{\r\n      const meta = ONDERDELEN[nr]||{titel:`Onderdeel ${nr}`,tip:''};\r\n      const vragen = Array.from(new Set(data.vragen)).sort((a,b)=>a-b).join(', ');\r\n      const el = document.createElement('div');\r\n      el.className='advies-item';\r\n      el.innerHTML = `<div class=\"badge\">${nr}<\/div><strong>${meta.titel}<\/strong> \u2014 kwam naar voren bij: <strong>${vragen}<\/strong>.<br><span class=\"small\">Waarom advies: ${meta.tip}<\/span>`;\r\n      adviesBody.appendChild(el);\r\n    });\r\n    if(wrongQuestions.length){\r\n      const cross=document.createElement('div');\r\n      cross.className='small'; cross.style.marginTop='.5rem';\r\n      cross.innerHTML = `<em>Meerdere onderdelen per vraag:<\/em> ` + wrongQuestions.map(w=>`Vraag ${w.idx}: ${w.onderdelen.join(', ')}`).join(' \u2022 ');\r\n      adviesBody.appendChild(cross);\r\n    }\r\n    advies.classList.remove('hidden');\r\n  }\r\n})();\r\n<\/script>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-1772\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"3\" tabindex=\"-1\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-1772\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Extra informatie per onderdeel <\/div><\/span>\n\t\t\t\t\t\t\t<span class='e-n-accordion-item-title-icon'>\n\t\t\t<span class='e-opened' ><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-minus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t\t<span class='e-closed'><svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-plus\" viewBox=\"0 0 448 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z\"><\/path><\/svg><\/span>\n\t\t<\/span>\n\n\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-1772\" class=\"elementor-element elementor-element-b5ee45c e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-child\" data-id=\"b5ee45c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9c9f253 elementor-widget elementor-widget-html\" data-id=\"9c9f253\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- === OVERZICHT 20 ONDERDELEN \u2014 3 kolommen (Elementor HTML widget) === -->\r\n<style>\r\n  #strategie-overzicht{max-width:1600px;margin:0 auto}\r\n  #strategie-overzicht .header{display:flex;justify-content:space-between;align-items:end;margin-bottom:.75rem;gap:1rem}\r\n  #strategie-overzicht h2{margin:0;font-size:1.25rem}\r\n  #strategie-overzicht .sub{margin:0;color:#475569}\r\n\r\n  .grid-steps{\r\n    display:grid;grid-template-columns:repeat(3,1fr);gap:16px;\r\n  }\r\n  @media (max-width:1100px){.grid-steps{grid-template-columns:repeat(2,1fr)}}\r\n  @media (max-width:700px){.grid-steps{grid-template-columns:1fr}}\r\n\r\n  .step-card{\r\n    border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:1rem;display:flex;gap:.75rem\r\n  }\r\n  .step-badge{\r\n    flex:0 0 auto;display:flex;align-items:center;justify-content:center;\r\n    width:38px;height:38px;border-radius:999px;border:1px solid #bae6fd;background:#e0f2fe;color:#0369a1;\r\n    font-weight:700\r\n  }\r\n  .step-body{min-width:0}\r\n  .step-title{margin:0 0 .35rem 0;font-size:1.05rem}\r\n  .step-text{margin:0;color:#475569;line-height:1.45}\r\n<\/style>\r\n\r\n\r\n\r\n  <div class=\"grid-steps\">\r\n    <!-- 1 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">1<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Lees de vraag zorgvuldig<\/h3>\r\n        <p class=\"step-text\">Let op mini-details: \u201cnaar\/van\u201d, \u201cdirect\/indirect\u201d, uitzonderingen (\u201cbehalve\/tenzij\u201d), eenheden en context (mens\/dier, cel\/organisme).<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 2 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">2<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Let op signaalwoorden<\/h3>\r\n        <p class=\"step-text\">Absoluten als <em>altijd, nooit, uitsluitend<\/em> zijn vaak verdacht; nuancewoorden (<em>meestal, soms, kan<\/em>) passen vaker bij biologie.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 3 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">3<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Bepaal het onderwerp<\/h3>\r\n        <p class=\"step-text\">Vat de kern in \u00e9\u00e9n sleutelwoord (bijv. \u201cosmoses\u201d, \u201cfeedback\u201d) en koppel dat aan je basiskennis om afleiders te negeren.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 4 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">4<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Bedenk eerst zelf een antwoord<\/h3>\r\n        <p class=\"step-text\">Formuleer v\u00f3\u00f3r de opties je eigen hypothese. Zo voorkom je framing door misleidende keuzes.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 5 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">5<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Elimineer duidelijk onjuiste antwoorden<\/h3>\r\n        <p class=\"step-text\">Schrap eerst wat feitelijk onmogelijk is. Je kans op een goed antwoord stijgt direct.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 6 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">6<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Vergelijk de overgebleven opties<\/h3>\r\n        <p class=\"step-text\">Kies de <em>preciesste<\/em> of <em>volledigste<\/em> term die exact de gevraagde stap of definitie dekt.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 7 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">7<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Uitsluitingsmethode<\/h3>\r\n        <p class=\"step-text\">Rangschik op waarschijnlijkheid. Verwijder de zwakste optie, herhaal tot de beste overblijft.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 8 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">8<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Match vraag en antwoord<\/h3>\r\n        <p class=\"step-text\">Zoek woordsporen\/definities die \u201crijmen\u201d met een optie (bijv. \u201ctegenwerken\u201d \u2194 negatieve feedback).<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 9 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">9<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Vermijd omgekeerde logica<\/h3>\r\n        <p class=\"step-text\">Let op <em>niet, behalve, tenzij<\/em> en controleer de causale richting. Veel valkuilen zitten hier.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 10 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">10<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Check interne tegenstrijdigheden<\/h3>\r\n        <p class=\"step-text\">Foute opties botsen vaak met basisbiologie of tegenspreken zichzelf. Wegstrepen dus.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 11 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">11<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Gebruik logische redenering<\/h3>\r\n        <p class=\"step-text\">Denk in gradi\u00ebnten, evenwichten, massabalans en affiniteiten. Vul onbekende details logisch in.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 12 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">12<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Direct vs. indirect<\/h3>\r\n        <p class=\"step-text\">Kies het <em>onmiddellijke<\/em> effect van een ingreep, niet een latere consequentie.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 13 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">13<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Dubbele ontkenningen<\/h3>\r\n        <p class=\"step-text\">Herschrijf \u201cniet onjuist\/geen uitzondering\u201d in positieve vorm om de bedoeling helder te maken.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 14 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">14<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Vermijd overhaaste beslissingen<\/h3>\r\n        <p class=\"step-text\">Pauzeer even, herlees sleutelwoorden en eenheden, check voor absolute claims.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 15 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">15<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Gebruik voorkennis en analogie<\/h3>\r\n        <p class=\"step-text\">Koppel de casus aan bekende principes (osmose, hormoonwerking, feedback, massabalans).<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 16 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">16<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Meest complete antwoord<\/h3>\r\n        <p class=\"step-text\">Als meerdere opties juist lijken, kies die welke het geheel het best dekt (zonder overgeneralisatie).<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 17 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">17<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Grammaticale overeenstemming<\/h3>\r\n        <p class=\"step-text\">Laat onderwerp en werkwoord overeenkomen (enkelvoud\/meervoud) en check formulering.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 18 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">18<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Markeer lastige vragen<\/h3>\r\n        <p class=\"step-text\">Sla tijdelijk over en kom later terug. Eerst de \u201czekere punten\u201d binnenhalen.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 19 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">19<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Blijf gefocust<\/h3>\r\n        <p class=\"step-text\">Negeer afleiders; kies het antwoord dat past bij de basiskennis en de vraagstelling.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n\r\n    <!-- 20 -->\r\n    <article class=\"step-card\">\r\n      <div class=\"step-badge\">20<\/div>\r\n      <div class=\"step-body\">\r\n        <h3 class=\"step-title\">Houd je eerste keuze aan<\/h3>\r\n        <p class=\"step-text\">Eerste keuze is vaak patroonherkenning. Verander alleen met sterk bewijs na herlezen.<\/p>\r\n      <\/div>\r\n    <\/article>\r\n  <\/div>\r\n<\/section>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Meerkeuze vragen Examensucces begint met scherpe keuzes Stappenplan voor het Juiste Antwoord Zoek in stappen 20 stappen gevonden 1 Lees de vraag aandachtig Begrijp exact wat er wordt gevraagd v\u00f3\u00f3rdat je naar de opties kijkt. Een klein detail kan doorslaggevend zijn. Tip: onderstreep sleutelwoorden in de vraag. 2 Let op signaalwoorden Woorden als \u2018altijd\u2019, \u2018nooit\u2019, \u2018soms\u2019 geven hints. Absolutistische uitspraken zijn vaak verdacht. Let op nuances zoals &#8220;meestal&#8221; of &#8220;vaak&#8221;. 3 Bepaal de kern Identificeer het onderwerp en koppel dit aan je kennis om irrelevante opties uit te sluiten. Vat de vraag in \u00e9\u00e9n zin samen. 4 Bedenk eerst zelf een antwoord Formuleer een logisch antwoord in je hoofd voordat je de opties leest. Zo voorkom je be\u00efnvloeding. Denk 5\u201310 seconden na v\u00f3\u00f3r je scrolt. 5 Elimineer duidelijke missers Schrap opties die aantoonbaar onjuist zijn en vergroot zo je kans op de juiste keuze. Streep ze letterlijk door op papier. 6 Vergelijk wat overblijft Kies tussen plausibele opties degene die preciezer of vollediger is. Let op sleutelbegrippen die ontbreken. 7 Pas de uitsluitingsmethode toe Twijfel je? Verwijder stap voor stap de minst waarschijnlijke optie. Van 4 \u2192 2 antwoorden gaat vaak snel. 8 Match vraag en antwoord Let op formuleringen die terugkomen in de juiste optie. Synoniemen tellen ook! 9 Vermijd valkuilen Let op omgekeerde logica of misleidende zinsbouw. Lees kritisch. Zoek woorden als &#8220;tenzij&#8221;, &#8220;behalve&#8221;. 10 Check op tegenstrijdigheden Een antwoord dat zichzelf tegenspreekt of niet aansluit, is waarschijnlijk fout. Logica > gevoel. 11 Redeneer feitelijk Baseer je keuze op kennis en logica, niet op gokken of intu\u00eftie alleen. Denk: bewijs, definitie, oorzaak\u2192gevolg. 12 Toets relevantie Een antwoord kan juist lijken maar niet passen bij de vraag. Focus op relevantie. Dwaal niet af. 13 Let op dubbele ontkenningen Herschrijf zo nodig verwarrende zinnen naar eenvoudige taal. Schrap \u2018niet\u2019 en kijk opnieuw. 14 Neem de tijd Vermijd haast, zeker wanneer meerdere antwoorden plausibel lijken. Eerst denken, dan klikken. 15 Gebruik voorkennis en logica Ook zonder het exacte antwoord kun je via redeneren vaak tot de beste keuze komen. Maak denkstappen expliciet. 16 Kies het meest complete antwoord Als meerdere opties kloppen, ga voor de optie die het volledigst is. Volledigheid > fragment. 17 Controleer grammaticale overeenstemming Soms verraadt de formulering welk antwoord het beste past. Let op enkelvoud\/meervoud. 18 Markeer lastige vragen Sla even over en kom later terug met een frisse blik. Zet een \u2b50 en ga door. 19 Blijf gefocust, vertrouw je voorbereiding Stress en twijfel zijn slechte raadgevers. Adem, focus, ga door. Mini-pauze = meer scherpte. 20 Blijf bij je eerste keuze (tenzij\u2026) Wijzig je antwoord alleen als je goede, nieuwe argumenten hebt. Twijfel \u2260 bewijs. Nog beter voorbereiden? We willen graag dat je je zo goed mogelijk voorbereid! Je kan hieronder nog meer lezen en verschillende oefeningen en toetsen maken om je kennis te testen. Succes!!! Oefenen per onderdeel Onderdeel 1 \u2013 Lees de vraag zorgvuldig Controleer onderdeel Opnieuw Scan eerst de kernwoorden (bijv. \u201cnaar\/van\u201d, \u201cprimair\/secundair\u201d, \u201cdirect\/indirect\u201d), let op signaalwoorden (\u201cbehalve\u201d, \u201ctenzij\u201d, \u201caltijd\u201d) en op context (mens\/dier, cel\/organisme, in vivo\/in vitro). E\u00e9n klein detail bepaalt vaak het juiste antwoord. Welke bloedvaten vervoeren zuurstofrijk bloed naar het hart? A. Pulmonale slagaders B. Pulmonale aders C. Aorta D. Vena cava Uitleg: \u201cNaar het hart\u201d + zuurstofrijk = pulmonale aders (van longen naar linkerhart). Aorta\/Vena cava gaan juist van\/naar het lichaam. Welke vaten voeren zuurstofarm bloed van het hart naar de longen? A. Venae pulmonales B. Arteriae pulmonales (longslagaders) C. Aorta D. Vena cava Uitleg: \u201cVan het hart naar de longen\u201d + zuurstofarm = longslagaders. De venae pulmonales brengen juist zuurstofrijk bloed terug. Waar bevindt DNA zich bij prokaryoten hoofdzakelijk? A. Kern B. Mitochondri\u00ebn C. Nucleo\u00efde D. Nucleolus Uitleg: Prokaryoten hebben geen kern of mitochondri\u00ebn. Hun circulair DNA ligt in het nucleo\u00efde. Onderdeel 2 \u2013 Let op signaalwoorden Controleer onderdeel Opnieuw Absolutistische woorden als altijd, nooit, uitsluitend maken een bewering vaak kwetsbaar. Nuancewoorden (meestal, soms, kan) passen vaker bij correcte uitspraken. Enzymen werken altijd optimaal bij pH 7. A. Waar B. Onwaar Uitleg: Pepsine (maag) werkt zuur; andere juist basisch. \u201cAltijd\u201d is te absoluut. Fotosynthese vindt altijd plaats bij daglicht. A. Waar B. Onwaar Uitleg: CAM-planten fixeren \u2019s nachts CO\u2082; \u201caltijd\u201d klopt dus niet. Alle hormonen zijn altijd eiwitten. A. Waar B. Onwaar Uitleg: Stero\u00efdhormonen zijn lipiden, geen eiwitten. Onderdeel 3 \u2013 Bepaal het onderwerp van de vraag Controleer onderdeel Opnieuw Vat de vraag in \u00e9\u00e9n kernwoord samen (bijv. \u201climiterende factor\u201d, \u201cregelhormoon\u201d) en koppel dit aan je voorkennis. Wat is vaak de beperkende factor voor primaire productie in de open oceaan? A. Licht B. Nitraat\/fosfaat C. CO\u2082 D. O\u2082 Uitleg: In de open oceaan zijn nutri\u00ebnten (N\/P) vaak schaars. Welk hormoon verlaagt direct de bloedglucosespiegel? A. Glucagon B. Adrenaline C. Insuline D. Cortisol Uitleg: Insuline stimuleert opname\/opslaan van glucose. Wat is meestal limiterend voor plantengroei in de woestijn? A. Licht B. Water C. CO\u2082 D. Zuurstof Uitleg: In droge ecosystemen is water de beperkende hulpbron. Onderdeel 4 \u2013 Probeer eerst zelf een antwoord te bedenken Controleer onderdeel Opnieuw Formuleer v\u00f3\u00f3r je opties leest jouw korte \u2018eigen antwoord\u2019. Zo vermijd je framing door afleiders. Waar vindt de ATP-productie van de aerobe respiratie vooral plaats? A. Cytoplasma B. Ribosomen C. Mitochondri\u00ebn D. Kern Uitleg: Oxidatieve fosforylering bevindt zich in mitochondri\u00ebn. Waar vindt glycolyse plaats? A. Mitochondri\u00ebn B. Kern C. Cytoplasma D. Golgi Uitleg: Glycolyse = cytosolisch proces. Waar vindt translatie plaats? A. Kern B. Ribosomen C. Lysosomen D. Peroxisomen Uitleg: Eiwitsynthese gebeurt op ribosomen (vrij of op RER). Onderdeel 5 \u2013 Elimineer duidelijk onjuiste antwoorden Controleer onderdeel Opnieuw Schrap eerst wat feitelijk niet kan; je kans op het juiste antwoord stijgt direct. Welke structuur bevat dubbelstrengs DNA? A. tRNA B. Ribosoom C. Mitochondriaal genoom D. mRNA Uitleg: tRNA\/mRNA zijn RNA; mitochondriaal DNA is dubbelstrengs. Welke structuur komt niet voor in cellen van hogere planten? A. Centriool B. Vacuole C. Celwand D. Chloroplast Uitleg: Planten hebben doorgaans geen centriolen (m.u.v. lagere groepen). Welke stof is geen koolhydraat? A. Glucose B. Cellulose C. Sacharose D. Cholesterol Uitleg: Cholesterol is een lipide (sterol).<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"folder":[48],"class_list":["post-1950","page","type-page","status-publish","hentry"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/biologiehuis.com\/index.php?rest_route=\/wp\/v2\/pages\/1950","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/biologiehuis.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/biologiehuis.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/biologiehuis.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/biologiehuis.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1950"}],"version-history":[{"count":44,"href":"https:\/\/biologiehuis.com\/index.php?rest_route=\/wp\/v2\/pages\/1950\/revisions"}],"predecessor-version":[{"id":2728,"href":"https:\/\/biologiehuis.com\/index.php?rest_route=\/wp\/v2\/pages\/1950\/revisions\/2728"}],"wp:attachment":[{"href":"https:\/\/biologiehuis.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1950"}],"wp:term":[{"taxonomy":"folder","embeddable":true,"href":"https:\/\/biologiehuis.com\/index.php?rest_route=%2Fwp%2Fv2%2Ffolder&post=1950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}