/* Advoke CV — Template System: Font, Scale, Spacing, Accent Presets
   These classes are applied by the JS template record loader so 60 templates
   share 14 engines but render distinctly via these preset variables. */

/* ── Font pairings ─────────────────────────────────────── */
.resume--font-sans {
  --resume-font-heading: var(--font-sans);
  --resume-font-body: var(--font-sans);
}

.resume--font-serif {
  --resume-font-heading: var(--font-serif);
  --resume-font-body: var(--font-serif);
}

.resume--font-serif-heading {
  --resume-font-heading: var(--font-serif);
  --resume-font-body: var(--font-sans);
}

.resume--font-mono-mix {
  --resume-font-heading: var(--font-mono);
  --resume-font-body: var(--font-sans);
}

.resume--font-humanist {
  --resume-font-heading: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --resume-font-body: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

/* ── Type scale presets ───────────────────────────────── */
.resume--scale-xs  { --resume-base-size: 9.6px; }
.resume--scale-sm  { --resume-base-size: 10.2px; }
.resume--scale-md  { --resume-base-size: 10.8px; }
.resume--scale-lg  { --resume-base-size: 11.4px; }
.resume--scale-xl  { --resume-base-size: 12px; }

.resume--lh-tight { --resume-line-height: 1.38; }
.resume--lh-normal { --resume-line-height: 1.45; }
.resume--lh-relaxed { --resume-line-height: 1.55; }

/* ── Spacing presets ──────────────────────────────────── */
.resume--space-compact {
  --resume-section-gap: 10px;
  --resume-entry-gap: 7px;
  --resume-line-gap: 3px;
}

.resume--space-normal {
  --resume-section-gap: 14px;
  --resume-entry-gap: 10px;
  --resume-line-gap: 4px;
}

.resume--space-airy {
  --resume-section-gap: 18px;
  --resume-entry-gap: 12px;
  --resume-line-gap: 5px;
}

/* ── Accent presets ───────────────────────────────────── */
.resume--accent-yellow {
  --resume-accent: #F5B800;
  --resume-accent-soft: #FFF4CC;
  --resume-accent-text: #0F172A;
}

.resume--accent-ink {
  --resume-accent: #0F172A;
  --resume-accent-soft: #E2E8F0;
  --resume-accent-text: #FFFFFF;
}

.resume--accent-ocean {
  --resume-accent: #0369A1;
  --resume-accent-soft: #E0F2FE;
  --resume-accent-text: #FFFFFF;
}

.resume--accent-forest {
  --resume-accent: #166534;
  --resume-accent-soft: #DCFCE7;
  --resume-accent-text: #FFFFFF;
}

.resume--accent-slate {
  --resume-accent: #475569;
  --resume-accent-soft: #F1F5F9;
  --resume-accent-text: #FFFFFF;
}

.resume--accent-burgundy {
  --resume-accent: #7F1D1D;
  --resume-accent-soft: #FEE2E2;
  --resume-accent-text: #FFFFFF;
}

.resume--accent-teal {
  --resume-accent: #0F766E;
  --resume-accent-soft: #CCFBF1;
  --resume-accent-text: #FFFFFF;
}

.resume--accent-plum {
  --resume-accent: #6D28D9;
  --resume-accent-soft: #EDE9FE;
  --resume-accent-text: #FFFFFF;
}

/* ── Heading case presets ─────────────────────────────── */
.resume--heading-uppercase .resume-section-heading {
  text-transform: uppercase;
}

.resume--heading-titlecase .resume-section-heading {
  text-transform: none;
  letter-spacing: 0.01em;
}

.resume--heading-smallcaps .resume-section-heading {
  text-transform: uppercase;
  font-variant-caps: all-small-caps;
  letter-spacing: 0.14em;
}

/* ── Padding presets ──────────────────────────────────── */
.resume--pad-narrow {
  --resume-padding-x: 32px;
  --resume-padding-y: 28px;
}

.resume--pad-normal {
  --resume-padding-x: 44px;
  --resume-padding-y: 40px;
}

.resume--pad-wide {
  --resume-padding-x: 52px;
  --resume-padding-y: 44px;
}

/* ── Container reset for two-column layouts ───────────── */
.resume--has-body {
  padding: 0;
}

.resume--has-body .resume-header {
  padding-left: var(--resume-padding-x);
  padding-right: var(--resume-padding-x);
}

/* ── ATS compound overrides ───────────────────────────── */
.resume--ats.resume--accent-yellow,
.resume--ats.resume--accent-ocean,
.resume--ats.resume--accent-forest,
.resume--ats.resume--accent-slate,
.resume--ats.resume--accent-burgundy,
.resume--ats.resume--accent-teal,
.resume--ats.resume--accent-plum {
  --resume-accent: #0F172A;
  --resume-accent-soft: #F1F5F9;
  --resume-accent-text: #FFFFFF;
}

/* ── Print overrides ──────────────────────────────────── */
@media print {
  .resume--accent-yellow { --resume-accent: #D99E00; }
  .resume--accent-ocean  { --resume-accent: #0369A1; }
  .resume--accent-forest { --resume-accent: #166534; }
  .resume--accent-teal   { --resume-accent: #0F766E; }
  .resume--accent-plum   { --resume-accent: #6D28D9; }
  .resume--accent-burgundy { --resume-accent: #7F1D1D; }
}