/* ============================================
   Default ATS — Classic ATS layout (reference design)
   Layout LTR shell · Arabic content RTL with bullets on the right
   B&W · Carlito/Calibri · Noto Kufi Arabic
   ============================================ */

.tmpl-default-ats,
.tmpl-ats {
  --color-bg: #FFFFFF;
  --color-primary: #000000;
  --color-secondary: #555555;
  --color-body: #222222;
  --color-divider: #000000;
  --color-contact: #333333;

  width: 100%;
  max-width: 794px;
  margin: 0;
  padding: 40px 56px;
  box-sizing: border-box;
  background: var(--color-bg);
  color: var(--color-body);
  font-size: 13px;
  line-height: 1.6;
  direction: ltr;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.tmpl-default-ats *,
.tmpl-ats * {
  text-shadow: none !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

/* English typography */
.tmpl-default-ats.cv-lang-en,
.tmpl-ats.cv-lang-en {
  font-family: "Carlito", "Calibri", "Inter", "Helvetica Neue", Arial, sans-serif;
}

/* Arabic: same layout, right-aligned Arabic text */
.tmpl-default-ats.cv-lang-ar,
.tmpl-ats.cv-lang-ar {
  font-family: "Noto Kufi Arabic", "Tajawal", sans-serif;
  font-size: 13px;
  line-height: 1.65;
}

/* ── Header (always centered) ── */
.tmpl-default-ats .ats-header,
.tmpl-ats .ats-header {
  text-align: center;
  margin-block-end: 4px;
}

.tmpl-default-ats h1,
.tmpl-ats h1 {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  text-align: center;
  color: var(--color-primary);
  line-height: 1.2;
}

.tmpl-default-ats.cv-lang-ar h1,
.tmpl-ats.cv-lang-ar h1 {
  font-size: 26px;
  direction: rtl;
}

.tmpl-default-ats .subtitle,
.tmpl-default-ats .ats-job-title,
.tmpl-ats .subtitle,
.tmpl-ats .ats-job-title {
  margin: 4px 0 0;
  font-size: 14px;
  color: var(--color-secondary);
  text-align: center;
  font-weight: 400;
  display: block;
  width: 100%;
  line-height: 1.5;
  min-height: 1.2em;
}

.tmpl-default-ats.cv-lang-ar .subtitle,
.tmpl-default-ats.cv-lang-ar .ats-job-title,
.tmpl-ats.cv-lang-ar .subtitle,
.tmpl-ats.cv-lang-ar .ats-job-title {
  direction: rtl;
  unicode-bidi: plaintext;
  text-align: center;
  letter-spacing: 0;
}

.tmpl-default-ats .contact-line,
.tmpl-ats .contact-line {
  margin: 6px 0 0;
  text-align: center;
  font-size: 13px;
  color: var(--color-contact);
  line-height: 1.5;
  direction: ltr;
}

.tmpl-default-ats .contact-item,
.tmpl-ats .contact-item {
  direction: ltr;
  unicode-bidi: embed;
}

.tmpl-default-ats .contact-sep,
.tmpl-ats .contact-sep {
  margin-inline: 6px;
  color: var(--color-contact);
}

/* ── Sections ── */
.tmpl-default-ats .ats-main,
.tmpl-ats .ats-main {
  display: block;
}

.tmpl-default-ats .ats-sec,
.tmpl-ats .ats-sec {
  display: block;
  margin-block-end: 0;
  break-inside: avoid;
  page-break-inside: avoid;
}

.tmpl-default-ats h2,
.tmpl-ats h2 {
  margin: 20px 0 10px;
  padding-block-end: 4px;
  border-block-end: 1.5px solid var(--color-divider);
  font-size: 14px;
  font-weight: 700;
  color: var(--color-primary);
  text-align: left;
  break-after: avoid;
  page-break-after: avoid;
}

.tmpl-default-ats.cv-lang-en h2,
.tmpl-ats.cv-lang-en h2 {
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.tmpl-default-ats p,
.tmpl-ats p {
  margin: 0 0 8px;
  color: var(--color-body);
  text-align: left;
}

.tmpl-default-ats strong,
.tmpl-ats strong {
  font-weight: 700;
  color: var(--color-primary);
}

.tmpl-default-ats .ltr-inline,
.tmpl-ats .ltr-inline {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline;
}

.tmpl-default-ats .ar-isolate,
.tmpl-ats .ar-isolate {
  direction: rtl;
  unicode-bidi: isolate;
  display: inline;
}

.tmpl-default-ats .job-entry,
.tmpl-ats .job-entry {
  display: block;
  margin-block-end: 12px;
  break-inside: avoid;
  page-break-inside: avoid;
}

.tmpl-default-ats .job-entry:last-child,
.tmpl-ats .job-entry:last-child {
  margin-block-end: 0;
}

.tmpl-default-ats .job-meta,
.tmpl-ats .job-meta {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
}

.tmpl-default-ats .job-title,
.tmpl-ats .job-title {
  font-weight: 700;
  font-size: 13.5px;
  color: var(--color-primary);
  text-align: left;
  flex: 1;
}

.tmpl-default-ats .job-date,
.tmpl-ats .job-date {
  font-size: 12.5px;
  color: var(--color-secondary);
  text-align: right;
  white-space: nowrap;
  flex-shrink: 0;
}

.tmpl-default-ats .job-date.job-date-range,
.tmpl-ats .job-date.job-date-range {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0;
  direction: ltr;
  unicode-bidi: isolate;
}

.tmpl-default-ats .job-date-range .date-sep,
.tmpl-ats .job-date-range .date-sep {
  padding: 0 0.15em;
  white-space: pre;
  direction: ltr;
  unicode-bidi: isolate;
}

.tmpl-default-ats .job-date-range .date-start,
.tmpl-default-ats .job-date-range .date-end,
.tmpl-ats .job-date-range .date-start,
.tmpl-ats .job-date-range .date-end {
  direction: ltr;
  unicode-bidi: isolate;
}

.tmpl-default-ats .job-company,
.tmpl-ats .job-company {
  font-style: italic;
  font-size: 12.5px;
  color: var(--color-secondary);
  margin-block-end: 6px;
  text-align: left;
}

.tmpl-default-ats .edu-institution,
.tmpl-ats .edu-institution {
  font-style: normal;
  font-size: 12.5px;
  color: var(--color-body);
  margin-block-end: 6px;
  text-align: left;
}

/* Arabic: mirror layout — bullets right, dates left, text RTL */
.tmpl-default-ats.cv-lang-ar .ats-main,
.tmpl-ats.cv-lang-ar .ats-main {
  direction: rtl;
}

.tmpl-default-ats.cv-lang-ar h2,
.tmpl-ats.cv-lang-ar h2 {
  text-align: right;
  direction: rtl;
  text-transform: none;
  letter-spacing: 0;
}

.tmpl-default-ats.cv-lang-ar .ats-main p,
.tmpl-ats.cv-lang-ar .ats-main p {
  text-align: right;
  direction: rtl;
}

.tmpl-default-ats.cv-lang-ar .job-meta,
.tmpl-ats.cv-lang-ar .job-meta {
  flex-direction: row;
  direction: rtl;
}

.tmpl-default-ats.cv-lang-ar .job-title,
.tmpl-ats.cv-lang-ar .job-title {
  font-size: 13px;
  text-align: right;
  direction: rtl;
}

.tmpl-default-ats.cv-lang-ar .job-date:not(.job-date-range),
.tmpl-ats.cv-lang-ar .job-date:not(.job-date-range) {
  font-size: 12px;
  text-align: left;
  direction: ltr;
  unicode-bidi: plaintext;
}

.tmpl-default-ats.cv-lang-ar .job-date.job-date-range,
.tmpl-ats.cv-lang-ar .job-date.job-date-range {
  font-size: 12px;
  text-align: left;
  direction: ltr;
  unicode-bidi: isolate;
}

.tmpl-default-ats.cv-lang-ar .job-date-range-ar,
.tmpl-ats.cv-lang-ar .job-date-range-ar {
  /* Physical: start (left) · end (right) — Arabic reads end first (RTL) */
  flex-direction: row;
  direction: ltr;
}

.tmpl-default-ats.cv-lang-ar .grad-date-ar,
.tmpl-ats.cv-lang-ar .grad-date-ar {
  direction: rtl;
  unicode-bidi: embed;
}

.tmpl-default-ats.cv-lang-ar .job-company,
.tmpl-ats.cv-lang-ar .job-company {
  font-style: normal;
  font-size: 12px;
  text-align: right;
  direction: rtl;
}

.tmpl-default-ats.cv-lang-ar .edu-institution,
.tmpl-ats.cv-lang-ar .edu-institution {
  font-size: 12px;
  text-align: right;
  direction: rtl;
}

/* Lists — English: native bullets left */
.tmpl-default-ats.cv-lang-en ul.ats-list,
.tmpl-ats.cv-lang-en ul.ats-list,
.tmpl-default-ats.cv-lang-en ul,
.tmpl-ats.cv-lang-en ul {
  padding-left: 18px;
  padding-right: 0;
  padding-inline-start: 18px;
  padding-inline-end: 0;
  margin: 6px 0;
  list-style-type: disc;
  list-style-position: outside;
}

.tmpl-default-ats.cv-lang-en li,
.tmpl-ats.cv-lang-en li,
.tmpl-default-ats li,
.tmpl-ats li {
  margin-block-end: 4px;
  color: var(--color-body);
  text-align: left;
  break-inside: avoid;
  page-break-inside: avoid;
}

/* Arabic: custom bullets on the RIGHT (native markers break under LTR shell) */
.tmpl-default-ats.cv-lang-ar ul.ats-list,
.tmpl-ats.cv-lang-ar ul.ats-list {
  list-style: none !important;
  list-style-type: none !important;
  padding: 0 !important;
  padding-inline-start: 0 !important;
  padding-inline-end: 0 !important;
  margin: 6px 0;
  direction: rtl;
}

.tmpl-default-ats.cv-lang-ar ul.ats-list > li,
.tmpl-ats.cv-lang-ar ul.ats-list > li {
  position: relative;
  display: block;
  list-style: none !important;
  padding-right: 1.15em;
  padding-left: 0;
  margin-block-end: 5px;
  text-align: right;
  direction: rtl;
  break-inside: avoid;
  page-break-inside: avoid;
}

.tmpl-default-ats.cv-lang-ar ul.ats-list > li::before,
.tmpl-ats.cv-lang-ar ul.ats-list > li::before {
  content: "\2022";
  position: absolute;
  right: 0;
  top: 0;
  color: var(--color-primary);
  font-weight: 700;
  line-height: inherit;
}

.tmpl-default-ats.cv-lang-ar li,
.tmpl-ats.cv-lang-ar li {
  text-align: right;
  direction: rtl;
}

.tmpl-default-ats li:last-child,
.tmpl-ats li:last-child {
  margin-block-end: 0;
}

/* Compact layout — multiple experiences on one ATS page (especially Arabic) */
.tmpl-default-ats.ats-compact,
.tmpl-ats.ats-compact {
  padding: 34px 48px;
}

.tmpl-default-ats.ats-compact.cv-lang-ar,
.tmpl-ats.ats-compact.cv-lang-ar {
  line-height: 1.58;
}

.tmpl-default-ats.ats-compact h2,
.tmpl-ats.ats-compact h2 {
  margin: 14px 0 7px;
  padding-block-end: 3px;
}

.tmpl-default-ats.ats-compact .job-entry,
.tmpl-ats.ats-compact .job-entry {
  margin-block-end: 8px;
}

.tmpl-default-ats.ats-compact.cv-lang-ar ul.ats-list > li,
.tmpl-ats.ats-compact.cv-lang-ar ul.ats-list > li {
  margin-block-end: 3px;
}

.tmpl-default-ats.ats-compact .ats-sec,
.tmpl-ats.ats-compact .ats-sec {
  margin-block-end: 0;
}

/* Extra density tiers — spacing hints only; fitTmplToA4 controls final font size */
.tmpl-default-ats.cv-density-dense .job-entry,
.tmpl-ats.cv-density-dense .job-entry {
  margin-block-end: 7px;
}

.tmpl-default-ats.cv-density-ultra .job-entry,
.tmpl-ats.cv-density-ultra .job-entry {
  margin-block-end: 6px;
}

/* ── Print ── */
@media print {
  .tmpl-default-ats,
  .tmpl-ats {
    width: 210mm !important;
    max-width: 210mm !important;
    margin: 0 !important;
    padding: 0.5in !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  .tmpl-default-ats section,
  .tmpl-ats section,
  .tmpl-default-ats .ats-sec,
  .tmpl-ats .ats-sec {
    page-break-inside: avoid;
  }

  .tmpl-default-ats .job-entry,
  .tmpl-ats .job-entry {
    page-break-inside: avoid;
  }

  .tmpl-default-ats h2,
  .tmpl-ats h2 {
    page-break-after: avoid;
  }

  .tmpl-default-ats .job-date.job-date-range,
  .tmpl-ats .job-date.job-date-range {
    direction: ltr !important;
    unicode-bidi: isolate !important;
  }

  .tmpl-default-ats ul,
  .tmpl-ats ul {
    page-break-inside: avoid;
  }
}

@media (max-width: 860px) {
  .tmpl-default-ats,
  .tmpl-ats {
    padding: 28px 24px;
  }

  .tmpl-default-ats h1,
  .tmpl-ats h1 {
    font-size: 26px;
  }
}
