/* PRINTELLIGENCE gids.css (V3.0, 30/09/2026): gedeelde stijl voor alle gidsen van de infotheek (thema01 tot thema14).
   Laden NA site.css:  <link rel="stylesheet" href="assets/site.css" /> <link rel="stylesheet" href="assets/gids.css" />
   ACCENT: zet de wereldklasse van het niveau op de artikel-div, ZONDER de klasse "wereld" (de achtergrond blijft wit):
     <div class="breed artikel gids w-user">   User = w-user (groen), Builder = w-build (oranje); er zijn maar twee niveaus (V3.1)
   gids.css leidt daaruit drie variabelen af die alle componenten gebruiken:
     --g-accent (= --p-accent, de volle kleur), --g-vlak (= --p-bg, het pastelvlak), --g-inkt (= --p-inkt, donkere tekst op pastel).
   Zonder wereldklasse vallen ze terug op teal. Dezelfde wereldklasse staat ook op de hero (section.phero.wereld.w-...).
   Regels: afronding max 8 px, geen randbalk links aan een kader, geen pillen, geen bruin. Alle componenten staan als
   rechtstreeks kind in <article class="artikel-tekst"> (of in een groep hieronder). Voeg "uitbreek" toe om de volle
   kolombreedte te nemen (brede tabel, raster, lange stappenreeks).

   KLASSEN (alles binnen .gids)
   h2 (met id)             hoofdstuktitel; krijgt automatisch een nummer (01, 02, ...) en een lijn erboven. Zonder nummer: class="geen-nr".
   .lead                   inleidende alinea van een hoofdstuk (iets groter en donkerder dan gewone tekst).
   .highlight-box          pastelvlak in de wereldkleur voor een kernzin of tip: <div class="highlight-box"><p><strong>Tip:</strong> ...</p></div>
   .example-grid           raster van voorbeeldkaartjes, standaard 2 kolommen. Met .kol-3 of .kol-4 (samen met uitbreek) 3 of 4 kolommen op brede schermen.
   .example-item           kaartje in dat raster, met <div class="ex-title">titel</div><p>tekst</p>.
   .stappen                groep rond opeenvolgende .step-row's. Met "uitbreek kol-2" twee kolommen op brede schermen.
   .step-row               een stap: <div class="step-number">1</div><div class="step-content"><div class="step-title">..</div><p>..</p></div>
   .kaarten                groep rond opeenvolgende .analogy-card's. Met "uitbreek kol-2" twee kolommen op brede schermen.
   .analogy-card           kaart met blokje links: <div class="analogy-icon">AI</div><div><div class="analogy-title">..</div><p>..</p></div>
   .analogy-icon           het blokje (1 tot 3 tekens). Varianten: .is-goed (groen vinkje, do) en .is-fout (rood kruisje, don't).
   .tweeluik               twee kolommen naast elkaar op brede schermen, bv. Do's naast Don'ts: <div class="tweeluik uitbreek">
                           <div class="tweeluik-kol"><h3>Do's</h3><div class="kaarten">..</div></div><div class="tweeluik-kol">..</div></div>
   .tabel-rol              omhulsel rond een tabel zodat ze op een gsm zelf schuift: <div class="tabel-rol"><table class="table-simple">..</table></div>
   .table-simple           tabel met th-rij en lijnen; eerste kolom vet.
   pre, code               codeblok (donker, schuift horizontaal) en inline code.
   .prompt-box             voorbeeldprompt of letterlijke invoer: <div class="prompt-box"><div class="prompt-titel">Prompt</div><p>...</p></div>
   .faq-item               vraag en antwoord: <div class="faq-item"><div class="question">Vraag?</div><p>Antwoord.</p></div>
   .arch-diagram           eenvoudig schema: .arch-row met .arch-box (.user-box donker, .ai-box accent), .arch-arrow, .arch-label; daaronder .arch-tools met .arch-tool.
   .bronnen                raster rond .source-item's (hoofdstuk "Meer lezen en bronnen"), meestal met uitbreek.
   .source-item            bron: <div class="source-icon">GH</div><div><div class="source-title">..</div><p>..</p><div class="source-url">..</div></div>
   .citaat.gids-slot       slotcitaat onderaan de gids (blockquote met p en footer); strong kleurt in de accentkleur.
   HERO: .phero-onder (optioneel) is een tweede titelregel in de accentkleur, tussen de h1 en .phero-intro.
   ZIJRAIL: .rail-blok (site.css) + .rail-feiten (dl met dt/dd voor "In het kort") + .rail-link (titel van volgende gids of opleiding).
     Optioneel gesplitst: <aside class="artikel-rail is-gesplitst"> met eerst de blokken "Voor wie" en "In het kort" en daarna
     <div class="rail-plak"> rond "Volgende gids", "Passende opleiding" en "Vraag advies". Dan blijft alleen .rail-plak plakken bij het
     scrollen (past op elk scherm) en staat "Voor wie" op de gsm boven de tekst. Zonder is-gesplitst plakt de hele rail (site.css).
     .rail-volgende: <a class="rail-blok rail-volgende wereld w-..."> met img.rail-volgende-beeld, h3, span.rail-link en p (kaartje volgende gids).
   ONDERAAN: <section class="sectie gids-meer"><div class="breed"> .sectie-kop + .tegels met drie a.tegel.wereld.w-... </div></section>
   DONKERE STAND (V3.1): alles loopt via de tokens van site.css; gevulde accentvlakken gebruiken color var(--op-accent). Niets per gids doen. */

.gids {
  --g-accent: var(--p-accent, var(--teal));
  --g-vlak: var(--p-bg, var(--teal-licht));
  --g-inkt: var(--p-inkt, var(--inkt));
  counter-reset: gids-h;
}
.gids .artikel-tekst { container: gids / inline-size; }
/* gidsen zijn leesstukken: iets smallere inhoudstafel en zijrail dan in site.css, zodat de tekstkolom breder wordt */
@media (min-width: 1280px) { .artikel.gids { grid-template-columns: 200px minmax(0, 1fr) minmax(260px, 340px); } }

/* ---------- Hero: tweede titelregel onder de h1 (optioneel) ---------- */
.phero .phero-onder { font-family: var(--kop-font); font-size: clamp(1.3rem, 2.1vw, 2.1rem); font-weight: 500; line-height: 1.15; letter-spacing: -0.03em; color: var(--p-accent, var(--teal)); margin: -6px 0 20px; max-width: 24ch; }

/* ---------- Hoofdstukken ---------- */
.artikel.gids .artikel-tekst > h2 { max-width: none; border-top: 1px solid var(--lijn); padding-top: 1.3em; margin-top: 2.6em; text-wrap: balance; }
.artikel.gids .artikel-tekst > h2:first-child { margin-top: 0; border-top: 0; padding-top: 0; }
.artikel.gids .artikel-tekst > h2:not(.geen-nr) { counter-increment: gids-h; }
.artikel.gids .artikel-tekst > h2:not(.geen-nr)::before { content: counter(gids-h, decimal-leading-zero); display: block; font-family: var(--tekst-font); font-size: 14px; font-weight: 700; letter-spacing: 0; line-height: 1; color: var(--g-accent); margin-bottom: 12px; }
.artikel.gids .artikel-tekst > h3 { margin-top: 1.9em; }
.artikel.gids .artikel-tekst > .lead { font-size: clamp(1.1rem, 1.25vw, 1.3rem); line-height: 1.55; font-weight: 500; color: var(--inkt); }
.gids .artikel-tekst strong { color: var(--inkt); font-weight: 650; }

/* ---------- Kernzin ---------- */
.gids .highlight-box { background: var(--g-vlak); color: var(--g-inkt); border-radius: 8px; padding: clamp(16px, 1.6vw, 24px) clamp(18px, 1.8vw, 28px); }
.artikel.gids .artikel-tekst > .highlight-box { margin-block: 2em; }
.gids .highlight-box p { margin: 0; }
.gids .highlight-box p + p { margin-top: .7em; }
.gids .highlight-box strong { color: var(--g-inkt); font-weight: 700; }
.gids .highlight-box a { color: var(--g-inkt); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Voorbeeldraster ---------- */
.gids .example-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
.artikel.gids .artikel-tekst > .example-grid { margin-block: 2em; }
.gids .example-item { background: var(--creme); border-radius: 8px; padding: 18px 20px; }
.gids .ex-title { font-family: var(--kop-font); font-size: 1.05rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.25; color: var(--inkt); margin-bottom: 6px; }
.gids .example-item p { margin: 0; font-size: .92em; line-height: 1.55; }
@container gids (min-width: 520px) { .gids .example-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container gids (min-width: 760px) { .gids .example-grid.kol-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@container gids (min-width: 900px) { .gids .example-grid.kol-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* ---------- Stappen ---------- */
.gids .stappen, .gids .kaarten { display: grid; grid-template-columns: 1fr; gap: 16px; }
.artikel.gids .artikel-tekst > .stappen, .artikel.gids .artikel-tekst > .kaarten { margin-block: 2em; }
.gids .step-row { display: flex; gap: 16px; align-items: flex-start; background: var(--creme); border-radius: 8px; padding: 18px 20px; }
.gids .step-number { flex: none; width: 36px; height: 36px; border-radius: 6px; background: var(--g-accent); color: var(--op-accent); font-family: var(--kop-font); font-size: 1rem; font-weight: 700; line-height: 1; display: flex; align-items: center; justify-content: center; }
.gids .step-content { flex: 1; min-width: 0; }
.gids .step-title { font-family: var(--kop-font); font-size: 1.1rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.25; color: var(--inkt); margin: 5px 0 4px; }
.gids .step-row p { margin: 0; font-size: .94em; line-height: 1.6; }
.gids .step-row p + p { margin-top: .6em; }

/* ---------- Kaart met blokje ---------- */
.gids .analogy-card { display: flex; gap: 16px; align-items: flex-start; background: var(--paneel); border: 1px solid var(--lijn); border-radius: 8px; padding: 18px 20px; }
.gids .analogy-card > div:last-child { flex: 1; min-width: 0; }
.gids .analogy-icon { flex: none; width: 44px; height: 44px; border-radius: 6px; background: var(--g-vlak); color: var(--g-accent); font-family: var(--kop-font); font-size: 1rem; font-weight: 700; line-height: 1; display: flex; align-items: center; justify-content: center; }
.gids .analogy-icon.is-goed { background: #d7eae1; color: #047857; font-size: 1.3rem; }
.gids .analogy-icon.is-fout { background: #fbe4e1; color: #b3261e; font-size: 1.3rem; }
html[data-theme="dark"] .gids .analogy-icon.is-goed { background: #12362a; color: #4fd1a0; }
html[data-theme="dark"] .gids .analogy-icon.is-fout { background: #45171a; color: #f5a097; }
.gids .analogy-title { font-family: var(--kop-font); font-size: 1.1rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.25; color: var(--inkt); margin-bottom: 4px; }
.gids .analogy-card p { margin: 0; font-size: .94em; line-height: 1.6; }
.gids .analogy-card p + p { margin-top: .6em; }
.gids .tweeluik { display: grid; grid-template-columns: 1fr; gap: 28px 20px; }
.artikel.gids .artikel-tekst > .tweeluik { margin-block: 2.2em; }
.gids .tweeluik h3 { font-size: clamp(1.15rem, 1.4vw, 1.4rem); font-weight: 700; line-height: 1.2; color: var(--inkt); margin: 0 0 .7em; }
@container gids (min-width: 860px) {
  .gids .stappen.kol-2, .gids .kaarten.kol-2, .gids .tweeluik { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Tabel ---------- */
.gids .tabel-rol { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.artikel.gids .artikel-tekst > .tabel-rol, .artikel.gids .artikel-tekst > .table-simple { margin-block: 2em; }
.gids .table-simple { width: 100%; border-collapse: collapse; font-size: .94em; line-height: 1.5; }
.gids .table-simple th { text-align: left; font-size: 13.5px; font-weight: 700; color: var(--g-accent); padding: 10px 16px 10px 0; border-bottom: 2px solid var(--inkt); vertical-align: bottom; }
.gids .table-simple td { padding: 12px 16px 12px 0; border-bottom: 1px solid var(--lijn); vertical-align: top; }
.gids .table-simple td:first-child { font-weight: 600; color: var(--inkt); }
.gids .table-simple th:last-child, .gids .table-simple td:last-child { padding-right: 0; }

/* ---------- Code en prompt ---------- */
.gids pre { background: var(--donker); color: #ecebe6; border-radius: 8px; padding: 18px 20px; overflow-x: auto; font: 500 14px/1.6 ui-monospace, 'SF Mono', Menlo, Consolas, monospace; tab-size: 2; }
.artikel.gids .artikel-tekst > pre { margin-block: 1.6em; }
.gids code { font: 500 .9em/1.4 ui-monospace, 'SF Mono', Menlo, Consolas, monospace; background: var(--creme); color: var(--inkt); border-radius: 4px; padding: 2px 6px; }
.gids pre code { background: none; color: inherit; padding: 0; font-size: inherit; line-height: inherit; }
.gids .prompt-box { background: var(--creme); border: 1px solid var(--lijn); border-radius: 8px; padding: 18px 20px; font: 500 .92em/1.6 ui-monospace, 'SF Mono', Menlo, Consolas, monospace; color: var(--inkt); }
.artikel.gids .artikel-tekst > .prompt-box { margin-block: 1.6em; }
.gids .prompt-box p { margin: 0; }
.gids .prompt-box p + p { margin-top: .7em; }
.gids .prompt-titel { font: 700 13px/1 var(--tekst-font); color: var(--g-accent); margin-bottom: 10px; }

/* ---------- Vraag en antwoord ---------- */
.gids .faq-item { border-top: 1px solid var(--lijn); padding-top: 1.1em; }
.gids .faq-item .question { font-family: var(--kop-font); font-size: 1.2rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.25; color: var(--inkt); margin-bottom: 6px; }
.gids .faq-item p { margin: 0; }

/* ---------- Schema ---------- */
.gids .arch-diagram { background: var(--g-vlak); color: var(--g-inkt); border-radius: 8px; padding: clamp(20px, 3vw, 40px); text-align: center; }
.artikel.gids .artikel-tekst > .arch-diagram { margin-block: 1.6em; }
.gids .arch-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; margin-bottom: 18px; }
.gids .arch-box { padding: 14px 24px; border-radius: 8px; font-family: var(--kop-font); font-weight: 700; font-size: 1rem; line-height: 1.2; }
.gids .arch-box.user-box { background: var(--inkt); color: var(--vlak); }
.gids .arch-box.ai-box { background: var(--g-accent); color: var(--op-accent); }
.gids .arch-label { font-size: 13px; font-weight: 700; line-height: 1.3; color: var(--g-accent); }
.gids .arch-arrow { color: var(--g-accent); font-size: 24px; line-height: 1; }
.gids .arch-tools { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }
.gids .arch-tool { background: var(--paneel); color: var(--inkt); padding: 12px 20px; border-radius: 8px; font-family: var(--kop-font); font-size: .95rem; font-weight: 600; line-height: 1.2; }

/* ---------- Bronnen ---------- */
.gids .bronnen { display: grid; grid-template-columns: 1fr; gap: 16px; }
.artikel.gids .artikel-tekst > .bronnen { margin-block: 2em; }
.gids .source-item { display: flex; gap: 14px; align-items: flex-start; background: var(--creme); border-radius: 8px; padding: 16px 18px; }
.gids .source-item > div:last-child { flex: 1; min-width: 0; }
.gids .source-icon { flex: none; width: 40px; height: 40px; border-radius: 6px; background: var(--g-accent); color: var(--op-accent); font-family: var(--kop-font); font-size: 13px; font-weight: 700; line-height: 1; display: flex; align-items: center; justify-content: center; }
.gids .source-title { font-family: var(--kop-font); font-size: 1.05rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.25; color: var(--inkt); margin: 2px 0 4px; }
.gids .source-item p { margin: 0; font-size: .9em; line-height: 1.5; }
.gids .source-url { font-size: 13px; font-weight: 600; color: var(--g-accent); margin-top: 6px; overflow-wrap: anywhere; }
@container gids (min-width: 560px) { .gids .bronnen { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container gids (min-width: 900px) { .gids .bronnen { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Slotcitaat ---------- */
.gids .citaat.gids-slot { background: var(--g-vlak); color: var(--g-inkt); }
.artikel.gids .artikel-tekst > .citaat.gids-slot { margin-top: 3em; }
.gids .citaat.gids-slot p { color: var(--g-inkt); font-weight: 400; }
.gids .citaat.gids-slot p + p { margin-top: .7em; }
.gids .citaat.gids-slot strong { color: var(--g-accent); font-weight: 700; }
.gids .citaat.gids-slot footer { color: color-mix(in srgb, var(--g-inkt) 70%, transparent); }

/* ---------- Zijrail ---------- */
.gids .rail-blok p { margin: 0; }
.gids .rail-blok p + p, .gids .rail-blok p + .knop { margin-top: 12px; }
.gids .rail-blok:not(.is-teal) p { color: var(--tekst); }
.gids .rail-blok:not(.is-teal) p a { color: var(--teal); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; white-space: nowrap; }
.gids .rail-feiten { margin: 0; display: grid; grid-template-columns: auto 1fr; gap: 0 16px; }
.gids .rail-feiten dt, .gids .rail-feiten dd { margin: 0; padding: 7px 0; border-top: 1px solid var(--lijn); }
.gids .rail-feiten dt { color: var(--zacht); }
.gids .rail-feiten dd { font-weight: 600; color: var(--inkt); text-align: right; }
.gids .rail-feiten dt:first-of-type, .gids .rail-feiten dd:first-of-type { border-top: 0; padding-top: 0; }
.gids .rail-feiten dt:last-of-type, .gids .rail-feiten dd:last-of-type { padding-bottom: 0; }
.gids .rail-link { display: block; font-family: var(--kop-font); font-size: 1.15rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.2; color: var(--inkt); text-decoration: none; margin-bottom: 6px; }
.gids a.rail-link:hover, .gids a.rail-link:focus-visible { color: var(--teal); }
/* volgende gids: kaartje in de kleur van het niveau van die gids, met de tekening */
.gids .rail-blok.rail-volgende { display: block; background: var(--p-bg); color: var(--p-inkt); text-decoration: none; transition: transform .2s ease; }
.gids .rail-blok.rail-volgende:hover { transform: translateY(-2px); }
.gids .rail-volgende h3 { font-family: var(--tekst-font); font-size: 12.5px; font-weight: 700; letter-spacing: 0; color: var(--p-accent); margin: 0 0 4px; }
.gids .rail-volgende .rail-link { color: var(--p-inkt); }
.gids .rail-blok.rail-volgende p { color: color-mix(in srgb, var(--p-inkt) 76%, transparent); }
.gids .rail-volgende-beeld { display: block; width: 100%; height: 120px; object-fit: contain; mix-blend-mode: multiply; margin-bottom: 10px; }
@media (max-height: 820px) and (min-width: 900px) { .gids .rail-volgende-beeld { display: none; } }
/* gesplitste zijrail: "Voor wie" en "In het kort" schuiven mee weg, alleen .rail-plak blijft in beeld */
.gids .artikel-rail.is-gesplitst { position: static; align-self: stretch; display: block; }
.gids .artikel-rail.is-gesplitst > * + * { margin-top: 24px; }
.gids .rail-plak { position: sticky; top: calc(var(--kop-h) + 24px); display: grid; gap: 24px; }
@media (max-width: 899px) {
  .gids .artikel-rail.is-gesplitst { display: contents; }
  .gids .artikel-rail.is-gesplitst > * + * { margin-top: 0; }
  .gids .artikel-rail.is-gesplitst > .rail-blok:first-child { order: -1; }
  .gids .artikel-rail.is-gesplitst > .rail-blok:nth-child(2) { margin-bottom: -16px; }
  .gids .rail-plak { position: static; }
}

/* ---------- Verwante gidsen onderaan ---------- */
.gids-meer { background: var(--creme); }
.gids-meer .tegels { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 899px) { .gids-meer .tegels { grid-template-columns: 1fr; } }

@media (max-width: 599px) {
  .gids .step-row, .gids .analogy-card, .gids .source-item { gap: 12px; padding: 16px; }
  .gids .table-simple { font-size: 14px; }
  .gids .table-simple th, .gids .table-simple td { padding-right: 10px; }
}
