/* CV paper — used for live preview and for the print-to-PDF window. Single column, real text = ATS-readable. */
.cvp { --acc: #E31B23; width: 210mm; min-height: 297mm; background: #fff; color: #1a1a1a; padding: 16mm 16mm 14mm; box-sizing: border-box;
  font-family: 'Zain', Arial, 'Segoe UI', Tahoma, sans-serif; font-size: 10.5pt; line-height: 1.5; text-align: start; }
.cvp * { box-sizing: border-box; }
.cvp[dir="rtl"] { font-size: 11pt; }
.cvp h1 { font-size: 22pt; margin: 0; line-height: 1.15; font-weight: 800; color: #111; }
.cvp .cv-title { font-size: 12pt; color: var(--acc); margin-top: 3px; font-weight: 700; }
.cvp .cv-contact { font-size: 9.5pt; color: #444; margin-top: 6px; }
.cvp .cv-contact bdi { white-space: nowrap; }
.cvp .cv-contact .sep { color: #aaa; white-space: pre; }
.cvp h2 { font-size: 11.5pt; text-transform: uppercase; letter-spacing: .6px; margin: 14px 0 6px; padding-bottom: 3px; border-bottom: 1.5px solid var(--acc); color: var(--acc); font-weight: 800; break-after: avoid; }
.cvp[dir="rtl"] h2 { letter-spacing: 0; }
.cvp .cv-item { margin-bottom: 8px; break-inside: avoid; }
.cvp .cv-row { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; }
.cvp .cv-row b { font-size: 10.8pt; color: #111; }
.cvp .cv-row .d { color: #666; font-size: 9.5pt; white-space: nowrap; }
.cvp .cv-sub { color: #444; font-style: italic; font-size: 10pt; }
.cvp ul { margin: 3px 0 0; padding-inline-start: 16px; }
.cvp li { margin: 1px 0; }
.cvp p { margin: 0; }
.cvp .cv-skills { display: block; }
.cvp .cv-skills span { display: inline; }
.cvp .cv-skills span + span::before { content: ' • '; color: var(--acc); }

/* classic: black & white, maximum ATS compatibility */
.cvp.t-classic { --acc: #111; }
.cvp.t-classic header { text-align: center; }
.cvp.t-classic .cv-title { color: #333; }

/* modern: accent left rule on header */
.cvp.t-modern header { border-inline-start: 5px solid var(--acc); padding-inline-start: 12px; }
.cvp.t-modern h2 { border-bottom: 0; background: #f4f4f5; padding: 4px 8px; border-inline-start: 3px solid var(--acc); }

/* redx: dark header band in brand colors (text stays real text) */
.cvp.t-redx { padding-top: 0; }
.cvp.t-redx header { background: #0A0A0A; color: #fff; margin: 0 -16mm 6px; padding: 12mm 16mm 9mm; border-bottom: 4px solid var(--acc); }
.cvp.t-redx header h1 { color: #fff; }
.cvp.t-redx header .cv-contact { color: #d4d4d8; }
.cvp.t-redx header .cv-contact .sep { color: var(--acc); }

@page { size: A4; margin: 14mm 0 12mm; }
@page :first { margin-top: 0; }
@media print {
  html, body { margin: 0; padding: 0; background: #fff; }
  .cvp { width: 210mm; min-height: auto; box-shadow: none !important; }
  .cvp.t-redx header { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .cvp.t-modern h2 { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
