/* =============================================================================
   Lake House Ternsche — print.css
   Druck-Stylesheet (verlinkt mit media="print").
   Ziel: saubere Druckausgabe v.a. fuer Infomappe & Hausordnung, aber generisch
   fuer jede Seite nutzbar. Blendet Navigation/Footer-Deko/Buttons/Lightbox/
   Consent/Karte aus, schwarzer Text auf Weiss, sinnvolle Seitenumbrueche,
   Logo + Adresse sichtbar.
   ============================================================================= */

@page {
  margin: 18mm 16mm;
}

@media print {

  /* ---- Grundfarben / Rendering ---- */
  html, body {
    background: #fff !important;
    color: #000 !important;
    font-size: 11.5pt;
    line-height: 1.5;
  }
  * {
    box-shadow: none !important;
    text-shadow: none !important;
    background-image: none !important;
    color: #000 !important;
    -webkit-print-color-adjust: economy;
    print-color-adjust: economy;
  }

  /* ---- Ausblenden: interaktive / dekorative Elemente ---- */
  .skip-link,
  .nav-toggle,
  .site-nav,
  .lang-switch,
  .header-actions .btn,
  .lightbox,
  .cookie-hint,
  .consent,
  .gallery-filter,
  #map,
  .btn,
  .btn-row,
  .footer-col,
  .footer-legal__links,
  .hero__overlay,
  .site-footer .footer-contact {
    display: none !important;
  }

  /* reveal-Inhalte immer sichtbar im Druck */
  [data-reveal] { opacity: 1 !important; transform: none !important; }

  /* ---- Header: nur Logo/Marke als Kopf ---- */
  .site-header {
    position: static !important;
    height: auto !important;
    border: 0 !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    background: #fff !important;
    margin-bottom: 8mm;
  }
  .site-header__inner { height: auto !important; display: block; }
  .brand img {
    height: 54px !important;
    /* Logo darf gedruckt werden */
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* ---- Hero: kein Vollbild, kein Foto-Hintergrund ---- */
  .hero {
    min-height: 0 !important;
    margin-top: 0 !important;
    color: #000 !important;
    display: block !important;
  }
  .hero__media { display: none !important; }
  .hero__content { padding: 0 !important; }

  /* ---- Layout entspannen ---- */
  .section { padding-block: 6mm !important; }
  .container { max-width: 100% !important; padding-inline: 0 !important; }

  .card, .table, .calc, .info-note {
    border: 1px solid #999 !important;
    background: #fff !important;
  }

  /* ---- Footer auf reine Adresszeile reduzieren ---- */
  .site-footer {
    background: #fff !important;
    color: #000 !important;
    border-top: 1px solid #999;
    padding: 6mm 0 0 !important;
    margin-top: 8mm;
    font-size: 9.5pt;
  }
  .footer-grid { display: block !important; }
  .footer-brand__name { font-size: 14pt; margin-bottom: 2mm; }
  .footer-brand address { display: block; }
  .footer-legal {
    border-top: 0 !important;
    margin-top: 3mm;
    padding-top: 0;
    display: block;
  }

  /* ---- Bilder im Galerie-/Inhaltskontext klein halten ---- */
  .gallery { display: block !important; }
  .gallery__item { display: none !important; }
  img { max-width: 100% !important; }

  /* ---- Links: URL bei externen Links anzeigen (informativ) ---- */
  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 8.5pt;
    color: #555 !important;
    word-break: break-all;
  }
  /* interne/Anker-/mailto-/tel-Links nicht annotieren */
  a[href^="#"]::after,
  a[href^="mailto:"]::after,
  a[href^="tel:"]::after,
  .brand[href]::after { content: ""; }

  /* ---- Seitenumbrueche ---- */
  h1, h2, h3 { break-after: avoid-page; page-break-after: avoid; }
  h2, h3 { break-inside: avoid; }
  .card, .table, .info-note, figure, .stat, .feature {
    break-inside: avoid; page-break-inside: avoid;
  }
  table { page-break-inside: auto; }
  tr { page-break-inside: avoid; page-break-after: auto; }
  thead { display: table-header-group; }
  p, li { orphans: 3; widows: 3; }

  /* Optionaler manueller Umbruch */
  .page-break { break-before: page; page-break-before: always; }
}
