/* ===================================================================
   Differentiatie 5de leerjaar — A4-werkbladen (.sheet)
   Eén .sheet = exact één blad. Inhoud wordt PER BLAD opgebouwd, nooit
   vrij laten doorlopen. .sheet-body heeft een vaste hoogte zodat de
   QA-controle (tools/check_sheets.py) overloop kan meten.
   =================================================================== */

.vel-reeks{display:flex;flex-direction:column;align-items:center;gap:10mm;padding:10mm 0}

.sheet{
  --sheet-pad:13mm;
  --accent:var(--wiskunde);
  --accent-bg:var(--wiskunde-bg);
  --accent-line:var(--wiskunde-line);
  position:relative;
  width:210mm;
  height:297mm;
  box-sizing:border-box;
  padding:var(--sheet-pad);
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  font-size:10.2pt;
  line-height:1.42;
  box-shadow:var(--e-3);
  border-radius:3mm;
  overflow:hidden;            /* alleen visueel; QA meldt échte overloop */
  display:flex;
  flex-direction:column;
}
.sheet.taal    {--accent:var(--taal);    --accent-bg:var(--taal-bg);    --accent-line:var(--taal-line)}
.sheet.spelling{--accent:var(--spelling);--accent-bg:var(--spelling-bg);--accent-line:var(--spelling-line)}
.sheet.wiskunde{--accent:var(--wiskunde);--accent-bg:var(--wiskunde-bg);--accent-line:var(--wiskunde-line)}
.sheet.frans   {--accent:var(--frans);   --accent-bg:var(--frans-bg);   --accent-line:var(--frans-line)}
.sheet.wereld  {--accent:var(--wereld);  --accent-bg:var(--wereld-bg);  --accent-line:var(--wereld-line)}
.sheet.natuur  {--accent:var(--natuur);  --accent-bg:var(--natuur-bg);  --accent-line:var(--natuur-line)}
.sheet.code    {--accent:var(--code);    --accent-bg:var(--code-bg);    --accent-line:var(--code-line)}
.sheet.schat   {--accent:var(--schat);   --accent-bg:var(--schat-bg);   --accent-line:var(--schat-line)}

/* ---- siertekening: vaste visuele identiteit per blad, kost geen ruimte ---- */
.sheet-sier{
  position:absolute;right:-8mm;bottom:14mm;width:62mm;height:62mm;
  color:var(--accent);opacity:.06;pointer-events:none;z-index:0}
.sheet-sier svg{width:100%;height:100%}
.sheet-head,.sheet-body,.sheet-voet{position:relative;z-index:1}

/* ---- kop van een blad ---- */
.sheet-head{display:flex;align-items:flex-start;gap:4mm;flex:none;margin-bottom:4mm}
.sheet-head .merk{
  flex:none;width:13mm;height:13mm;border-radius:3.5mm;background:var(--accent-bg);
  display:flex;align-items:center;justify-content:center;color:var(--accent)}
.sheet-head .merk svg{width:8.5mm;height:8.5mm}
.sheet-head .kop{flex:1;min-width:0}
.sheet-head .eyebrow{
  font-family:var(--font-display);font-weight:700;font-size:7.6pt;letter-spacing:.09em;
  text-transform:uppercase;color:var(--accent);margin-bottom:.5mm}
.sheet-head h2{font-family:var(--font-display);font-weight:800;font-size:16.5pt;line-height:1.1;margin:0;color:var(--ink)}
.sheet-head .onderkop{font-size:9.4pt;color:var(--ink-soft);margin-top:.8mm}
.sheet-head .blad-nr{
  flex:none;font-family:var(--font-display);font-weight:700;font-size:8.6pt;color:var(--accent);
  background:var(--accent-bg);border-radius:var(--r-pill);padding:1mm 3mm}

/* ---- body: vaste hoogte, QA meet hierop ---- */
.sheet-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:3.2mm}
.sheet-body > *{flex:none}

/* ---- voet ---- */
.sheet-voet{
  flex:none;margin-top:3mm;padding-top:2mm;border-top:.4mm dotted var(--line-strong);
  display:flex;justify-content:space-between;align-items:center;
  font-size:7.6pt;color:var(--ink-faint)}
.sheet-voet .naamveld{display:flex;align-items:center;gap:2mm}
.sheet-voet .naamlijn{display:inline-block;width:34mm;border-bottom:.4mm dotted var(--line-strong)}

/* ===================== inhoudsblokken ===================== */

/* opdracht met nummer */
.opdr{display:flex;gap:3mm;align-items:flex-start;break-inside:avoid}
.opdr-nr{
  flex:none;width:6.2mm;height:6.2mm;border-radius:50%;background:var(--accent);color:#fff;
  font-family:var(--font-display);font-weight:800;font-size:8.6pt;
  display:flex;align-items:center;justify-content:center;margin-top:.3mm}
.opdr-body{flex:1;min-width:0}
.opdr-body > p{margin:0 0 1.4mm}
.opdr-body > p:last-child{margin-bottom:0}
.opdr .opgave{font-weight:600}

/* kaders */
.kader{border:.4mm solid var(--line);border-radius:var(--r-md);padding:2.6mm 3.4mm;break-inside:avoid}
.kader > .k-titel{
  font-family:var(--font-display);font-weight:700;font-size:9.6pt;margin-bottom:1.2mm;
  display:flex;align-items:center;gap:1.6mm}
.kader > .k-titel svg{width:4.4mm;height:4.4mm}
.kader p{margin:0 0 1.2mm}
.kader p:last-child{margin:0}
.kader.uitleg{background:var(--accent-bg);border-color:var(--accent-line)}
.kader.uitleg > .k-titel{color:var(--accent)}
.kader.tip{background:var(--tip-bg);border-color:var(--tip-line)}
.kader.tip > .k-titel{color:var(--tip)}
.kader.letop{background:var(--let-op-bg);border-color:var(--let-op-line)}
.kader.letop > .k-titel{color:var(--let-op)}
.kader.weetje{background:var(--weetje-bg);border-color:var(--weetje-line)}
.kader.weetje > .k-titel{color:var(--weetje)}
.kader.doel{background:var(--doel-bg);border-color:var(--doel-line)}
.kader.doel > .k-titel{color:var(--doel)}

/* leestekst */
.leestekst{
  background:var(--surface);border:.4mm solid var(--line);border-left:1.2mm solid var(--accent);
  border-radius:var(--r-md);padding:3mm 4mm;break-inside:avoid;font-size:9.8pt;line-height:1.5}
.leestekst h4{font-family:var(--font-display);font-size:11pt;margin:0 0 1.4mm;color:var(--ink)}
.leestekst p{margin:0 0 1.6mm}
.leestekst p:last-child{margin:0}
.leestekst .regelnr{color:var(--ink-faint);font-size:7.6pt;margin-right:1.4mm}

/* invulelementen */
.invul{display:inline-block;min-width:26mm;border-bottom:.45mm solid var(--line-strong);height:1.15em;vertical-align:bottom}
.invul.kort{min-width:14mm}
.invul.lang{min-width:52mm}
.lijnen{display:flex;flex-direction:column;gap:0}
.lijnen .lijn{height:7.2mm;border-bottom:.35mm dotted var(--line-strong)}
.lijnen.ruim .lijn{height:9mm}
.vakje{display:inline-block;width:4.6mm;height:4.6mm;border:.45mm solid var(--line-strong);border-radius:1mm;vertical-align:-1mm}
.keuzes{display:flex;flex-wrap:wrap;gap:1.6mm 4mm;margin-top:1.2mm}
.keuze{display:inline-flex;align-items:center;gap:1.6mm;font-size:9.6pt}

/* woordbank / losse kaartjes */
.woordbank{display:flex;flex-wrap:wrap;gap:1.6mm;padding:2.2mm 2.6mm;background:var(--surface-2);
  border-radius:var(--r-md);break-inside:avoid}
.woord{background:var(--paper);border:.4mm solid var(--line-strong);border-radius:var(--r-pill);
  padding:.8mm 2.6mm;font-size:9.4pt}

/* tabellen */
.tabel{width:100%;border-collapse:collapse;font-size:9.4pt;break-inside:avoid}
.tabel th,.tabel td{border:.4mm solid var(--line-strong);padding:1.6mm 2.2mm;text-align:left;vertical-align:top}
.tabel th{background:var(--accent-bg);font-family:var(--font-display);font-weight:700;color:var(--accent)}
.tabel td.leeg{height:8mm}
.tabel.smal td,.tabel.smal th{padding:1.1mm 1.6mm}

/* puzzelrooster (codekraken / binair) */
.rooster{display:grid;gap:1.2mm;break-inside:avoid}
.rooster .cel{
  border:.45mm solid var(--line-strong);border-radius:1.2mm;height:var(--celh,12mm);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:700;font-size:10pt;background:var(--paper)}
/* alleen bij kleine roosters waar vierkante vakjes er echt toe doen */
.rooster.vierkant .cel{aspect-ratio:1;height:auto}
.rooster .cel.gevuld{background:var(--accent-bg);color:var(--accent)}
.rooster .cel.klein{font-size:8pt}
.codestrip{display:flex;flex-wrap:wrap;gap:1.4mm;break-inside:avoid}
.codestrip .teken{
  min-width:7mm;height:8.4mm;padding:0 1.2mm;border:.45mm solid var(--line-strong);border-radius:1.2mm;
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700}
.codestrip .teken.sleutel{background:var(--accent);color:#fff;border-color:var(--accent)}

/* kolommen */
.kol2{display:grid;grid-template-columns:1fr 1fr;gap:3mm}
.kol3{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6mm}
.kol2.ongelijk{grid-template-columns:1.35fr 1fr}

/* knipkaarten — vullen de resterende hoogte van het blad */
/* thema-ornament (Super plus) onder de bladkop */
.thema-streep{color:var(--accent);margin:-3.2mm 0 1.6mm;line-height:0;position:relative;z-index:1;flex:none}
.thema-streep svg{display:block;width:100%;height:4mm}
/* plakblad: vakken om uitgeknipte kaarten in te plakken */
.plakblad{display:grid;grid-template-columns:repeat(var(--kol,3),minmax(0,1fr));gap:2mm}
.afb-leeg .afb-bestand{word-break:break-all;max-width:100%;padding:0 1mm}
.knipkaart{min-width:0;overflow:hidden}
.plakvak{position:relative;height:var(--h,32mm);border:.5mm dashed var(--accent-line);border-radius:var(--r-md);
  background:#fff;display:flex;align-items:center;justify-content:center;text-align:center;padding:2mm}
.plakvak .pv-label{position:absolute;left:2mm;top:1.5mm;font-family:var(--font-display);font-weight:800;font-size:9pt;color:var(--accent)}
.plakvak .pv-hint{font-size:8.6pt;color:var(--ink-faint);font-style:italic;line-height:1.3}
.knipkaart .afb{width:100%;margin:0 0 1.5mm}
.knipkaart .afb img,.knipkaart .afb-leeg{height:var(--h,22mm);border-radius:1.5mm}
.knipkaart .afb-leeg{font-size:6.5pt}
.knipvel{display:grid;grid-template-columns:repeat(var(--kol,3),minmax(0,1fr));grid-auto-rows:1fr;gap:0;
  border:.4mm dashed var(--line-strong)}
.sheet-body > .knipvel:last-child{flex:1 1 auto;min-height:0}
.sheet-body > .knipvel:not(:last-child){flex:none;grid-auto-rows:auto}
.knipkaart{border:.4mm dashed var(--line-strong);padding:3mm;min-height:32mm;display:flex;
  flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:1.6mm}
.knipkaart .kaart-titel{font-family:var(--font-display);font-weight:700;font-size:10pt;color:var(--accent)}
.knipkaart svg{width:14mm;height:14mm;color:var(--accent)}

/* illustraties */
.illu{display:flex;align-items:center;justify-content:center;color:var(--accent)}
.illu svg{max-width:100%;height:auto}
.illu.klein svg{width:22mm}
.illu.mid svg{width:38mm}
.illu.groot svg{width:58mm}
.illu-rij{display:flex;gap:3mm;align-items:center}
.illu-bij{display:flex;gap:3mm;align-items:flex-start}
.illu-bij .illu{flex:none}

/* tekenvak */
.tekenvak{border:.5mm dashed var(--accent-line);border-radius:var(--r-md);background:var(--accent-bg);
  min-height:30mm;display:flex;align-items:center;justify-content:center;color:var(--ink-faint);
  font-size:8.6pt;break-inside:avoid}

/* mini-kop binnen een blad */
.blok-kop{font-family:var(--font-display);font-weight:700;font-size:10.6pt;color:var(--accent);
  display:flex;align-items:center;gap:1.8mm;margin-bottom:.4mm}
.blok-kop .streep{flex:1;height:.4mm;background:var(--accent-line)}

/* ---- schattenjacht: stempelkaart, vondstvak, diploma ---- */
.stempelkaart{display:grid;grid-template-columns:repeat(var(--k,5),1fr);gap:2.4mm;break-inside:avoid}
.stempelvak{border:.5mm dashed var(--accent-line);border-radius:2.5mm;background:var(--accent-bg);
  min-height:24mm;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1mm;padding:2mm}
.stempelvak .st-nr{font-family:var(--font-display);font-weight:800;font-size:11pt;color:var(--accent)}
.stempelvak .st-lbl{font-size:7.4pt;color:var(--ink-soft);text-align:center;line-height:1.25}

.vondst{display:flex;align-items:center;gap:3mm;border:.6mm solid var(--accent);border-radius:var(--r-md);
  background:var(--accent-bg);padding:3mm 4mm;break-inside:avoid}
.vondst .v-lbl{font-family:var(--font-display);font-weight:700;font-size:9.6pt;color:var(--accent);flex:none}
.vondst .v-hokjes{display:flex;gap:1.6mm}
.vondst .v-hok{width:8mm;height:10mm;border:.5mm solid var(--accent);border-radius:1.4mm;background:var(--paper)}

.diploma{border:1mm double var(--accent);border-radius:var(--r-lg);padding:6mm 7mm;text-align:center;
  background:#fff;break-inside:avoid}
.diploma h3{font-family:var(--font-display);font-size:19pt;color:var(--accent);margin-bottom:1.5mm}
.diploma .d-sub{font-size:9.6pt;color:var(--ink-soft);margin-bottom:4mm}
.diploma .d-naam{border-bottom:.5mm solid var(--line-strong);height:9mm;margin:0 auto 3mm;max-width:90mm}
.diploma .d-rij{display:flex;justify-content:space-between;gap:5mm;margin-top:5mm;font-size:8.4pt;color:var(--ink-soft)}
.diploma .d-rij span{flex:1;border-top:.4mm dotted var(--line-strong);padding-top:1.4mm}
.diploma .d-zegel{width:26mm;height:26mm;margin:0 auto 2mm;color:var(--accent)}

/* sterren (moeilijkheid) */
.sterren{display:inline-flex;gap:.8mm;vertical-align:middle}
.sterren svg{width:3.6mm;height:3.6mm;color:var(--accent)}
.sterren svg.leeg{color:var(--line-strong)}

/* ===================== afbeeldingen ===================== */
.afb{break-inside:avoid;margin:0}
.afb img{display:block;width:100%;height:var(--h,55mm);object-fit:cover;border-radius:var(--r-md)}
.afb .afb-cap{font-size:8.4pt;color:var(--ink-soft);margin-top:1.2mm;font-style:italic;line-height:1.3}
.afb.klein{float:right;width:45mm;margin:0 0 2mm 4mm;shape-outside:margin-box}
.afb.klein img,.afb.klein .afb-leeg{height:var(--h,40mm)}
.afb-leeg{height:var(--h,55mm);border:.5mm dashed var(--accent-line);border-radius:var(--r-md);
  background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:1.4mm;color:var(--ink-faint);font-size:8pt;text-align:center;padding:3mm;line-height:1.3}
.afb-leeg svg{width:9mm;height:9mm;color:var(--accent);opacity:.75}
.afb-leeg .afb-bestand{font-family:ui-monospace,Consolas,monospace;font-size:7pt;opacity:.8}
.na-afb{clear:both}

/* ===================== bladstijlen ===================== */

/* --- journaal: gelinieerd, handschrift, warm papier --- */
/* Schrift: de rode kantlijn staat in de marge (10 mm), links van alle tekst; de horizontale
   lijnen staan op het tekstblok en hebben exact de regelafstand van het handschrift (11.8pt × 1.36
   = 5.661 mm), zodat de tekst óp de lijnen staat in plaats van erdoorheen. */
.sheet.st-journaal{
  background:#f8f0dc;color:#3a2a17;
  background-image:linear-gradient(to right,rgba(150,60,40,.35) 0,rgba(150,60,40,.35) .5mm,transparent .5mm);
  background-position:10mm 0;background-size:100% 100%;background-repeat:no-repeat}
.sheet.st-journaal .sheet-body{
  background-image:repeating-linear-gradient(to bottom,transparent 0 4.2mm,rgba(110,80,40,.24) 4.2mm 4.5mm,transparent 4.5mm 5.661mm);
  background-size:100% 5.661mm;background-repeat:repeat-y}
.sheet.st-journaal .sheet-sier{opacity:.045}
.sheet.st-journaal .sheet-head .merk{background:rgba(120,80,40,.10);color:#6b4a24}
.sheet.st-journaal .sheet-head .eyebrow{color:#8a5a2b;font-family:var(--font-hand);font-size:11pt;letter-spacing:0;text-transform:none;font-weight:700}
.sheet.st-journaal .sheet-head h2{font-family:var(--font-hand);font-size:23pt;color:#3a2a17}
.sheet.st-journaal .sheet-head .onderkop{font-family:var(--font-hand);font-size:12pt;color:#6b4a24}
.sheet.st-journaal .sheet-body{font-family:var(--font-hand);font-size:11.8pt;line-height:1.36;color:#3a2a17}
.sheet.st-journaal .lijnen .lijn,.sheet.st-brief .lijnen .lijn{height:6.6mm}
.sheet.st-journaal .afb,.sheet.st-brief .afb{margin-bottom:1mm}
.sheet.st-journaal .kader{background:transparent;border:.45mm dashed rgba(110,80,40,.5);border-radius:2mm}
.sheet.st-journaal .kader > .k-titel{color:#8a5a2b;font-family:var(--font-hand);font-size:13pt}
.sheet.st-journaal .leestekst{background:transparent;border:0;border-radius:0;padding:0;font-size:11.8pt;line-height:1.36}
.sheet.st-journaal .leestekst p{margin:0}
.sheet.st-journaal .leestekst h4{font-family:var(--font-hand);font-size:16pt;line-height:5.661mm;color:#3a2a17;margin:0}
.sheet.st-journaal .leestekst .regelnr{font-size:8.5pt;color:#8a5a2b}
.sheet.st-journaal .opdr-nr{background:transparent;color:#8a5a2b;border:.5mm solid #8a5a2b;font-family:var(--font-hand);font-size:11pt}
.sheet.st-journaal .opdr-body{font-size:12.6pt}
.sheet.st-journaal .lijnen .lijn{border-bottom-color:rgba(110,80,40,.5)}
.sheet.st-journaal .invul{border-bottom-color:rgba(110,80,40,.6)}
.sheet.st-journaal .tabel th,.sheet.st-journaal .tabel td{border-color:rgba(110,80,40,.6)}
.sheet.st-journaal .tabel th{background:rgba(110,80,40,.10);color:#6b4a24;font-family:var(--font-hand);font-size:12pt}
.sheet.st-journaal .afb img,.sheet.st-journaal .afb-leeg{border-radius:1mm;transform:rotate(-1.2deg)}
.sheet.st-journaal .sheet-voet{border-top-color:rgba(110,80,40,.4);color:#8a6b45}
.sheet.st-journaal::before{content:none}

/* --- brief: crème papier, handschrift --- */
.sheet.st-brief{background:#fbf5e8;color:#332818;
  background-image:radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.35),transparent 70%)}
.sheet.st-brief .sheet-sier{opacity:.05}
.sheet.st-brief .sheet-head .eyebrow{font-family:var(--font-hand);text-transform:none;letter-spacing:0;font-size:11pt;color:#7a5530}
.sheet.st-brief .sheet-head h2{font-family:var(--font-hand);font-size:22pt}
.sheet.st-brief .sheet-body{font-family:var(--font-hand);font-size:11.9pt;line-height:1.38}
.sheet.st-brief .kader{background:transparent;border:0;padding:1mm 0}
.sheet.st-brief .kader > .k-titel{font-family:var(--font-hand);font-size:13pt;color:#7a5530}
.sheet.st-brief .leestekst{background:transparent;border:0;padding:1.5mm 5mm;font-size:11.9pt;line-height:1.42}
.sheet.st-brief .opdr-nr{background:#7a5530}
.sheet.st-brief .opdr-body{font-size:12.4pt}
.sheet.st-brief .lijnen .lijn{border-bottom-color:rgba(122,85,48,.45)}
.sheet.st-brief .zegel{position:absolute;right:18mm;bottom:26mm;width:22mm;height:22mm;color:#a3442b;opacity:.85;transform:rotate(8deg)}

/* --- veldgids: natuurhistorisch, frames --- */
.sheet.st-veldgids{background:#fbfaf4;color:#2b2a24}
.sheet.st-veldgids .sheet-head .eyebrow{letter-spacing:.14em}
.sheet.st-veldgids .sheet-head h2{font-family:var(--font-display);letter-spacing:.01em}
.sheet.st-veldgids .afb img,.sheet.st-veldgids .afb-leeg{border:1.1mm double #8a7a5a;border-radius:1mm;background:#fff;padding:1.5mm}
.sheet.st-veldgids .afb .afb-cap{font-family:var(--font-hand);font-size:11pt;color:#4a3f2a;text-align:center}
.sheet.st-veldgids .kader{background:#fff;border:.45mm solid #8a7a5a;border-radius:1mm}
.sheet.st-veldgids .kader > .k-titel{color:#5a4a2f;font-size:9.4pt;letter-spacing:.08em;text-transform:uppercase}
.sheet.st-veldgids .tabel th,.sheet.st-veldgids .tabel td{border-color:#8a7a5a}
.sheet.st-veldgids .tabel th{background:#efe9d8;color:#5a4a2f}
.sheet.st-veldgids .lijnen .lijn{border-bottom:.35mm dotted #8a7a5a}
.sheet.st-veldgids .opdr-nr{background:#5a4a2f}

/* --- document: typemachine, stempel --- */
.sheet.st-document{background:#fff;color:#1f1f1f;font-family:'Courier Prime','Courier New',monospace}
.sheet.st-document .sheet-head .eyebrow{font-family:'Courier Prime','Courier New',monospace;letter-spacing:.2em;color:#444}
.sheet.st-document .sheet-head h2{font-family:'Courier Prime','Courier New',monospace;font-weight:700;font-size:15pt;letter-spacing:.04em;text-transform:uppercase}
.sheet.st-document .sheet-head .merk{border-radius:1mm;background:#eee;color:#333}
.sheet.st-document .sheet-body{font-size:10pt;line-height:1.45}
.sheet.st-document .kader{border:.45mm solid #333;border-radius:0;background:#fff}
.sheet.st-document .kader > .k-titel{color:#111;letter-spacing:.08em;text-transform:uppercase;font-size:9pt}
.sheet.st-document .tabel{font-family:inherit}
.sheet.st-document .tabel th,.sheet.st-document .tabel td{border:.5mm solid #222}
.sheet.st-document .tabel th{background:#e8e8e8;color:#111;font-family:inherit;text-transform:uppercase;font-size:8.6pt;letter-spacing:.06em}
.sheet.st-document .opdr-nr{border-radius:0;background:#222}
.sheet.st-document .lijnen .lijn{border-bottom:.35mm solid #999}
.sheet.st-document .sheet-sier{display:none}
.doc-stempel{position:absolute;right:10mm;top:24mm;transform:rotate(-11deg);border:1.1mm solid var(--accent);
  color:var(--accent);padding:1.6mm 4mm;font-family:'Courier Prime','Courier New',monospace;font-weight:700;
  font-size:12pt;letter-spacing:.16em;text-transform:uppercase;opacity:.6;border-radius:1.5mm;z-index:3;
  mix-blend-mode:multiply}

/* --- kaart: A3 liggend, de SVG vult het blad --- */
@page kaart{size:A3 landscape;margin:0}
.sheet.st-kaart{width:420mm;height:297mm;padding:0;background:#fff;page:kaart;overflow:hidden;display:block}
.sheet.st-kaart svg.kaart{display:block;width:420mm;height:297mm}
.vel-reeks{overflow-x:auto;max-width:100%}

/* ===================== print ===================== */
@media print{
  html,body{background:#fff !important;margin:0;padding:0}
  .no-print{display:none !important}
  .sheet-sier{display:none !important}          /* geen achtergrondtekening op papier */
  .sheet:not(.st-journaal):not(.st-brief):not(.st-veldgids){background:#fff !important}
  .vel-reeks{display:block;padding:0;gap:0}
  @page{size:A4;margin:0}
  .sheet{
    box-shadow:none;border-radius:0;margin:0;
    page-break-after:always;break-after:page;
    width:210mm;height:297mm}
  .sheet:last-child{page-break-after:auto;break-after:auto}
  /* A3-kaart: eigen paginacontext; geen gedwongen breuk erna en wat speling in hoogte */
  .vel-reeks{overflow:visible;max-width:none}
  .sheet.st-kaart{width:420mm;height:296mm;page-break-after:auto;break-after:auto;page-break-inside:avoid}
  .sheet.st-kaart svg.kaart{height:296mm}
}
