/* ==========================================================================
   Shared resume markup structure (produced identically by app.js and
   includes/resume_render.php):

   .r-wrap
     .r-header  (name + role + contacts)
     .r-body
       .r-main  (objective, experience, projects, education)
       .r-side  (personal info, skills, languages, extra)
   ========================================================================== */

.r-wrap{ font-family:'Nunito', Arial, sans-serif; color:#222; height:100%; font-size:15px; }
.r-header{ display:flex; align-items:center; gap:16px; padding:24px 30px; }
.r-name{ font-size:27px; font-weight:800; margin:0; line-height:1.2; }
.r-role{ font-size:15.5px; font-weight:600; opacity:.85; margin-top:3px; }
.r-contacts{ font-size:12.5px; margin-top:8px; opacity:.9; }
.r-contacts span{ margin-right:14px; white-space:nowrap; }

.r-body{ padding:20px 30px 26px; }
.r-section{ margin-bottom:16px; }
.r-section h4{ font-size:14.5px; text-transform:uppercase; letter-spacing:.6px; font-weight:800; margin-bottom:8px; padding-bottom:4px; border-bottom:2px solid currentColor; display:inline-block; }
.r-section p{ margin:0 0 5px; font-size:13.5px; line-height:1.6; }
.r-item{ margin-bottom:10px; }
.r-item-title{ font-weight:700; font-size:14px; display:flex; justify-content:space-between; }
.r-item-sub{ font-size:13px; color:#555; font-style:italic; }
.r-item-desc{ font-size:13px; margin-top:3px; line-height:1.5; }
.r-tag-list{ display:flex; flex-wrap:wrap; gap:6px; }
.r-tag{ font-size:12px; padding:3px 10px; border-radius:10px; background:#eef0f7; }
.r-empty-hint{ font-size:12.5px; color:#aaa; font-style:italic; }

/* ---------------- 1. Simple Clean ---------------- */
.tpl-simple .r-header{ background:#f5f6fa; color:#222; }
.tpl-simple .r-section h4{ color:#4e73df; }
.tpl-simple .r-tag{ background:#e8ecfb; color:#3a4bab; }

/* ---------------- 2. Modern Sidebar (2-column layout) ---------------- */
.tpl-sidebar .r-wrap{ display:flex; align-items:stretch; }
.tpl-sidebar .r-header{ flex-direction:column; align-items:flex-start; width:34%; background:#22304f; color:#fff; padding:26px 20px; text-align:left; }
.tpl-sidebar .r-body{ width:66%; padding:22px 24px; }
.tpl-sidebar .r-section h4{ color:#22304f; }
.tpl-sidebar .r-tag{ background:#eef1f7; color:#22304f; }

/* ---------------- 3. Minimal ---------------- */
.tpl-minimal .r-header{ background:#fff; padding-bottom:8px; border-bottom:1px solid #eee; }
.tpl-minimal .r-section h4{ color:#111; border-bottom:1px solid #ccc; font-weight:700; letter-spacing:.3px; }
.tpl-minimal .r-tag{ background:#fff; border:1px solid #ddd; }

/* ---------------- 4. ATS Friendly (plain, no color, print-optimized) ---------------- */
.tpl-ats .r-header{ background:#fff; border-bottom:2px solid #000; }
.tpl-ats .r-section h4{ color:#000; border-bottom:1px solid #000; }
.tpl-ats .r-tag{ background:#fff; border:1px solid #000; border-radius:0; }
.tpl-ats .r-wrap{ font-family:Arial, sans-serif; }

/* ---------------- 5. Dark Mode ---------------- */
.tpl-dark .r-wrap{ background:#1b1d27; color:#e7e7ee; }
.tpl-dark .r-header{ background:#12131c; color:#fff; }
.tpl-dark .r-section h4{ color:#7c93ff; }
.tpl-dark .r-item-sub{ color:#a6a8b8; }
.tpl-dark .r-tag{ background:#2a2c3c; color:#cfd3ff; }

/* ---------------- 6. Creative ---------------- */
.tpl-creative .r-header{ background:linear-gradient(120deg,#ff7e5f,#feb47b); color:#fff; }
.tpl-creative .r-section h4{ color:#ff7e5f; border-bottom:2px dashed #ff7e5f; }
.tpl-creative .r-tag{ background:#fff0ea; color:#ff7e5f; }

/* ---------------- 7. Compact (dense, small type for lots of content) ---------------- */
.tpl-compact .r-wrap{ font-size:13px; }
.tpl-compact .r-header{ padding:16px 24px; }
.tpl-compact .r-name{ font-size:21px; }
.tpl-compact .r-body{ padding:12px 24px 18px; }
.tpl-compact .r-section{ margin-bottom:10px; }
.tpl-compact .r-section h4{ color:#333; font-size:13px; }

/* ---------------- 8. Elegant ---------------- */
.tpl-elegant .r-wrap{ font-family:Georgia, 'Times New Roman', serif; }
.tpl-elegant .r-header{ background:#fbf8f3; color:#3b2f26; text-align:center; flex-direction:column; }
.tpl-elegant .r-name{ letter-spacing:1px; }
.tpl-elegant .r-section h4{ color:#8a6d3b; border-bottom:1px solid #d8c9a3; }
.tpl-elegant .r-tag{ background:#f6efdf; color:#7a5c2e; }

/* ---------------- 9. Fresher Style (bright, encouraging, objective front & center) ---------------- */
.tpl-fresher .r-header{ background:#e8f6ef; color:#0f5132; }
.tpl-fresher .r-section h4{ color:#0f9d58; }
.tpl-fresher .r-tag{ background:#e6f7ee; color:#0f9d58; }

/* ---------------- 10. Corporate ---------------- */
.tpl-corporate .r-header{ background:#0b3d63; color:#fff; }
.tpl-corporate .r-section h4{ color:#0b3d63; }
.tpl-corporate .r-tag{ background:#e7eef4; color:#0b3d63; }
.tpl-corporate .r-wrap{ font-family:'Segoe UI', Arial, sans-serif; }

/* ---------------- 11. Formal (Table Style) — classic Indian-style CV,
   centered name header, bordered tables for education & personal
   particulars, declaration + signature line at the bottom ---------------- */
.tpl-formal .r-wrap{ font-family:Arial, Helvetica, sans-serif; color:#111; }
.tpl-formal .r-header{ flex-direction:column; align-items:center; text-align:center; background:#fff; padding:20px 24px 12px; border-bottom:2px solid #1F4E79; }
.tpl-formal .r-name{ font-size:28px; letter-spacing:1px; color:#1F4E79; }
.tpl-formal .r-role{ opacity:.7; }
.tpl-formal .r-contacts{ margin-top:5px; }
.tpl-formal .r-contacts span{ margin:0 8px; }
.tpl-formal .r-body{ display:block; padding:18px 30px 24px; }
.tpl-formal .r-main, .tpl-formal .r-side{ width:100%; }
.tpl-formal .r-section h4{ color:#1F4E79; font-size:14px; border-bottom:2px solid #1F4E79; width:100%; display:block; }
.tpl-formal table.r-formal-table{ width:100%; border-collapse:collapse; font-size:13px; margin-bottom:5px; }
.tpl-formal table.r-formal-table th{ background:#1F4E79; color:#fff; text-align:left; padding:7px 9px; font-weight:700; }
.tpl-formal table.r-formal-table td{ padding:7px 9px; border:1px solid #cdd7e2; }
.tpl-formal table.r-formal-table tr:nth-child(even) td{ background:#f2f5f9; }
.tpl-formal .r-pp-table{ width:100%; border-collapse:collapse; font-size:13px; }
.tpl-formal .r-pp-table td{ padding:6px 7px; border-bottom:1px solid #e6e6e6; }
.tpl-formal .r-pp-table td.r-pp-label{ font-weight:700; width:28%; }
.tpl-formal .r-tag{ background:#fff; border:1px solid #1F4E79; color:#1F4E79; border-radius:0; }

/* ---------------- Declaration / signature block (all templates) ---------------- */
.r-sig-section{ margin-top:20px; padding:0 30px 22px; }
.tpl-sidebar .r-sig-section{ padding-left:calc(34% + 26px); }
.r-sig-declaration{ font-size:13px; line-height:1.6; margin-bottom:28px; }
.r-sig-row{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; }
.r-sig-meta{ font-size:13px; }
.r-sig-box{ text-align:center; min-width:170px; }
.r-sig-img{ max-height:54px; max-width:190px; display:block; margin:0 auto 5px; }
.r-sig-line{ border-top:1px solid #888; padding-top:5px; font-size:12.5px; }

/* ==========================================================================
   Gallery swatch color hints (small blank preview cards)
   ========================================================================== */
.template-swatch.tpl-simple .sw-head{ background:#4e73df; }
.template-swatch.tpl-sidebar{ background:linear-gradient(90deg,#22304f 34%,#fff 34%); }
.template-swatch.tpl-sidebar .sw-head{ background:#fff; }
.template-swatch.tpl-minimal .sw-head{ background:#333; }
.template-swatch.tpl-ats .sw-head{ background:#000; }
.template-swatch.tpl-dark{ background:#1b1d27; }
.template-swatch.tpl-dark .sw-head{ background:#7c93ff; }
.template-swatch.tpl-dark .sw-line{ background:#3a3d52; }
.template-swatch.tpl-creative .sw-head{ background:linear-gradient(120deg,#ff7e5f,#feb47b); }
.template-swatch.tpl-compact .sw-head{ background:#333; height:10px; }
.template-swatch.tpl-elegant .sw-head{ background:#8a6d3b; }
.template-swatch.tpl-fresher .sw-head{ background:#0f9d58; }
.template-swatch.tpl-corporate .sw-head{ background:#0b3d63; }
