/* Speisekarte - nur fuer den Ausdruck (media="print"): die Ansicht auf hellem Papier, ohne Kopf, Reiter und Knoepfe;
   darunter Aushang (Kreuztabelle) und Liste. Das Querformat des Aushangs setzt app.js ueber #druckSeite. */
@media print {
  @page { margin: 14mm; }
  body { background: #fff; color: #000; font-family: "Segoe UI", system-ui, -apple-system, Roboto, sans-serif; font-size: 12px; }
  header.top, nav.tabs, footer, dialog, button, .planwahl, .muster, .gespeichert, .links, .knoepfe { display: none !important; }
  .card { border: 0; padding: 0; margin: 0 0 12px; }
  .kopf { display: flex; justify-content: space-between; }
  h3 { font-size: 16px; margin: 0 0 4px; }
  .tab { width: 100%; border-collapse: collapse; }
  .tab th { text-align: left; border-bottom: 1px solid #000; padding: 4px 8px 4px 0; }
  .tab td { border-top: 1px solid #ccc; padding: 5px 8px 5px 0; }
  .tab .r { text-align: right; }
  .liste { list-style: none; padding: 0; }
  .liste li { padding: 4px 0; border-top: 1px solid #ccc; }
}

/* Aufbau der Kreuztabelle und der Legende - wie in app.css */
.tab.kreuz th.g, .tab.kreuz td.g { text-align: left; overflow-wrap: anywhere; min-width: 140px; }
.tab.kreuz th.a { vertical-align: bottom; text-align: center; width: 30px; }
.tab.kreuz th.a span { display: block; margin: 0 auto; }
.tab.kreuz th.a .kw { writing-mode: vertical-rl; transform: rotate(180deg); white-space: nowrap; font-weight: 400; margin-top: 4px; }
.tab.kreuz td.x { text-align: center; font-weight: 700; }
.tab.kreuz td.offen, .tab.kreuz td.keine { text-align: center; }
.tab.kreuz td.offen { font-weight: 700; }
.tab.kreuz .kat td { text-align: left; font-weight: 600; font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.legende { list-style: none; padding: 0; margin: 6px 0 0; font-size: 12px; line-height: 1.45; }
.vermerk { font-size: 12px; margin-top: 10px; }

/* Blatt zum Aufstellen mit dem QR-Code der Gaestekarte: nur wenn app.js es gerade druckt */
@media print {
  #aufsteller { display: none; }
  body.aufsteller-druck main { display: none !important; }
  body.aufsteller-druck #aufsteller { display: block; text-align: center; padding-top: 18mm; }
  /* Firmenlogo (I63): mittig ueber dem Namen, nur wenn die Firma eines hat */
  #aufsteller img.logo { display: block; max-width: 60mm; max-height: 25mm; object-fit: contain; margin: 0 auto 8mm; }
  #aufsteller h2 { font-size: 30pt; margin: 0 0 4mm; overflow-wrap: anywhere; }
  #aufsteller p { font-size: 13pt; margin: 4mm 0 0; }
  #aufsteller p.gross { font-size: 20pt; font-weight: 700; margin-top: 0; }
  #aufsteller p.adresse { font-size: 9pt; overflow-wrap: anywhere; }
  #aufsteller .qr { width: 95mm; margin: 8mm auto 0; }
  #aufsteller .qr svg { width: 100%; height: auto; display: block; }
}

@media print {
  #gError, .kennzahl, .buttons { display: none !important; }
  h2.abschnitt { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; margin: 10px 0 2px; }
  h4 { font-size: 11px; margin: 0; }
  .breit { margin-top: 6px; }
  .tab.kreuz th, .tab.kreuz td { border: 1px solid #000; padding: 3px 5px; }
  .tab.kreuz th.a { padding: 3px 2px; }
  .tab.kreuz .kat td { background: #eee; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .tab.kreuz tr, .liste li { break-inside: avoid; }
  .tab.kreuz thead { display: table-header-group; }
  .liste li { line-height: 1.45; }
  .fuss { break-inside: avoid; margin-top: 10px; }
  .legende, .vermerk { font-size: 10px; }
}
