/* ============================================================
   PRINT STYLES — CodeLab
   Clean print output for article-format modules
   ============================================================ */

@media print {
  /* ── Hide non-essential UI ─────────────────────────── */
  .platform-nav,
  .platform-footer,
  .toc-sidebar,
  .scroll-progress,
  .feedback-widget,
  .fab-button,
  .back-to-top,
  .cmd-backdrop,
  .kbd-backdrop,
  .ai-panel,
  .mobile-drawer-backdrop,
  .mobile-burger,
  .theme-toggle,
  .nav-search-btn,
  .nav-ai-btn,
  .nav-right,
  .copy-btn,
  .progress-toast,
  .resume-banner,
  .hero-particles {
    display: none !important;
  }

  /* ── Reset colors for print ────────────────────────── */
  :root,
  :root[data-theme="dark"] {
    --bg: #fff !important;
    --surface: #fff !important;
    --text: #000 !important;
    --text-2: #333 !important;
    --text-3: #666 !important;
    --border: #ccc !important;
    --wm-green: #115740 !important;
    --wm-gold: #8B6914 !important;
  }

  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 11pt !important;
    line-height: 1.6 !important;
    animation: none !important;
    opacity: 1 !important;
  }

  /* ── Layout: single column, full width ─────────────── */
  .article-layout {
    display: block !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .article-content {
    max-width: 100% !important;
  }

  .container {
    max-width: 100% !important;
    padding: 0 !important;
  }

  /* ── Typography ────────────────────────────────────── */
  h1 { font-size: 22pt !important; margin-bottom: 8pt !important; }
  h2 { font-size: 16pt !important; margin-top: 20pt !important; margin-bottom: 8pt !important; page-break-after: avoid; }
  h3 { font-size: 13pt !important; margin-top: 14pt !important; page-break-after: avoid; }
  p { font-size: 11pt !important; margin-bottom: 8pt !important; orphans: 3; widows: 3; }

  /* ── Links: show URLs ──────────────────────────────── */
  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    color: #666;
    font-weight: normal;
    word-break: break-all;
  }
  a { color: #115740 !important; text-decoration: underline !important; }

  /* ── Code blocks ───────────────────────────────────── */
  pre, code {
    font-size: 9pt !important;
    background: #f5f5f5 !important;
    color: #000 !important;
    border: 1px solid #ddd !important;
  }
  pre {
    padding: 10pt !important;
    page-break-inside: avoid;
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
    overflow: visible !important;
  }

  /* ── Callout boxes ─────────────────────────────────── */
  .callout {
    border-left: 3pt solid #115740 !important;
    background: #f0f0f0 !important;
    padding: 10pt !important;
    page-break-inside: avoid;
  }

  /* ── Images ────────────────────────────────────────── */
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  /* ── Tables ────────────────────────────────────────── */
  table {
    page-break-inside: avoid;
    border-collapse: collapse !important;
  }
  th, td {
    border: 1px solid #ccc !important;
    padding: 6pt 8pt !important;
    font-size: 10pt !important;
  }

  /* ── Page breaks ───────────────────────────────────── */
  .article-section {
    page-break-inside: avoid;
  }
  .article-header {
    page-break-after: avoid;
  }

  /* ── Header info ───────────────────────────────────── */
  .article-header::after {
    content: "CodeLab — codelab.sh — William & Mary";
    display: block;
    margin-top: 8pt;
    font-size: 9pt;
    color: #999;
    font-family: 'Inter', sans-serif;
  }

  /* ── Tags / pills ──────────────────────────────────── */
  .section-tag, .tag-value, .mfc-skill, .topic-pill {
    border: 1px solid #ccc !important;
    background: transparent !important;
    color: #333 !important;
  }

  /* ── Remove animations ─────────────────────────────── */
  *, *::before, *::after {
    animation: none !important;
    transition: none !important;
  }

  /* ── Page margins ──────────────────────────────────── */
  @page {
    margin: 2cm;
  }
}
