/* PerfectNotes Print Styles — loaded non-blocking via media="print" */

/* ============================================
   PDF / PRINT STYLES
   PerfectNotes Global Print Stylesheet
   ============================================ */

@media print {

  /* Page setup */
  @page {
    size: A4;
    margin: 25mm 20mm 30mm 20mm;
  }

  @page :first {
    margin-top: 20mm;
  }

  /* Reset colors for printing */
  *,
  *::before,
  *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html,
  body {
    background: white !important;
    color: #000 !important;
    font-size: 11pt !important;
    line-height: 1.5 !important;
  }

  /* Hide UI elements */
  header,
  footer,
  nav,
  aside,
  button,
  .no-print,
  [class*="print:hidden"],
  .command-palette,
  .mobile-nav,
  .progress-bar,
  .scroll-to-top,
  .feedback-widget,
  .related-tutorials,
  .ad-placeholder,
  .table-of-contents,
  iframe,
  .cookie-banner {
    display: none !important;
  }

  /* Typography */
  h1 {
    font-size: 24pt !important;
    font-weight: 700 !important;
    margin-bottom: 12pt !important;
    color: #000 !important;
    page-break-after: avoid;
  }

  h2 {
    font-size: 16pt !important;
    font-weight: 600 !important;
    margin-top: 18pt !important;
    margin-bottom: 8pt !important;
    color: #000 !important;
    page-break-after: avoid;
  }

  h3 {
    font-size: 13pt !important;
    font-weight: 600 !important;
    margin-top: 14pt !important;
    margin-bottom: 6pt !important;
    color: #333 !important;
    page-break-after: avoid;
  }

  h4,
  h5,
  h6 {
    font-size: 11pt !important;
    font-weight: 600 !important;
    margin-top: 12pt !important;
    margin-bottom: 4pt !important;
    color: #333 !important;
  }

  p {
    margin-bottom: 8pt !important;
    orphans: 3;
    widows: 3;
  }

  /* Links - show URLs */
  a {
    color: #10b981 !important;
    text-decoration: underline !important;
  }

  /* Code blocks */
  pre,
  code {
    font-family: 'Courier New', Courier, monospace !important;
    font-size: 9pt !important;
    background: #f8f9fa !important;
    color: #333 !important;
    border: 1px solid #e9ecef !important;
  }

  pre {
    padding: 10pt !important;
    margin: 10pt 0 !important;
    white-space: pre-wrap !important;
    word-wrap: break-word !important;
    page-break-inside: avoid;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  code {
    padding: 1pt 4pt !important;
  }

  /* Lists */
  ul,
  ol {
    margin-left: 20pt !important;
    margin-bottom: 10pt !important;
  }

  li {
    margin-bottom: 4pt !important;
  }

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

  th,
  td {
    border: 1px solid #333 !important;
    padding: 6pt 8pt !important;
    text-align: left !important;
  }

  th {
    background: #f0f0f0 !important;
    font-weight: 600 !important;
  }

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

  figure {
    margin: 12pt 0 !important;
    page-break-inside: avoid;
  }

  figcaption {
    font-size: 9pt !important;
    color: #666 !important;
    text-align: center !important;
    margin-top: 4pt !important;
  }

  /* Blockquotes and callouts */
  blockquote,
  [class*="border-l-4"],
  [class*="border-l-2"] {
    border-left: 3pt solid #10b981 !important;
    padding-left: 12pt !important;
    margin: 12pt 0 !important;
    background: #f8fdf9 !important;
    padding: 8pt 12pt !important;
    page-break-inside: avoid;
  }

  /* Main content area */
  main,
  article,
  .article-content-minimal {
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Ensure grid layouts are single column */
  .grid {
    display: block !important;
  }

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

  h1,
  h2,
  h3 {
    page-break-after: avoid;
  }

  table,
  figure,
  pre,
  blockquote {
    page-break-inside: avoid;
  }
}
