/* Print-ready résumé view (/cv, /en/cv). Screen: an A4-like sheet. Print: clean black-on-white. */

.cv-main { padding-block: 28px 64px; }
.cv-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 22px; }
.cv-toolbar__actions { display: flex; flex-wrap: wrap; gap: 10px; }

.cv-sheet {
  max-width: 940px;
  padding: clamp(24px, 5vw, 56px);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: var(--bg-surface-strong);
  box-shadow: var(--shadow-pop);
  font-size: 0.96rem;
  line-height: 1.85;
}
:root[lang='en'] .cv-sheet { line-height: 1.6; }

.cv-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  padding-bottom: 24px;
  margin-bottom: 8px;
  border-bottom: 2px solid var(--accent-blue);
}
.cv-head__logo { display: block; height: 34px; margin-bottom: 18px; }
.cv-head__name { font-size: clamp(1.8rem, 1.4rem + 1.6vw, 2.5rem); font-weight: 900; line-height: 1.2; }
:root[lang='en'] .cv-head__name { font-weight: 700; letter-spacing: -0.03em; }
.cv-head__role { margin: 6px 0 0; color: var(--text-muted); font-weight: 600; }
.cv-contact { display: grid; gap: 4px; list-style: none; font-size: 0.86rem; }
.cv-contact li { display: flex; align-items: center; gap: 8px; }
.cv-contact .icon { color: var(--accent-blue); }
.cv-contact a:hover { color: var(--accent-blue); }

.cv-block { padding-top: 22px; break-inside: avoid-page; }
.cv-h {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: var(--accent-blue);
  font-size: 1.05rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
:root[lang='fa'] .cv-h { letter-spacing: 0; }
.cv-h::after { content: ''; flex: 1; height: 1px; background: var(--border-subtle); }
.cv-block p { margin: 0 0 8px; color: var(--text-secondary); }
.cv-lead { color: var(--text-primary) !important; font-weight: 600; }

.cv-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 12px; list-style: none; }
.cv-stats li { padding: 10px 12px; border: 1px solid var(--border-soft); border-radius: 12px; background: var(--bg-inset); }
.cv-stats strong { display: block; font-family: var(--font-display-num); font-size: 1.2rem; line-height: 1.3; }
.cv-stats span { display: block; color: var(--text-muted); font-size: 0.78rem; line-height: 1.5; }

.cv-exp, .cv-project { padding: 10px 0; border-bottom: 1px dashed var(--border-soft); break-inside: avoid; }
.cv-exp:last-child, .cv-project:last-child { border-bottom: 0; }
.cv-exp__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; }
.cv-exp__head h3, .cv-pillar h3, .cv-skill h3 { font-size: 1rem; font-weight: 800; line-height: 1.6; }
.cv-exp__period, .cv-project__status { color: var(--accent-gold-text); font-family: var(--font-display-num); font-size: 0.85rem; font-weight: 700; white-space: nowrap; }
.cv-exp__org { color: var(--text-muted) !important; font-weight: 600; font-size: 0.9rem; }
.cv-exp ul { margin: 4px 0 0; padding-inline-start: 1.2em; color: var(--text-secondary); }
.cv-exp li + li { margin-top: 2px; }
.cv-pillars, .cv-skills { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cv-pillar, .cv-skill { padding: 12px 14px; border: 1px solid var(--border-soft); border-radius: 12px; break-inside: avoid; }
.cv-pillar__role { color: var(--accent-gold-text) !important; font-weight: 600; font-size: 0.85rem; }
.cv-pillar__stats, .cv-skill p { font-size: 0.85rem; }
.cv-project__meta { color: var(--text-muted) !important; font-size: 0.82rem; font-family: var(--font-mono); }
.cv-partners { display: grid; gap: 6px; padding-inline-start: 1.2em; color: var(--text-secondary); }

@media (max-width: 760px) {
  .cv-head { grid-template-columns: 1fr; }
  .cv-pillars, .cv-skills { grid-template-columns: 1fr; }
  .cv-stats { grid-template-columns: repeat(2, 1fr); }
}

@page { size: A4; margin: 14mm 12mm; }

@media print {
  :root, :root[data-theme='dark'], :root[data-theme='light'] {
    --bg-primary: #fff; --bg-surface-strong: #fff; --bg-inset: #F8FAFC;
    --text-primary: #0F172A; --text-secondary: #1E293B; --text-muted: #475569;
    --border-subtle: #CBD5E1; --border-soft: #E2E8F0;
    --accent-blue: #1D4ED8; --accent-gold: #B45309;
    --logo-ink: #0F172A; --mark-ink: #0F172A; --mark-outline: #fff;
  }
  html, body { background: #fff !important; color: #0F172A; font-size: 10.5pt; }
  .site-header, .site-footer, .cv-toolbar, .page-backdrop, .to-top, .toast, .skip-link, .reading-progress { display: none !important; }
  .cv-main { padding: 0; }
  .cv-sheet { max-width: none; padding: 0; border: 0; box-shadow: none; border-radius: 0; background: #fff; }
  .cv-block { padding-top: 12px; }
  a { color: inherit; text-decoration: none; }
  .brand__img--dark { display: none !important; }
  .brand__img--light { display: block !important; }
  .logo--full { --logo-glow: none; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; animation: none !important; transition: none !important; }
}
