/* ==================================================================
   Boerderijkampen Wilrijk V3 · printcentrum
   Echte A4-formaten op scherm, voorspelbare paginawissels op papier.
   ================================================================== */

.sheetwrap{
  display:grid;
  gap:28px;
  justify-items:center;
  padding-bottom:48px;
}

.sheet-uitleg{
  width:min(100%,980px);
  padding:24px 26px;
  border:1px solid color-mix(in srgb,var(--kc,var(--brand)) 22%,var(--line));
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--kc,var(--brand)) 11%,var(--surface)) 0 42%,var(--surface) 78%);
}
.sheet-uitleg h2,.sheet-uitleg h3{margin-top:0}
.sheet-uitleg p:last-child{margin-bottom:0}
.print-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.print-download,.print-open{
  display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 15px;
  border-radius:999px;text-decoration:none;font-weight:850;
}
.print-download{background:var(--kc,var(--brand));color:#fff!important;box-shadow:0 8px 22px color-mix(in srgb,var(--kc,var(--brand)) 24%,transparent)}
.print-open{border:1px solid var(--line);background:var(--surface);color:var(--ink)!important}

.sheet{
  --sheet-accent:var(--kc,var(--brand));
  box-sizing:border-box;
  position:relative;
  width:210mm;
  min-width:210mm;
  height:297mm;
  min-height:297mm;
  overflow:hidden;
  padding:12mm;
  page:portrait;
  color:#27304f!important;
  background:#fff!important;
  border:1px solid #dfe3ef;
  border-radius:2mm;
  box-shadow:0 20px 70px rgba(35,40,71,.18);
  font-family:var(--font-body,"Segoe UI",sans-serif);
  print-color-adjust:exact;
  -webkit-print-color-adjust:exact;
}
.sheet.liggend{
  width:297mm;
  min-width:297mm;
  height:210mm;
  min-height:210mm;
  page:landscape;
}
.sheet,.sheet *{box-sizing:border-box}
.sheet h1,.sheet h2,.sheet h3,.sheet p{color:inherit}
.sheet h1,.sheet h2,.sheet h3{font-family:var(--font-display,"Segoe UI",sans-serif)}
.sheet h1{font-size:25pt;line-height:1.05;margin:0}
.sheet h2{font-size:19pt;line-height:1.12;margin:0}
.sheet h3{font-size:12.5pt;line-height:1.2;margin:0}
.sheet p{font-size:9.5pt;line-height:1.42}
.sheet .ico{stroke:currentColor}

.sheet::before{
  content:"";position:absolute;inset:0 0 auto;height:5mm;
  background:linear-gradient(90deg,var(--kamp-hout),var(--kamp-game),var(--kamp-appw),var(--kamp-film),var(--kamp-ai));
}
.sheet-brand{
  display:flex;align-items:center;justify-content:space-between;gap:6mm;
  margin:0 0 6mm;padding-top:2mm;
  color:#69718e;font-size:8pt;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
}
.sheet-brand strong{color:var(--sheet-accent)}
.sheet-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8mm;margin-bottom:6mm}
.sheet-kicker{display:block;color:var(--sheet-accent);font-size:8.5pt;font-weight:950;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1.5mm}
.sheet-note{
  max-width:62mm;margin:0;padding:3mm 4mm;border-radius:3mm;
  background:color-mix(in srgb,var(--sheet-accent) 10%,#fff);border:1px solid color-mix(in srgb,var(--sheet-accent) 25%,#fff);
  font-size:8pt!important;line-height:1.35!important;
}
.sheet-foot{
  position:absolute;left:12mm;right:12mm;bottom:7mm;display:flex;justify-content:space-between;
  color:#858ca5;font-size:7.5pt;font-weight:800;
}
.klein{font-size:8pt;color:#747c99}
.invul{display:inline-block;min-width:36mm;border-bottom:1.2px solid #4f5878;height:1.5em}
.vakje{display:inline-block;width:6mm;height:6mm;border:1.3px solid #4f5878;border-radius:1mm}

.cutgrid{
  position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1.3px dashed #8790ac;border-left:1.3px dashed #8790ac;
}
.cutgrid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cutgrid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cutgrid.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cutgrid.c5{grid-template-columns:repeat(5,minmax(0,1fr))}
.cutgrid>div{
  min-width:0;border-right:1.3px dashed #8790ac;border-bottom:1.3px dashed #8790ac;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3mm;
}
.schaar{
  position:absolute;z-index:2;top:-4.2mm;right:2mm;padding:0 1.5mm;background:#fff;
  color:#6b7390;font-size:7.5pt;font-weight:900;
}

.print-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4mm}
.print-catalog article{
  min-height:48mm;padding:5mm;border-radius:4mm;border:1.2px solid color-mix(in srgb,var(--item-color,var(--sheet-accent)) 28%,#d9deeb);
  background:linear-gradient(145deg,color-mix(in srgb,var(--item-color,var(--sheet-accent)) 12%,#fff),#fff 72%);
}
.print-catalog h3{display:flex;align-items:center;gap:2mm;color:var(--item-color,var(--sheet-accent));font-size:13pt;margin-bottom:2mm}
.print-catalog p{margin:0;font-size:8.7pt}
.catalog-meta{display:inline-block;margin-top:3mm;padding:1.1mm 2mm;border-radius:99px;background:#fff;border:1px solid #dce1ee;font-size:7.5pt;font-weight:900;color:#626b8a}

.raster-meta{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:4mm;margin:0 0 5mm}
.field{height:11mm;border:1px solid #aeb5c9;border-radius:2mm;padding:2.3mm 3mm;font-size:8pt;color:#747c99}
.dot-raster{
  position:relative;height:235mm;border:1.6px solid #636d8d;border-radius:2mm;
  background-color:#fff;
  background-image:radial-gradient(circle,#7a839f 0 .42mm,transparent .5mm);
  background-size:8mm 8mm;background-position:4mm 4mm;
}
.raster-nohead .dot-raster{height:253mm}
.scale-legend{
  position:absolute;right:4mm;bottom:4mm;padding:2.5mm 3.5mm;border:1px solid #c7ccda;border-radius:2mm;
  background:rgba(255,255,255,.94);font-size:8pt;font-weight:900;color:#525b79;
}
.scale-swatch{display:inline-block;width:8mm;height:8mm;vertical-align:middle;margin-right:2mm;border:1px solid #aab1c4;background-image:radial-gradient(circle,#68718d 0 .42mm,transparent .5mm);background-size:8mm 8mm;background-position:4mm 4mm}

.token-grid>div{height:39mm;padding:2mm}
.token{
  --coin:#f59e0b;position:relative;width:32mm;height:32mm;border-radius:50%;
  display:grid;place-items:center;background:radial-gradient(circle at 35% 28%,#fff8db 0 12%,color-mix(in srgb,var(--coin) 22%,#fff) 44%,color-mix(in srgb,var(--coin) 50%,#fff));
  border:1.3mm solid var(--coin);box-shadow:inset 0 0 0 1mm #fff,inset 0 0 0 1.5mm color-mix(in srgb,var(--coin) 40%,#fff);
  color:#27304f;
}
.token .coin-animal{width:15mm;height:15mm;fill:var(--coin);stroke:#27304f;stroke-width:1.8}
.token b{position:absolute;right:2.4mm;bottom:1.4mm;width:7mm;height:7mm;border-radius:50%;display:grid;place-items:center;background:#fff;border:.7mm solid var(--coin);font:950 11pt/1 var(--font-display);color:#27304f}
.token small{position:absolute;left:50%;bottom:1.5mm;transform:translateX(-50%);font-size:4.9pt;font-weight:950;letter-spacing:.08em;white-space:nowrap}

.banknote-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3.2mm;margin-top:2mm}
.banknote{--note:#3156a3;position:relative;isolation:isolate;height:43mm;display:grid;grid-template-columns:27mm 29mm 1fr;align-items:center;gap:3mm;overflow:hidden;padding:4mm 5mm;border:1.1px dashed color-mix(in srgb,var(--note) 75%,#59617d);background:
  repeating-radial-gradient(ellipse at 17% 50%,transparent 0 2mm,color-mix(in srgb,var(--note) 18%,transparent) 2.2mm 2.7mm,transparent 2.9mm 4mm),
  linear-gradient(128deg,color-mix(in srgb,var(--note) 16%,#fff),#fff 52%,color-mix(in srgb,var(--note) 10%,#fff));
  clip-path:polygon(0 2mm,2mm 2mm,2mm 0,97% 0,100% 12%,100% 94%,96% 100%,0 97%);color:#27304f;
}
.banknote::before{content:"";position:absolute;inset:3mm;z-index:-1;border:.55mm double color-mix(in srgb,var(--note) 62%,#fff);clip-path:polygon(0 10%,8% 0,94% 0,100% 17%,97% 100%,4% 95%)}
.banknote::after{content:"KAMPBANK · V4 · KAMPBANK · V4";position:absolute;left:4mm;right:4mm;bottom:1.1mm;overflow:hidden;color:color-mix(in srgb,var(--note) 74%,#27304f);font:950 4.6pt/1 var(--font-display);letter-spacing:.24em;white-space:nowrap}
.banknote .note-value{position:relative;z-index:1;display:grid;place-items:center;width:25mm;height:25mm;border-radius:50%;background:radial-gradient(circle at 34% 28%,#fff 0 12%,color-mix(in srgb,var(--note) 22%,#fff) 62%,color-mix(in srgb,var(--note) 55%,#fff));border:1.1mm solid var(--note);box-shadow:inset 0 0 0 .8mm #fff;color:#27304f;font:950 26pt/1 var(--font-display)}
.banknote>svg{width:25mm;height:25mm;padding:3mm;border-radius:50%;fill:color-mix(in srgb,var(--note) 74%,#27304f);stroke:#27304f;stroke-width:1.2;background:rgba(255,255,255,.78)}
.banknote>div{min-width:0;align-self:center}
.banknote>div small{display:block;color:var(--note);font-size:5.8pt;font-weight:950;letter-spacing:.09em}
.banknote>div strong{display:block;margin:1.6mm 0 1mm;font-size:10.8pt;line-height:1.05;letter-spacing:.02em}
.banknote>div em{display:block;color:#606987;font-size:6.6pt;font-style:normal;font-weight:800;line-height:1.25}
.banknote>b{position:absolute;right:5mm;top:3mm;color:color-mix(in srgb,var(--note) 78%,#27304f);font:900 5.5pt/1 ui-monospace,monospace;letter-spacing:.08em}
.camp-market{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:1.7mm;margin-top:4mm;padding:3mm;border:1px solid #cbd1df;border-radius:2mm;background:#f5f7fc}
.camp-market>strong{grid-row:1/3;display:flex;align-items:center;padding:2mm;color:#3156a3;font-size:7.5pt;line-height:1.3}
.camp-market>span{display:flex;align-items:center;justify-content:space-between;gap:2mm;padding:1.6mm 2mm;border-radius:1.4mm;background:#fff;color:#535c78;font-size:6.6pt;font-weight:850}
.camp-market>span b{color:#27304f;font-size:8pt}

.order-grid>div{height:58mm;align-items:stretch;text-align:left;padding:4mm}
.order-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1.2mm solid var(--order-color,var(--kamp-hout));padding-bottom:2mm;margin-bottom:3mm}
.order-title b{font-size:12pt}
.order-no{color:var(--order-color,var(--kamp-hout));font-size:8pt;font-weight:950}
.order-line{display:grid;grid-template-columns:24mm 1fr;gap:2mm;align-items:end;margin:2.3mm 0;font-size:8.5pt;font-weight:850}
.order-line span:last-child{height:5mm;border-bottom:1px solid #7c849e}
.order-check{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:2mm;font-size:8pt}

.mission-grid>div{height:75mm;align-items:stretch;justify-content:flex-start;text-align:left;padding:4mm;border-top:3mm solid var(--mission-color,var(--sheet-accent))}
.mission-top{display:flex;justify-content:space-between;align-items:flex-start;gap:3mm}
.mission-top h3{font-size:12.2pt;color:var(--mission-color,var(--sheet-accent))}
.mission-time{white-space:nowrap;padding:1mm 2mm;border-radius:99px;background:color-mix(in srgb,var(--mission-color,var(--sheet-accent)) 12%,#fff);font-size:7.5pt;font-weight:950}
.mission-grid p{margin:3mm 0 0;font-size:8.4pt;line-height:1.38}
.mission-tag{display:inline-block;margin-top:auto;padding-top:2mm;color:#737b96;font-size:7pt;font-weight:900;letter-spacing:.05em;text-transform:uppercase}

.diploma-sheet{--sheet-accent:var(--brand);padding:10mm;background:linear-gradient(145deg,#fffaf0,#fff 44%,#f4f0ff)!important}
.diploma-frame{position:relative;height:100%;border:2.2mm solid var(--sheet-accent);border-radius:7mm;padding:8mm 12mm;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center}
.diploma-frame::before{content:"";position:absolute;inset:2.5mm;border:.6mm solid #f0b13f;border-radius:4.5mm}
.diploma-ribbon{display:flex;align-items:center;justify-content:center;width:30mm;height:30mm;border-radius:50%;background:linear-gradient(145deg,#fff0bd,#f7bb38);border:1mm solid #fff;box-shadow:0 0 0 .8mm #f0b13f;color:#6a4310}
.diploma-ribbon .ico{width:17mm;height:17mm;stroke-width:1.8}
.diploma-title{font-size:36pt!important;letter-spacing:.08em;color:#343b5e!important}
.diploma-subtitle{font-size:14pt;font-weight:900;color:var(--sheet-accent);letter-spacing:.04em}
.diploma-name{width:170mm;height:15mm;border-bottom:1.4mm solid #4e5776;margin:2mm auto 1mm}
.diploma-camp{display:flex;align-items:center;justify-content:center;gap:5mm;font-size:11pt}
.diploma-camp .invul{min-width:80mm}
.diploma-skills{display:flex;gap:6mm;justify-content:center}
.diploma-skill{min-width:52mm;padding:3mm 4mm;border-radius:99px;background:#fff;border:1px solid #dfe3ef;color:#4f5878;font-size:8.5pt;font-weight:950}
.signature-row{display:grid;grid-template-columns:1fr 1fr;gap:24mm;width:210mm;text-align:left;font-size:8pt;color:#6e7693}
.signature-row span{display:block;height:9mm;border-bottom:1px solid #626b87}

.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6mm}
.role-card{--role:#f59e0b;min-height:70mm;padding:6mm;border-radius:5mm;border:1.2mm solid var(--role);background:linear-gradient(145deg,color-mix(in srgb,var(--role) 14%,#fff),#fff 67%)}
.role-card h2{display:flex;align-items:center;gap:3mm;color:var(--role);font-size:17pt}
.role-card .ico{width:14mm;height:14mm;padding:2.5mm;border-radius:3mm;background:#fff}
.role-card p{font-size:10pt;margin:3mm 0}
.role-card ul{font-size:9pt;line-height:1.5;margin:2mm 0 0;padding-left:5mm}
.name-grid>div{height:38mm;align-items:stretch;text-align:left;padding:4mm}
.name-label{display:flex;align-items:center;gap:3mm;color:var(--role,#6d4aff);font-weight:950;font-size:9pt}
.name-label .ico{width:8mm;height:8mm}
.name-line{height:12mm;border-bottom:1.2px solid #626b87;margin-top:4mm}

.agenda-grid>div{height:58mm;padding:4mm}
.agenda-picto{--picto:#6d4aff;color:var(--picto)}
.agenda-picto .ico{width:21mm;height:21mm;padding:4mm;border-radius:6mm;background:color-mix(in srgb,var(--picto) 13%,#fff);stroke-width:1.8}
.agenda-picto b{margin-top:2.5mm;color:#303858;font-size:13pt}
.agenda-picto small{color:#747c99;font-size:7.5pt;font-weight:800}
.agenda-table{width:100%;border-collapse:collapse;margin-top:3mm}
.agenda-table th,.agenda-table td{border:1px solid #aab1c4;padding:2.4mm;font-size:8.5pt}
.agenda-table th{background:#f1f3f9;text-align:left;color:#4f5878}
.agenda-table td{height:24mm}
.agenda-time{width:27mm;text-align:center;font-weight:900;color:var(--sheet-accent)}
.agenda-done{width:18mm;text-align:center}

/* V4 kampgebonden printsets */
.v4-camp-sheet{--sheet-accent:#6d4aff}
.camp-sheet-hero{position:relative;height:63mm;margin:-2mm -2mm 7mm;overflow:hidden;padding:11mm 12mm;display:flex;flex-direction:column;justify-content:flex-end;color:#27304f;background-image:linear-gradient(118deg,rgba(255,255,255,.98) 0 36%,rgba(255,255,255,.78) 58%,rgba(255,255,255,.25) 100%),var(--camp-image);background-size:cover;background-position:center;border-radius:4mm;clip-path:polygon(0 0,95% 0,100% 11%,100% 94%,96% 100%,0 97%)}
.camp-sheet-hero::after{content:"";position:absolute;right:-13mm;top:-16mm;width:64mm;height:48mm;background:color-mix(in srgb,var(--sheet-accent) 18%,transparent);clip-path:polygon(13% 0,100% 16%,82% 100%,0 71%);transform:rotate(12deg)}
.camp-sheet-hero>span{position:relative;z-index:1;margin-bottom:2mm;color:var(--sheet-accent);font-size:7.5pt;font-weight:950;letter-spacing:.14em}
.camp-sheet-hero h2{position:relative;z-index:1;max-width:125mm;margin:0!important;color:#27304f!important;font-size:31pt!important;line-height:1!important;letter-spacing:-.035em}
.camp-sheet-hero p{position:relative;z-index:1;max-width:118mm;margin:3mm 0 0;font-size:10pt;line-height:1.4}
.camp-goal-list{display:grid;grid-template-columns:repeat(3,1fr);gap:4mm;list-style:none;margin:3mm 0 7mm;padding:0}
.camp-goal-list li{min-height:30mm;display:flex;align-items:center;gap:3mm;padding:4mm;border:1px solid color-mix(in srgb,var(--sheet-accent) 25%,#d9deeb);background:linear-gradient(145deg,color-mix(in srgb,var(--sheet-accent) 10%,#fff),#fff);border-radius:3mm;clip-path:polygon(0 0,94% 0,100% 17%,100% 92%,92% 100%,0 96%);font-size:9pt;font-weight:850;line-height:1.35}
.camp-goal-list li span{flex:none;width:9mm;height:9mm;display:grid;place-items:center;border-radius:3mm;background:var(--sheet-accent);color:#fff;font:950 10pt/1 var(--font-display)}
.camp-material-check{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5mm 5mm;margin:3mm 0 7mm}
.camp-material-check label{min-height:10mm;display:flex;align-items:center;gap:2.5mm;padding:2mm 3mm;border:1px solid #d9deeb;border-radius:2mm;background:#fff;font-size:8.5pt;font-weight:800}
.camp-material-check input{width:5mm;height:5mm;accent-color:var(--sheet-accent)}
.camp-brief-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:5mm}
.camp-brief-fields div,.camp-name-line{height:13mm;padding:3mm;border:1px solid #adb5ca;border-radius:2mm;color:#737b96;font-size:8pt;font-weight:800}
.camp-mission-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4mm;margin-top:3mm}
.camp-mission-grid article{position:relative;min-height:63mm;padding:6mm 5mm 4mm;border:1px dashed color-mix(in srgb,var(--sheet-accent) 74%,#7b849f);background:linear-gradient(146deg,color-mix(in srgb,var(--sheet-accent) 9%,#fff),#fff 70%);border-radius:3mm;clip-path:polygon(0 0,96% 0,100% 9%,100% 94%,95% 100%,0 97%)}
.camp-mission-grid article>span{position:absolute;right:4mm;top:4mm;width:9mm;height:9mm;display:grid;place-items:center;border-radius:3mm;background:var(--sheet-accent);color:#fff;font:950 10pt/1 var(--font-display);transform:rotate(3deg)}
.camp-mission-grid h3{max-width:70mm;margin:0 0 3mm;color:var(--sheet-accent);font-size:13pt;line-height:1.1}
.camp-mission-grid p{margin:0;font-size:8.6pt;line-height:1.42}
.camp-mission-grid small{position:absolute;left:5mm;right:5mm;bottom:4mm;padding-top:2mm;border-top:1px solid #dfe3ed;color:#6a7390;font-size:7pt;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.camp-reflection{display:grid;grid-template-columns:repeat(2,1fr);gap:5mm;margin-top:5mm}
.camp-reflection .camp-name-line{grid-column:1/-1}
.camp-reflection article{min-height:56mm;padding:5mm;border:1px solid color-mix(in srgb,var(--sheet-accent) 28%,#d9deeb);background:color-mix(in srgb,var(--sheet-accent) 5%,#fff);border-radius:3mm;clip-path:polygon(0 0,96% 0,100% 9%,100% 94%,94% 100%,0 97%)}
.camp-reflection article b{display:block;margin-bottom:8mm;color:var(--sheet-accent);font-size:10pt}
.camp-reflection article span{display:block;height:10mm;border-bottom:1px solid #aeb6ca}
.camp-exhibit-label{margin-top:6mm;padding:5mm;border:1.3mm solid var(--sheet-accent);border-radius:3mm;background:#fff}
.camp-exhibit-label small{color:var(--sheet-accent);font-weight:950;letter-spacing:.12em}
.camp-exhibit-label h2{margin:3mm 0 4mm;padding-bottom:4mm;border-bottom:1px solid #aeb6ca;font-size:14pt}
.camp-exhibit-label p{height:9mm;margin:2mm 0;border-bottom:1px solid #c2c8d7;font-size:8.5pt}

@media(max-width:1000px){
  .sheetwrap{display:block;overflow-x:auto;padding:0 0 40px}
  .sheet-uitleg{position:sticky;left:0;margin-bottom:24px}
  .sheet{margin:0 0 24px}
}

@media print{
  @page portrait{size:A4 portrait;margin:0}
  @page landscape{size:A4 landscape;margin:0}
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  #nav,.rail,.topbar,.sitefooter,.no-print,.v2-welcome,.v2-command,.v4-command,.toast-layer{display:none!important}
  body{display:block!important}
  main{margin:0!important;padding:0!important;max-width:none!important;width:auto!important}
  .sheetwrap{display:block!important;padding:0!important;margin:0!important}
  .sheet{
    margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;
    break-after:page;page-break-after:always;
  }
  .sheet:last-child{break-after:auto;page-break-after:auto}
  .sheet::before{display:block!important}
}
