/* QuizKendra Print Stylesheet — Tier A PDF Generator
   Follows design system tokens strictly (0 raw hex values).
   Optimized for high-fidelity A4 vector print-to-PDF output with perfect Hindi typography. */

@media print {
  /* 1. Page Setup — Strict A4 Portrait & Margin Calibration */
  @page {
    size: 210mm 297mm portrait;
    margin: 10mm;
  }

  /* Force exact color & background reproduction (badges, tags, panels) */
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* 2. Hide Non-Print Elements */
  header,
  footer,
  .topbar,
  .actionbar,
  .btn,
  .segmented,
  .theme-toggle,
  .palette,
  .palette-toggle,
  .pdf-toolbar,
  .pdf-sidebar,
  .pdf-sidebar-scrim,
  .pdf-progress,
  .banner-ad,
  .banner-ad-sticky,
  .site-footer,
  .dialog,
  nav,
  aside,
  [data-no-print] {
    display: none !important;
  }

  /* 3. Base Typography & Surface Reset */
  html,
  body {
    background: var(--surface) !important;
    color: var(--text) !important;
    font-size: 11pt !important;
    line-height: 1.5 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    box-shadow: none !important;
  }

  .page,
  .container,
  main {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* 4. Document Print Header */
  .print-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    border-bottom: 2px solid var(--border-strong);
    padding-bottom: var(--space-3);
    margin-bottom: var(--space-6);
  }

  .print-header__title {
    font-size: var(--fs-xl);
    font-weight: var(--fw-semibold);
    color: var(--brand);
    margin: 0;
  }

  .print-header__meta {
    font-size: var(--fs-xs);
    color: var(--text-muted);
    text-align: right;
  }

  /* 5. Result Cards Page-Break Protection */
  .stat-grid,
  .table-responsive {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    margin-bottom: var(--space-4) !important;
    border: 1px solid var(--border) !important;
    box-shadow: none !important;
    background: var(--surface) !important;
  }

  .panel {
    margin-bottom: var(--space-4) !important;
    border: 1px solid var(--border) !important;
    box-shadow: none !important;
    background: var(--surface) !important;
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  .question-card__num {
    color: var(--brand) !important;
    font-weight: var(--fw-semibold) !important;
  }

  /* 6. Options Formatting in Print */
  .option {
    border: 1px solid var(--border) !important;
    background: transparent !important;
    padding: var(--space-2) var(--space-3) !important;
    margin-bottom: var(--space-1) !important;
    break-inside: avoid !important;
  }

  .option--correct,
  .option[data-correct="true"] {
    border-color: var(--success) !important;
    background: var(--success-soft) !important;
  }

  .option--wrong,
  .option[data-wrong="true"] {
    border-color: var(--danger) !important;
    background: var(--danger-soft) !important;
  }

  /* 7. Explanations */
  .explanation,
  .note {
    break-inside: avoid !important;
    border-left: 3px solid var(--brand) !important;
    background: var(--surface-sunk) !important;
    padding: var(--space-3) !important;
    margin-top: var(--space-2) !important;
  }

  /* 8. Links Display */
  a {
    color: var(--text) !important;
    text-decoration: none !important;
  }
}
