/* ===========================================================
   Druckausgabe: Notfallkarten und Angehoerigen-Blatt
   Ziel: sauberes A4, schwarz auf weiss, ohne Navigation.
   =========================================================== */

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

  :root {
    --bg: #fff; --surface: #fff; --surface-2: #fff; --line: #333;
    --text: #000; --text-mute: #333; --cyan: #000; --cyan-soft: #000;
    --orange: #000; --danger: #000;
  }

  html { font-size: 12pt; }
  body { background: #fff !important; color: #000 !important; }

  /* Alles ausblenden, was nicht zur Karte gehoert */
  .notfallbar, .kurzwahl, nav.main, header.site, footer.site,
  .themeswitch, .skip, .nichtdrucken, .offline-hinweis { display: none !important; }

  main { max-width: none; padding: 0; }
  section, .karte, .druckkarte { margin: 0; }

  .nurdruck { display: block !important; }

  /* Jede Druckkarte auf eine eigene Seite */
  /* Jede Karte beginnt eine neue Seite. Umbruch VOR der Karte, nicht danach:
     so entsteht am Ende keine Leerseite. Achtung, Falle: :last-of-type wirkt
     je Elternelement, und da jede Karte allein in ihrer <section> steht,
     haette es auf ALLE Karten gepasst und den Umbruch komplett abgeschaltet. */
  .druckkarte {
    border: 4pt double #000 !important;
    border-radius: 3mm;
    padding: 9mm 10mm 10mm;
    background: #fff !important;
    color: #000 !important;
    page-break-before: always;
    break-before: page;
    page-break-inside: avoid;
    break-inside: avoid;
  }
  .druckkarte.erste-karte { page-break-before: auto; break-before: auto; }

  /* Kopfzeile: Schild + Titel + Karten-Nummer */
  .druckkarte .kopf {
    display: flex; align-items: center; gap: 3mm;
    border-bottom: 1.5pt solid #000; padding-bottom: 2.5mm; margin-bottom: 5mm;
  }
  .druckkarte .kopf-schild { width: 8mm; height: 9mm; color: #000 !important; flex: 0 0 auto; }
  .druckkarte .kopf h3 {
    font-size: 16pt; color: #000 !important; margin: 0;
    letter-spacing: 0.02em; text-transform: uppercase;
  }
  .druckkarte .kopf-nr {
    margin-left: auto; flex: 0 0 auto; font-size: 8pt; font-weight: 700;
    letter-spacing: 0.08em; text-transform: uppercase; color: #000 !important;
    border: 0.75pt solid #000; border-radius: 99mm; padding: 1mm 2.5mm; white-space: nowrap;
  }

  .druckkarte p { font-size: 11.5pt; margin-bottom: 3.5mm; max-width: none; }
  .druckkarte strong, .druckkarte b { color: #000 !important; }

  /* Nummerierte Schritte mit Kreis-Markern */
  .druckkarte .schritt { display: flex; gap: 3mm; }
  .druckkarte .snr {
    flex: 0 0 auto; width: 6.5mm; height: 6.5mm; margin-top: 0.3mm;
    display: flex; align-items: center; justify-content: center;
    border: 1.25pt solid #000; border-radius: 50%;
    font-size: 10pt; font-weight: 800; color: #000 !important;
  }

  /* Merksatz: eingerahmter Abbinder */
  .druckkarte .merk {
    background: #fff !important; border: 0.75pt solid #000; border-left: 3pt solid #000;
    border-radius: 0; padding: 2.5mm 3.5mm; margin-top: 5mm;
  }

  /* Nummernblock des Angehoerigen-Blatts: drei Kaestchen nebeneinander */
  .nummernblock { display: flex; gap: 4mm; margin: 6mm 0; }
  .nummernblock .nummer {
    flex: 1 1 0; display: flex; flex-direction: column; align-items: center; text-align: center;
    border: 1.5pt solid #000; border-radius: 2mm; padding: 3mm 2mm;
  }
  .nummernblock .nummer strong { font-size: 20pt; letter-spacing: 0.03em; }

  .druckkarte .quelle { font-size: 9pt; color: #333 !important; margin-top: 5mm; border-top: 0.5pt solid #999; padding-top: 2mm; }
  .druckkarte .linie { display: inline-block; border-bottom: 0.75pt solid #000; min-width: 55mm; }

  /* Angehoerigen-Blatt: Grossdruck */
  .grossdruck { font-size: 18pt !important; line-height: 1.5; }
  .grossdruck .kopf h3 { font-size: 24pt; }
  .grossdruck p { font-size: 18pt; margin-bottom: 5mm; }
  .grossdruck .snr { width: 9mm; height: 9mm; font-size: 14pt; }
  .grossdruck .nummernblock .nummer { padding: 4mm 2mm; }
  .grossdruck .nummernblock .nummer strong { font-size: 26pt; }
  .grossdruck .nummernblock .nummer { font-size: 13pt; font-weight: 700; }

  /* Wenn eine einzelne Karte gedruckt wird: alle anderen weg */
  body[data-print] .druckkarte { display: none !important; }
  body[data-print] .druckkarte.drucken-jetzt {
    display: block !important;
    page-break-before: auto; break-before: auto;
    page-break-after: auto; break-after: auto;
  }
  body[data-print] section > h2, body[data-print] section > p { display: none !important; }

  /* Druckbögen (Codewort-Faltkarten, Sicherheitsplan): nur über ihren
     eigenen Druckknopf sichtbar, nie beim normalen Seitendruck. */
  .druckbogen { display: none !important; }
  body[data-print] .druckbogen.drucken-jetzt { display: block !important; }
  .druckbogen strong, .druckbogen b { color: #000 !important; }

  /* Codewort-Faltkarten: 4 Stück pro A4. Außenlinie = Schneidelinie,
     gestrichelte Mittellinie = Falz (vorn links, Familienregeln hinten). */
  .faltkarte {
    display: flex; width: 172mm; height: 54mm; margin: 0 auto 8mm;
    border: 0.75pt solid #000;
    page-break-inside: avoid; break-inside: avoid;
    color: #000;
  }
  .faltseite { width: 86mm; height: 54mm; padding: 3.5mm 4.5mm; overflow: hidden; }
  .faltseite.vorn { border-right: 0.75pt dashed #888; }
  .fk-titel {
    font-size: 10.5pt; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em;
    border-bottom: 1pt solid #000; padding-bottom: 1.2mm; margin-bottom: 2mm; color: #000 !important;
  }
  .fk-linie { border-bottom: 1pt solid #000; height: 9mm; margin: 0 0 2.5mm; }
  .fk-klein { font-size: 7pt; color: #333 !important; margin-bottom: 1mm; line-height: 1.35; }
  .fk-regel { font-size: 7.6pt; margin-bottom: 1.4mm; line-height: 1.35; color: #000 !important; }

  /* Sicherheitsplan: ein sauberes A4-Blatt zum Anheften */
  #plan-bogen { padding: 2mm 0; color: #000; }
  .pb-kopf {
    font-size: 19pt; font-weight: 800; text-transform: uppercase; letter-spacing: 0.02em;
    border-bottom: 2pt solid #000; padding-bottom: 2mm; margin-bottom: 1.5mm; color: #000 !important;
  }
  .pb-unter { font-size: 8.5pt; color: #333 !important; margin-bottom: 5mm; }
  .pb-titel {
    font-size: 11.5pt; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em;
    border-bottom: 1pt solid #000; padding-bottom: 1mm; margin: 4.5mm 0 2mm; color: #000 !important;
  }
  .pb-zeile { font-size: 10.5pt; margin-bottom: 1.4mm; max-width: none; color: #000 !important; }
  .pb-zeile strong { color: #000 !important; }
  .pb-leer { color: #999 !important; }
  .pb-fuss { font-size: 9pt; color: #333 !important; border-top: 0.5pt solid #999; margin-top: 5mm; padding-top: 2mm; }

  a { color: #000 !important; text-decoration: none; }
  .btn, .btn-call, .filter, .suche, .abhaken { display: none !important; }
}
