/* ── Print Stylesheet Engine: ATS Resume & Document Export (A4 Optimized) ── */

@page {
  size: A4 portrait;
  margin: 14mm 16mm 14mm 16mm;
}

@media print {
  /* Global print baseline */
  *,
  *::before,
  *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    text-shadow: none !important;
  }

  html,
  body {
    background: #ffffff !important;
    color: #111111 !important;
    font-size: 10pt !important;
    line-height: 1.45 !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }

  html::before,
  html::after,
  body::before,
  body::after {
    display: none !important;
    content: none !important;
    background: none !important;
  }

  /* Universal chrome and UI elements to hide on all prints */
  .nav,
  .nav-header,
  .nav-drawer-backdrop,
  .nav-drawer,
  .cursor,
  .cursor-dot,
  .cursor-ring,
  .cursor-trail-particle,
  .ambient-glow,
  .glow-orb,
  .hero-glow,
  .grain-overlay,
  .back-top,
  .back-to-top,
  .scroll-pct,
  .scroll-progress-bar,
  .cmdk-modal,
  .lb-modal,
  .keymap-modal,
  .tour-tooltip,
  .tour-overlay,
  .terminal-drawer,
  .audio-btn,
  .color-picker-wrap,
  .color-picker-popover,
  .access-modal-overlay:not(.resume-modal-overlay),
  #bg-canvas,
  footer {
    display: none !important;
  }

  /* ── Mode 1: ATS Resume Generator Printing ── */
  /* Remove all other page children from layout flow to prevent trailing blank pages */
  body:has(.resume-modal-overlay.open) > *:not(.resume-modal-overlay),
  body.printing-resume > *:not(.resume-modal-overlay) {
    display: none !important;
  }

  body:has(.resume-modal-overlay.open) .resume-modal-overlay,
  body.printing-resume .resume-modal-overlay,
  .resume-modal-overlay.open {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    overflow: visible !important;
  }

  .resume-modal-overlay.open .resume-modal-card,
  body.printing-resume .resume-modal-card {
    position: static !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    transform: none !important;
    overflow: visible !important;
  }

  .resume-modal-header,
  .resume-role-selector,
  .resume-modal-footer,
  .resume-floating-copy-btn {
    display: none !important;
  }

  .resume-preview-body {
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    height: auto !important;
    max-height: none !important;
    display: block !important;
  }

  .resume-preview-sheet {
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    background: transparent !important;
    color: #111111 !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    font-size: 10pt !important;
    line-height: 1.45 !important;
  }

  .resume-sheet-head {
    display: flex !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 10pt !important;
    border-bottom: 2pt solid #111111 !important;
    padding-bottom: 6pt !important;
    margin-bottom: 10pt !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .resume-sheet-head-left {
    flex: 1 !important;
  }

  .resume-sheet-photo {
    width: 68pt !important;
    height: 68pt !important;
    border-radius: 50% !important;
    object-fit: cover !important;
    border: 1pt solid #999 !important;
    flex-shrink: 0 !important;
  }

  .resume-sheet-name {
    font-size: 20pt !important;
    font-weight: 700 !important;
    color: #000000 !important;
    letter-spacing: -0.02em !important;
    line-height: 1.15 !important;
    margin-bottom: 3pt !important;
  }

  .resume-sheet-subtitle {
    font-size: 10.5pt !important;
    color: #222222 !important;
    font-weight: 600 !important;
    margin-top: 0 !important;
    margin-bottom: 3pt !important;
    line-height: 1.3 !important;
  }

  .resume-sheet-contact {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.6rem !important;
    font-size: 9pt !important;
    color: #333333 !important;
    margin-top: 3pt !important;
    font-family: var(--mono), monospace !important;
    line-height: 1.35 !important;
  }

  .resume-sheet-contact a {
    color: #111111 !important;
    text-decoration: underline !important;
  }

  .resume-sheet-section {
    margin-bottom: 11pt !important;
    break-inside: auto;
    page-break-inside: auto;
  }

  .resume-sheet-sec-title {
    font-size: 10.5pt !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.06em !important;
    color: #000000 !important;
    border-bottom: 1pt solid #222222 !important;
    padding-bottom: 2pt !important;
    margin-top: 3pt !important;
    margin-bottom: 6pt !important;
    break-after: avoid;
    page-break-after: avoid;
  }

  .resume-sheet-summary-text,
  .resume-sheet-section p {
    font-size: 9.5pt !important;
    line-height: 1.45 !important;
    color: #222222 !important;
    margin: 0 !important;
    margin-bottom: 4pt !important;
  }

  .resume-item-row {
    margin-bottom: 7pt !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .resume-item-row:last-child {
    margin-bottom: 0 !important;
  }

  .resume-item-header {
    display: flex !important;
    justify-content: space-between !important;
    font-size: 10pt !important;
    font-weight: 700 !important;
    color: #111111 !important;
    line-height: 1.35 !important;
  }

  .resume-item-sub {
    font-size: 9pt !important;
    color: #333333 !important;
    font-style: italic !important;
    margin-top: 1pt !important;
    margin-bottom: 3pt !important;
    line-height: 1.35 !important;
  }

  .resume-bullet-list {
    padding-left: 14pt !important;
    margin-top: 2.5pt !important;
    margin-bottom: 0 !important;
    font-size: 9.2pt !important;
    line-height: 1.4 !important;
    color: #222222 !important;
  }

  .resume-bullet-list li {
    margin-bottom: 2.5pt !important;
  }

  /* ── Mode 2: Standard Portfolio Pages Printing ── */
  .project-card,
  .achievement-item,
  .exp-card,
  .exp-item {
    break-inside: avoid;
    page-break-inside: avoid;
    border: 1px solid #dddddd !important;
    box-shadow: none !important;
    background: #ffffff !important;
    color: #111111 !important;
  }

  a {
    color: #111111 !important;
    text-decoration: underline !important;
  }
}
