/* ============================================
   SECOND OPINION / DR DEW
   Print Stylesheet v2.0
   Uses CSS variable overrides for cleaner cascade
   ============================================ */

@media print {
  /* Override design tokens for print */
  :root {
    --color-bg-base: #ffffff;
    --color-bg-elevated: #f5f5f5;
    --color-bg-card: #ffffff;
    --color-bg-card-hover: #ffffff;
    --color-bg-overlay: transparent;

    --color-text-primary: #000000;
    --color-text-secondary: #333333;
    --color-text-muted: #666666;

    --color-accent: #8b6914;
    --color-accent-hover: #8b6914;
    --color-accent-subtle: transparent;

    --color-border: #cccccc;
    --color-border-accent: #cccccc;

    --color-success: #2e7d32;
    --color-success-bg: transparent;
    --color-warning: #f57c00;
    --color-warning-bg: transparent;
    --color-error: #c62828;
    --color-error-bg: transparent;

    /* Print-specific spacing */
    --space-print: 12pt;

    /* Remove shadows for print */
    --shadow-sm: none;
    --shadow-md: none;
    --shadow-lg: none;
  }

  /* Page setup */
  @page {
    margin: 2cm;
    size: letter;
  }

  /* Base settings - minimal !important */
  * {
    background: transparent;
    box-shadow: none;
    text-shadow: none;
  }

  body {
    font-size: 12pt;
    line-height: 1.5;
    margin: 0;
    padding: 0;
    color: var(--color-text-primary);
  }

  /* Remove grid texture background */
  body::before {
    display: none;
  }

  /* Hide interactive/non-essential elements */
  .skip-link,
  .site-header,
  .site-nav,
  .nav-toggle,
  .nav-toggle-label,
  .nav-backdrop,
  .menu-toggle,
  .menu-close,
  .header-disclaimer,
  .site-footer,
  .site-seal,
  .btn,
  .btn-group,
  .topic-chips,
  .subscribe-options,
  .search-trigger,
  .search-modal,
  .footer-nav,
  .no-print {
    display: none;
  }

  /* Links - show URLs */
  a {
    color: var(--color-text-primary);
    text-decoration: underline;
  }

  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    font-weight: normal;
    word-break: break-all;
  }

  a[href^="#"]::after,
  a[href^="javascript"]::after,
  a[href^="/"]::after {
    content: "";
  }

  /* Typography - use pt for print */
  h1 {
    font-size: 24pt;
    page-break-after: avoid;
    color: var(--color-text-primary);
  }

  h2 {
    font-size: 18pt;
    page-break-after: avoid;
    margin-top: 24pt;
    color: var(--color-text-primary);
  }

  h3 {
    font-size: 14pt;
    page-break-after: avoid;
    margin-top: 18pt;
    color: var(--color-text-primary);
  }

  h4, h5, h6 {
    font-size: 12pt;
    page-break-after: avoid;
    color: var(--color-text-primary);
  }

  p, li, td {
    orphans: 3;
    widows: 3;
  }

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

  /* Container - full width for print */
  .container {
    max-width: 100%;
    padding: 0;
  }

  .container--narrow {
    max-width: 100%;
  }

  /* Cards and panels */
  .card,
  .featured-episode,
  .claim-check,
  .tldw,
  .transcript,
  .seal-card {
    border: 1px solid var(--color-border);
    padding: var(--space-print);
    margin-bottom: var(--space-print);
    page-break-inside: avoid;
    background: var(--color-bg-card);
  }

  .card--featured,
  .featured-episode {
    border-left: 3px solid var(--color-accent);
  }

  /* Episode header */
  .episode-header {
    border-bottom: 1px solid var(--color-border);
    padding-bottom: var(--space-print);
    margin-bottom: 24pt;
  }

  /* Episode sections */
  .episode-section {
    page-break-inside: avoid;
  }

  /* Tags - simple border style */
  .tag {
    border: 1px solid var(--color-border);
    padding: 2pt 6pt;
    background: transparent;
  }

  .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 4pt;
  }

  /* Claims & checks - stack for readability */
  .claim-check__row {
    display: block;
    margin-bottom: 6pt;
  }

  .claim-check__label {
    font-weight: bold;
    display: inline;
  }

  .claim-check__label::after {
    content: ": ";
  }

  .claim-check__value {
    display: inline;
  }

  /* Confidence badges */
  .confidence {
    border: 1px solid currentColor;
    background: transparent;
    padding: 2pt 4pt;
    font-size: 9pt;
  }

  .confidence--high { color: var(--color-success); }
  .confidence--medium { color: var(--color-warning); }
  .confidence--low { color: var(--color-error); }

  /* Sources */
  .sources-list li {
    border-bottom: 1px solid #eee;
    padding: 6pt 0;
  }

  .sources-list li:last-child {
    border-bottom: none;
  }

  /* Transcript */
  .transcript {
    font-size: 11pt;
    line-height: 1.6;
  }

  .transcript .timestamp {
    font-size: 9pt;
    color: var(--color-text-muted);
  }

  /* Glossary */
  .glossary-entry {
    page-break-inside: avoid;
    border-bottom: 1px solid #eee;
    padding: var(--space-print) 0;
  }

  .glossary-entry:last-child {
    border-bottom: none;
  }

  /* Prose/article content */
  .prose {
    max-width: 100%;
  }

  .prose ul,
  .prose ol {
    padding-left: 24pt;
    list-style: disc;
  }

  .prose ol {
    list-style: decimal;
  }

  /* Grid - linearize for print */
  .grid,
  .grid--2,
  .grid--3,
  .grid--auto {
    display: block;
  }

  .grid > * {
    margin-bottom: var(--space-print);
  }

  /* Lens steps - linearize */
  .lens-steps {
    display: block;
  }

  .lens-step {
    display: inline-block;
    width: auto;
    margin-right: var(--space-print);
    margin-bottom: var(--space-print);
  }

  /* Hero section */
  .hero-inner {
    display: block;
  }

  /* Featured episode */
  .featured-episode__inner {
    display: block;
  }

  /* Tables */
  table {
    border-collapse: collapse;
    width: 100%;
  }

  th, td {
    border: 1px solid var(--color-border);
    padding: 6pt;
    text-align: left;
  }

  th {
    font-weight: bold;
    background: var(--color-bg-elevated);
  }

  /* Code blocks */
  code {
    font-family: "Courier New", Courier, monospace;
    font-size: 10pt;
    background: var(--color-bg-elevated);
    padding: 2pt 4pt;
  }

  pre {
    border: 1px solid var(--color-border);
    padding: var(--space-print);
    overflow: visible;
    white-space: pre-wrap;
    word-wrap: break-word;
    page-break-inside: avoid;
    background: var(--color-bg-elevated);
  }

  /* Blockquotes */
  blockquote {
    border-left: 3px solid var(--color-accent);
    padding-left: var(--space-print);
    margin: var(--space-print) 0;
    font-style: italic;
  }

  /* Print-specific header (optional) */
  .print-header {
    display: block;
    text-align: center;
    margin-bottom: 24pt;
    padding-bottom: var(--space-print);
    border-bottom: 2px solid var(--color-text-primary);
  }

  .print-header__title {
    font-size: 14pt;
    font-weight: bold;
    letter-spacing: 0.1em;
  }

  .print-header__url {
    font-size: 10pt;
    color: var(--color-text-muted);
  }

  /* Print-specific footer */
  .print-footer {
    display: block;
    text-align: center;
    margin-top: 24pt;
    padding-top: var(--space-print);
    border-top: 1px solid var(--color-border);
    font-size: 9pt;
    color: var(--color-text-muted);
  }

  /* Page break utilities */
  .page-break {
    page-break-before: always;
  }

  .page-break-after {
    page-break-after: always;
  }

  .no-break {
    page-break-inside: avoid;
  }

  /* Section handling */
  .section {
    padding: var(--space-print) 0;
  }

  .section--alt {
    background: transparent;
  }

  /* Page header */
  .page-header {
    border-bottom: 1px solid var(--color-border);
    padding-bottom: var(--space-print);
    margin-bottom: 24pt;
  }

  /* Update log */
  .update-log {
    background: transparent;
    border: 1px solid var(--color-border);
    padding: var(--space-print);
  }

  .update-log__entry {
    display: block;
    margin-bottom: 6pt;
  }

  .update-log__date {
    font-weight: bold;
  }

  .update-log__date::after {
    content: ": ";
  }
}
