/* Druck-Stylesheet für das PDF-Reisebuch (book.php).
   Eigenständig, unabhängig von style.css. Optimiert für A4 + "Als PDF speichern". */

:root { --ink:#1a2230; --muted:#5a6472; --line:#d8dee8; --accent:#2f6db3; }

.book { color:var(--ink); font-family:Georgia,"Times New Roman",serif; line-height:1.5; }
.book h1,.book h2,.book h3 { font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif; line-height:1.2; }

.no-print { margin:16px 0; }
.hint { color:var(--muted); }

/* Cover */
.book-cover { text-align:center; padding:6% 6%; }
.book-cover .cover-img { width:100%; max-height:55vh; object-fit:cover; border-radius:8px; }
.book-cover h1 { font-size:2.6rem; margin:.6em 0 .2em; }
.book-cover .cover-period { color:var(--muted); font-size:1.1rem; }
.book-cover .cover-desc { max-width:34em; margin:1.2em auto 0; font-size:1.05rem; }

/* Übersicht */
.book-overview h2 { font-size:1.6rem; border-bottom:2px solid var(--line); padding-bottom:.3em; }
.stat-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:18px; }
.stat { border:1px solid var(--line); border-radius:8px; padding:14px 16px; }
.stat .num { font-size:1.8rem; font-weight:700; color:var(--accent); font-family:-apple-system,Segoe UI,Arial,sans-serif; }
.stat .lbl { color:var(--muted); font-size:.9rem; }

/* Kosten-Tabelle */
.cost-h { font-size:1.15rem; margin-top:24px; }
.cost-table { width:100%; border-collapse:collapse; margin-top:8px; }
.cost-table td { padding:6px 4px; border-bottom:1px solid var(--line); }
.cost-table td.amt { text-align:right; white-space:nowrap; }
.cost-table tr.total td { font-weight:700; border-top:2px solid var(--line); border-bottom:none; }

/* Karte */
.book-map h2 { font-size:1.6rem; }
#book-map { width:100%; height:60vh; border:1px solid var(--line); border-radius:8px; }

/* Tage */
.book-day { margin:24px 0; }
.book-day .day-head { break-inside:avoid; }
.book-day h2 { font-size:1.4rem; margin-bottom:.15em; }
.book-day .day-meta { color:var(--muted); font-size:.95rem; margin:0 0 .5em; }
.book-day .day-notes { white-space:pre-line; }
.photo-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:12px; }
.photo-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; break-inside:avoid; }

/* Highlights */
.book-highlights h2 { font-size:1.6rem; border-bottom:2px solid var(--line); padding-bottom:.3em; }
.book-highlights h3 { font-size:1.2rem; margin-top:18px; }
.hl-item { break-inside:avoid; margin:10px 0; padding:10px 12px; border:1px solid var(--line); border-radius:8px; }
.hl-stars { color:#e0a500; }
.hl-cat { color:var(--muted); font-size:.9rem; }
.hl-meta { color:var(--muted); font-size:.9rem; margin-top:2px; }
.hl-desc { margin-top:6px; }

/* Weitere Fotos */
.book-gallery h2 { font-size:1.4rem; }

/* Videos (QR-Code) */
.book-videos h2 { font-size:1.6rem; }
.video-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:12px; }
.video-card { break-inside:avoid; border:1px solid var(--line); border-radius:8px; padding:12px; text-align:center; }
.video-card .qr img, .video-card .qr canvas { margin:0 auto; }
.video-card video { width:100%; border-radius:6px; margin-top:8px; }
.video-card .cap { font-size:.9rem; margin-top:8px; color:var(--muted); }

/* Bildschirm-Vorschau: Buchseiten optisch abgesetzt */
@media screen {
  body { background:#eef1f6; }
  .book { max-width:820px; margin:0 auto; }
  .book-cover,.book-overview,.book-map,.book-gallery,.book-day,.book-highlights,.book-videos {
    background:#fff; padding:32px; margin:18px auto; border-radius:10px; box-shadow:0 2px 14px rgba(20,30,50,.12);
  }
}

/* Druck: A4, Seitenumbrüche */
@media print {
  @page { size:A4; margin:16mm 14mm; }
  .no-print { display:none !important; }
  body { background:#fff; }
  .book-cover, .book-overview, .book-map, .book-highlights, .book-videos { break-before:page; }
  .book-cover { break-before:auto; }
  #book-map { height:150mm; }
  .book-cover .cover-img { max-height:150mm; }
  .video-card video { display:none; }
  a { color:inherit; text-decoration:none; }
}
