/* Advoke CV — Print: Multi-page resumes */

@media print {
  .resume--page-2,
  .resume--page-3,
  .resume--multipage {
    height: auto !important;
    min-height: 0 !important;
    page-break-before: always;
    break-before: page;
    padding-top: var(--resume-padding-y);
  }

  .resume--page-1 {
    page-break-before: avoid;
    break-before: avoid;
    page-break-after: always;
    break-after: page;
  }

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

  .resume-page-number {
    position: absolute;
    bottom: 8mm;
    right: var(--resume-padding-x);
    font-size: 8pt;
    color: var(--resume-muted);
    font-weight: 500;
  }

  .resume-page-number::after {
    content: "Page " attr(data-page) " of " attr(data-total);
  }

  .resume-footer {
    position: absolute;
    bottom: 6mm;
    left: var(--resume-padding-x);
    right: var(--resume-padding-x);
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 7.5pt;
    color: var(--resume-muted);
    padding-top: 3mm;
    border-top: 1px solid var(--resume-rule);
    page-break-after: avoid;
    break-after: avoid;
  }

  .resume-footer__name {
    font-weight: 600;
    color: var(--resume-ink-soft);
  }

  .resume-footer__page {
    font-variant-numeric: tabular-nums;
    font-weight: 500;
  }

  .resume-continued {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 8.5pt;
    font-weight: 600;
    color: var(--resume-muted);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 2mm 0;
    margin-bottom: 3mm;
    border-bottom: 1px solid var(--resume-rule);
    page-break-after: avoid;
    break-after: avoid;
  }

  .resume-continued::before {
    content: "↻";
    color: var(--resume-accent);
    font-size: 10pt;
  }

  .resume-section--no-split {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .resume-section--can-split {
    break-inside: auto;
    page-break-inside: auto;
  }

  .resume-section--can-split .resume-section__body {
    break-inside: auto;
    page-break-inside: auto;
  }

  .resume-section--can-split .resume-entry {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .resume--side-by-side {
    display: block !important;
    page-break-before: always;
    break-before: page;
  }

  .resume--side-by-side:first-child {
    page-break-before: avoid;
    break-before: avoid;
  }

  .resume--page-break-preview {
    position: relative;
    padding-bottom: 12mm;
  }

  .resume--page-break-preview::after {
    content: "";
    position: absolute;
    left: -3mm;
    right: -3mm;
    bottom: 8mm;
    height: 0;
    border-top: 1px dashed #F5B800;
    pointer-events: none;
  }

  .resume--page-break-preview::before {
    content: "PAGE BREAK";
    position: absolute;
    bottom: 6mm;
    right: 0;
    font-size: 6pt;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #B37F00;
    pointer-events: none;
  }

  .resume-page-wrapper {
    page-break-inside: avoid;
    break-inside: avoid;
    position: relative;
  }

  .resume-page-wrapper + .resume-page-wrapper {
    page-break-before: always;
    break-before: page;
  }

  .resume--auto-paginate {
    display: block;
    width: 100%;
    height: auto;
  }

  .resume--auto-paginate .resume-body,
  .resume--auto-paginate .resume-main,
  .resume--auto-paginate .resume-sidebar {
    height: auto;
    min-height: auto;
    display: block;
  }

  .resume--auto-paginate .resume-sidebar {
    border-left: none;
    border-right: none;
    border-top: 1px solid var(--resume-rule);
    border-bottom: 1px solid var(--resume-rule);
    padding-block: 4mm;
  }

  .resume--two-page .resume-header {
    page-break-after: avoid;
    break-after: avoid;
  }

  .resume--two-page .resume-section-heading:first-of-type {
    page-break-before: avoid;
    break-before: avoid;
  }

  .resume-spacer-page {
    display: none;
  }

  .resume--no-trailing-page::after {
    display: none !important;
  }

  .resume-last-section {
    page-break-after: auto !important;
    break-after: auto !important;
  }

  .resume-last-entry {
    page-break-after: auto !important;
    break-after: auto !important;
  }
}

@media screen {
  .print-preview-paginated {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 24px;
    background-color: var(--ink-100);
  }

  .print-preview-paginated .resume {
    box-shadow:
      0 1px 3px rgba(15, 23, 42, 0.08),
      0 8px 24px rgba(15, 23, 42, 0.1);
  }

  .print-preview-paginated .resume-continued {
    display: none;
  }

  .print-preview-paginated .resume-footer {
    display: none;
  }
}