/* ═══════════════════════════════════════════════════════
   PRINT
   Indlæses med media="print" fra inc/header.php.

   To dokumenter skal kunne printes ordentligt:
     • rapport.php    → A4, til dyrlægen
     • dyr-profil.php → A5, stamkortet til hundepasseren

   Der er ingen PDF-biblioteker i projektet (CLAUDE.md 8.5).
   Browserens "Gem som PDF" gør arbejdet, og det her styrer hvordan.
   ═══════════════════════════════════════════════════════ */

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

/* Stamkortet er kortere og printes i A5. */
@page stamkort {
  size: A5;
  margin: 10mm;
}

/* ── Alt det der ikke skal med på papir ────────────── */

.sidebar,
.topbar,
.bottom-nav,
.site-footer,
.skip-link,
.toasts,
.modal,
.no-print,
.page-head .row,
.quick-bar,
.photo-form,
.photo-actions,
.danger-zone,
.feature-teaser,
.history-wall,
.plan-bar,
.alert,
form {
  display: none !important;
}

/* ── Papiret ───────────────────────────────────────── */

html, body {
  background: #fff;
  color: #000;
  font-size: 10.5pt;
  line-height: 1.45;
}

.app,
.app-body,
.main,
.container {
  display: block;
  max-width: none;
  margin: 0;
  padding: 0;
}

a { color: #000; text-decoration: none; }

/* Adressen bag et link hjælper ingen på papir — undtagen når linket
   er hele pointen, og det er det ikke her. */
a[href]::after { content: ""; }

/* ── Rapporten ─────────────────────────────────────── */

.report {
  border: 0;
  padding: 0;
  margin: 0;
  background: #fff;
}

.report-head {
  border-bottom: 1.5pt solid #000;
  padding-bottom: 6pt;
}

.report-head h2 { font-size: 20pt; }
.report-meta { font-size: 8.5pt; color: #333; }

.report-section {
  margin-top: 14pt;

  /* En overskrift må ikke stå alene nederst på en side, og en tabel
     skal helst holde sammen. */
  break-inside: avoid;
  page-break-inside: avoid;
}

.report-section h3 {
  font-size: 12pt;
  border-bottom: .5pt solid #999;
  padding-bottom: 2pt;
  margin-bottom: 6pt;
  break-after: avoid;
  page-break-after: avoid;
}

.report-flag {
  border-left: 3pt solid #000;
  background: #f2f2f2;
  padding: 5pt 7pt;
}

.report-foot {
  margin-top: 16pt;
  border-top: .5pt solid #999;
  font-size: 8pt;
  color: #333;
}

/* Tabeller på papir: tynde streger, gentagne hoveder. */
.table { font-size: 9.5pt; }
.table thead { display: table-header-group; }
.table tr { break-inside: avoid; page-break-inside: avoid; }

.table th,
.table td {
  padding: 3pt 4pt;
  border-bottom: .5pt solid #bbb;
  color: #000;
}

.table thead th {
  border-bottom: 1pt solid #666;
  color: #000;
  text-transform: none;
  letter-spacing: 0;
  font-size: 9pt;
}

/* Vægtkurven tegnes som SVG i PHP og skal med. */
.weight-chart,
.weight-chart svg {
  max-width: 100%;
  height: auto;
  break-inside: avoid;
  page-break-inside: avoid;
}

.chart-band { fill: #eee; }
.chart-line { stroke: #000; }
.chart-dot  { fill: #000; }

.text-soft, .text-sm { color: #333; }

/* ── Stamkortet (dyr-profil.php) ───────────────────── */

.pet-head { gap: 8pt; }
.pet-avatar { border: .5pt solid #999; background: #fff; }

/* Stamkortet printes i A5. Klassen sættes af dyr-profil.php. */
body.card-print { page: stamkort; }

/* Kortene bliver til afsnit uden ramme og skygge. */
.card {
  border: 0;
  box-shadow: none;
  background: #fff;
  padding: 0;
  margin: 0 0 10pt;
  break-inside: avoid;
  page-break-inside: avoid;
}

.card-head h2 { font-size: 12pt; border-bottom: .5pt solid #999; padding-bottom: 2pt; }

.grid, .grid-2 { display: block; }

.facts .fact {
  display: flex;
  gap: 6pt;
  padding: 2pt 0;
  border-bottom: .25pt dotted #ccc;
}

.facts dt { min-width: 40mm; color: #333; }
.facts dd { margin: 0; font-weight: 600; }

/* Galleriet hører ikke med på et stamkort — men profilbilledet gør. */
.photo-grid,
.photo-month,
#billeder { display: none !important; }

/* ── Farver skal med, hvis brugeren beder om det ───── */

* {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
