/* ============================================================================
   PRINT STYLESHEET — clean handouts from any section
   Linked with media="print". Strips chrome, opens collapsed content,
   switches to ink-saving black-on-white, and controls page breaks.
   ========================================================================== */
@media print {
  :root { --ink: #1a1a1a; }

  body {
    background: #fff !important;
    color: #1a1a1a !important;
    font-size: 11.5pt;
    line-height: 1.5;
  }
  body, .band, .band.dark, .band.deep, .band.panel, .hero, .page-head {
    background: #fff !important;
    color: #1a1a1a !important;
  }

  /* hide interactive / navigational chrome */
  .site-nav, .nav-toggle, .to-top, .progress-bar, .map-tip,
  .map-tabs, .btn-row, .btn, .crumbs, .site-foot .foot-grid,
  .nav-links, .reveal-controls { display: none !important; }

  /* show everything that JS may have collapsed */
  .reveal { opacity: 1 !important; transform: none !important; }
  .ac-panel { max-height: none !important; overflow: visible !important; }
  .ac-item .ac-icon { display: none !important; }
  .tab-panel { display: block !important; }
  .tab-strip { display: none !important; }
  .hidden { display: block !important; } /* reveal cycle detail panels */

  /* readable headings */
  h1, h2, h3, h4 { color: #111 !important; }
  .hero .display, .page-head h1 { -webkit-text-fill-color: #111 !important; color: #111 !important; }
  .page-head { border-bottom: 2px solid #111 !important; }
  a { color: #111 !important; text-decoration: none !important; }

  /* scripture stays distinct but ink-light */
  .scripture, .scripture.dark {
    background: #f6f6f6 !important; color: #1a1a1a !important;
    border: 1px solid #bbb !important; border-left: 4px solid #888 !important;
    box-shadow: none !important;
  }
  .scripture.dark cite, .scripture cite { color: #444 !important; }

  /* callouts and questions: outline only */
  .callout, .questions, .card, .figure-card, .map-info, .cycle-detail, .gen-node {
    background: #fff !important; color: #1a1a1a !important;
    box-shadow: none !important; border: 1px solid #bbb !important;
  }
  .questions h4, .figure-card .fc-name, .figure-card .fc-title { color: #111 !important; }
  .figure-card .fc-head { background: #eee !important; color: #111 !important; }
  .questions ol li::before { background: #eee !important; color: #111 !important; border-color: #888 !important; }

  /* tables */
  .data-table th { background: #eee !important; color: #111 !important; }
  .data-table, .data-table td { border-color: #ccc !important; }

  /* maps still print */
  .map-stage { background: #fff !important; border: 1px solid #bbb !important; box-shadow: none !important; }
  .map-region.dim { fill-opacity: 1 !important; }

  /* page-break control */
  section.band { padding-block: 1.2rem !important; page-break-inside: auto; }
  h1, h2, h3, h4 { page-break-after: avoid; }
  .scripture, .callout, .figure-card, .questions, .card, .gen-node,
  .map-figure, .vtimeline .ev, .data-table tr { page-break-inside: avoid; }
  .accordion .ac-item { page-break-inside: avoid; }

  /* a printed footer line on every page */
  .print-tag { display: block !important; }

  @page {
    margin: 1.6cm 1.4cm;
  }
}

/* visible only in print */
.print-tag { display: none; font-family: var(--font-ui); font-size: 9pt; color: #555; text-align: center; margin-top: 1rem; border-top: 1px solid #ccc; padding-top: 0.4rem; }
