/* ============================================================
   ATÖLYE CV — CV Belgesi Stilleri (ATS uyumlu, A4)
   Ekranda: .cv-doc kenar boşluklarını padding ile taklit eder.
   Yazdırmada: @page margin kullanılır, padding kaldırılır.
   ============================================================ */

.cv-doc {
  --accent: #1f3a5f;
  --cv-fs: 10.5pt;
  --cv-text: #1d2126;
  --cv-muted: #4b5563;
  --cv-line: #d7dade;

  width: 210mm;
  min-height: 297mm;
  padding: 13mm 15mm;
  background: #ffffff;
  color: var(--cv-text);
  font-family: Arial, Helvetica, sans-serif;
  font-size: var(--cv-fs);
  line-height: 1.42;
  word-break: break-word;
}

.cv-doc.font-arial   { font-family: Arial, Helvetica, sans-serif; }
.cv-doc.font-calibri { font-family: Calibri, "Segoe UI", Arial, sans-serif; }
.cv-doc.font-georgia { font-family: Georgia, "Times New Roman", serif; }

.cv-doc a { color: var(--cv-text); text-decoration: none; }

/* ---------------- Başlık (Kişisel Bilgiler) ---------------- */

.cv-header { display: flex; gap: 8mm; align-items: flex-start; margin-bottom: 5mm; }
.cv-header-main { flex: 1; min-width: 0; }

.cv-name {
  font-size: 21pt;
  font-weight: bold;
  letter-spacing: 0.02em;
  color: var(--accent);
  line-height: 1.15;
}
.cv-name.placeholder { color: #b3b8bf; }

.cv-title {
  font-size: 11.5pt;
  font-weight: 600;
  color: var(--cv-muted);
  margin-top: 1mm;
}

.cv-contact {
  margin-top: 2.2mm;
  font-size: 9pt;
  color: var(--cv-muted);
  line-height: 1.6;
}
.cv-contact .sep { margin: 0 1.6mm; color: #b3b8bf; }

.cv-photo {
  width: 27mm;
  height: 27mm;
  object-fit: cover;
  border-radius: 1.5mm;
  flex: 0 0 auto;
}

/* Klasik şablon: ortalanmış başlık, ince çizgi */
.cv-doc.tpl-klasik .cv-header { border-bottom: 0.6pt solid var(--cv-line); padding-bottom: 4mm; }
.cv-doc.tpl-klasik .cv-header-main { text-align: center; }

/* Modern şablon: sola dayalı, vurgu çizgisi */
.cv-doc.tpl-modern .cv-header { border-bottom: 2.2pt solid var(--accent); padding-bottom: 4mm; }

/* ---------------- Bölümler ---------------- */

.cv-section { margin-bottom: 4.6mm; }

.cv-h2 {
  font-size: 10.5pt;
  font-weight: bold;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
  border-bottom: 0.6pt solid var(--cv-line);
  padding-bottom: 1.2mm;
  margin-bottom: 2.6mm;
}

.cv-doc.tpl-modern .cv-h2 { border-bottom-color: var(--accent); }

.cv-p { margin-bottom: 1.5mm; }

/* ---------------- Deneyim / Eğitim / Proje öğeleri ---------------- */

.cv-item { margin-bottom: 3.4mm; }
.cv-item:last-child { margin-bottom: 0; }

.cv-item-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 6mm;
}

.cv-item-main { min-width: 0; }

.cv-item-pos { font-weight: bold; font-size: calc(var(--cv-fs) + 0.5pt); }
.cv-item-org { color: var(--cv-muted); }
.cv-item-org::before { content: " — "; color: #b3b8bf; }

.cv-item-side {
  text-align: right;
  font-size: 9pt;
  color: var(--cv-muted);
  white-space: nowrap;
  flex: 0 0 auto;
  line-height: 1.5;
}

.cv-bullets { margin: 1.4mm 0 0 4.5mm; }
.cv-bullets li { margin-bottom: 0.9mm; padding-left: 0.5mm; }
.cv-bullets li:last-child { margin-bottom: 0; }

.cv-item-meta { font-size: 9.2pt; color: var(--cv-muted); margin-top: 0.8mm; }
.cv-item-meta b { color: var(--cv-text); font-weight: 600; }

.cv-item-desc { margin-top: 1mm; }

.cv-links { font-size: 9.2pt; color: var(--cv-muted); margin-top: 0.8mm; }

/* ---------------- Yetenekler ---------------- */

.cv-skill-line { margin-bottom: 1.3mm; }
.cv-skill-line:last-child { margin-bottom: 0; }
.cv-skill-line b { font-weight: bold; }

/* ---------------- Diller / Sertifikalar ---------------- */

.cv-inline-list { line-height: 1.7; }
.cv-inline-list .sep { margin: 0 1.6mm; color: #b3b8bf; }

.cv-cert-row {
  display: flex;
  justify-content: space-between;
  gap: 6mm;
  margin-bottom: 1.3mm;
}
.cv-cert-row:last-child { margin-bottom: 0; }
.cv-cert-name b { font-weight: bold; }
.cv-cert-name span { color: var(--cv-muted); }
.cv-cert-date { font-size: 9pt; color: var(--cv-muted); white-space: nowrap; }

/* ============================================================
   ÖN YAZI (COVER LETTER)
   ============================================================ */

.cover-doc {
  padding: 20mm 22mm !important;
  line-height: 1.55;
  font-family: Calibri, "Segoe UI", Arial, sans-serif;
}
.cv-doc.font-arial   .cover-doc { font-family: Arial, Helvetica, sans-serif; }
.cv-doc.font-georgia .cover-doc { font-family: Georgia, "Times New Roman", serif; }

.cover-sender {
  text-align: right;
  font-size: 9pt;
  color: var(--cv-muted);
  margin-bottom: 5mm;
  line-height: 1.5;
}
.cover-date { font-size: 9pt; color: var(--cv-muted); margin-bottom: 5mm; }
.cover-recipient { margin-bottom: 5mm; line-height: 1.5; }
.cover-subject { margin-bottom: 5mm; color: var(--accent); font-weight: bold; }
.cover-subject b { color: var(--accent); }
.cover-salute { margin-bottom: 3.5mm; }
.cover-para {
  margin: 0 0 3.5mm;
  text-align: justify;
}
.cover-signoff { margin: 5mm 0 8mm; }
.cover-signature { font-weight: bold; }

/* ---------------- Boş durum ---------------- */

.cv-empty-note {
  text-align: center;
  color: #9aa0a8;
  font-size: 10pt;
  padding: 10mm 0 6mm;
  line-height: 1.7;
}

/* ============================================================
   YAZDIRMA
   @page margin: 0 → tarayıcı, URL / tarih / sayfa başlığı gibi
   üst-alt bilgileri basacak kenar boşluğu bulamaz; PDF temiz çıkar.
   Dikey kenar boşlukları her sayfada tekrarlayan thead/tfoot
   hücreleriyle (13mm), yatay boşluklar padding ile sağlanır.
   ============================================================ */

@page { size: A4; margin: 0; }

@media print {
  .print-table { width: 100%; border-collapse: collapse; }
  .print-table td { padding: 0; vertical-align: top; }
  .print-table thead { display: table-header-group; }
  .print-table tfoot { display: table-footer-group; }
  .print-mt { height: 13mm; }
  .print-mb { height: 13mm; }

  .print-area .cv-doc {
    width: auto;
    min-height: 0;
    padding: 0 15mm;
    box-shadow: none;
    border-radius: 0;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .cv-item, .cv-cert-row, .cv-skill-line { break-inside: avoid; }
  .cv-h2 { break-after: avoid; }
  .cv-header { break-inside: avoid; }
}
