/* =====================================================
   PYPATH — PRINT STYLESHEET
   Clean output for printing / PDF export
===================================================== */

@media print {
  /* ── Reset theme for print ── */
  :root,
  [data-theme="dark"],
  [data-theme="light"] {
    --bg-base: #fff;
    --bg-surface: #f8f8f8;
    --bg-card: #f0f0f0;
    --bg-code: #f4f4f4;
    --bg-output: #ececec;
    --text-primary: #111;
    --text-secondary: #222;
    --text-muted: #555;
    --accent-emerald: #1a6a50;
    --accent-amber: #8a5a10;
    --accent-teal: #1a4a6a;
    --border-default: #ccc;
    --border-subtle: #ddd;
    --border-code: #1a6a50;
  }

  /* ── Hide navigation elements ── */
  .navbar,
  .sidebar,
  .sidebar-overlay,
  .toc-sidebar,
  .breadcrumb,
  .scroll-top,
  .lesson-nav,
  .copy-btn,
  .colab-btn,
  .hamburger,
  .theme-toggle,
  .search-wrapper,
  .progress-pill,
  .try-it .colab-note,
  .site-footer,
  button { display: none !important; }

  /* ── Layout for print ── */
  body {
    font-size: 11pt;
    line-height: 1.6;
    color: #111;
    background: #fff;
  }

  .layout {
    display: block;
    padding: 0;
  }

  .main-content {
    padding: 0;
    max-width: 100%;
  }

  /* ── Headings ── */
  h1 { font-size: 20pt; page-break-after: avoid; }
  h2 { font-size: 15pt; page-break-after: avoid; margin-top: 1.5em; }
  h3 { font-size: 13pt; page-break-after: avoid; }

  /* ── Code blocks ── */
  pre, code { font-family: 'Courier New', monospace; font-size: 9pt; }
  pre[class*="language-"] {
    background: #f4f4f4 !important;
    border: 1px solid #ccc !important;
    border-left: 3px solid #1a6a50 !important;
    page-break-inside: avoid;
    white-space: pre-wrap;
    word-wrap: break-word;
    padding: 0.75rem 1rem !important;
    font-size: 9pt !important;
    color: #111 !important;
  }

  code[class*="language-"] {
    color: #111 !important;
  }

  /* Override prism token colors for print */
  .token.comment { color: #555 !important; }
  .token.keyword { color: #00008b !important; }
  .token.string  { color: #006400 !important; }
  .token.number  { color: #8b0000 !important; }
  .token.function{ color: #00008b !important; }

  /* ── Callout boxes ── */
  .callout {
    border: 1px solid #aaa;
    border-left: 4px solid #555;
    background: #f8f8f8;
    page-break-inside: avoid;
  }

  .takeaways {
    border: 1px solid #aaa;
    background: #f8f8f8;
    page-break-inside: avoid;
  }

  .try-it {
    border: 1px solid #aaa;
    background: #f8f8f8;
    page-break-inside: avoid;
  }

  /* ── Mini-challenges ── */
  .mini-challenge { border: 1px dashed #666; page-break-inside: avoid; }

  /* ── Output blocks ── */
  .output-block pre { background: #ececec !important; color: #333 !important; }

  /* ── Links ── */
  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 8pt;
    color: #555;
  }
  .further-reading a[href]::after { content: " (" attr(href) ")"; }

  /* ── Page breaks ── */
  .lesson-header { page-break-after: avoid; }
  h2, h3 { page-break-after: avoid; }
  table, figure { page-break-inside: avoid; }

  /* ── Footer ── */
  @page {
    margin: 1.5cm 2cm;
  }
  @page :first {
    margin-top: 2cm;
  }
}
