/**
 * Case Study Print Stylesheet
 * Optimized for PDF export via browser print-to-PDF
 * Ensures professional appearance for downloadable case studies
 */

@media print {
  /* Page setup */
  @page {
    size: A4;
    margin: 20mm 15mm;
  }

  /* Hide navigation and UI elements */
  .md-header,
  .md-tabs,
  .md-sidebar,
  .md-footer,
  .md-search,
  .md-top,
  .md-nav,
  .md-source,
  .md-announce {
    display: none !important;
  }

  /* Main content full width */
  .md-content {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .md-content__inner {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Typography */
  body {
    font-size: 11pt;
    line-height: 1.6;
    color: #000;
    background: #fff;
  }

  h1 {
    font-size: 24pt;
    margin-top: 0;
    margin-bottom: 12pt;
    page-break-after: avoid;
    border-bottom: 2pt solid #002855;
    padding-bottom: 6pt;
  }

  h2 {
    font-size: 18pt;
    margin-top: 18pt;
    margin-bottom: 10pt;
    page-break-after: avoid;
    color: #002855;
  }

  h3 {
    font-size: 14pt;
    margin-top: 14pt;
    margin-bottom: 8pt;
    page-break-after: avoid;
    color: #333;
  }

  h4 {
    font-size: 12pt;
    margin-top: 12pt;
    margin-bottom: 6pt;
    page-break-after: avoid;
  }

  p {
    margin-bottom: 8pt;
    orphans: 3;
    widows: 3;
  }

  /* Lists */
  ul, ol {
    margin-bottom: 8pt;
  }

  li {
    margin-bottom: 4pt;
  }

  /* Tables */
  table {
    width: 100%;
    border-collapse: collapse;
    margin: 12pt 0;
    page-break-inside: avoid;
    font-size: 10pt;
  }

  table thead {
    background-color: #002855 !important;
    color: #fff !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  table th {
    padding: 6pt 8pt;
    text-align: left;
    font-weight: bold;
    border: 1pt solid #002855;
  }

  table td {
    padding: 6pt 8pt;
    border: 1pt solid #ddd;
  }

  table tbody tr:nth-child(even) {
    background-color: #f9f9f9 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Code blocks */
  pre, code {
    font-family: "Courier New", Courier, monospace;
    font-size: 9pt;
    background-color: #f5f5f5 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  pre {
    padding: 8pt;
    border: 1pt solid #ddd;
    border-left: 3pt solid #002855;
    margin: 10pt 0;
    overflow: visible;
    white-space: pre-wrap;
    word-wrap: break-word;
  }

  code {
    padding: 2pt 4pt;
    border-radius: 2pt;
  }

  /* Inline code in headings */
  h1 code, h2 code, h3 code {
    background-color: transparent !important;
    border: none;
    font-size: inherit;
  }

  /* Blockquotes */
  blockquote {
    border-left: 3pt solid #002855;
    padding-left: 12pt;
    margin: 12pt 0;
    font-style: italic;
    color: #333;
  }

  /* Horizontal rules */
  hr {
    border: none;
    border-top: 1pt solid #ddd;
    margin: 16pt 0;
  }

  /* Admonitions (info boxes) */
  .admonition {
    border: 1pt solid #ddd;
    border-left: 3pt solid #002855;
    padding: 8pt 12pt;
    margin: 12pt 0;
    page-break-inside: avoid;
    background-color: #f9f9f9 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .admonition-title {
    font-weight: bold;
    margin-bottom: 4pt;
  }

  /* Links - show URL in print */
  a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    color: #666;
  }

  /* Don't show URLs for internal links */
  a[href^="#"]::after,
  a[href^="/"]::after,
  a[href^="../"]::after {
    content: "";
  }

  /* Buttons - hide download buttons in print */
  .md-button {
    display: none;
  }

  /* Material design cards */
  .grid.cards {
    display: block !important;
  }

  .grid.cards > * {
    margin-bottom: 12pt;
    page-break-inside: avoid;
  }

  /* Mermaid diagrams - ensure they're visible */
  .mermaid {
    page-break-inside: avoid;
    margin: 12pt 0;
  }

  /* Images */
  img {
    max-width: 100%;
    page-break-inside: avoid;
  }

  /* Page breaks */
  .page-break {
    page-break-after: always;
  }

  h2 {
    page-break-before: auto;
  }

  /* Case study specific: Executive summary on first page */
  h1 + hr + h2:first-of-type {
    page-break-before: avoid;
  }

  /* Metrics tables - keep together */
  table:has(th:contains("Metric")),
  table:has(th:contains("Result")),
  table:has(th:contains("Improvement")) {
    page-break-inside: avoid;
  }

  /* Footer with page numbers */
  @page {
    @bottom-right {
      content: "Page " counter(page) " of " counter(pages);
      font-size: 9pt;
      color: #666;
    }

    @bottom-left {
      content: "pauhu.com · Est. 1989";
      font-size: 9pt;
      color: #666;
    }

    @bottom-center {
      content: "Pauhu Case Study";
      font-size: 9pt;
      color: #666;
    }
  }

  /* Ensure color accuracy */
  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Case study header metadata */
  .case-study-meta {
    background-color: #f0f0f0 !important;
    border: 1pt solid #ddd;
    padding: 8pt 12pt;
    margin: 12pt 0;
    font-size: 10pt;
    page-break-inside: avoid;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .case-study-meta strong {
    color: #002855;
  }

  /* Summary boxes */
  .summary-box {
    border: 2pt solid #002855;
    padding: 12pt;
    margin: 16pt 0;
    page-break-inside: avoid;
    background-color: #f9f9f9 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Highlight key metrics */
  strong {
    color: #000;
  }

  /* Percentage improvements - bold and colored */
  td:contains("+"),
  td:contains("%") {
    font-weight: bold;
  }

  /* Checkmarks and crosses */
  td:contains("✅"),
  td:contains("❌") {
    font-size: 12pt;
  }

  /* Avoid breaking inside code examples */
  .highlight {
    page-break-inside: avoid;
  }

  /* Section dividers */
  h2 + hr {
    margin-top: -8pt;
    margin-bottom: 12pt;
  }

  /* Final page - contact info */
  h2:contains("Contact"),
  h2:contains("Further Reading") {
    page-break-before: auto;
  }
}
