/* ==========================================================================
   print.css · printen (SPEC §6.3). Werkpakket APP.
   Met een uitkomst op het scherm (body.print-samenvatting) print je één A4:
   de naam van de dienst, de datum van vandaag, het oordeel, Wat is dit,
   Wat moet je doen, Vóór wanneer (de doe-het-vóór-datums groot), Wat als je
   niets doet en Hulp (namen en telefoonnummers).
   Geen brieftekst, geen persoonsgegevens, geen knoppen, navigatie of
   uitklapblokken. body.print-reactie print alleen de reactiebrief.

   De samenvatting (.print-blad) heeft vaste maten in pt en em, ook buiten
   @media print. Zo kan uitkomst.js (pasPrintAan) een kopie op het scherm meten
   en de ruimste letter kiezen die op één A4 past: .dicht-1 tot en met .dicht-4.
   ========================================================================== */

@media screen {
  .alleen-print {
    display: none !important;
  }
}

/* ---------- De A4-samenvatting ---------- */

.print-blad {
  color: #000;
  font-family: var(--font-tekst);
  font-size: 10.5pt;
  line-height: 1.38;
  text-align: left;
}

.print-blad.dicht-1 { font-size: 9.75pt; line-height: 1.34; }
.print-blad.dicht-2 { font-size: 9pt; line-height: 1.3; }
.print-blad.dicht-3 { font-size: 8.25pt; line-height: 1.27; }
.print-blad.dicht-4 { font-size: 7.5pt; line-height: 1.24; }

.print-kop {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1em;
  margin: 0 0 .55em;
  padding-bottom: .3em;
  border-bottom: 2pt solid #000;
  font-size: .9em;
}

.print-merk {
  font-family: var(--font-kop);
  font-weight: 800;
  font-size: 2em;
  line-height: 1;
}

.print-voorbeeld {
  margin: 0 0 .35em;
  font-weight: 700;
}

.print-oordeel {
  margin: 0 0 .45em;
  padding: .4em .65em;
  border: 2pt solid #000;
  border-left-width: 7pt;
  break-inside: avoid;
}

.print-oordeel-label {
  font-family: var(--font-kop);
  font-weight: 800;
  font-size: 1.6em;
  line-height: 1.05;
}

.print-soort {
  font-size: .92em;
}

.print-blad h2 {
  margin: .6em 0 .15em;
  font-family: var(--font-kop);
  font-weight: 800;
  font-size: 1.35em;
  line-height: 1.05;
  text-wrap: wrap;
  hyphens: manual;
  break-after: avoid;
}

.print-blad p,
.print-blad li {
  orphans: 2;
  widows: 2;
}

.print-blad ol,
.print-blad ul {
  padding-left: 1.3em;
}

.print-blad li + li {
  margin-top: .12em;
}

.print-blad .print-termijnen {
  list-style: none;
  padding-left: 0;
}

.print-termijnen li {
  display: grid;
  gap: .05em;
  padding: .25em 0 .3em .6em;
  border-left: 4pt solid #000;
  break-inside: avoid;
}

.print-termijnen li + li {
  margin-top: .3em;
}

.print-doel {
  font-size: .8em;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.print-datum {
  font-family: var(--font-kop);
  font-weight: 800;
  font-size: 1.65em;
  line-height: 1.05;
}

.print-extra {
  font-size: .88em;
}

.print-let-op {
  padding: .35em .6em;
  border: 2pt solid #000;
  font-weight: 700;
}

.print-hulp {
  columns: 2;
  column-gap: 1.5em;
}

.print-hulp li {
  break-inside: avoid;
}

.print-blad .print-voet {
  margin-top: .7em;
  padding-top: .25em;
  border-top: 1pt solid #000;
  font-size: .85em;
  font-weight: 600;
}

/* Meten op het scherm (uitkomst.js, pasPrintAan): buiten beeld, op de breedte van de printpagina.
   A4 is 210 × 297 mm; met de marges hieronder (@page) blijft 180 × 268 mm over. */
.print-meet {
  position: absolute;
  top: 0;
  left: -10000px;
  width: 180mm;
  visibility: hidden;
  pointer-events: none;
}

.print-meet .print-blad {
  display: flow-root;
}

.print-liniaal {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 268mm;
}

@media print {
  @page {
    size: A4;
    margin: 14mm 15mm 15mm;
  }

  html,
  html[data-tekstgrootte] {
    font-size: 12pt;
  }

  body {
    display: block;
    min-height: 0;
    background: #fff !important;
    color: #000 !important;
    font-size: 1rem;
    line-height: 1.4;
  }

  /* Nooit printen: navigatie, knoppen, uitklapblokken, meldingen op het scherm. */
  .skip,
  .kop,
  .voet,
  .modusbanner,
  .wis-waarschuwing,
  .bevestig,
  .print-meet,
  #status,
  #laadfout,
  noscript,
  button,
  details,
  .knoppen-blok,
  .terug {
    display: none !important;
  }

  .pagina {
    padding: 0 !important;
  }

  /* Met een uitkomst: alleen de samenvatting. Zonder uitkomst: het scherm zelf. */
  body.print-samenvatting .scherm,
  body.print-reactie .scherm {
    display: none !important;
  }

  body.print-samenvatting #print-samenvatting {
    display: block !important;
  }

  body.print-reactie #print-samenvatting {
    display: none !important;
  }

  body.print-reactie #print-reactie {
    display: block !important;
  }

  a {
    color: #000 !important;
    text-decoration: none !important;
  }

  /* ---------- Alleen de reactiebrief ---------- */

  .reactie-print {
    margin: 0;
    font-family: var(--font-tekst);
    font-size: 11pt;
    line-height: 1.5;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
  }
}
