/* print.css — Polished printing for The Universal Codex
   Handles chapter pages, tool pages, index pages, and cards. */
@media print {

  /* === RESET & BASE === */
  * { background: white !important; color: black !important; box-shadow: none !important; text-shadow: none !important; }
  body { font-family: "Georgia", "Times New Roman", serif; font-size: 11pt; line-height: 1.6; margin: 0; padding: 0; }

  /* === HIDE INTERACTIVE / SCREEN-ONLY === */
  canvas, #starfield, #back-to-top, #theme-toggle, .skip-nav,
  .progress-badge, .floating-toc, .ct-btn, .ct-panel,
  #audio-bar, #offline-banner, #kb-help, .hl-toolbar,
  .night-mode-btn, .search-container, .meditation-timer,
  .reading-dashboard, .streak-widget, .achievement-toast,
  .bookmark-panel, .bookmark-btn, .settings-btn, .settings-panel,
  .daily-wisdom, .chapter-summary-toggle, .footnote-preview,
  [data-noprint], button, input, select, textarea { display: none !important; }
  nav { display: none !important; }
  .page-nav { display: none !important; }
  .breadcrumb { display: none !important; }
  footer { display: block !important; border-top: 0.5pt solid #999; padding-top: 0.3cm; margin-top: 1cm; font-size: 9pt; color: #666 !important; text-align: center; }

  /* === LAYOUT === */
  main { max-width: 100% !important; margin: 0 !important; padding: 1.5cm 2cm !important; border: none !important; }

  /* === PAGE SETTINGS === */
  @page { margin: 2cm 1.8cm; size: A4; }
  @page :first { margin-top: 3cm; }

  /* === HERO / TITLE === */
  .hero { page-break-after: avoid; border-bottom: 1.5pt solid #333; padding-bottom: 0.6cm; margin-bottom: 0.8cm; text-align: center; }
  .hero h1 { font-size: 22pt; font-weight: 700; margin-bottom: 0.2cm; letter-spacing: 0.5pt; }
  .hero .subtitle, .hero .chapter-subtitle { font-size: 13pt; color: #444 !important; font-weight: 400; }
  .hero .tradition-badge { font-size: 10pt; border: 0.5pt solid #999; padding: 2pt 8pt; border-radius: 3pt; display: inline-block; margin-top: 0.3cm; }
  .epigraph { border-left: 2.5pt solid #555; padding-left: 0.6cm; font-style: italic; margin: 0.5cm 1cm; font-size: 10.5pt; color: #333 !important; }

  /* === TABLE OF CONTENTS === */
  .toc { page-break-after: always; border: 1pt solid #bbb; padding: 0.6cm; background: #fafafa !important; }
  .toc h3 { font-size: 14pt; border-bottom: 0.5pt solid #ccc; padding-bottom: 4pt; margin-bottom: 0.3cm; }
  .toc a { color: black !important; text-decoration: none; display: block; padding: 3pt 0; font-size: 10.5pt; }
  .toc a::after { content: none !important; }
  .toc-columns { column-count: 2; column-gap: 1cm; }

  /* === HEADINGS === */
  h2 { font-size: 15pt; font-weight: 700; border-bottom: 1pt solid #999; padding-bottom: 4pt; margin-top: 0.8cm; margin-bottom: 0.4cm; page-break-after: avoid; }
  h3 { font-size: 12pt; font-weight: 600; page-break-after: avoid; margin-top: 0.5cm; }
  h4 { font-size: 11pt; font-weight: 600; page-break-after: avoid; }

  /* === SECTIONS & FLOW === */
  section { page-break-inside: avoid; margin-bottom: 0.6cm; }
  p { orphans: 3; widows: 3; }
  h2, h3, h4 { orphans: 4; widows: 4; }

  /* === TABLES === */
  table { border-collapse: collapse; width: 100%; margin: 0.4cm 0; font-size: 10pt; page-break-inside: auto; }
  tr { page-break-inside: avoid; }
  th, td { border: 0.5pt solid #999; padding: 5pt 8pt; text-align: left; }
  th { background: #eee !important; font-weight: 700; font-size: 10pt; }

  /* === CARDS === */
  .card, .principle-card, .concept-card, .tool-card { border: 0.5pt solid #bbb; padding: 0.4cm; margin: 0.4cm 0; page-break-inside: avoid; border-radius: 0; }
  .card h3, .card h4 { margin-top: 0; }
  .card-grid { display: block; }
  .card-grid > * { margin-bottom: 0.4cm; }

  /* === QUOTES / BLOCKQUOTES / ORIGINALS === */
  .original { border-left: 2.5pt solid #555; padding-left: 0.5cm; margin: 0.4cm 0; font-style: italic; font-size: 10.5pt; }
  blockquote { border-left: 2.5pt solid #555; padding-left: 0.5cm; margin: 0.4cm 0 0.4cm 0.3cm; font-style: italic; }

  /* === LINKS === */
  a { text-decoration: none; color: black !important; }
  a[href^="http"]::after { content: " [" attr(href) "]"; font-size: 7.5pt; color: #666 !important; word-break: break-all; }
  a[href^="#"]::after, a[href$=".html"]::after { content: none !important; }

  /* === IMAGES & SVG === */
  svg { max-width: 60%; margin: 0.4cm auto; display: block; page-break-inside: avoid; }
  img { max-width: 100%; page-break-inside: avoid; }

  /* === CHAPTER HEADER (running) === */
  .hero h1::before { content: "The Universal Codex — "; font-size: 11pt; font-weight: 400; color: #888 !important; }

  /* === TOOL PAGES: hide interactive-only content === */
  .quiz-container, .flashcard-deck, .gematria-calc, .map-container,
  .mind-map-container, .calendar-controls, .journal-entries,
  .study-wizard, .geometry-canvas, .debate-arena, .oracle-button,
  .etymology-search, #tradition-search { display: none !important; }
  .quiz-results, .study-plan-output { display: block !important; }

  /* === LIST STYLES === */
  ul, ol { margin-left: 0.5cm; padding-left: 0.5cm; }
  li { margin-bottom: 3pt; }

  /* === CODE BLOCKS (if any) === */
  code, pre { font-family: "Courier New", monospace; font-size: 9.5pt; border: 0.5pt solid #ccc; padding: 2pt 4pt; }
  pre { padding: 0.3cm; page-break-inside: avoid; white-space: pre-wrap; }

  /* === UTILITY === */
  .hidden, .collapsed, [aria-hidden="true"] { display: none !important; }
  .print-only { display: block !important; }
  abbr[title]::after { content: " (" attr(title) ")"; font-size: 8pt; }
}