/* ===== Rich PDF Print Theme (A4) ===== */
@page {
  size: A4;
  margin: 16mm 14mm;
}

@media print {
  html,
  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    background: #fff !important;
    color: #222 !important;
    font-size: 11.5pt;
    line-height: 1.38;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Force light palette for print regardless of theme */
  :root,
  :root.theme-dark,
  :root.theme-matrix,
  :root.theme-cyberpunk,
  :root.theme-green,
  :root.theme-blue {
    background: #fff !important;
    color: #111 !important;
    --bg-color: #ffffff !important;
    --container-bg: #ffffff !important;
    --sidebar-bg: #f7f8fb !important;
    --sidebar-text: #111111 !important;
    --sidebar-heading: #111111 !important;
    --text-color: #111111 !important;
    --link-color: #0b59c2 !important;
    --accent-color: #005ea2 !important;
    --highlight-bg: #eef3fb !important;
    --border-color: #dcdfe6 !important;
    --photo-border: #c8d4e3 !important;
    --image-filter: none !important;
  }

  .theme-dark,
  .theme-matrix,
  .theme-cyberpunk,
  .theme-green,
  .theme-blue {
    background: #fff !important;
    color: #111 !important;
  }

  .print-btn {
    display: none !important;
  }
  .pdf-btn {
    display: none !important;
  }

  /* Two-column layout (forces white background in print) */
  .container {
    display: grid !important;
    grid-template-columns: 32% 68% !important;
    gap: 0 !important;
    background: #fff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    position: relative;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Sidebar styling */
  .sidebar {
    background: var(--sidebar-bg) !important;
    color: var(--sidebar-text) !important;
    padding: 16mm 8mm 12mm 6mm !important;
    border-right: 0 !important;
    width: auto !important;
    max-width: none !important;
    flex: none !important; /* Override flexbox */
    grid-column: 1;
    break-inside: avoid !important; /* Prevent sidebar content from breaking inside */
    page-break-inside: avoid !important; /* Avoid page breaks within the sidebar */
    word-wrap: break-word !important; /* Ensure long words wrap properly */
    box-sizing: border-box !important;
  }
  .sidebar h2,
  .sidebar h3 {
    color: var(--sidebar-heading) !important;
    break-after: avoid !important; /* Prevent headings from breaking */
  }
  .sidebar p {
    break-after: avoid !important; /* Prevent paragraphs from breaking */
  }
  .sidebar a {
    color: var(--link-color) !important;
    word-break: normal !important; /* Prevent email wrapping */
  }
  .photo {
    border-color: var(--photo-border) !important;
  }

  /* Main content */
  .content {
    color: #222 !important;
    padding: 4mm 2mm 12mm 4mm !important;
    width: auto !important;
    max-width: 100% !important;
    flex: none !important; /* Override flexbox */
    min-width: auto !important;
    grid-column: 2;
    box-sizing: border-box !important;
  }

  /* Headings */
  h1,
  h2,
  h3 {
    break-after: avoid;
    color: var(--accent-color) !important;
  }
  h1 {
    font-size: 20pt;
    margin: 0 0 8pt 0;
  }
  h2 {
    font-size: 14pt;
    margin: 14pt 0 6pt 0;
    border: 0 !important;
  }
  h3 {
    font-size: 12.5pt;
    margin: 10pt 0 4pt 0;
  }
  p,
  li {
    font-size: 11.5pt;
    overflow-wrap: break-word;
    -webkit-hyphens: auto;
    hyphens: auto;
  }

  /* Profile highlight block */
  .highlight {
    background: #eef4ff !important;
    border-left: 4px solid var(--accent-color) !important;
    padding: 8pt 6pt !important;
    box-shadow: none !important;
    margin-bottom: 6pt !important;
    break-after: avoid !important; /* Prevent break after Profile block */
    break-inside: avoid !important; /* Prevent break inside Profile block */
    page-break-inside: avoid !important; /* Legacy support */
  }

  .highlight p {
    margin: 0 0 6pt 0 !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .highlight p:last-child {
    margin-bottom: 0 !important;
  }

  /* Job entries */
  .job-entry {
    border-left: 3px solid var(--accent-color) !important;
    padding-left: 10pt !important;
    margin-bottom: 12pt !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  .job-entry h3 {
    break-after: avoid !important;
    page-break-after: avoid !important;
  }

  .job-meta {
    opacity: 0.95 !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    break-after: avoid !important;
    page-break-after: avoid !important;
    display: block !important;
  }

  .job-meta br {
    display: none !important;
  }

  .job-meta .location {
    display: inline !important;
  }

  .job-meta .location::before {
    content: ', ' !important;
  }

  .job-note {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
    break-after: avoid !important;
    page-break-after: avoid !important;
  }

  .job-entry li {
    margin-bottom: 4pt !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  /* Earlier Experience section */
  #earlier-experience {
    margin: 14pt 0 10pt 0 !important;
    padding: 0 !important;
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }

  #earlier-experience h2 {
    border-bottom: 1px solid var(--border-color) !important;
    padding-bottom: 4pt !important;
    margin-top: 0 !important;
  }

  #earlier-experience p {
    margin: 6pt 0 !important;
  }

  #earlier-experience ul {
    margin-top: 6pt !important;
    padding-left: 18pt !important;
  }

  /* Print header (if present) */
  .print-header {
    grid-column: 1 / -1;
    margin: 0 0 8pt 0;
    padding-bottom: 6pt;
    border-bottom: 1.5pt solid var(--border-color);
    position: relative;
    z-index: 2;
  }
  .print-tagline {
    color: #555 !important;
    font-size: 11pt;
  }

  /* Footer */
  .footer {
    margin-top: 10pt;
    padding-top: 6pt;
    border-top: 2px solid var(--accent-color);
    text-align: center !important;
  }
  .footer .footer-text {
    font-size: 8.5pt !important;
    color: #666 !important;
  }

  .print-only {
    display: inline !important;
    color: #fff !important;
    font-weight: 400 !important;
  }

  /* Hide URLs and UI elements */
  a[href^='http']::after {
    content: '' !important;
  }
  .style-selector,
  .print-hide {
    display: none !important;
  }

  /* Matrix theme print adjustments */
  :root.theme-matrix .content {
    background: var(--container-bg) !important;
    color: var(--text-color) !important;
  }
  :root.theme-matrix .highlight {
    background: var(--highlight-bg) !important;
  }

  /* Dark theme print adjustments */
  :root.theme-dark .content {
    background: var(--container-bg) !important;
    color: var(--text-color) !important;
  }
  :root.theme-dark .highlight {
    background: var(--highlight-bg) !important;
  }

  /* Cyberpunk theme print adjustments */
  :root.theme-cyberpunk .content {
    background: var(--container-bg) !important;
    color: var(--text-color) !important;
  }
  :root.theme-cyberpunk .highlight {
    background: var(--highlight-bg) !important;
  }

  :root.theme-green .highlight {
    background: var(--highlight-bg) !important;
  }

  h1,
  h2,
  h3 {
    break-after: avoid;
    break-inside: avoid;
  }
  .section,
  .job-entry,
  #highlights,
  .job-entry ul,
  .job-entry li {
    break-inside: avoid;
  }
}
