/* ==========================================================================
   ResumeCrafted - All 25 Resume Template Styles
   ========================================================================== */

/* ── Shared Paper Base ───────────────────────────────────────────────── */
.resume-paper {
  box-sizing: border-box;
  width: 100%;
  min-height: 297mm;
  height: 100%;
  font-size: 9.5pt;
  line-height: 1.45;
  color: #1e293b;
  background-color: #ffffff;
  font-family: 'Inter', sans-serif;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* ── Shared Elements ─────────────────────────────────────────────────── */
.resume-name       { font-family: 'Outfit', sans-serif; font-size: 22pt; font-weight: 700; color: #0f172a; line-height: 1.1; overflow-wrap: anywhere; word-break: break-word; }
.resume-title      { font-size: 11pt; font-weight: 500; margin-top: 3pt; overflow-wrap: anywhere; word-break: break-word; }
.contact-bar       { display: flex; flex-wrap: wrap; gap: 10pt; font-size: 8pt; color: #64748b; margin-top: 5pt; }
.contact-item      { display: inline-flex; align-items: center; gap: 3pt; overflow-wrap: anywhere; word-break: break-word; }
.section-block     { margin-bottom: 14pt; overflow-wrap: anywhere; word-break: break-word; break-inside: avoid; page-break-inside: avoid; }
.summary-body      { overflow-wrap: anywhere; word-break: break-word; }
.resume-section-title {
  font-family: 'Outfit', sans-serif; font-size: 10pt; font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.8px;
  padding-bottom: 3pt; border-bottom: 1.5pt solid currentColor;
  margin-bottom: 7pt; color: #0f172a; break-after: avoid; page-break-after: avoid; break-inside: avoid; page-break-inside: avoid;
}
.timeline-item     { margin-bottom: 9pt; overflow-wrap: anywhere; word-break: break-word; break-inside: avoid; page-break-inside: avoid; }
.item-header       { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 4pt; }
.item-title        { font-weight: 700; font-size: 9.5pt; color: #0f172a; overflow-wrap: anywhere; word-break: break-word; }
.item-subtitle     { font-weight: 600; font-size: 9pt; overflow-wrap: anywhere; word-break: break-word; }
.item-dates        { font-size: 8pt; color: #64748b; font-weight: 500; white-space: nowrap; }
.item-bullets, .item-bullets-wrapper ul, .item-bullets-wrapper ol { margin-top: 4pt; padding-left: 14pt; overflow-wrap: anywhere; word-break: break-word; }
.item-bullets li, .item-bullets-wrapper li { margin-bottom: 2pt; color: #334155; }
.skills-grid       { display: flex; flex-wrap: wrap; gap: 5pt; }
.skill-pill-paper  { background: #f1f5f9; color: #334155; padding: 2pt 7pt; border-radius: 3pt; font-size: 8pt; font-weight: 500; border: 0.5pt solid #cbd5e1; overflow-wrap: anywhere; word-break: break-word; }

/* Profile photo shared */
.profile-photo-wrap { display: flex; align-items: center; justify-content: center; }
.profile-photo {
  width: 72pt; height: 72pt;
  border-radius: 50%;
  object-fit: cover;
  border: 2pt solid currentColor;
}
.profile-photo-placeholder {
  width: 72pt; height: 72pt;
  border-radius: 50%;
  background: rgba(255,255,255,0.2);
  border: 2pt dashed rgba(255,255,255,0.5);
  display: flex; align-items: center; justify-content: center;
  font-size: 20pt; color: rgba(255,255,255,0.6);
  user-select: none;
}
.profile-photo-placeholder.dark {
  background: rgba(0,0,0,0.06);
  border-color: rgba(0,0,0,0.2);
  color: rgba(0,0,0,0.3);
}

/* ── FREE #1 — Executive (2-column dark sidebar) ─────────────────────── */
.tpl-modern-executive {
  display: grid; grid-template-columns: 190pt 1fr; padding: 0; min-height: 297mm;
}
.tpl-modern-executive .exec-sidebar {
  background-color: #0f172a; color: #f8fafc; padding: 26pt 18pt;
}
.tpl-modern-executive .exec-sidebar .resume-name  { color: #fff; font-size: 18pt; }
.tpl-modern-executive .exec-sidebar .resume-title { color: #38bdf8; font-size: 10pt; }
.tpl-modern-executive .exec-sidebar .resume-section-title { color: #38bdf8; border-bottom-color: rgba(56,189,248,.3); font-size: 9pt; margin-top: 13pt; }
.tpl-modern-executive .exec-sidebar .contact-bar  { flex-direction: column; gap: 5pt; color: #cbd5e1; font-size: 8pt; }
.tpl-modern-executive .exec-sidebar .skill-pill-paper { background: rgba(255,255,255,.12); color: #f8fafc; border-color: rgba(255,255,255,.15); }
.tpl-modern-executive .exec-main { padding: 26pt 24pt; background: #fff; }

/* ── FREE #2 — Creative (Bold accent header) ─────────────────────────── */
.tpl-creative-spark { border-top: 7pt solid var(--paper-accent, #f43f5e); padding: 26pt 34pt; }
.tpl-creative-spark .resume-header { border-bottom: 1pt solid #e2e8f0; padding-bottom: 13pt; }
.tpl-creative-spark .resume-section-title {
  border-bottom: none; background: #f8fafc;
  padding: 3pt 7pt; border-left: 3pt solid var(--paper-accent, #f43f5e);
  border-radius: 0 3pt 3pt 0;
}

/* ── FREE #3 — Minimalist (ATS single column) ────────────────────────── */
.tpl-ats-minimalist { padding: 30pt 38pt; }
.tpl-ats-minimalist .resume-header { text-align: center; border-bottom: 1.5pt solid #0f172a; padding-bottom: 9pt; }
.tpl-ats-minimalist .contact-bar   { justify-content: center; }
.tpl-ats-minimalist .resume-section-title { border-bottom: 1pt solid #0f172a; color: #000; }

/* ── FREE #4 — Classic Pro (Traditional full-width) ─────────────────── */
.tpl-classic-pro { padding: 32pt 40pt; }
.tpl-classic-pro .resume-name  { font-size: 20pt; text-transform: uppercase; letter-spacing: 2px; }
.tpl-classic-pro .resume-title { color: #475569; }
.tpl-classic-pro .resume-section-title {
  border-bottom: 2pt solid #1e293b; color: #1e293b; font-size: 9pt;
}
.tpl-classic-pro .contact-bar { border-top: 0.5pt solid #cbd5e1; margin-top: 6pt; padding-top: 6pt; gap: 16pt; }

/* ── FREE #5 — Bold Modern (Gradient header) ─────────────────────────── */
.tpl-bold-modern { padding: 0; display: flex; flex-direction: column; min-height: 297mm; height: 100%; }
.tpl-bold-modern .bold-header {
  background: linear-gradient(135deg, #1e293b 0%, #334155 100%);
  padding: 28pt 34pt 22pt;
  color: #fff;
}
.tpl-bold-modern .bold-header .resume-name  { color: #fff; }
.tpl-bold-modern .bold-header .resume-title { color: #94a3b8; }
.tpl-bold-modern .bold-header .contact-bar  { color: #cbd5e1; margin-top: 8pt; }
.tpl-bold-modern .bold-body { padding: 22pt 34pt; flex: 1; }
.tpl-bold-modern .resume-section-title { color: var(--paper-accent, #2563eb); border-bottom-color: var(--paper-accent, #2563eb); }

/* ═══════════════════════════════════════════════════════════════════════
   PREMIUM TEMPLATES
   ═══════════════════════════════════════════════════════════════════════ */

/* ── PREMIUM #1 — Corporate Elite (dark header + photo) ─────────────── */
.tpl-corporate-elite { padding: 0; display: flex; flex-direction: column; min-height: 297mm; height: 100%; }
.tpl-corporate-elite .ce-header {
  background: #0f172a; color: #fff; padding: 22pt 30pt;
  display: flex; align-items: center; gap: 18pt;
}
.tpl-corporate-elite .ce-header .profile-photo { border-color: #38bdf8; width: 64pt; height: 64pt; }
.tpl-corporate-elite .ce-header .profile-photo-placeholder { width: 64pt; height: 64pt; border-color: rgba(56,189,248,.5); color: rgba(255,255,255,.5); }
.tpl-corporate-elite .ce-header .resume-name  { color: #fff; font-size: 20pt; }
.tpl-corporate-elite .ce-header .resume-title { color: #38bdf8; }
.tpl-corporate-elite .ce-header .contact-bar  { color: #94a3b8; }
.tpl-corporate-elite .ce-body {
  display: grid; grid-template-columns: 1fr 200pt;
  padding: 20pt 30pt; gap: 20pt; flex: 1; align-items: stretch;
}
.tpl-corporate-elite .ce-sidebar { border-left: 1pt solid #e2e8f0; padding-left: 18pt; }
.tpl-corporate-elite .resume-section-title { color: #1e40af; border-bottom-color: #1e40af; }

/* ── PREMIUM #2 — Portfolio Plus (left sidebar photo) ───────────────── */
.tpl-portfolio-plus {
  display: grid; grid-template-columns: 170pt 1fr; padding: 0; min-height: 297mm;
}
.tpl-portfolio-plus .pp-sidebar {
  background: linear-gradient(170deg, #1e293b 0%, #0f172a 100%);
  padding: 24pt 16pt; color: #f8fafc;
  display: flex; flex-direction: column; gap: 16pt;
}
.tpl-portfolio-plus .pp-sidebar .profile-photo-wrap { margin-bottom: 4pt; }
.tpl-portfolio-plus .pp-sidebar .profile-photo { border-color: #a78bfa; width: 80pt; height: 80pt; }
.tpl-portfolio-plus .pp-sidebar .profile-photo-placeholder { width: 80pt; height: 80pt; }
.tpl-portfolio-plus .pp-sidebar .resume-name  { color: #fff; font-size: 16pt; text-align: center; }
.tpl-portfolio-plus .pp-sidebar .resume-title { color: #a78bfa; font-size: 9pt; text-align: center; }
.tpl-portfolio-plus .pp-sidebar .resume-section-title { color: #a78bfa; border-bottom-color: rgba(167,139,250,.3); font-size: 8.5pt; }
.tpl-portfolio-plus .pp-sidebar .contact-bar  { flex-direction: column; gap: 4pt; font-size: 7.5pt; color: #cbd5e1; }
.tpl-portfolio-plus .pp-sidebar .skill-pill-paper { background: rgba(167,139,250,.15); color: #f8fafc; border-color: rgba(167,139,250,.2); }
.tpl-portfolio-plus .pp-main { padding: 24pt 22pt; }
.tpl-portfolio-plus .pp-main .resume-section-title { color: #7c3aed; border-bottom-color: #7c3aed; }

/* ── PREMIUM #3 — Elegant Script (serif, centered, photo) ────────────── */
.tpl-elegant-script { padding: 30pt 36pt; font-family: 'Playfair Display', Georgia, serif; }
.tpl-elegant-script .es-header { text-align: center; padding-bottom: 16pt; margin-bottom: 14pt; }
.tpl-elegant-script .profile-photo-wrap { justify-content: center; margin-bottom: 10pt; }
.tpl-elegant-script .profile-photo { width: 70pt; height: 70pt; border-color: #b45309; }
.tpl-elegant-script .profile-photo-placeholder { width: 70pt; height: 70pt; border-color: #d97706; color: #d97706; }
.tpl-elegant-script .profile-photo-placeholder.dark { background: #fef3c7; }
.tpl-elegant-script .resume-name  { font-family: 'Playfair Display', serif; font-size: 24pt; font-weight: 700; color: #1c1917; }
.tpl-elegant-script .resume-title { color: #b45309; font-style: italic; font-size: 11pt; }
.tpl-elegant-script .contact-bar  { justify-content: center; }
.tpl-elegant-script .resume-section-title {
  font-family: 'Playfair Display', serif; text-transform: none; font-style: italic;
  font-size: 12pt; letter-spacing: 0; border-bottom-color: #d97706; color: #1c1917;
}
.tpl-elegant-script .item-title   { font-family: 'Playfair Display', serif; }

/* ── PREMIUM #4 — Tech Stack (dark code-style) ───────────────────────── */
.tpl-tech-stack { padding: 0; background: #0f172a; color: #e2e8f0; min-height: 297mm; height: 100%; display: flex; flex-direction: column; }
.tpl-tech-stack .ts-header {
  border-bottom: 1pt solid #1e293b;
  padding: 24pt 28pt; background: #020617;
}
.tpl-tech-stack .resume-name  { color: #38bdf8; font-family: 'Courier New', monospace; font-size: 18pt; letter-spacing: -0.5px; }
.tpl-tech-stack .resume-name::before { content: '> '; color: #10b981; }
.tpl-tech-stack .resume-title { color: #64748b; font-family: monospace; }
.tpl-tech-stack .contact-bar  { color: #475569; font-family: monospace; }
.tpl-tech-stack .ts-body { display: grid; grid-template-columns: 1fr 200pt; gap: 0; flex: 1; align-items: stretch; }
.tpl-tech-stack .ts-main { padding: 20pt 24pt; }
.tpl-tech-stack .ts-sidebar { background: #020617; padding: 20pt 16pt; border-left: 1pt solid #1e293b; }
.tpl-tech-stack .resume-section-title { color: #10b981; border-bottom-color: #1e293b; font-family: monospace; }
.tpl-tech-stack .item-title   { color: #38bdf8; }
.tpl-tech-stack .item-subtitle { color: #a78bfa; }
.tpl-tech-stack .item-dates   { color: #475569; }
.tpl-tech-stack .item-bullets li { color: #94a3b8; }
.tpl-tech-stack .skill-pill-paper { background: #1e293b; color: #10b981; border-color: #10b981; font-family: monospace; font-size: 7.5pt; }

/* ── PREMIUM #5 — Creative Director (magazine-editorial, photo) ──────── */
.tpl-creative-director { padding: 0; }
.tpl-creative-director .cd-header {
  position: relative; overflow: hidden;
  background: linear-gradient(135deg, #f43f5e 0%, #ec4899 60%, #a855f7 100%);
  padding: 24pt 28pt; display: flex; align-items: center; gap: 16pt; color: #fff;
}
.tpl-creative-director .profile-photo { border-color: rgba(255,255,255,.8); width: 70pt; height: 70pt; }
.tpl-creative-director .profile-photo-placeholder { width: 70pt; height: 70pt; }
.tpl-creative-director .resume-name  { font-size: 20pt; color: #fff; }
.tpl-creative-director .resume-title { color: rgba(255,255,255,.8); }
.tpl-creative-director .contact-bar  { color: rgba(255,255,255,.7); }
.tpl-creative-director .cd-body { padding: 20pt 28pt; }
.tpl-creative-director .resume-section-title { color: #ec4899; border-bottom-color: #ec4899; }

/* ── PREMIUM #6 — Startup Founder (bold left accent bar) ─────────────── */
.tpl-startup-founder {
  display: grid; grid-template-columns: 6pt 1fr; padding: 0; min-height: 297mm;
}
.tpl-startup-founder .sf-bar { background: linear-gradient(180deg, #f59e0b 0%, #f43f5e 100%); }
.tpl-startup-founder .sf-body { padding: 28pt 32pt; }
.tpl-startup-founder .resume-name  { font-size: 22pt; }
.tpl-startup-founder .resume-title { color: #f59e0b; }
.tpl-startup-founder .resume-section-title { color: #f59e0b; border-bottom-color: #f59e0b; }
.tpl-startup-founder .item-subtitle { color: #f59e0b; }

/* ── PREMIUM #7 — Academic Scholar (classic, photo) ─────────────────── */
.tpl-academic-scholar { padding: 28pt 36pt; }
.tpl-academic-scholar .as-header { display: flex; gap: 16pt; align-items: flex-start; margin-bottom: 16pt; border-bottom: 2pt double #1e3a5f; padding-bottom: 14pt; }
.tpl-academic-scholar .profile-photo { border-color: #1e3a5f; border-radius: 4pt; width: 68pt; height: 68pt; }
.tpl-academic-scholar .profile-photo-placeholder { border-color: #1e3a5f; border-radius: 4pt; width: 68pt; height: 68pt; color: #1e3a5f; background: #eff6ff; }
.tpl-academic-scholar .resume-name  { font-size: 20pt; color: #1e3a5f; }
.tpl-academic-scholar .resume-title { color: #3b82f6; font-style: italic; }
.tpl-academic-scholar .resume-section-title { color: #1e3a5f; border-bottom-color: #1e3a5f; border-bottom-width: 2pt; }

/* ── PREMIUM #8 — Digital Nomad (clean modern card, photo) ──────────── */
.tpl-digital-nomad { padding: 0; }
.tpl-digital-nomad .dn-header {
  background: linear-gradient(135deg, #0ea5e9 0%, #06b6d4 100%);
  padding: 22pt 28pt; display: flex; align-items: center; gap: 16pt; color: #fff;
}
.tpl-digital-nomad .profile-photo { border-color: rgba(255,255,255,.9); width: 65pt; height: 65pt; }
.tpl-digital-nomad .profile-photo-placeholder { width: 65pt; height: 65pt; }
.tpl-digital-nomad .resume-name  { color: #fff; font-size: 20pt; }
.tpl-digital-nomad .resume-title { color: rgba(255,255,255,.85); }
.tpl-digital-nomad .contact-bar  { color: rgba(255,255,255,.7); }
.tpl-digital-nomad .dn-body { padding: 20pt 28pt; }
.tpl-digital-nomad .resume-section-title { color: #0ea5e9; border-bottom-color: #0ea5e9; }
.tpl-digital-nomad .item-subtitle { color: #0ea5e9; }

/* ── PREMIUM #9 — Executive Gold (gold accent 2-col) ─────────────────── */
.tpl-executive-gold { display: grid; grid-template-columns: 185pt 1fr; padding: 0; min-height: 297mm; }
.tpl-executive-gold .eg-sidebar { background: #1c1917; padding: 26pt 18pt; color: #fef3c7; }
.tpl-executive-gold .eg-sidebar .resume-name  { color: #fcd34d; font-size: 18pt; }
.tpl-executive-gold .eg-sidebar .resume-title { color: #d97706; font-size: 9.5pt; }
.tpl-executive-gold .eg-sidebar .resume-section-title { color: #fcd34d; border-bottom-color: rgba(252,211,77,.3); font-size: 9pt; margin-top: 13pt; }
.tpl-executive-gold .eg-sidebar .contact-bar  { flex-direction: column; gap: 5pt; color: #d6d3d1; font-size: 7.5pt; }
.tpl-executive-gold .eg-sidebar .skill-pill-paper { background: rgba(252,211,77,.12); color: #fef3c7; border-color: rgba(252,211,77,.25); }
.tpl-executive-gold .eg-main { padding: 26pt 24pt; }
.tpl-executive-gold .eg-main .resume-section-title { color: #b45309; border-bottom-color: #b45309; }

/* ── PREMIUM #10 — Healthcare Pro (clean mint sidebar) ──────────────── */
.tpl-healthcare-pro { display: grid; grid-template-columns: 175pt 1fr; padding: 0; min-height: 297mm; }
.tpl-healthcare-pro .hp-sidebar { background: #ecfdf5; border-right: 2pt solid #6ee7b7; padding: 26pt 16pt; }
.tpl-healthcare-pro .hp-sidebar .resume-name  { font-size: 17pt; color: #064e3b; }
.tpl-healthcare-pro .hp-sidebar .resume-title { color: #059669; }
.tpl-healthcare-pro .hp-sidebar .resume-section-title { color: #059669; border-bottom-color: #6ee7b7; font-size: 9pt; margin-top: 12pt; }
.tpl-healthcare-pro .hp-sidebar .contact-bar  { flex-direction: column; gap: 5pt; font-size: 7.5pt; color: #374151; }
.tpl-healthcare-pro .hp-sidebar .skill-pill-paper { background: #d1fae5; color: #065f46; border-color: #6ee7b7; }
.tpl-healthcare-pro .hp-main { padding: 26pt 22pt; }
.tpl-healthcare-pro .hp-main .resume-section-title { color: #047857; border-bottom-color: #6ee7b7; }

/* ── PREMIUM #11 — Finance Expert (conservative navy) ───────────────── */
.tpl-finance-expert { padding: 28pt 36pt; }
.tpl-finance-expert .fe-header { border-left: 5pt solid #1e3a5f; padding-left: 14pt; margin-bottom: 16pt; }
.tpl-finance-expert .resume-name  { font-size: 20pt; color: #1e3a5f; }
.tpl-finance-expert .resume-title { color: #2563eb; }
.tpl-finance-expert .contact-bar  { margin-top: 6pt; }
.tpl-finance-expert .resume-section-title { color: #1e3a5f; border-bottom-color: #1e3a5f; border-bottom-width: 2pt; }
.tpl-finance-expert .item-subtitle { color: #2563eb; }

/* ── PREMIUM #12 — Marketing Pro (colorful section bands) ───────────── */
.tpl-marketing-pro { padding: 0; }
.tpl-marketing-pro .mp-header { background: #ff6b6b; padding: 22pt 30pt; color: #fff; }
.tpl-marketing-pro .resume-name { color: #fff; }
.tpl-marketing-pro .resume-title { color: rgba(255,255,255,.85); }
.tpl-marketing-pro .contact-bar { color: rgba(255,255,255,.7); }
.tpl-marketing-pro .mp-body { padding: 20pt 30pt; }
.tpl-marketing-pro .resume-section-title { color: #ff6b6b; border-bottom-color: #ff6b6b; }
.tpl-marketing-pro .item-subtitle { color: #ff6b6b; }
.tpl-marketing-pro .skill-pill-paper { background: #fff5f5; border-color: #fca5a5; color: #991b1b; }

/* ── PREMIUM #13 — Nordic Clean (Scandinavian minimal, photo) ────────── */
.tpl-nordic-clean { padding: 28pt 36pt; background: #fafaf9; }
.tpl-nordic-clean .nc-header { display: flex; align-items: flex-start; gap: 18pt; margin-bottom: 18pt; padding-bottom: 14pt; border-bottom: 1.5pt solid #e7e5e4; }
.tpl-nordic-clean .profile-photo { border-radius: 4pt; border-color: #d6d3d1; width: 72pt; height: 72pt; }
.tpl-nordic-clean .profile-photo-placeholder { border-radius: 4pt; border-color: #d6d3d1; color: #a8a29e; background: #f5f5f4; width: 72pt; height: 72pt; }
.tpl-nordic-clean .resume-name  { font-size: 21pt; font-weight: 300; letter-spacing: -0.5px; color: #1c1917; }
.tpl-nordic-clean .resume-title { color: #78716c; font-weight: 400; }
.tpl-nordic-clean .resume-section-title { font-weight: 300; text-transform: uppercase; letter-spacing: 2px; font-size: 8pt; color: #78716c; border-bottom-color: #e7e5e4; }

/* ── PREMIUM #14 — Timeline Viz (visual timeline) ───────────────────── */
.tpl-timeline-viz { padding: 28pt 34pt; }
.tpl-timeline-viz .resume-name  { font-size: 22pt; color: #4f46e5; }
.tpl-timeline-viz .resume-title { color: #7c3aed; }
.tpl-timeline-viz .resume-section-title { color: #4f46e5; border-bottom-color: #4f46e5; }
.tpl-timeline-viz .timeline-item { padding-left: 16pt; border-left: 2pt solid #e0e7ff; position: relative; }
.tpl-timeline-viz .timeline-item::before {
  content: ''; position: absolute; left: -5pt; top: 3pt;
  width: 8pt; height: 8pt; background: #4f46e5; border-radius: 50%;
}
.tpl-timeline-viz .item-subtitle { color: #7c3aed; }

/* ── PREMIUM #15 — Gradient Pro (gradient header, photo) ─────────────── */
.tpl-gradient-pro { padding: 0; }
.tpl-gradient-pro .gp-header {
  background: linear-gradient(135deg, var(--paper-accent, #6366f1) 0%, #8b5cf6 50%, #ec4899 100%);
  padding: 24pt 30pt; display: flex; align-items: center; gap: 18pt; color: #fff;
}
.tpl-gradient-pro .profile-photo { border-color: rgba(255,255,255,.9); width: 70pt; height: 70pt; }
.tpl-gradient-pro .profile-photo-placeholder { width: 70pt; height: 70pt; }
.tpl-gradient-pro .resume-name  { color: #fff; font-size: 21pt; }
.tpl-gradient-pro .resume-title { color: rgba(255,255,255,.85); }
.tpl-gradient-pro .contact-bar  { color: rgba(255,255,255,.75); }
.tpl-gradient-pro .gp-body { padding: 22pt 30pt; }
.tpl-gradient-pro .resume-section-title { color: #6366f1; border-bottom-color: #6366f1; }
.tpl-gradient-pro .item-subtitle { color: #8b5cf6; }

/* ── PREMIUM #16 — Legal Brief (formal serif) ────────────────────────── */
.tpl-legal-brief { padding: 32pt 44pt; font-family: Georgia, 'Times New Roman', serif; }
.tpl-legal-brief .lb-header { text-align: center; border-bottom: 2pt solid #1e293b; padding-bottom: 12pt; margin-bottom: 14pt; }
.tpl-legal-brief .resume-name { font-size: 20pt; font-family: Georgia, serif; text-transform: uppercase; letter-spacing: 2px; color: #1e293b; }
.tpl-legal-brief .resume-title { color: #475569; font-style: italic; }
.tpl-legal-brief .contact-bar  { justify-content: center; }
.tpl-legal-brief .resume-section-title { font-family: Georgia, serif; text-transform: uppercase; letter-spacing: 1px; border-bottom-width: 1pt; }
.tpl-legal-brief .item-title { font-family: Georgia, serif; }

/* ── PREMIUM #17 — Creative Agency (bold asymmetric, photo) ─────────── */
.tpl-creative-agency { display: grid; grid-template-columns: 200pt 1fr; padding: 0; min-height: 297mm; }
.tpl-creative-agency .ca-sidebar {
  background: linear-gradient(160deg, #f43f5e 0%, #a855f7 100%);
  padding: 24pt 16pt; color: #fff; display: flex; flex-direction: column; gap: 14pt;
}
.tpl-creative-agency .profile-photo-wrap { justify-content: center; }
.tpl-creative-agency .profile-photo { border-color: rgba(255,255,255,.9); width: 76pt; height: 76pt; }
.tpl-creative-agency .profile-photo-placeholder { width: 76pt; height: 76pt; }
.tpl-creative-agency .resume-name  { color: #fff; font-size: 17pt; text-align: center; }
.tpl-creative-agency .resume-title { color: rgba(255,255,255,.8); font-size: 9pt; text-align: center; }
.tpl-creative-agency .resume-section-title { color: rgba(255,255,255,.9); border-bottom-color: rgba(255,255,255,.3); font-size: 8.5pt; }
.tpl-creative-agency .contact-bar  { flex-direction: column; gap: 4pt; font-size: 7.5pt; }
.tpl-creative-agency .skill-pill-paper { background: rgba(255,255,255,.15); color: #fff; border-color: rgba(255,255,255,.2); }
.tpl-creative-agency .ca-main { padding: 24pt 22pt; }
.tpl-creative-agency .ca-main .resume-section-title { color: #a855f7; border-bottom-color: #a855f7; }

/* ── PREMIUM #18 — Designer Canvas (visual portfolio, photo) ─────────── */
.tpl-designer-canvas { padding: 0; display: flex; flex-direction: column; min-height: 297mm; height: 100%; }
.tpl-designer-canvas .dc-header {
  background: #111827; padding: 24pt 28pt;
  display: flex; align-items: center; gap: 18pt; color: #f9fafb;
  border-bottom: 3pt solid #f59e0b;
}
.tpl-designer-canvas .profile-photo { border-color: #f59e0b; width: 68pt; height: 68pt; border-radius: 4pt; }
.tpl-designer-canvas .profile-photo-placeholder { width: 68pt; height: 68pt; border-color: #f59e0b; color: #f59e0b; border-radius: 4pt; }
.tpl-designer-canvas .resume-name  { color: #f9fafb; font-size: 20pt; }
.tpl-designer-canvas .resume-title { color: #f59e0b; }
.tpl-designer-canvas .contact-bar  { color: #6b7280; }
.tpl-designer-canvas .dc-body { display: grid; grid-template-columns: 1fr 185pt; gap: 0; flex: 1; align-items: stretch; }
.tpl-designer-canvas .dc-main { padding: 20pt 24pt; }
.tpl-designer-canvas .dc-sidebar { background: #f9fafb; padding: 20pt 16pt; border-left: 1pt solid #e5e7eb; }
.tpl-designer-canvas .resume-section-title { color: #f59e0b; border-bottom-color: #f59e0b; }

/* ── PREMIUM #19 — Minimal Photo (clean circular photo) ─────────────── */
.tpl-minimal-photo { padding: 30pt 36pt; }
.tpl-minimal-photo .mp2-header {
  display: flex; align-items: center; gap: 20pt;
  border-bottom: 1pt solid #e2e8f0; padding-bottom: 16pt; margin-bottom: 16pt;
}
.tpl-minimal-photo .profile-photo { width: 70pt; height: 70pt; border-color: var(--paper-accent, #2563eb); }
.tpl-minimal-photo .profile-photo-placeholder { width: 70pt; height: 70pt; border-color: var(--paper-accent, #2563eb); color: var(--paper-accent, #2563eb); background: #eff6ff; }
.tpl-minimal-photo .resume-name  { font-size: 20pt; color: #0f172a; }
.tpl-minimal-photo .resume-title { color: var(--paper-accent, #2563eb); }
.tpl-minimal-photo .resume-section-title { color: var(--paper-accent, #2563eb); border-bottom-color: var(--paper-accent, #2563eb); }

/* ── PREMIUM #20 — Scholar Plus (academic 2-col, photo) ─────────────── */
.tpl-scholar-plus { display: grid; grid-template-columns: 175pt 1fr; padding: 0; min-height: 297mm; }
.tpl-scholar-plus .sp-sidebar { background: #1e3a5f; color: #e0f2fe; padding: 24pt 16pt; display: flex; flex-direction: column; gap: 14pt; }
.tpl-scholar-plus .profile-photo-wrap { justify-content: center; }
.tpl-scholar-plus .profile-photo { border-color: #93c5fd; width: 76pt; height: 76pt; border-radius: 4pt; }
.tpl-scholar-plus .profile-photo-placeholder { width: 76pt; height: 76pt; border-color: #93c5fd; color: #93c5fd; border-radius: 4pt; }
.tpl-scholar-plus .sp-sidebar .resume-name  { color: #e0f2fe; font-size: 16pt; text-align: center; }
.tpl-scholar-plus .sp-sidebar .resume-title { color: #93c5fd; font-size: 9pt; text-align: center; }
.tpl-scholar-plus .sp-sidebar .resume-section-title { color: #93c5fd; border-bottom-color: rgba(147,197,253,.3); font-size: 8.5pt; }
.tpl-scholar-plus .sp-sidebar .contact-bar  { flex-direction: column; gap: 4pt; font-size: 7.5pt; color: #bae6fd; }
.tpl-scholar-plus .sp-sidebar .skill-pill-paper { background: rgba(147,197,253,.12); color: #e0f2fe; border-color: rgba(147,197,253,.2); }
.tpl-scholar-plus .sp-main { padding: 24pt 22pt; }
.tpl-scholar-plus .sp-main .resume-section-title { color: #1e3a5f; border-bottom-color: #1e3a5f; }
