/**
 * ChappaquaPoison v2 — Print Stylesheet
 * Optimized for high-quality printing and archival purposes
 */

@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  html {
    background: white;
  }

  body {
    background: white;
    color: #000;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 12pt;
    line-height: 1.5;
    margin: 0;
    padding: 0;
  }

  /* Hide interactive elements */
  header,
  nav,
  .header-nav,
  footer,
  .footer-content,
  .search,
  .search-bar,
  .phase-accent-bar,
  .skip-to-content,
  button,
  [role="button"],
  .share-buttons,
  .social-share {
    display: none !important;
  }

  /* Main content */
  main {
    padding: 0;
    min-height: auto;
    margin: 0;
  }

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

  /* Typography */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
    page-break-inside: avoid;
    color: #000;
    font-weight: bold;
    margin-bottom: 12pt;
  }

  h1 {
    font-size: 28pt;
    margin-top: 0;
  }

  h2 {
    font-size: 20pt;
    margin-top: 24pt;
    border-bottom: 2pt solid #000;
    padding-bottom: 6pt;
  }

  h3 {
    font-size: 16pt;
    margin-top: 18pt;
  }

  h4 {
    font-size: 14pt;
  }

  /* Paragraphs and blocks */
  p {
    margin-bottom: 12pt;
    page-break-inside: avoid;
  }

  /* Links */
  a {
    color: #000;
    border: none;
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
    font-family: monospace;
    font-size: 9pt;
    color: #666;
  }

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

  /* Evidence blocks */
  .evidence-block,
  .evidence-section,
  [data-evidence],
  .source-block {
    page-break-inside: avoid;
    border: 1pt solid #000 !important;
    margin: 12pt 0;
    padding: 12pt;
    background: white !important;
  }

  .evidence-block h4,
  [data-evidence] h4 {
    margin-top: 0;
  }

  /* ECS badges */
  .ecs-badge,
  .badge-cp,
  .badge-sle,
  .badge-abgib,
  .badge-pcr,
  .badge-disc,
  .badge-sworn,
  .badge-media {
    display: inline-block;
    padding: 2pt 4pt;
    margin: 0 2pt;
    border: 1pt solid #000;
    background: white !important;
    color: #000;
    font-family: monospace;
    font-size: 9pt;
    font-weight: bold;
  }

  /* Timeline */
  .timeline {
    page-break-inside: avoid;
  }

  .timeline-entry {
    page-break-inside: avoid;
    margin-bottom: 12pt;
    border-left: 2pt solid #000;
    padding-left: 12pt;
  }

  .timeline-date {
    font-weight: bold;
    margin-bottom: 6pt;
  }

  /* Lists */
  ul, ol {
    margin: 12pt 0;
    padding-left: 24pt;
  }

  li {
    margin-bottom: 6pt;
    page-break-inside: avoid;
  }

  /* Code blocks */
  code,
  pre {
    background: white !important;
    border: 1pt solid #000;
    color: #000;
    font-family: 'Courier New', monospace;
    font-size: 10pt;
    page-break-inside: avoid;
    padding: 6pt;
    margin: 12pt 0;
  }

  pre {
    page-break-inside: avoid;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Blockquotes */
  blockquote {
    border-left: 3pt solid #000;
    padding-left: 12pt;
    margin: 12pt 0;
    font-style: italic;
    page-break-inside: avoid;
  }

  blockquote cite {
    display: block;
    font-style: normal;
    font-size: 10pt;
    margin-top: 6pt;
  }

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

  img[alt]:after {
    content: " [" attr(alt) "]";
    font-size: 9pt;
    color: #666;
    display: block;
  }

  /* Tables */
  table {
    page-break-inside: avoid;
    margin: 12pt 0;
    width: 100%;
    border-collapse: collapse;
  }

  table,
  thead,
  tbody,
  tfoot,
  tr,
  td,
  th {
    background: white !important;
    color: #000 !important;
    border: 1pt solid #000;
  }

  th {
    font-weight: bold;
    background: #f0f0f0 !important;
    text-align: left;
    padding: 6pt;
  }

  td {
    padding: 6pt;
  }

  /* Page breaks */
  .page-break {
    page-break-after: always;
  }

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

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

  /* Document structure */
  article {
    page-break-after: always;
  }

  section {
    page-break-inside: avoid;
  }

  /* Phase indicators */
  .phase-indicator,
  [data-phase] {
    border: 1pt solid #000;
    padding: 3pt 6pt;
    margin: 0 3pt;
    font-weight: bold;
  }

  /* Metadata */
  .post-meta,
  .post-date,
  .published-date {
    font-size: 10pt;
    margin-bottom: 12pt;
    color: #333;
  }

  /* Separators */
  hr {
    page-break-after: avoid;
    border: none;
    border-bottom: 2pt solid #000;
    margin: 24pt 0;
  }

  /* Footnotes */
  .footnote,
  .endnote,
  [role="doc-footnote"] {
    page-break-inside: avoid;
    font-size: 10pt;
    line-height: 1.4;
    margin: 6pt 0;
  }

  /* Back to top and similar links */
  .back-to-top,
  .to-top,
  [aria-label*="top"],
  [aria-label*="back"] {
    display: none !important;
  }

  /* Print-specific notes */
  .print-note {
    display: block !important;
  }

  .no-print {
    display: none !important;
  }

  /* Widows and orphans */
  p {
    orphans: 3;
    widows: 3;
  }

  /* Ensure proper spacing before headers */
  h2:first-child,
  h3:first-child {
    margin-top: 0;
  }

  /* Force visible borders for evidence integrity */
  .evidence-required {
    border: 2pt solid #000 !important;
    padding: 12pt !important;
    margin: 12pt 0 !important;
  }
}
