/* Print Stylesheet */
@media print {
  .site-header,
  .series-nav,
  .breadcrumb,
  .sidebar,
  .sidebar-overlay,
  .page-nav,
  .back-to-top,
  .skip-to-content {
    display: none !important;
  }

  body {
    background: white;
    color: black;
    font-size: 12pt;
    line-height: 1.5;
  }

  .page-layout {
    display: block;
  }

  .content-area {
    padding: 0;
  }

  .content {
    max-width: 100%;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    background: white;
  }

  h1 {
    font-size: 20pt;
    border-bottom: 2px solid #333;
  }

  h2 {
    font-size: 16pt;
    page-break-before: always;
    border-bottom: 1px solid #999;
  }

  h2:first-of-type {
    page-break-before: avoid;
  }

  h3, h4 {
    page-break-after: avoid;
  }

  table, pre, .callout, .mermaid-wrapper {
    page-break-inside: avoid;
  }

  pre {
    background-color: #f5f5f5 !important;
    color: #333 !important;
    border: 1px solid #ccc;
    white-space: pre-wrap;
    word-wrap: break-word;
  }

  pre.mermaid {
    background: transparent !important;
    border: none;
    page-break-inside: avoid;
  }

  code {
    background-color: #f0f0f0 !important;
    color: #333 !important;
  }

  .table-wrapper {
    overflow: visible;
    border: none;
  }

  thead th {
    background-color: #333 !important;
    color: white !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  tbody tr:nth-child(even) {
    background-color: #f5f5f5 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  a {
    color: #333;
    text-decoration: underline;
  }

  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
    color: #666;
  }

  a[href^="#"]::after,
  a[href^="CAN"]::after,
  a[href^="DBC"]::after,
  a[href^="OBD"]::after,
  a[href^="J19"]::after {
    content: none;
  }

  .callout {
    border: 1px solid #ccc;
    border-left-width: 4px;
  }

  .doc-metadata {
    border: 1px solid #ccc;
  }
}
