/* ============================================================
   Recital — print: a clean "recital programme" of the current
   filtered list. Whatever is filtered on screen is what prints
   (filtering sets [hidden], which print inherits).
   ============================================================ */

@page { margin: 18mm 16mm; }

/* Hide everything interactive / heavy. */
.skip-link,
.controls,
.site-stats,
.site-footer,
.piece__thumb,
.piece__body,
.expand-hint,
.btn,
.empty-state { display: none !important; }

body {
  background: #fff !important; color: #000;
  font-size: 11pt; line-height: 1.4;
}

.site-header { border: 0; background: #fff !important; }
.site-header__inner { padding: 0 0 6mm; text-align: left; }
.eyebrow { color: #000; }
.wordmark { font-size: 26pt; }
.wordmark::after { display: none; }
.lede { display: none; }

.print-only { display: block !important; }
.print-title {
  font-family: var(--font-ui); font-size: 9pt; letter-spacing: 0.08em;
  text-transform: uppercase; color: #444; margin: 4mm 0 3mm;
  border-bottom: 1px solid #000; padding-bottom: 2mm;
}

.catalog { max-width: none; padding: 0; }
.piece-grid { display: block !important; }

.group-header {
  display: block !important; break-after: avoid; page-break-after: avoid;
  border-bottom: 1px solid #000 !important; margin: 5mm 0 2mm; padding: 0 0 1mm;
}
.group-header[hidden] { display: none !important; }
.group-header__label { font-size: 13pt; }
.group-header__count { font-size: 8pt; color: #444; }

.card {
  display: block !important; break-inside: avoid; page-break-inside: avoid;
  border: 0 !important; border-bottom: 1px solid #ccc !important;
  border-radius: 0 !important; box-shadow: none !important;
  margin: 0; padding: 2.5mm 0;
}
.card[hidden] { display: none !important; }
.card.is-open { grid-column: auto; }

.piece__summary {
  display: block !important; padding: 0 !important; cursor: auto;
}
.piece__title { font-size: 13pt; display: inline; }
.piece__composer { display: inline; font-size: 11pt; }
.piece__composer::before { content: " — "; }
.piece__opus { font-size: 9.5pt; color: #333; margin-top: 1mm; }

.piece__badges { display: block !important; text-align: left; margin-top: 1mm; }
.badge { -webkit-print-color-adjust: exact; print-color-adjust: exact;
  font-size: 8pt; border: 1px solid #999; }
.badge--license, .badge--linked { color: #000 !important; background: #fff !important; }

/* Per-card provenance line, injected by catalog.js, shown only in print. */
.provenance-line {
  font-family: var(--font-ui); font-size: 8.5pt; color: #333;
  margin: 1.5mm 0 0; line-height: 1.4;
}
.provenance-line a { color: #000; text-decoration: none; }
