/* ============================================================
   OMNI RESUME — PRINT STYLES
   A4 and Letter, hidden chrome, clean page breaks.
   ============================================================ */

@page {
  size: A4;
  margin: 0;
}

@page letter {
  size: Letter;
  margin: 0;
}

@page :first {
  margin-top: 0;
}

/* ---------- Reset for print ---------- */
@media print {
  * {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
  }

  html, body {
    background: #FFFFFF !important;
    color: #000000 !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    font-size: 11pt;
    line-height: 1.4;
  }

  body {
    padding: 0 !important;
    margin: 0 !important;
  }

  /* ---------- Hide everything non-essential ---------- */
  .skip-link,
  .announce-bar,
  .site-header,
  .mobile-nav,
  .search-overlay,
  .site-footer,
  .toast-host,
  .modal-host,
  .editor__toolbar,
  .editor__sidebar,
  .editor__panel,
  .editor__zoom,
  .editor-mobile__toolbar,
  .editor-mobile__bottom-nav,
  .editor-mobile__preview-toggle,
  .editor__fullscreen-close,
  .tpl-preview__toolbar,
  .no-print,
  [aria-hidden="true"].decorative,
  .hero__bg,
  .skeleton,
  .spinner {
    display: none !important;
  }

  /* ---------- Reset backgrounds ---------- */
  .editor,
  .editor__canvas,
  .editor__fullscreen,
  .editor-mobile,
  .editor-mobile__canvas {
    display: block !important;
    background: #FFFFFF !important;
    padding: 0 !important;
    margin: 0 !important;
    height: auto !important;
    overflow: visible !important;
    position: static !important;
  }

  .editor__canvas-inner {
    transform: none !important;
    margin: 0 !important;
  }

  /* ---------- Resume page ---------- */
  .resume-page {
    width: 100% !important;
    min-height: auto !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 12mm 14mm !important;
    margin: 0 !important;
    page-break-after: always;
    break-after: page;
    background: #FFFFFF !important;
    color: #000000 !important;
    overflow: visible !important;
    position: relative;
  }

  .resume-page:last-child {
    page-break-after: auto;
    break-after: auto;
  }

  /* Letter variant */
  .resume-page--letter {
    padding: 12mm 14mm !important;
  }

  /* ---------- Content flow ---------- */
  .resume,
  .resume__section,
  .resume__entry {
    color: #000000 !important;
  }

  .resume h1,
  .resume h2,
  .resume h3 {
    color: #000000 !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  .resume p,
  .resume li {
    color: #000000 !important;
    orphans: 3;
    widows: 3;
  }

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

  .resume__section {
    page-break-inside: auto;
    break-inside: auto;
  }

  .resume__entry {
    page-break-inside: avoid;
    break-inside: avoid;
    margin-bottom: 8pt;
  }

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

  .resume__two-col,
  .resume__sidebar-left {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* ---------- Links: show URL after in body content ---------- */
  .prose a[href^="http"]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
    color: #555;
    word-break: break-all;
  }

  .resume a[href]::after {
    content: "";
  }

  /* ---------- Images: prevent awkward breaks ---------- */
  img,
  svg {
    page-break-inside: avoid;
    break-inside: avoid;
    max-width: 100%;
  }

  /* ---------- Table pagination ---------- */
  table {
    page-break-inside: auto;
  }

  tr,
  thead {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* ---------- Cover letter specific ---------- */
  .cover-letter-page {
    padding: 20mm 22mm !important;
    page-break-after: auto;
  }

  .cover-letter__header {
    margin-bottom: 12mm;
  }

  .cover-letter__body p {
    margin-bottom: 5mm;
    line-height: 1.5;
  }

  /* ---------- Ink-friendly tweaks ---------- */
  .resume__skill {
    background: none !important;
    border: 0.5pt solid #999 !important;
    color: #000 !important;
  }

  .badge {
    background: none !important;
    border: 0.5pt solid currentColor !important;
  }
}

/* ---------- Print preview helper (screen) ---------- */
.print-preview {
  background: #EEF2F7;
  padding: var(--sp-8);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--sp-5);
}

.print-preview__page {
  background: #FFFFFF;
  box-shadow: var(--sh-xl);
  border-radius: 2px;
  width: var(--resume-w);
  padding: 48px 56px;
}

.print-preview__toolbar {
  display: flex;
  gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-5);
  background: var(--c-white);
  border: 1px solid var(--c-border);
  border-radius: var(--r-md);
  box-shadow: var(--sh-md);
  position: sticky;
  top: var(--sp-4);
  z-index: 10;
}

/* ---------- Letter paper via JS class toggle ---------- */
.print-letter .resume-page {
  width: var(--resume-letter-w);
  min-height: var(--resume-letter-h);
}

@media print {
  .print-letter .resume-page {
    width: 100%;
  }
  @page {
    size: Letter;
  }
}