/* ==========================================================================
   Speisekarte – Druck-Stylesheet (eingebunden mit media="print", blockiert das Rendern nicht)
   Zweispaltige Karte auf Papier, ohne Bilder, Navigation und Filter
   ========================================================================== */
@media print {
  @page {
    size: A4;
    margin: 16mm 14mm 18mm;
  }

  html {
    scroll-padding-top: 0;
  }

  body {
    background: #fff;
    color: #000;
    font-size: 9.5pt;
    line-height: 1.4;
  }

  .sprunglink,
  .kopf,
  .fuss,
  .karte__register,
  .karte__werkzeuge,
  .kapitel__bild,
  .karte-kategorie__leer,
  .karte__leer,
  .kapitel__nummer,
  .karte__kopf .hinweis,
  .legende .hinweis {
    display: none !important;
  }

  .split main {
    margin: 0 !important;
  }

  .kapitel__text {
    display: block !important;
    padding: 0 !important;
    max-width: none !important;
  }

  .kapitel__text > * {
    max-width: none !important;
  }

  /* Titel der Karte mit Wortmarke */
  .karte__kopf {
    margin-bottom: 6mm;
    padding-bottom: 4mm !important;
    border-bottom: 1.5pt double #000;
    text-align: center;
  }

  .karte__kopf::before {
    content: "Osteria Fiorella";
    display: block;
    font-family: var(--schrift-titel);
    font-style: italic;
    font-size: 26pt;
    line-height: 1;
  }

  .karte__kopf h1 {
    font-size: 14pt;
    margin: 2mm 0 1mm;
    font-family: var(--schrift-marke);
    font-variant-caps: all-small-caps;
    letter-spacing: 0.2em;
  }

  .karte__kopf .marke {
    display: none;
  }

  .karte__kopf .vorspann {
    font-size: 10pt;
    margin: 0 auto;
    max-width: 130mm;
  }

  /* gewählter Filter als Hinweis unter dem Titel */
  .karte__kopf[data-auswahl]:not([data-auswahl=""])::after {
    content: attr(data-auswahl);
    display: block;
    margin-top: 2mm;
    font-style: italic;
  }

  .karte__inhalt {
    columns: 2;
    column-gap: 10mm;
    column-rule: 0.5pt solid #999;
  }

  .karte-kategorie {
    min-height: 0 !important;
    display: block !important;
    margin: 0 0 5mm !important;
  }

  .karte-kategorie h2 {
    font-size: 15pt;
    margin: 0 0 1mm;
    break-after: avoid;
  }

  .karte-kategorie__unter {
    font-size: 9pt;
    margin: 0 0 2mm;
    break-after: avoid;
  }

  .karte-abschnitt__titel {
    font-size: 11pt;
    break-after: avoid;
  }

  .gerichte,
  .karte-kategorie .gerichte {
    border-top: 0.75pt solid #000;
  }

  .gericht {
    padding: 1.6mm 0;
    border-bottom: 0.3pt solid #bbb;
    break-inside: avoid;
  }

  .gericht__name,
  .gericht__preis {
    font-size: 10.5pt;
  }

  .gericht__text {
    color: #222;
    font-size: 8.5pt;
  }

  .gericht__info {
    color: #333;
    font-size: 7.5pt;
    margin-top: 0.6mm;
  }

  .merkmal {
    color: #000;
    font-size: 8pt;
  }

  .merkmal .orn {
    width: 3.2mm;
    height: 3.2mm;
  }

  .kennung {
    font-size: 7.5pt;
  }

  .gericht[hidden],
  .karte-abschnitt[hidden] {
    display: none !important;
  }

  .legende {
    background: none;
    border-top: 0.75pt solid #000;
    margin-top: 4mm;
    padding-top: 3mm;
    break-before: avoid;
  }

  .legende .marke,
  .legende h2 + p {
    display: none;
  }

  .legende h2 {
    font-size: 11pt;
    margin: 0 0 1mm;
  }

  .legende__spalten {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6mm;
    margin: 0 0 2mm;
  }

  .legende__spalte h3 {
    font-size: 9pt;
  }

  .legende__liste,
  .legende__zeichen {
    columns: 2;
    font-size: 7.5pt;
  }

  .legende__liste div,
  .legende__zeichen div {
    border: 0;
    padding: 0;
    break-inside: avoid;
  }

  .karte__druckfuss {
    display: block;
    margin-top: 4mm;
    padding-top: 2mm;
    border-top: 0.5pt solid #000;
    font-size: 8pt;
    text-align: center;
  }

  a {
    color: inherit;
    text-decoration: none;
  }
}
