/* ============================================================
 * Generated bundle. Concatenates: company-letters, marriage-biodata-generator
 * Class prefixes are unique per file so styles do not collide.
 * Source files are kept for now — delete after verification.
 * ============================================================ */

/* ===== company-letters.css ===== */
/* Company letters — shared layout, form & A4 letter preview.
   Used by authority-letter, company-letterhead, experience-letter,
   offer-letter, appointment-letter, salary-certificate, relieving-letter,
   noc-letter, recommendation-letter, warning-letter. */

/* Sidebar is hidden via .page-wrap.page-full (declared by each page). */
.page-wrap.page-full { grid-template-columns: 1fr; gap: 0; }
.page-wrap.page-full > main { padding-right: 0; }

.cl-bar {
  display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  padding: 12px 14px; background: #F8FAFC; border: 1px solid var(--line);
  border-radius: var(--r-md); margin: 14px 0 18px;
}
.cl-bar .spacer { flex: 1; }
.cl-btn {
  padding: 8px 14px; border: 1px solid var(--line); background: #fff;
  border-radius: 6px; cursor: pointer; font: inherit; font-size: 13px;
  color: var(--ink); transition: border-color .12s, background .12s, color .12s;
}
.cl-btn:hover { border-color: var(--brand); background: var(--brand-light); color: var(--brand); }
.cl-btn.primary { background: var(--brand); color: #fff; border-color: var(--brand); font-weight: 600; }
.cl-btn.primary:hover { background: #16385A; color: #fff; }
.cl-btn.ghost { background: transparent; }

.cl-layout {
  display: grid; grid-template-columns: minmax(280px, 380px) 1fr;
  gap: 22px; align-items: start;
}
@media (max-width: 900px) { .cl-layout { grid-template-columns: 1fr; } }

/* ── Form panel ──────────────────────────────────────────── */
.cl-form {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 16px 18px; position: sticky; top: 84px;
  max-height: calc(100vh - 110px); overflow-y: auto;
}
@media (max-width: 900px) { .cl-form { position: static; max-height: none; } }
.cl-form h3 {
  font-size: 11px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--brand); font-weight: 700; margin: 14px 0 8px; padding-top: 12px;
  border-top: 1px solid #EEF1F4;
}
.cl-form h3:first-child { margin-top: 0; padding-top: 0; border-top: 0; }

/* Biodata: per-section include checkboxes */
.mb-include-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px;
  padding: 10px 12px; background: #F8FAFC;
  border: 1px solid var(--line); border-radius: 6px;
  margin-bottom: 10px;
}
.mb-include-row {
  display: flex; align-items: center; gap: 7px;
  font-size: 12.5px; color: var(--ink-2); cursor: pointer;
  padding: 3px 0;
}
.mb-include-row input[type="checkbox"] {
  width: 14px; height: 14px; flex: 0 0 auto; cursor: pointer; accent-color: var(--brand);
}
.mb-include-row input[type="checkbox"]:not(:checked) + * { /* no-op selector chain */ }

/* Cross-page company-profile notice, injected by company-letters.js */
.cl-shared-note {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin: 0 0 14px; padding: 9px 12px;
  background: #EAF2FB; border: 1px solid #B6D2EC; border-left: 3px solid var(--brand);
  border-radius: 6px; font-size: 12px; color: #1F4E79; line-height: 1.45;
}
.cl-shared-note svg { flex: 0 0 auto; color: var(--brand); }
.cl-shared-note span { flex: 1; min-width: 0; }
.cl-shared-clear {
  background: transparent; border: 0; padding: 0; cursor: pointer;
  font: inherit; font-size: 11.5px; color: var(--brand); text-decoration: underline;
}
.cl-shared-clear:hover { color: #16385A; }
.cl-field { display: block; margin-bottom: 10px; }
.cl-field label, .cl-field > .cl-label {
  display: block; font-size: 12px; color: var(--ink-2); font-weight: 500; margin-bottom: 4px;
}
.cl-field input[type=text],
.cl-field input[type=email],
.cl-field input[type=tel],
.cl-field input[type=date],
.cl-field input[type=number],
.cl-field textarea,
.cl-field select {
  width: 100%; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px;
  font: inherit; font-size: 13px; background: #fff; color: var(--ink); box-sizing: border-box;
}
.cl-field textarea { resize: vertical; min-height: 80px; line-height: 1.5; font-family: inherit; }
.cl-field input:focus, .cl-field textarea:focus, .cl-field select:focus {
  outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(31,78,121,.12);
}
.cl-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cl-hint { font-size: 11px; color: var(--ink-3); margin-top: 4px; }

/* ── Preview (A4) ────────────────────────────────────────── */
.cl-preview-wrap {
  background: #ECEFF3; border-radius: var(--r-md); padding: 22px;
  display: flex; justify-content: center; min-height: 600px;
}
.cl-paper {
  background: #fff; width: 100%; max-width: 794px;            /* ~A4 at 96 DPI */
  min-height: 1100px; padding: 60px 72px; box-sizing: border-box;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.10); border-radius: 2px;
  font-family: "Times New Roman", Georgia, "Liberation Serif", serif;
  font-size: 11.5pt; line-height: 1.55; color: #1A1A1A;
}
@media (max-width: 540px) { .cl-paper { padding: 36px 28px; } }

/* Letterhead (top of page) */
.cl-head {
  display: flex; align-items: center; gap: 14px;
  padding-bottom: 14px; border-bottom: 2px solid #1F4E79; margin-bottom: 22px;
}
.cl-head .cl-logo {
  width: 64px; height: 64px; border-radius: 6px; background: #F0F4F8;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; flex: 0 0 auto;
}
.cl-head .cl-logo img { max-width: 100%; max-height: 100%; display: block; }
.cl-head .cl-logo .cl-mono {
  font-family: Arial, Helvetica, sans-serif; color: #1F4E79;
  font-weight: 800; font-size: 22pt; letter-spacing: -1px;
}
.cl-head .cl-org { flex: 1; min-width: 0; }
.cl-head .cl-org-name {
  font-family: Arial, Helvetica, sans-serif; font-size: 18pt; font-weight: 700;
  color: #1F4E79; line-height: 1.2; margin: 0 0 4px;
}
.cl-head .cl-org-tag {
  font-size: 10pt; color: #4B5563; font-style: italic; margin: 0 0 6px;
}
.cl-head .cl-org-meta {
  font-size: 9.5pt; color: #4B5563; line-height: 1.4; font-family: Arial, Helvetica, sans-serif;
}
.cl-head .cl-org-meta span { display: inline-block; margin-right: 14px; }

/* Body */
.cl-ref {
  display: flex; justify-content: space-between; gap: 12px;
  font-size: 10.5pt; color: #333; margin-bottom: 20px;
}
.cl-date { font-weight: 600; }
.cl-recipient { margin: 0 0 14px; font-size: 11pt; line-height: 1.5; }
.cl-recipient .cl-rec-name { font-weight: 700; }
.cl-subject {
  font-weight: 700; margin: 18px 0 14px; font-size: 11.5pt;
  text-decoration: underline; text-underline-offset: 3px;
}
.cl-salutation { margin: 0 0 12px; }
.cl-body p { margin: 0 0 11pt; text-align: justify; hyphens: auto; }
.cl-body ul, .cl-body ol { margin: 0 0 12pt 22pt; padding: 0; }
.cl-body li { margin-bottom: 4pt; }
.cl-body strong { font-weight: 700; }

/* Signature block */
.cl-signoff { margin-top: 28pt; }
.cl-signoff .cl-close { margin: 0 0 28pt; }
.cl-signoff .cl-sig-line {
  display: block; width: 200px; border-bottom: 1px solid #1A1A1A; margin-bottom: 4pt;
}
.cl-signoff .cl-sig-name { font-weight: 700; }
.cl-signoff .cl-sig-title { color: #4B5563; font-size: 10.5pt; }
.cl-signoff .cl-sig-meta { color: #4B5563; font-size: 10pt; margin-top: 3pt; }
.cl-signoff .cl-stamp {
  display: inline-block; margin-top: 6pt; padding: 10pt 14pt;
  border: 1.5pt dashed #B58200; color: #8A5A00; font-size: 9.5pt;
  text-transform: uppercase; letter-spacing: .05em; font-weight: 700;
  border-radius: 4pt;
}

/* Foot strip (used by letterhead page) */
.cl-foot {
  margin-top: 36pt; padding-top: 10pt; border-top: 1pt solid #DCE3EB;
  font-size: 9pt; color: #6B7785; text-align: center;
  font-family: Arial, Helvetica, sans-serif;
}

/* Empty-state when a placeholder hasn't been filled — keep the layout stable */
.cl-paper .cl-empty { color: #9CA3AF; font-style: italic; }

/* Print: render only the preview */
@media print {
  body * { visibility: hidden !important; }
  .cl-preview-wrap, .cl-preview-wrap * { visibility: visible !important; }
  .cl-preview-wrap {
    position: absolute; left: 0; top: 0; padding: 0; background: #fff; min-height: 0;
  }
  .cl-paper {
    box-shadow: none; padding: 0; max-width: none; width: 100%; min-height: 0;
  }
  @page { size: A4; margin: 18mm; }
}

/* ===== marriage-biodata-generator.css ===== */
/* Marriage biodata generator
   --------------------------------------------------------------
   Layout: form on the left, A4 preview on the right.
   Templates: classic-royal, modern-minimal, floral-pastel, traditional-red.
*/

.page-wrap.page-full { grid-template-columns: 1fr; gap: 0; }
.page-wrap.page-full > main { padding-right: 0; }

/* ── Top bar ───────────────────────────────────────────── */
.mb-bar {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
  padding: 12px 14px; background: #F8FAFC; border: 1px solid var(--line);
  border-radius: var(--r-md); margin: 14px 0 18px;
}

/* Deity (God name + photo) panel — sits above the template bar. */
.mb-deity {
  padding: 12px 14px; background: #FFF7EB;
  border: 1px solid #F2D9A6; border-left: 3px solid #B58200;
  border-radius: var(--r-md); margin: 14px 0 12px;
}
.mb-deity-row {
  display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
}
.mb-deity-select, .mb-deity-input, .mb-lang-select {
  padding: 7px 10px; border: 1px solid var(--line); border-radius: 6px;
  font: inherit; font-size: 13px; background: #fff; color: var(--ink);
}
.mb-deity-input  { flex: 1; min-width: 200px; }
.mb-deity-select { min-width: 180px; }
.mb-lang-select  { min-width: 160px; }

.mb-deity-photo {
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.mb-deity-thumb {
  width: 36px; height: 36px; border-radius: 50%; overflow: hidden;
  background: #fff url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2236%22 height=%2236%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23B58200%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><circle cx=%2212%22 cy=%2212%22 r=%229%22/><path d=%22M12 7v5l3 2%22/></svg>') center/55% no-repeat;
  border: 1px solid #E8C97A; flex: 0 0 auto;
}
.mb-deity-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mb-bar .mb-bar-group { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.mb-bar .spacer { flex: 1; }
.mb-bar-label {
  font-size: 11px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--ink-3); font-weight: 600; margin-right: 6px;
}

.mb-tpl {
  padding: 6px 12px; border: 1px solid var(--line); background: #fff;
  border-radius: 999px; cursor: pointer; font: inherit; font-size: 12.5px;
  color: var(--ink); transition: border-color .12s, background .12s, color .12s;
}
.mb-tpl:hover { border-color: var(--brand); color: var(--brand); }
.mb-tpl.on   { background: var(--brand); color: #fff; border-color: var(--brand); font-weight: 600; }

.mb-btn {
  padding: 8px 14px; border: 1px solid var(--line); background: #fff;
  border-radius: 6px; cursor: pointer; font: inherit; font-size: 13px;
  color: var(--ink); transition: border-color .12s, background .12s, color .12s;
}
.mb-btn:hover { border-color: var(--brand); background: var(--brand-light); color: var(--brand); }
.mb-btn.primary { background: var(--brand); color: #fff; border-color: var(--brand); font-weight: 600; }
.mb-btn.primary:hover { background: #16385A; color: #fff; }
.mb-btn.ghost { background: transparent; }

/* ── Layout ────────────────────────────────────────────── */
.mb-layout {
  display: grid; grid-template-columns: minmax(280px, 380px) 1fr;
  gap: 22px; align-items: start;
}
@media (max-width: 900px) { .mb-layout { grid-template-columns: 1fr; } }

.mb-form {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 16px 18px; position: sticky; top: 84px;
  max-height: calc(100vh - 110px); overflow-y: auto;
}
@media (max-width: 900px) { .mb-form { position: static; max-height: none; } }
.mb-form h3 {
  font-size: 11px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--brand); font-weight: 700; margin: 14px 0 8px; padding-top: 12px;
  border-top: 1px solid #EEF1F4;
}
.mb-form h3:first-of-type { margin-top: 0; padding-top: 0; border-top: 0; }

.mb-field { display: block; margin-bottom: 10px; }
.mb-field label, .mb-field > .mb-label {
  display: block; font-size: 12px; color: var(--ink-2); font-weight: 500; margin-bottom: 4px;
}
.mb-field input[type=text], .mb-field input[type=email], .mb-field input[type=tel],
.mb-field input[type=date], .mb-field input[type=time], .mb-field input[type=number],
.mb-field textarea, .mb-field select {
  width: 100%; padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px;
  font: inherit; font-size: 13px; background: #fff; color: var(--ink); box-sizing: border-box;
}
.mb-field textarea { resize: vertical; min-height: 64px; line-height: 1.5; font-family: inherit; }
.mb-field input:focus, .mb-field textarea:focus, .mb-field select:focus {
  outline: none; border-color: var(--brand); box-shadow: 0 0 0 3px rgba(31,78,121,.12);
}
.mb-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.mb-row3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.mb-hint { font-size: 11px; color: var(--ink-3); margin-top: 4px; }

/* Photo picker */
.mb-photo-pick {
  display: flex; align-items: center; gap: 10px;
  padding: 10px; border: 1px dashed var(--line); border-radius: 6px;
  background: #FAFBFC;
}
.mb-photo-thumb {
  width: 56px; height: 72px; border-radius: 4px; overflow: hidden;
  background: #ECEFF3 url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%2236%22 height=%2236%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23B6C0CC%22 stroke-width=%221.5%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22><circle cx=%2212%22 cy=%228%22 r=%224%22/><path d=%22M20 21v-1a6 6 0 0 0-6-6h-4a6 6 0 0 0-6 6v1%22/></svg>') center/40% no-repeat;
  flex: 0 0 auto;
}
.mb-photo-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mb-photo-actions { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 0; }
.mb-photo-actions .mb-btn { padding: 5px 10px; font-size: 12px; }

/* Cross-page notice (reuses the .cl-shared-note pattern) */
.mb-saved-note {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  margin: 0 0 14px; padding: 9px 12px;
  background: #FFF7EB; border: 1px solid #F2D9A6; border-left: 3px solid #B58200;
  border-radius: 6px; font-size: 12px; color: #6A4400; line-height: 1.45;
}
.mb-saved-note svg { flex: 0 0 auto; color: #B58200; }
.mb-saved-note span { flex: 1; min-width: 0; }
.mb-saved-clear {
  background: transparent; border: 0; padding: 0; cursor: pointer;
  font: inherit; font-size: 11.5px; color: #B58200; text-decoration: underline;
}
.mb-saved-clear:hover { color: #6A4400; }

/* ── Preview canvas (A4) ───────────────────────────────── */
.mb-preview-wrap {
  background: #ECEFF3; border-radius: var(--r-md); padding: 22px;
  display: flex; justify-content: center; min-height: 600px;
}
.mb-paper {
  background: #fff; width: 100%; max-width: 794px;
  min-height: 1100px; padding: 0;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.10);
  border-radius: 2px;
  font-family: "Georgia", "Liberation Serif", serif;
  font-size: 11.5pt; line-height: 1.6; color: #1A1A1A;
  position: relative;
  overflow: hidden;
}
@media (max-width: 540px) { .mb-paper { font-size: 10pt; } }

.mb-paper .mb-inner {
  padding: 50px 60px;
  position: relative; z-index: 1;
}
.mb-paper .mb-title {
  margin: 0;
  font-family: "Georgia", serif; font-size: 22pt; font-weight: 700;
  line-height: 1.15; text-align: center;
}

/* Deity strip — vertical stack at the very top of the biodata:
   photo → biodata title → god name. */
.mb-paper .mb-deity-strip {
  display: flex; flex-direction: column; align-items: center;
  gap: 6pt; margin: 0 0 10pt; text-align: center;
}
.mb-paper .mb-deity-strip .mb-deity-img {
  width: 60px; height: 60px; border-radius: 50%;
  border: 1pt solid #E1C36F; overflow: hidden;
  background: #FBF5E6;
}
.mb-paper .mb-deity-strip .mb-deity-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mb-paper .mb-deity-strip .mb-biodata-title {
  font-family: "Georgia", serif; font-size: 16pt; font-weight: 700;
  color: #1F4E79; letter-spacing: 0.03em; line-height: 1.2;
}
.mb-paper .mb-deity-strip .mb-god-name {
  font-family: "Georgia", "Sanskrit Text", serif;
  font-size: 13pt; font-weight: 700; color: #8A6A12;
  line-height: 1.3; letter-spacing: 0.02em;
}

/* Header band: title text + portrait photo, side by side */
.mb-paper .mb-hdr {
  display: grid; grid-template-columns: 1fr 100px; gap: 18pt;
  align-items: center; margin: 0 0 18pt;
  padding-bottom: 14pt; border-bottom: 1pt solid #DCE3EB;
}
.mb-paper .mb-hdr .mb-hdr-text { min-width: 0; }
.mb-paper .mb-photo-box {
  width: 100px; height: 125px;          /* portrait — capped at 100px wide per spec */
  background: #F0F4F8;
  border: 1pt solid #DCE3EB; border-radius: 4pt;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden; flex: 0 0 auto;
  justify-self: end;
}
.mb-paper .mb-photo-box img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.mb-paper .mb-photo-box .mb-photo-ph {
  color: #9CA3AF; font-size: 10pt; font-style: italic; text-align: center; padding: 8pt;
}

/* Narrow preview: stack the photo above the title (still readable on phones). */
@media (max-width: 540px) {
  .mb-paper .mb-hdr { grid-template-columns: 1fr; gap: 12pt; text-align: center; }
  .mb-paper .mb-photo-box { justify-self: center; }
  .mb-paper .mb-deity-strip { flex-direction: column; gap: 6pt; }
}

.mb-paper .mb-greeting {
  font-size: 10.5pt; color: #4B5563; text-align: center; margin: 0 0 16pt;
}

.mb-paper section.mb-section { margin: 0; }
.mb-paper h2 {
  font-size: 12.5pt; font-weight: 700; margin: 10pt 0 4pt;
  padding-bottom: 3pt; border-bottom: 1pt solid #DCE3EB;
  color: #1F4E79; letter-spacing: 0.04em; text-transform: uppercase;
}
.mb-paper section.mb-section:first-of-type > h2 { margin-top: 0; }
/* Prose sections (About me, Hobbies & interests) — indent the paragraph
   so the body text doesn't run flush with the section title. */
.mb-paper section.mb-section > p { padding-left: 18pt; margin: 0; }

.mb-paper table.mb-kv {
  width: 100%; border-collapse: collapse; margin: 0; font-size: 11pt;
}
.mb-paper table.mb-kv td {
  padding: 4pt 6pt; vertical-align: top;
  border-bottom: 1pt dotted #E2E6EB;
}
.mb-paper table.mb-kv td.k {
  width: 38%; color: #4B5563; font-weight: 600;
}
.mb-paper table.mb-kv td.v { color: #1A1A1A; }
.mb-paper table.mb-kv td.v.empty { color: #B6BCC5; font-style: italic; }

.mb-paper .mb-foot {
  text-align: center; margin-top: 18pt; padding-top: 8pt;
  border-top: 1pt solid #DCE3EB; font-size: 9.5pt; color: #6B7785;
}

/* ============================================================
   TEMPLATE A — Classic Royal (gold corners, Om header)
   ============================================================ */
.mb-tpl-classic-royal {
  border: 8pt double #C9A227;
}
.mb-tpl-classic-royal .mb-inner { padding: 46pt 54pt; }
.mb-tpl-classic-royal::before,
.mb-tpl-classic-royal::after {
  content: ""; position: absolute; width: 80pt; height: 80pt;
  background:
    radial-gradient(circle at 10pt 10pt, #C9A227 0 6pt, transparent 7pt),
    radial-gradient(circle at 70pt 70pt, #C9A227 0 6pt, transparent 7pt);
  z-index: 0;
}
.mb-tpl-classic-royal::before { top: 14pt;    left: 14pt; }
.mb-tpl-classic-royal::after  { bottom: 14pt; right: 14pt; transform: rotate(180deg); }
.mb-tpl-classic-royal .mb-title { color: #8A6A12; letter-spacing: 0.04em; }
.mb-tpl-classic-royal .mb-deity-strip .mb-biodata-title { color: #8A6A12; }
.mb-tpl-classic-royal h2 {
  color: #8A6A12; border-bottom-color: #E1C36F;
  text-align: center;
}
.mb-tpl-classic-royal table.mb-kv td { border-bottom: 1pt dotted #E1C36F; }

/* ============================================================
   TEMPLATE B — Modern Minimal
   ============================================================ */
.mb-tpl-modern-minimal {
  background: #fff; font-family: "Helvetica Neue", Arial, sans-serif;
}
.mb-tpl-modern-minimal .mb-inner { padding: 48pt 56pt; }
.mb-tpl-modern-minimal .mb-title {
  text-align: left; font-size: 26pt; font-weight: 300; letter-spacing: -1pt;
  border-left: 4pt solid #1F4E79; padding-left: 12pt;
}
/* Modern Minimal: photo on the LEFT of the title block, circular */
.mb-tpl-modern-minimal .mb-hdr {
  grid-template-columns: 100px 1fr;
  align-items: center;
}
.mb-tpl-modern-minimal .mb-hdr .mb-hdr-text { order: 2; }
.mb-tpl-modern-minimal .mb-photo-box {
  order: 1; justify-self: start;
  border-radius: 50%; width: 100px; height: 100px;
}
.mb-tpl-modern-minimal .mb-title { text-align: left; }
.mb-tpl-modern-minimal h2 {
  color: #1F4E79; border-bottom-color: #1F4E79; border-bottom-width: 1pt;
  font-weight: 600; text-transform: none; font-size: 12pt; letter-spacing: 0.02em;
}
.mb-tpl-modern-minimal table.mb-kv td { border-bottom-style: solid; }

/* ============================================================
   TEMPLATE C — Floral Pastel
   ============================================================ */
.mb-tpl-floral-pastel {
  background:
    url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%22120%22 height=%22120%22 viewBox=%220 0 120 120%22><g fill=%22%23F5C6D5%22 opacity=%220.18%22><circle cx=%2218%22 cy=%2218%22 r=%226%22/><circle cx=%2226%22 cy=%2214%22 r=%224%22/><circle cx=%2222%22 cy=%2226%22 r=%224%22/><circle cx=%2210%22 cy=%2222%22 r=%224%22/></g><g fill=%22%23B7D9C6%22 opacity=%220.15%22><circle cx=%2298%22 cy=%2298%22 r=%226%22/><circle cx=%22106%22 cy=%2294%22 r=%224%22/><circle cx=%22102%22 cy=%22106%22 r=%224%22/><circle cx=%2290%22 cy=%22102%22 r=%224%22/></g></svg>'),
    #FFF9F4;
  border: 1pt solid #F2D6D6;
}
.mb-tpl-floral-pastel .mb-inner { padding: 46pt 54pt; }
.mb-tpl-floral-pastel .mb-title { color: #7A3946; font-family: "Georgia", serif; }
.mb-tpl-floral-pastel .mb-deity-strip .mb-biodata-title { color: #7A3946; }
.mb-tpl-floral-pastel h2 {
  color: #7A3946; border-bottom-color: #F2D6D6; text-align: center;
  letter-spacing: 0.04em;
}
.mb-tpl-floral-pastel table.mb-kv td.k { color: #7A3946; }
.mb-tpl-floral-pastel table.mb-kv td { border-bottom-color: #F2D6D6; }
.mb-tpl-floral-pastel .mb-photo-box { border-color: #E8B8B8; }

/* ============================================================
   TEMPLATE D — Traditional Red & Gold
   ============================================================ */
.mb-tpl-traditional-red {
  background: #fff;
  border: 6pt solid #8E1A1A;
  outline: 2pt solid #C9A227; outline-offset: -10pt;
}
.mb-tpl-traditional-red .mb-inner { padding: 44pt 52pt; }
.mb-tpl-traditional-red .mb-title {
  color: #fff; background: #8E1A1A; padding: 10pt 8pt; margin: 0 -52pt 8pt;
  text-align: center; letter-spacing: 0.06em; text-transform: uppercase; font-size: 18pt;
  border-top: 1pt solid #C9A227; border-bottom: 1pt solid #C9A227;
}
.mb-tpl-traditional-red .mb-deity-strip .mb-biodata-title { color: #8E1A1A; }
.mb-tpl-traditional-red h2 {
  color: #fff; background: #8E1A1A; padding: 4pt 8pt; border: 0;
  margin-bottom: 10pt; text-align: center; font-size: 11.5pt;
  border-top: 0.5pt solid #C9A227; border-bottom: 0.5pt solid #C9A227;
}
.mb-tpl-traditional-red table.mb-kv td { border-bottom-color: #E5C7C7; }
.mb-tpl-traditional-red table.mb-kv td.k { color: #8E1A1A; }
.mb-tpl-traditional-red .mb-photo-box {
  border: 2pt solid #C9A227; background: #FBF5E6;
}

/* ── Print + PDF (html2pdf renders the same node) ───────── */
@media print {
  body * { visibility: hidden !important; }
  .mb-preview-wrap, .mb-preview-wrap * { visibility: visible !important; }
  .mb-preview-wrap {
    position: absolute; left: 0; top: 0; right: 0;
    padding: 0; margin: 0;
    background: #fff; min-height: 0;
  }
  .mb-paper {
    box-shadow: none; border-radius: 0;
    max-width: none; width: 100%; min-height: 0;
    overflow: visible; /* let multi-page content flow across pages */
  }
  /* Decorative absolute pseudo-elements anchor to template root.
     Keep them confined to the first page only — otherwise they
     repeat on every printed page. */
  .mb-paper::before, .mb-paper::after { display: none !important; }
  /* The page margin handles white-space; drop the inner padding so the
     content area doesn't double up on it. */
  .mb-paper .mb-inner { padding: 0 !important; }
  /* Sections flow continuously across pages — no forced breaks. */
  .mb-paper .mb-hdr {
    page-break-after: avoid; break-after: avoid;
    /* Safety gutter so the candidate photo doesn't graze the right
       page edge under printer hardware margins / browser-side bleed. */
    padding-right: 6pt;
  }
  .mb-paper { padding-right: 4pt; }

  @page { size: A4; margin: 16mm; }
}

