
/* 🔥 PREMIUM SIMPLE BIODATA */

.tmpl-simple {
  font-family: 'DM Sans', Arial, sans-serif;
  color: #111;
  background: #fff;
  font-size: 13px;
}

/* HEADER */
.tmpl-simple .bd-header {
  background: #3b3b3b;
  color: #fff;
  padding: 16px;
  text-align: center;
}

.tmpl-simple .bd-name {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 4px;
}

.tmpl-simple .bd-meta {
  font-size: 12px;
  opacity: 0.9;
}

/* PHOTO SECTION */
.tmpl-simple .bd-photo-name-row {
  display: flex;
  justify-content: space-between;
  padding: 15px 20px;
  border-bottom: 1px solid #ddd;
}

.tmpl-simple .bd-photo {
  width: 90px;
  height: 110px;
  border: 1px solid #aaa;
  object-fit: cover;
}

.tmpl-simple .bd-photo-placeholder {
  width: 90px;
  height: 110px;
  border: 1px solid #aaa;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* BODY */
.tmpl-simple .bd-body {
  padding: 15px 20px;
}

/* SECTION */
.tmpl-simple .bd-section {
  margin-bottom: 15px;
}

/* SECTION TITLE */
.tmpl-simple .bd-sec-title {
  font-size: 13px;
  font-weight: 700;
  border-bottom: 1px solid #999;
  margin-bottom: 6px;
  padding-bottom: 2px;
}

/* ROWS */
.tmpl-simple .bd-row {
  display: flex;
  margin: 3px 0;
}

.tmpl-simple .bd-key {
  width: 150px;
  font-weight: 600;
  color: #333;
}

.tmpl-simple .bd-val {
  flex: 1;
  color: #111;
}

/* TABLE */
.tmpl-simple .bd-edu-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 6px;
}

.tmpl-simple .bd-edu-table th {
  background: #eee;
  font-size: 12px;
  padding: 5px;
  border: 1px solid #999;
}

.tmpl-simple .bd-edu-table td {
  padding: 5px;
  border: 1px solid #999;
  font-size: 12px;
}

/* DECLARATION */
.tmpl-simple .bd-about {
  font-size: 12px;
  line-height: 1.6;
  color: #333;
}

/* FOOTER */
.tmpl-simple .bd-footer {
  text-align: center;
  padding: 10px;
  font-size: 10px;
  color: #777;
  border-top: 1px solid #ddd;
}

/* ══════════════════════════════════════════════════
   JOB BIODATA TEMPLATE  — tmpl-job
   Formal / Government style, green accent
   Add to template.css (or style.css biodata section)
   ══════════════════════════════════════════════════ */

.tmpl-job {
  font-family: 'DM Sans', sans-serif;
  color: #000000;
  background: #fff;
  font-size: 11.5px;
}

/* ── Outer wrapper ── */
.bd-job-wrap {
  padding: 20px 28px 16px;
  background: #fff;
  display: flex;          /* ADD */
  flex-direction: column; /* ADD */
  min-height: 100%;       /* ADD */
}

/* ── Title bar ── */
.bd-job-title-bar {
  text-align: center;
  margin-bottom: 18px;
}
.bd-job-heading {
  font-family: 'DM Sans', sans-serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #000000;
  text-transform: uppercase;
  margin: 0;
}

/* ── Top row: info + photo ── */
.bd-job-top {
  display: flex;
  gap: 16px;
  margin-bottom: 16px;
  align-items: flex-start;
}
.bd-job-info {
  flex: 1;
  min-width: 0;
}

/* ── Photo box ── */
.bd-job-photo-box {
  width: 100px;
  height: 120px;
  flex-shrink: 0;
  border: 1.5px solid #bbb;
  border-radius: 3px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f7f7f7;
}
.bd-job-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.bd-job-photo-placeholder {
  font-size: 10px;
  color: #aaa;
  text-align: center;
  padding: 8px;
  line-height: 1.4;
}

/* ── Field rows ── */
.bd-job-field {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 2.5px 0;
  font-size: 11px;
  border-bottom: 1px dotted transparent;
}
.bd-job-label {
  font-weight: 700;
  color: #111;
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 110px;
}
.bd-job-value {
  color: #000000;
  flex: 1;
  word-break: break-word;
}

/* ── Section header (green bar style) ── */
.bd-job-section-hdr {
  font-size: 11.5px;
  font-weight: 700;
  color: #111;
  padding-bottom: 5px;
  border-bottom: 1.5px solid #000000;
  margin: 14px 0 8px;
  letter-spacing: 0.3px;
}

/* ── Section body ── */
.bd-job-section-body {
  padding: 4px 0 6px;
}

/* ── Contact row (phone + email side by side) ── */
.bd-job-contact-row {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding: 2.5px 0;
}
.bd-job-contact-row .bd-job-field {
  flex: 1;
  min-width: 160px;
}

/* ── Education table ── */
.bd-job-edu-wrap {
  overflow-x: auto;
  margin-bottom: 6px;
}
.bd-job-edu-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 10.5px;
}
.bd-job-edu-table th {
  background: #fff;
  border: 1px solid #000000;
  padding: 5px 7px;
  text-align: left;
  font-weight: 700;
  color: #000000;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.bd-job-edu-table td {
  border: 1px solid #bbb;
  padding: 5px 7px;
  color: #000000;
  vertical-align: middle;
}
.bd-job-edu-table tbody tr:nth-child(even) {
  background: #fafafa;
}

/* ── Declaration ── */
.bd-job-declaration {
  padding: 8px 0 12px;
  font-size: 11px;
  line-height: 1.75;
  color: #000000;
  margin-top: auto;
}
.bd-job-declaration p {
  margin: 0;
  text-align: justify;
}
.bd-job-declaration u {
  text-underline-offset: 3px;
}

/* ── About / hobbies ── */
.bd-job-about {
  font-size: 11px;
  line-height: 1.7;
  color: #333333;
  text-align: justify;
}

/* ── Signature row ── */
.bd-job-sign-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 10px 0 14px;
  gap: 16px;
}
.bd-job-sign-left {
  flex: 1;
}
.bd-job-sign-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}
.bd-job-sig-box {
  width: 90px;
  height: 46px;
  border: 1px solid #bbb;
  border-radius: 2px;
  background: #f7f7f7;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9.5px;
  color: #aaa;
}
.bd-job-sig-label {
  font-size: 10.5px;
  color: #333;
  font-weight: 600;
  text-align: center;
  width: 90px;
}

/* ── Footer ── */
.bd-job-footer {
  text-align: center;
  font-size: 9px;
  color: #aaa;
  border-top: 1px solid #e5e5e5;
  padding-top: 8px;
  font-style: italic;
  margin-top: 4px;
}

/* ── Mobile adjustments for job template ── */
@media (max-width: 480px) {
  .bd-job-wrap { padding: 14px 14px 12px; }
  .bd-job-top { flex-direction: column-reverse; align-items: center; }
  .bd-job-photo-box { width: 90px; height: 108px; }
  .bd-job-info { width: 100%; }
  .bd-job-label { min-width: 90px; }
  .bd-job-contact-row { flex-direction: column; gap: 0; }
  .bd-job-sign-row { flex-direction: column; align-items: flex-start; gap: 12px; }
  .bd-job-sign-right { align-self: flex-end; }
}

/* ── CLASSIC TEMPLATE ── */
.tmpl-classic {
  font-family: 'Times New Roman', Times, serif;
  color: #1a1208;
  font-size: 11.5px;
}
.tmpl-classic .bd-header {
  background: linear-gradient(135deg, #8B1A1A 0%, #C0392B 40%, #8B1A1A 100%);
  padding: 18px 24px 14px;
  text-align: center;
  position: relative;
}
.tmpl-classic .bd-header::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, #C9933C, #FFD700, #C9933C);
}
.tmpl-classic .bd-title {
  font-size: 18px; letter-spacing: 5px;
  color: #F5DEB3; text-transform: uppercase;
  font-weight: 700; text-shadow: 1px 1px 3px rgba(0,0,0,0.4);
}
.tmpl-classic .bd-subtitle {
  font-size: 9px; color: rgba(245,222,179,0.7);
  letter-spacing: 3px; margin-top: 3px; text-transform: uppercase;
}
.tmpl-classic .bd-photo-name-row {
  display: flex; align-items: flex-start; gap: 16px;
  padding: 14px 20px 10px;
  border-bottom: 2px double #C9933C;
}
.tmpl-classic .bd-photo {
  width: 80px; height: 96px;
  border: 3px solid #C9933C; border-radius: 2px;
  object-fit: cover; flex-shrink: 0;
}
.tmpl-classic .bd-photo-placeholder {
  width: 80px; height: 96px;
  border: 3px solid #C9933C; border-radius: 2px;
  background: #F5EDD8; display: flex; align-items: center; justify-content: center;
  color: #C9933C; font-size: 1.8rem; flex-shrink: 0;
}
.tmpl-classic .bd-name-block { flex: 1; }
.tmpl-classic .bd-name { font-size: 18px; color: #8B1A1A; font-weight: 700; }
.tmpl-classic .bd-meta { font-size: 10px; color: #666; line-height: 1.7; }
.tmpl-classic .bd-body { padding: 10px 20px 0; }
.tmpl-classic .bd-section { margin-bottom: 8px; }
.tmpl-classic .bd-sec-title {
  font-size: 9px; text-transform: uppercase; letter-spacing: 2px;
  font-weight: 700; color: #8B1A1A;
  border-bottom: 1.5px solid #C9933C;
  padding-bottom: 3px; margin-bottom: 6px;
}
.tmpl-classic .bd-row {
  display: flex; font-size: 10.5px;
  padding: 2.5px 0; border-bottom: 1px dotted #E0D5C4;
}
.tmpl-classic .bd-key { width: 130px; flex-shrink: 0; color: #555; font-weight: 600; }
.tmpl-classic .bd-val { color: #222; flex: 1; }
.tmpl-classic .bd-about { font-size: 10.5px; line-height: 1.65; color: #444; font-style: italic; }
.tmpl-classic .bd-edu-table { width: 100%; border-collapse: collapse; font-size: 9.5px; }
.tmpl-classic .bd-edu-table th { background: #F5EDD8; padding: 4px 6px; text-align: left; font-size: 8.5px; text-transform: uppercase; letter-spacing: 0.5px; color: #666; border: 1px solid #E0D5C4; }
.tmpl-classic .bd-edu-table td { padding: 4px 6px; border: 1px solid #E0D5C4; color: #333; }
.tmpl-classic .bd-footer { text-align: center; padding: 10px; background: linear-gradient(135deg, #F5EDD8, #FAF6EE); border-top: 2px double #C9933C; font-size: 9px; color: #888; font-style: italic; margin-top: 8px; }

/* ── MODERN TEMPLATE ── */
.tmpl-modern {
  font-family: 'DM Sans', sans-serif;
  color: #111827;
  background: #fff;
  font-size: 11px;
}
.tmpl-modern .bd-header {
  background: linear-gradient(135deg, #0F172A 0%, #1E3A5F 100%);
  display: grid; grid-template-columns: 110px 1fr;
}
.tmpl-modern .bd-header-photo {
  background: rgba(255,255,255,0.05);
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
}
.tmpl-modern .bd-photo {
  width: 76px; height: 76px; border-radius: 50%;
  border: 3px solid #38BDF8; object-fit: cover;
}
.tmpl-modern .bd-photo-placeholder {
  width: 76px; height: 76px; border-radius: 50%;
  border: 3px solid #38BDF8; background: rgba(255,255,255,0.1);
  display: flex; align-items: center; justify-content: center;
  color: #38BDF8; font-size: 1.8rem;
}
.tmpl-modern .bd-header-text { padding: 16px 16px 16px 0; }
.tmpl-modern .bd-title { font-size: 7.5px; text-transform: uppercase; letter-spacing: 4px; color: #38BDF8; margin-bottom: 4px; }
.tmpl-modern .bd-name { font-size: 20px; font-weight: 700; color: #fff; margin-bottom: 6px; }
.tmpl-modern .bd-tags { display: flex; flex-wrap: wrap; gap: 4px; }
.tmpl-modern .bd-tag { padding: 2px 8px; background: rgba(56,189,248,0.15); border: 1px solid rgba(56,189,248,0.3); border-radius: 99px; font-size: 9px; color: #7DD3FC; }
.tmpl-modern .bd-body { display: grid; grid-template-columns: 1fr 1fr; }
.tmpl-modern .bd-col { padding: 12px 14px; }
.tmpl-modern .bd-col:first-child { border-right: 1px solid #E5E7EB; }
.tmpl-modern .bd-section { margin-bottom: 12px; }
.tmpl-modern .bd-sec-title {
  font-size: 8.5px; text-transform: uppercase; letter-spacing: 2px;
  font-weight: 700; color: #1E3A5F;
  margin-bottom: 6px; display: flex; align-items: center; gap: 6px;
}
.tmpl-modern .bd-sec-title::after { content: ''; flex: 1; height: 1px; background: #E5E7EB; }
.tmpl-modern .bd-row { display: flex; justify-content: space-between; font-size: 10px; padding: 3px 0; border-bottom: 1px solid #F3F4F6; }
.tmpl-modern .bd-key { color: #6B7280; font-weight: 500; }
.tmpl-modern .bd-val { color: #111827; font-weight: 600; text-align: right; max-width: 55%; word-break: break-word; }
.tmpl-modern .bd-about { font-size: 10px; line-height: 1.6; color: #374151; }
.tmpl-modern .bd-edu-table { width: 100%; border-collapse: collapse; font-size: 9px; }
.tmpl-modern .bd-edu-table th { background: #F9FAFB; padding: 4px 5px; text-align: left; font-size: 8px; font-weight: 600; color: #9CA3AF; text-transform: uppercase; border-bottom: 1px solid #E5E7EB; }
.tmpl-modern .bd-edu-table td { padding: 4px 5px; border-bottom: 1px solid #F3F4F6; color: #374151; }
.tmpl-modern .bd-footer { text-align: center; padding: 10px; background: #F9FAFB; border-top: 1px solid #E5E7EB; font-size: 9px; color: #9CA3AF; }

/* ── ELEGANT TEMPLATE ── */
.tmpl-elegant {
  font-family: 'Cormorant Garamond', Georgia, serif;
  background: #FFF9F5;
  font-size: 11.5px;
}
.tmpl-elegant .bd-header {
  padding: 20px 24px 16px;
  text-align: center;
  border-bottom: 1px solid #F5C4A0;
  background: linear-gradient(180deg, #FFF9F5 0%, #FFF3EC 100%);
}
.tmpl-elegant .bd-header::before,
.tmpl-elegant .bd-header::after { content: '— ✿ —'; display: block; color: #E07040; font-size: 10px; letter-spacing: 4px; margin: 5px 0; }
.tmpl-elegant .bd-photo { width: 84px; height: 100px; border: 2px solid #E07040; border-radius: 3px; object-fit: cover; margin: 0 auto 10px; display: block; }
.tmpl-elegant .bd-photo-placeholder { width: 84px; height: 100px; border: 2px solid #E07040; border-radius: 3px; background: #FFF3EC; display: flex; align-items: center; justify-content: center; color: #E07040; font-size: 2rem; margin: 0 auto 10px; }
.tmpl-elegant .bd-title { font-size: 22px; font-weight: 700; color: #C0392B; font-style: italic; margin-bottom: 2px; }
.tmpl-elegant .bd-name { font-size: 18px; color: #7B2D00; margin-bottom: 3px; }
.tmpl-elegant .bd-meta { font-size: 10px; color: #8B6A50; }
.tmpl-elegant .bd-body { padding: 12px 22px 0; }
.tmpl-elegant .bd-section { margin-bottom: 10px; }
.tmpl-elegant .bd-sec-title {
  font-size: 11px; font-style: italic; color: #C0392B;
  border-bottom: 1px solid #F5C4A0;
  padding-bottom: 3px; margin-bottom: 7px;
  text-align: center; letter-spacing: 1px;
}
.tmpl-elegant .bd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.tmpl-elegant .bd-row { display: flex; font-size: 10.5px; padding: 3px 0; border-bottom: 1px dotted #F5C4A0; }
.tmpl-elegant .bd-key { width: 120px; flex-shrink: 0; color: #8B6A50; font-style: italic; }
.tmpl-elegant .bd-val { color: #3D1C00; flex: 1; }
.tmpl-elegant .bd-about { font-size: 10.5px; line-height: 1.7; color: #5C3D20; font-style: italic; text-align: center; }
.tmpl-elegant .bd-edu-table { width: 100%; border-collapse: collapse; font-size: 9.5px; }
.tmpl-elegant .bd-edu-table th { background: #FFF3EC; padding: 4px 6px; border: 1px solid #F5C4A0; font-style: italic; font-weight: 600; color: #8B6A50; font-size: 9px; }
.tmpl-elegant .bd-edu-table td { padding: 4px 6px; border: 1px solid #F5C4A0; color: #3D1C00; }
.tmpl-elegant .bd-footer { text-align: center; padding: 10px; font-style: italic; font-size: 10px; color: #B08060; border-top: 1px solid #F5C4A0; background: linear-gradient(180deg, #FFF3EC 0%, #FFF9F5 100%); margin-top: 8px; }


/* ──────────────────────────────────────────────────────────────
   TEMPLATE 1: OLIVE  (matches Image 1 — Krina Savani style)
   Sage green blob hero + cream body + circular photo
   ────────────────────────────────────────────────────────────── */

.tmpl-olive {
  font-family: 'DM Sans', Arial, sans-serif;
  background: #f2f0e8;
  color: #222;
  font-size: 11px;
}

.ol-wrap {
  background: #f2f0e8;
}

/* HERO */
.ol-hero {
  position: relative;
  background: #f2f0e8;
  min-height: 130px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.ol-blob {
  position: absolute;
  left: 0; top: 0;
  width: 55%;
  height: 100%;
  background: #7a8c6e;
  border-radius: 0 60% 60% 0 / 0 70% 70% 0;
  display: flex;
  align-items: center;
  padding: 20px 16px 20px 20px;
  z-index: 1;
}

.ol-name-block {
  color: #fff;
  z-index: 2;
}

.ol-name {
  font-size: 22px;
  font-weight: 800;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: 1px;
  word-break: break-word;
}

.ol-subtitle {
  font-size: 10px;
  margin-top: 4px;
  opacity: 0.85;
}

.ol-circle-photo {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  width: 100px;
  height: 100px;
  border-radius: 50%;
  border: 4px solid #fff;
  overflow: hidden;
  z-index: 3;
  background: #ddd;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18);
}

.ol-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ol-photo-ph {
  font-size: 2.2rem;
  color: #aaa;
}

/* BODY */
.ol-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  padding: 14px 14px 10px;
  background: #f2f0e8;
}

.ol-left {
  padding-right: 12px;
  border-right: 1px solid #c8c4a8;
}

.ol-right {
  padding-left: 14px;
}

/* SECTION */
.ol-sec {
  margin-bottom: 12px;
}

.ol-sec-title {
  font-size: 11px;
  font-weight: 800;
  color: #3a3a2e;
  border-bottom: 2px solid #7a8c6e;
  padding-bottom: 2px;
  margin-bottom: 7px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.ol-row {
  display: flex;
  align-items: baseline;
  gap: 4px;
  padding: 2px 0;
  font-size: 10.5px;
}

.ol-key {
  font-weight: 600;
  color: #4a4a3a;
  white-space: nowrap;
  min-width: 80px;
  flex-shrink: 0;
}

.ol-val {
  color: #222;
  flex: 1;
  word-break: break-word;
}

.ol-edu-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 9px;
  margin-top: 4px;
}
.ol-edu-table th {
  background: #7a8c6e;
  color: #fff;
  padding: 3px 5px;
  border: 1px solid #7a8c6e;
  font-size: 8.5px;
}
.ol-edu-table td {
  padding: 3px 5px;
  border: 1px solid #c8c4a8;
}

@media (max-width: 480px) {
  .ol-body { grid-template-columns: 1fr; }
  .ol-left { border-right: none; border-bottom: 1px solid #c8c4a8; padding-right: 0; padding-bottom: 10px; margin-bottom: 10px; }
  .ol-right { padding-left: 0; }
  .ol-blob { width: 60%; }
  .ol-circle-photo { width: 80px; height: 80px; }
  .ol-name { font-size: 17px; }
}


/* ──────────────────────────────────────────────────────────────
   TEMPLATE 2: SANDY  (matches Image 2 — Amrita Singh style)
   Tan/sandy header + large photo left + serif name right
   ────────────────────────────────────────────────────────────── */

.tmpl-sandy {
  font-family: 'DM Sans', Arial, sans-serif;
  background: #fff;
  color: #1a1208;
  font-size: 11px;
}

.sa-wrap { background: #fff; }

/* TOP STRIP */
.sa-top-strip {
  background: #c4a882;
  display: flex;
  align-items: flex-end;
  gap: 0;
  min-height: 140px;
  position: relative;
}

.sa-photo-box {
  width: 120px;
  height: 150px;
  flex-shrink: 0;
  border: 3px solid #e8d5b5;
  background: #e0cca6;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 14px 0 0 14px;
  box-shadow: 4px 0 12px rgba(0,0,0,0.12);
}

.sa-photo-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sa-photo-ph {
  font-size: 2.5rem;
  color: #a08060;
}

.sa-name-area {
  padding: 24px 20px 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.sa-name {
  font-family: 'Georgia', 'Times New Roman', serif;
  font-size: 26px;
  font-weight: 700;
  color: #1a1208;
  line-height: 1.2;
}

.sa-tagline {
  font-size: 11px;
  color: #3d2c10;
  margin-top: 4px;
  font-style: italic;
}

/* BODY */
.sa-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: #fff;
  padding: 14px;
  gap: 16px;
}

.sa-sec {
  margin-bottom: 12px;
}

.sa-sec-title {
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #1a1208;
  border-bottom: 2px solid #c4a882;
  padding-bottom: 3px;
  margin-bottom: 7px;
}

.sa-row {
  display: flex;
  gap: 4px;
  align-items: baseline;
  padding: 2px 0;
  font-size: 10.5px;
}

.sa-key {
  font-weight: 700;
  color: #3a2c10;
  min-width: 85px;
  flex-shrink: 0;
}

.sa-val {
  color: #1a1208;
  flex: 1;
}

.sa-edu-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 9px;
  margin-top: 4px;
}
.sa-edu-table th {
  background: #c4a882;
  color: #fff;
  padding: 3px 5px;
  border: 1px solid #c4a882;
}
.sa-edu-table td {
  padding: 3px 5px;
  border: 1px solid #e0d0b8;
}

@media (max-width: 480px) {
  .sa-top-strip { flex-direction: column; align-items: flex-start; min-height: auto; }
  .sa-photo-box { margin: 14px auto 0; width: 100px; height: 120px; }
  .sa-name-area { padding: 10px 14px 14px; }
  .sa-body { grid-template-columns: 1fr; }
}


/* ──────────────────────────────────────────────────────────────
   TEMPLATE 3: GOVTBLUE  — Government / official bordered
   ────────────────────────────────────────────────────────────── */

.tmpl-govtblue {
  font-family: 'Times New Roman', Times, serif;
  background: #fff;
  color: #111;
  font-size: 11px;
}

.gb-wrap { background: #fff; 
  padding: 12px; 
  display: flex;          /* ADD */
  flex-direction: column; /* ADD */
  min-height: 100%;       /* ADD */
}

.gb-outer-border {
  border: 2.5px solid #1a3a6e;
  padding: 14px 16px;
}

/* TITLE */
.gb-title-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
  justify-content: center;
}
.gb-title-line {
  flex: 1;
  height: 2px;
  background: linear-gradient(90deg, transparent, #1a3a6e);
}
.gb-title-line:last-child {
  background: linear-gradient(90deg, #1a3a6e, transparent);
}
.gb-heading {
  font-size: 16px;
  font-weight: 700;
  color: #1a3a6e;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin: 0;
  white-space: nowrap;
}

/* TOP */
.gb-top {
  display: flex;
  gap: 16px;
  margin-bottom: 12px;
}
.gb-info-block { flex: 1; }
.gb-photo-area {
  width: 90px;
  flex-shrink: 0;
}
.gb-photo {
  width: 90px; height: 110px;
  border: 2px solid #1a3a6e;
  object-fit: cover;
  display: block;
}
.gb-photo-ph {
  width: 90px; height: 110px;
  border: 2px solid #1a3a6e;
  background: #f0f4fa;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 10px;
  color: #1a3a6e;
  font-style: italic;
  line-height: 1.4;
}

/* FIELD */
.gb-field {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 2px 0;
  font-size: 10.5px;
  border-bottom: 1px dotted #c5cfdc;
}
.gb-label {
  font-weight: 700;
  color: #1a3a6e;
  min-width: 115px;
  flex-shrink: 0;
}
.gb-value {
  color: #1a1a1a;
  flex: 1;
  word-break: break-word;
}

/* SECTION HEADER */
.gb-sec-hdr {
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: #1a3a6e;
  padding: 4px 10px;
  margin: 12px 0 7px;
  letter-spacing: 0.5px;
}
.gb-sec-body { padding: 2px 0 6px; }

/* EDU TABLE */
.gb-edu-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 10px;
  margin-bottom: 6px;
}
.gb-edu-table th {
  background: #e8ecf4;
  border: 1px solid #1a3a6e;
  padding: 4px 6px;
  font-weight: 700;
  color: #1a3a6e;
  font-size: 9px;
  text-transform: uppercase;
}
.gb-edu-table td {
  border: 1px solid #b0bfcc;
  padding: 4px 6px;
  color: #1a1a1a;
}

/* DECLARATION */
.gb-declaration {
  font-size: 10.5px;
  line-height: 1.75;
  color: #222;
  padding: 8px 0 10px;
  text-align: justify;
  font-style: italic;
  margin-top: auto;
}
.gb-about {
  font-size: 10.5px;
  line-height: 1.7;
  color: #333;
  text-align: justify;
}

/* SIGN */
.gb-sign-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 8px 0 4px;
}
.gb-sign-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.gb-sig-inner {
  width: 90px; height: 44px;
  border: 1px solid #1a3a6e;
  background: #f8fafd;
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; color: #aaa;
}
.gb-sig-name {
  font-size: 10px; color: #333; font-weight: 600;
  text-align: center; width: 90px;
}


/* ──────────────────────────────────────────────────────────────
   TEMPLATE 4: PRESTIGE  — Dark navy luxury sidebar
   ────────────────────────────────────────────────────────────── */

.tmpl-prestige {
  font-family: 'DM Sans', Arial, sans-serif;
  background: #fff;
  color: #111;
  font-size: 11px;
}

.pr-wrap {
  display: flex;
  min-height: 100%;
}

/* SIDEBAR */
.pr-sidebar {
  width: 130px;
  flex-shrink: 0;
  background: #0d1b2a;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 18px 10px;
  gap: 0;
}

.pr-photo-ring {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 3px solid #4a9fd4;
  overflow: hidden;
  background: #1e2d3d;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.pr-photo {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.pr-photo-ph {
  font-size: 2rem; color: #4a9fd4;
}

.pr-sname {
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.3;
  word-break: break-word;
}
.pr-srole {
  font-size: 9px;
  color: #4a9fd4;
  text-align: center;
  margin-top: 3px;
  font-style: italic;
}

.pr-sdivider {
  width: 100%;
  height: 1px;
  background: #1e3a5f;
  margin: 12px 0;
}

.pr-scontact {
  width: 100%;
}
.pr-sitem {
  font-size: 9px;
  color: #c0d0e0;
  margin-bottom: 4px;
  word-break: break-all;
  line-height: 1.4;
}
.pr-ssec {
  font-size: 8px;
  font-weight: 700;
  color: #4a9fd4;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 5px;
  margin-top: 2px;
}

/* MAIN */
.pr-main {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #fff;
}

.pr-top-bar {
  background: #0d1b2a;
  padding: 8px 14px;
  text-align: right;
}
.pr-top-label {
  font-size: 9px;
  font-weight: 700;
  color: #4a9fd4;
  letter-spacing: 3px;
  text-transform: uppercase;
}

.pr-sec {
  padding: 10px 14px 4px;
}

.pr-sec-title {
  font-size: 9px;
  font-weight: 700;
  color: #0d1b2a;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  border-bottom: 2px solid #4a9fd4;
  padding-bottom: 3px;
  margin-bottom: 7px;
  display: flex;
  align-items: center;
}

.pr-row {
  display: flex;
  align-items: baseline;
  gap: 6px;
  padding: 2.5px 0;
  font-size: 10px;
  border-bottom: 1px solid #f0f0f0;
}
.pr-key {
  width: 110px;
  flex-shrink: 0;
  color: #555;
  font-weight: 600;
}
.pr-sep { color: #4a9fd4; font-size: 8px; }
.pr-val { color: #111; flex: 1; }

.pr-about {
  font-size: 10px;
  line-height: 1.7;
  color: #444;
}

.pr-edu-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 9.5px;
  margin-top: 6px;
}
.pr-edu-table th {
  background: #0d1b2a;
  color: #fff;
  padding: 4px 5px;
  font-size: 8px;
  border: 1px solid #0d1b2a;
}
.pr-edu-table td {
  border: 1px solid #e0e0e0;
  padding: 4px 5px;
  color: #222;
}

.pr-declaration {
  margin: 8px 14px 4px;
  font-size: 10px;
  font-style: italic;
  color: #555;
  border-top: 1px solid #e0e0e0;
  padding-top: 8px;
}

.pr-sign-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 8px 14px 14px;
}
.pr-place { font-size: 10px; color: #333; }
.pr-sig-box {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.pr-sig-inner {
  width: 90px; height: 44px;
  border: 1px solid #0d1b2a;
  background: #f8f9fb;
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; color: #bbb;
}

@media (max-width: 480px) {
  .pr-wrap { flex-direction: column; }
  .pr-sidebar { width: 100%; flex-direction: row; flex-wrap: wrap; gap: 12px; padding: 12px; justify-content: center; }
  .pr-photo-ring { width: 60px; height: 60px; flex-shrink: 0; }
}


/* ──────────────────────────────────────────────────────────────
   TEMPLATE 5: TRICOLOR  — Indian flag theme, numbered sections
   ────────────────────────────────────────────────────────────── */

.tmpl-tricolor {
  font-family: 'DM Sans', Arial, sans-serif;
  background: #fff;
  color: #111;
  font-size: 11px;
}

.tc-wrap { background: #fff; }

.tc-flag-bar { display: flex; height: 8px; }
.tc-saffron { flex: 1; background: #FF9933; }
.tc-white   { flex: 1; background: #fff; border-top: 1px solid #eee; border-bottom: 1px solid #eee; position: relative; display: flex; align-items: center; justify-content: center; }
.tc-green   { flex: 1; background: #138808; }
.tc-chakra  { position: absolute; font-size: 8px; color: #000080; }

/* HEADER */
.tc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px 10px;
  border-bottom: 1px solid #ddd;
}
.tc-heading {
  font-size: 20px;
  font-weight: 800;
  color: #000080;
  letter-spacing: 3px;
}
.tc-subheading {
  font-size: 10px;
  color: #555;
  margin-top: 2px;
}
.tc-photo-box {
  width: 80px; height: 96px;
  border: 2px solid #000080;
  background: #f0f4ff;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.tc-photo-img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.tc-photo-ph {
  font-size: 10px; color: #000080; text-align: center;
}

/* NAME BAND */
.tc-name-band {
  background: linear-gradient(90deg, #FF9933 0%, #fff 33%, #fff 66%, #138808 100%);
  padding: 8px 18px;
  text-align: center;
  border-bottom: 2px solid #000080;
}
.tc-candidate-name {
  font-size: 18px;
  font-weight: 700;
  color: #000080;
}
.tc-candidate-role {
  font-size: 10px;
  color: #333;
  margin-top: 2px;
}

/* BODY */
.tc-body { padding: 12px 18px 10px; }

.tc-sec { margin-bottom: 12px; }

.tc-sec-hdr {
  font-size: 11px;
  font-weight: 700;
  color: #fff;
  background: #000080;
  padding: 4px 10px;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.tc-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}

.tc-row {
  display: flex;
  gap: 5px;
  align-items: baseline;
  padding: 2.5px 0;
  font-size: 10.5px;
  border-bottom: 1px dotted #dde;
}
.tc-key {
  font-weight: 700;
  color: #000080;
  min-width: 100px;
  flex-shrink: 0;
}
.tc-val { color: #111; flex: 1; }

.tc-edu-table {
  width: 100%; border-collapse: collapse; font-size: 10px;
}
.tc-edu-table th {
  background: #e8ebf5;
  border: 1px solid #000080;
  padding: 4px 6px;
  font-weight: 700;
  color: #000080;
  font-size: 9px;
  text-transform: uppercase;
}
.tc-edu-table td {
  border: 1px solid #c0c8e0;
  padding: 4px 6px;
}

.tc-about {
  font-size: 10.5px;
  line-height: 1.7;
  color: #333;
  text-align: justify;
  margin-bottom: 6px;
}

.tc-declaration {
  background: #f8f8ff;
  border-left: 3px solid #000080;
  padding: 8px 12px;
  font-size: 10.5px;
  line-height: 1.65;
  color: #222;
  margin-bottom: 10px;
}

.tc-sign-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 6px 0;
}
.tc-sig-area {
  display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.tc-sig-box {
  width: 90px; height: 44px;
  border: 1px solid #000080;
  background: #f8f8ff;
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; color: #aaa;
}
.tc-sig-label {
  font-size: 10px; color: #000080; font-weight: 600;
}

.tc-footer { padding: 8px 0 0; }
.tc-flag-bar-sm { display: flex; height: 5px; }
.tc-saffron-sm { flex: 1; background: #FF9933; }
.tc-white-sm   { flex: 1; background: #fff; border: 1px solid #eee; }
.tc-green-sm   { flex: 1; background: #138808; }


/* ──────────────────────────────────────────────────────────────
   TEMPLATE 6: SAFFRON  — Warm ornamental traditional formal
   ────────────────────────────────────────────────────────────── */

.tmpl-saffron {
  font-family: 'Georgia', 'Times New Roman', serif;
  background: #fffaf3;
  color: #2a1500;
  font-size: 11.5px;
}

.sf-wrap { background: #fffaf3; }

/* HEADER */
.sf-header {
  text-align: center;
  padding: 14px 20px 8px;
  border-bottom: 3px double #d4820a;
}
.sf-ornament {
  font-size: 13px;
  color: #d4820a;
  letter-spacing: 6px;
  display: block;
  margin: 2px 0;
}
.sf-heading {
  font-size: 22px;
  font-weight: 700;
  color: #a0400a;
  letter-spacing: 5px;
  text-transform: uppercase;
  font-style: italic;
}

/* IDENTITY */
.sf-identity {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 18px 10px;
  border-bottom: 1px solid #f0c880;
}

.sf-photo-frame {
  width: 88px;
  height: 106px;
  border: 3px double #d4820a;
  background: #fff5e0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.sf-photo {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.sf-photo-ph {
  font-size: 10px;
  color: #d4820a;
  text-align: center;
  line-height: 1.5;
}

.sf-name-block { flex: 1; }
.sf-name {
  font-size: 22px;
  font-weight: 700;
  color: #a0400a;
}
.sf-name-deco {
  color: #d4820a;
  font-size: 12px;
  letter-spacing: 4px;
  margin: 2px 0;
}
.sf-meta {
  font-size: 10.5px;
  color: #7a4010;
  margin-top: 1px;
}

.sf-divider {
  height: 2px;
  background: linear-gradient(90deg, transparent, #d4820a, transparent);
  margin: 0;
}

/* BODY */
.sf-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 12px 18px 10px;
  gap: 0 20px;
}


.sf-sec { margin-bottom: 12px; }

.sf-sec-title {
  font-size: 11px;
  font-weight: 700;
  color: #a0400a;
  border-bottom: 1.5px solid #f0c880;
  padding-bottom: 2px;
  margin-bottom: 6px;
  font-style: italic;
  letter-spacing: 0.5px;
}

.sf-row {
  display: flex;
  align-items: baseline;
  gap: 5px;
  padding: 2.5px 0;
  font-size: 10.5px;
  border-bottom: 1px dotted #f0d090;
}
.sf-key {
  font-weight: 600;
  color: #7a4010;
  min-width: 100px;
  flex-shrink: 0;
  font-style: italic;
}
.sf-dot { color: #d4820a; }
.sf-val { color: #2a1500; flex: 1; }

.sf-about {
  font-size: 10.5px;
  line-height: 1.7;
  color: #5a3010;
  font-style: italic;
  text-align: justify;
  margin-bottom: 6px;
}

.sf-edu-table {
  width: 100%; border-collapse: collapse; font-size: 9.5px; margin-top: 5px;
}
.sf-edu-table th {
  background: #fff0d0;
  border: 1px solid #e0b060;
  padding: 3px 5px;
  font-weight: 600;
  color: #7a4010;
}
.sf-edu-table td {
  border: 1px solid #f0d090;
  padding: 3px 5px;
  color: #2a1500;
}

/* DECLARATION */
.sf-declaration {
  text-align: center;
  font-size: 10.5px;
  font-style: italic;
  color: #5a3010;
  padding: 8px 20px;
  border-top: 1px dashed #f0c880;
}

.sf-sign-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding: 6px 18px 10px;
}
.sf-sig-area {
  display: flex; flex-direction: column; align-items: center; gap: 3px;
}
.sf-sig-box {
  width: 90px; height: 44px;
  border: 1.5px double #d4820a;
  background: #fffaf3;
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; color: #d4820a;
}
.sf-sig-name {
  font-size: 10px; color: #7a4010; font-weight: 600; font-style: italic;
}

.sf-footer {
  text-align: center;
  border-top: 2px double #d4820a;
  padding: 6px 0;
}

@media (max-width: 480px) {
  .sf-body { grid-template-columns: 1fr; gap: 0; }
  .sf-identity { flex-direction: column; align-items: center; text-align: center; }
}


/* ──────────────────────────────────────────────────────────────
   TEMPLATE 7: NAVY  — Clean corporate navy numbered sections
   ────────────────────────────────────────────────────────────── */

.tmpl-navy {
  font-family: 'DM Sans', Arial, sans-serif;
  background: #fff;
  color: #111;
  font-size: 11px;
}

.nv-wrap { background: #fff; }

/* TOPBAR */
.nv-topbar {
  background: #12294e;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
}
.nv-title {
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 4px;
}
.nv-subtitle {
  font-size: 9px;
  color: #90b0d0;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-top: 3px;
}
.nv-photo-wrap {
  width: 72px; height: 88px;
  border: 2.5px solid #4a9fd4;
  background: #1e3a5f;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.nv-photo {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.nv-photo-ph {
  font-size: 10px; color: #4a9fd4; text-align: center;
}

/* NAME STRIP */
.nv-name-strip {
  background: #e8f0f8;
  padding: 10px 20px;
  border-left: 5px solid #4a9fd4;
  border-bottom: 2px solid #12294e;
}
.nv-name {
  font-size: 18px;
  font-weight: 700;
  color: #12294e;
}
.nv-role {
  font-size: 10px;
  color: #4a7090;
  margin-top: 2px;
}

/* BODY */
.nv-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 14px;
  gap: 0 18px;
}

.nv-sec { margin-bottom: 12px; }

.nv-sec-hdr {
  font-size: 10.5px;
  font-weight: 700;
  color: #12294e;
  padding-bottom: 4px;
  border-bottom: 2px solid #12294e;
  margin-bottom: 7px;
  display: flex;
  align-items: center;
  gap: 6px;
}

.nv-num {
  background: #12294e;
  color: #fff;
  font-size: 8px;
  padding: 1px 5px;
  border-radius: 2px;
  font-weight: 700;
}

.nv-row {
  display: flex;
  align-items: baseline;
  gap: 5px;
  padding: 2.5px 0;
  font-size: 10.5px;
  border-bottom: 1px solid #f0f4f8;
}
.nv-key {
  font-weight: 600;
  color: #4a7090;
  min-width: 110px;
  flex-shrink: 0;
}
.nv-val { color: #111; flex: 1; }

.nv-about {
  font-size: 10.5px;
  line-height: 1.7;
  color: #333;
  text-align: justify;
}

.nv-edu-table {
  width: 100%; border-collapse: collapse; font-size: 9.5px; margin-top: 6px;
}
.nv-edu-table th {
  background: #12294e;
  color: #fff;
  padding: 4px 5px;
  font-size: 8.5px;
  border: 1px solid #12294e;
}
.nv-edu-table td {
  border: 1px solid #d0dce8;
  padding: 4px 5px;
  color: #1a1a1a;
}
.nv-edu-table tbody tr:nth-child(even) {
  background: #f4f8fc;
}

/* DECLARATION */
.nv-decl-section {
  background: #f4f8fc;
  border-top: 2px solid #12294e;
  padding: 10px 14px;
}
.nv-declaration {
  font-size: 10.5px;
  line-height: 1.65;
  color: #333;
  margin-bottom: 10px;
}
.nv-sign-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.nv-sig-wrap {
  display: flex; flex-direction: column; align-items: center; gap: 3px;
}
.nv-sig-box {
  width: 90px; height: 44px;
  border: 1.5px solid #12294e;
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; color: #bbb;
}
.nv-sig-name {
  font-size: 10px; color: #12294e; font-weight: 600;
}

.nv-footer { padding: 0; }
.nv-footer-bar { height: 6px; background: #12294e; }

@media (max-width: 480px) {
  .nv-body { grid-template-columns: 1fr; }
  .nv-topbar { flex-direction: column; gap: 10px; align-items: flex-start; }
}