/* =====================================================================
   printextra.css - componenten voor de elf printbladen.
   Bouwt voort op kampen-print.css (het .sheet-raster van A4-vellen).
   ===================================================================== */

.sheet::before{
  background:linear-gradient(90deg,#f2675a,#f3ad24,#2fa36b,#278be8,#8b5cf6,#e356a7);
}
.invul.lang{min-width:120mm}
.sheet a{color:inherit;text-decoration:none}

/* ------------------------------------------------------------ naamkaartjes */
.naamgrid>div{height:48mm;align-items:stretch;justify-content:flex-start;padding:0}
.naamgrid>.naamkaart{position:relative;display:grid!important;grid-template-rows:1fr auto 1fr;
  grid-template-columns:1fr;justify-content:stretch;align-items:stretch;justify-items:stretch;
  text-align:left;border-left:2.4mm solid var(--nk)}
.nk-achter{display:block}
.nk-vouw{font-size:6.2pt;font-weight:800;color:#a9b0c8;text-align:center;letter-spacing:.06em;
  border-top:1.1px dashed #a9b0c8;padding-top:.6mm}
.nk-voor{display:flex;flex-direction:column;padding:2mm 4mm 2.6mm}
.nk-boven{font-size:6.8pt;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--nk)}
.nk-lijn{flex:1;margin-top:1mm;border-bottom:1.2px solid #b9c0d6}

/* ------------------------------------------------------------------ bingo */
.bingo16{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2.4mm}
.bingo9{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3.4mm}
.bg-vak{display:flex;flex-direction:column;align-items:center;justify-content:space-between;
  border:1.3px solid #c8cfe2;border-radius:3mm;padding:3mm 2.4mm 2mm;text-align:center;background:#fdfdff}
.bingo16 .bg-vak{height:44mm}
.bingo9 .bg-vak{height:62mm}
.bg-vak p{margin:0;font-size:8.4pt!important;line-height:1.3!important;font-weight:700;color:#3b4468}
.bingo9 .bg-vak p{font-size:9.6pt!important}
.bg-pic{display:grid;place-items:center;height:16mm}
.bg-naam{display:block;width:100%;border-bottom:1.1px solid #8790ac;height:6mm;margin-top:2mm}

/* ----------------------------------------------------------- vraagkaarten */
.vkgrid>div{height:56mm;align-items:stretch;justify-content:space-between;text-align:left;padding:5mm}
.vk{position:relative}
.vk-nr{position:absolute;right:5mm;top:4mm;font:900 9pt/1 var(--font-display);color:#b7bedb}
.vk p{margin:5mm 0 0;font-size:12pt!important;line-height:1.32!important;font-weight:800;color:#27304f}
.vk-tag{margin-top:auto;font-size:7pt;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#8a92b4}

/* -------------------------------------------------------- twee waarheden */
.wsgrid{position:relative;display:grid;grid-template-rows:repeat(6,36mm);gap:0;border-top:1.3px dashed #8790ac}
.ws{border-bottom:1.3px dashed #8790ac;padding:2.8mm 2mm;overflow:hidden}
.ws-kop{display:block;font:900 8pt/1 var(--font-display);letter-spacing:.09em;text-transform:uppercase;color:#0d9fa8}
.ws-naam{margin:1.4mm 0 .6mm!important;font-size:8.2pt!important;line-height:1.2!important}
.ws-r{margin:1.1mm 0!important;font-size:8.8pt!important;line-height:1.3!important}
.ws-v{margin-top:1.2mm!important;font-size:7.4pt!important}

/* ----------------------------------------------------------- stoelenkaarten */
.stzgrid>div{height:34mm;padding:3mm 2.4mm}
.stz span{display:block;font-size:6.6pt;font-weight:900;letter-spacing:.05em;text-transform:uppercase;color:#a9866a}
.stz b{display:block;margin-top:1.6mm;font-size:10pt;line-height:1.22;color:#27304f}

/* ------------------------------------------------------------- wapenschild */
.wapen{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3mm;height:196mm;position:relative}
.wp-vak{border:1.6px solid #c2703e;border-radius:4mm;padding:4mm;display:flex;flex-direction:column}
.wapen .wp-vak:nth-child(3),.wapen .wp-vak:nth-child(4){justify-content:flex-end}
.wp-vak span{font-size:8.6pt;font-weight:900;color:#a35b2e;letter-spacing:.03em}
.wp-naam{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:66mm;height:26mm;
  border:2mm solid #c2703e;border-radius:5mm;background:#fff;display:grid;place-items:start center;padding-top:2mm}
.wp-naam small{font-size:7.4pt;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#a35b2e}

/* ------------------------------------------------------- tekening-telefoon */
.ttstrook{display:grid;gap:0;border:1.3px solid #c8cfe2;border-radius:2mm;overflow:hidden}
.tt-vak{padding:3mm 4mm;border-bottom:1.3px dashed #8790ac}
.tt-vak:last-child{border-bottom:none}
.tt-vak>span{display:block;font-size:7.2pt;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#b0448c}
.tt-schrijf{height:20mm;background:#fdf6fb}
.tt-teken{height:32mm}
.tt-lijn{display:block;border-bottom:1.1px solid #c4cadf;height:5.8mm;margin-top:1mm}

/* -------------------------------------------------------------- dobbelsteen */
.kubussen{display:grid;gap:5mm;justify-items:center}
.kubussen svg{width:130mm;height:auto;margin:0 auto;display:block}

/* ------------------------------------------------------------- wij-diagram */
.venn{display:grid;place-items:center;margin-top:2mm}
.venn svg{width:150mm;height:auto}

/* ---------------------------------------------------------- complimenten */
.compl{position:relative;height:210mm;border:1.6px solid #e8a917;border-radius:5mm;padding:6mm 7mm}
.cp-naam{height:24mm;border-bottom:1.6px solid #e8a917;margin-bottom:4mm}
.cp-naam small{font-size:7.4pt;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#a8790d}
.cp-lijn{display:block;border-bottom:1.1px solid #d9dfef;height:12mm}
.cp-voet{position:absolute;left:7mm;right:7mm;bottom:4mm;text-align:center;margin:0!important;
  font-size:7.6pt!important;color:#a8790d!important;font-weight:800}

/* ------------------------------------------------------------ spiekkaarten */
.skgrid>div{height:78mm;align-items:stretch;justify-content:flex-start;text-align:left;padding:4.5mm}
.sk{border-top:2.4mm solid var(--skc)!important;margin-top:-4.5mm;padding-top:4mm}
.sk-kop{display:flex;align-items:center;gap:2.4mm;margin-bottom:1.6mm}
.sk-nr{flex:none;width:7mm;height:7mm;border-radius:50%;display:grid;place-items:center;background:var(--skc);
  color:#fff;font:900 8.4pt/1 var(--font-display)}
.sk-kop b{font-family:var(--font-display);font-size:12pt;line-height:1.1;color:#27304f}
.sk-pitch{margin:0 0 1.6mm!important;font-size:8pt!important;line-height:1.3!important;color:#4d5578}
.sk-uit{margin:0!important;font-size:7.6pt!important;line-height:1.32!important;color:#27304f;
  background:color-mix(in srgb,var(--skc) 9%,#fff);border-radius:2mm;padding:2mm 2.4mm}
.sk-voet{margin-top:auto;display:flex;gap:1.6mm;flex-wrap:wrap;padding-top:2mm}
.sk-voet span{font-size:6.6pt;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#6b7390;
  border:1px solid #d7dcee;border-radius:99px;padding:.7mm 2mm}

/* =====================================================================
   Printbank: selectievakjes op de kaarten + de balk onderaan
   ===================================================================== */
.printkaart{position:relative}
.pk-body{display:flex;flex-direction:column;gap:8px;height:100%;text-decoration:none;color:inherit}
.pk-body:hover{text-decoration:none}
.printkaart.gekozen{border-color:var(--pc,var(--acc));box-shadow:0 0 0 3px color-mix(in srgb,var(--pc,var(--acc)) 22%,transparent),var(--e-2)}
.pk-vink{position:absolute;right:12px;top:14px;z-index:2;width:30px;height:30px;cursor:pointer}
.pk-vink input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.pk-vink span{position:absolute;inset:0;border-radius:9px;border:2px solid var(--line);
  background:var(--surface);transition:all var(--dur-1) var(--ease)}
.pk-vink span::after{content:"";position:absolute;left:9px;top:4px;width:7px;height:13px;
  border:solid #fff;border-width:0 3px 3px 0;transform:rotate(42deg) scale(0);
  transition:transform var(--dur-1) var(--ease-spring)}
.pk-vink input:hover+span{border-color:var(--pc,var(--acc))}
.pk-vink input:checked+span{background:var(--pc,var(--acc));border-color:var(--pc,var(--acc))}
.pk-vink input:checked+span::after{transform:rotate(42deg) scale(1)}
.pk-vink input:focus-visible+span{box-shadow:var(--focus)}
.printkaart .pk-kop{padding-right:34px}

.kiesbalk{
  position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:90;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;
  padding:11px 14px;border-radius:20px;border:1px solid var(--rand);
  background:color-mix(in srgb,var(--glass-strong) 94%,transparent);
  backdrop-filter:blur(22px) saturate(1.3);box-shadow:var(--schaduw);
  max-width:calc(100% - 32px);
}
.kiesbalk[hidden]{display:none}
.kb-tekst{font-size:13px;font-weight:800;color:var(--ink-soft);white-space:nowrap}
.kb-tekst strong{font-family:var(--font-display);font-size:17px;color:var(--ink);margin-right:3px}

/* =====================================================================
   Bundel samenstellen
   ===================================================================== */
.bu-paneel{display:grid;gap:var(--s-5);margin:var(--s-6) 0 var(--s-10)}
.bu-stap{display:flex;gap:var(--s-4);align-items:flex-start;background:var(--surface);
  border:1px solid var(--rand);border-radius:var(--r-xl);padding:var(--s-5) var(--s-6);
  box-shadow:var(--e-1)}
.bu-stapnr{flex:none;width:40px;height:40px;border-radius:14px;display:grid;place-items:center;
  font-family:var(--font-display);font-weight:900;font-size:19px;color:#fff;
  background:linear-gradient(135deg,var(--acc),var(--acc-2));box-shadow:0 8px 20px rgba(var(--acc-rgb),.28)}
.bu-stapinhoud{flex:1;min-width:0}
.bu-stapinhoud h2{margin:4px 0 var(--s-3);font-size:var(--t-lg)}
.bu-stapinhoud>p.small{color:var(--ink-faint);margin:var(--s-3) 0 0}

.bu-kinderen{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.bu-kinderen .knop{width:44px;padding:0;font-size:20px;justify-content:center}
.bu-kinderen input{width:110px;height:52px;text-align:center;border:1px solid var(--line);
  border-radius:15px;background:var(--surface-2);color:var(--ink);font-family:var(--font-display);
  font-weight:900;font-size:24px;outline:none}
.bu-kinderen input:focus{border-color:var(--acc);box-shadow:var(--focus)}
.bu-snel{display:flex;gap:6px;flex-wrap:wrap;margin-left:6px}
.bu-snel .knop{min-height:38px;padding:0 13px}
.bu-knoppen{display:flex;gap:9px;flex-wrap:wrap;margin:var(--s-3) 0}

.bu-sets{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--s-4);
  margin-top:var(--s-3)}
.bu-set{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:var(--surface-2);
  border-top:4px solid var(--pc,var(--acc))}
.bu-setkop{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:10px 13px;background:color-mix(in srgb,var(--pc,var(--acc)) 9%,var(--surface))}
.bu-alles{display:flex;align-items:center;gap:9px;cursor:pointer;font-family:var(--font-display);
  font-size:14.5px;color:var(--ink)}
.bu-bekijk{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:800;
  color:var(--ink-faint);text-decoration:none;white-space:nowrap}
.bu-bekijk:hover{color:var(--pc,var(--acc));text-decoration:none}
.bu-bekijk svg.ico{width:14px;height:14px}
.bu-vel{display:grid;grid-template-columns:20px 1fr auto;grid-template-rows:auto auto;
  column-gap:10px;row-gap:1px;align-items:center;text-align:left;
  padding:9px 13px;border-top:1px solid var(--line);cursor:pointer;font-size:13.5px}
.bu-vel:hover{background:color-mix(in srgb,var(--pc,var(--acc)) 6%,transparent)}
.bu-vel input{grid-column:1;grid-row:1/3;justify-self:center}
.bu-naam{grid-column:2;grid-row:1;font-weight:700;color:var(--ink);line-height:1.25}
.bu-regel{grid-column:2;grid-row:2;font-size:11.5px;color:var(--ink-faint);font-weight:700}
.bu-aantal{grid-column:3;grid-row:1/3;font-family:var(--font-display);font-weight:900;
  font-size:16px;color:var(--pc,var(--acc));min-width:40px;text-align:right}
.bu-vel input,.bu-alles input{width:18px;height:18px;accent-color:var(--acc);cursor:pointer;margin:0}

.bu-totaal{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;
  margin:var(--s-3) 0}
.bu-totaal div{background:var(--surface-2);border:1px solid var(--line);border-radius:15px;
  padding:11px 14px}
.bu-totaal strong{display:block;font-family:var(--font-display);font-weight:900;font-size:26px;
  color:var(--ink);line-height:1.1}
.bu-totaal span{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;
  color:var(--ink-soft)}
.bu-waarschuwing{margin:0 0 var(--s-3);padding:10px 14px;border-radius:14px;font-size:13.5px;
  background:var(--warn-bg);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);
  color:var(--ink)}
.knop[disabled]{opacity:.45;pointer-events:none}

/* het voorblad van de bundel */
.sheet.voorblad{background:linear-gradient(150deg,#f6f3ff,#ffffff 46%,#eef6ff)!important}
table.bu-inhoud{width:100%;border-collapse:collapse;margin-top:4mm}
table.bu-inhoud th{text-align:left;font-family:var(--font-display);font-size:8.5pt;
  text-transform:uppercase;letter-spacing:.07em;color:#6b7390;border-bottom:1.4px solid #c9cfe4;
  padding:2mm 1mm}
table.bu-inhoud td{font-size:9.5pt;padding:2.2mm 1mm;border-bottom:1px solid #e6e9f4;color:#27304f}
table.bu-inhoud td:nth-child(2){font-weight:900;white-space:nowrap}
table.bu-inhoud td:nth-child(3),table.bu-inhoud td:nth-child(4){width:18mm;text-align:center}

@media print{
  .bu-paneel,.kiesbalk{display:none!important}
}
@media (max-width:640px){
  .bu-stap{flex-direction:column}
  .bu-snel{margin-left:0;width:100%}
}

/* ------------------------------------------------------------- stripbladen */
.strip-kop{display:flex;align-items:baseline;gap:3mm;margin:0 0 3mm;font-size:9pt;font-weight:800;
  color:#7b3b48}
.strip-kop .invul{flex:1;min-width:0}
.strip-raster{display:grid;gap:3mm}
.strip-raster.s6{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,63mm)}
.strip-raster.s4{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,98mm)}
.strip-raster.s9{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,58mm)}
.strip-vak{position:relative;border:1.6px solid #b9c0d6;border-radius:2.5mm;background:#fff}
.sv-nr{position:absolute;left:2.5mm;top:2.5mm;width:7mm;height:7mm;border-radius:50%;
  display:grid;place-items:center;background:#c2455a;color:#fff;font:900 9pt/1 var(--font-display)}
.strip-opdrachten{display:flex;flex-wrap:wrap;align-items:baseline;gap:2mm 5mm;margin-top:3mm;
  padding:2.5mm 3mm;border-radius:2mm;background:#fdf2f4;border:1px solid #eccdd4}
.strip-opdrachten b{font-size:8.4pt;color:#a33a4c}
.strip-opdrachten span{font-size:8pt;color:#6b7390;font-weight:800}
.strip-naam{margin-top:3mm!important}

/* ------------------------------------------------------------------- print */
@media print{
  .sheetwrap{gap:0;display:block}
  .sheet{box-shadow:none;border:none;border-radius:0;margin:0;page-break-after:always;break-after:page}
  .sheet:last-child{page-break-after:auto;break-after:auto}
  .hero,.callout,.sheet-uitleg,.geenprint{display:none!important}
}
@page{size:A4 portrait;margin:0}
