/* ==========================================================================
   ResumeCraft - 50 Distinct Resume Templates Styling Engine
   ========================================================================== */

/* Universal Reset inside resume document */
.resume-document * {
    box-sizing: border-box;
}

/* Base Document Section Structure - Tuned for A4 Single-Page Harmony */
.resume-section {
    margin-bottom: 9px;
    page-break-inside: avoid;
    break-inside: avoid;
}

.resume-section-title {
    font-size: 9.8pt;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--primary-color, #1e3a8a);
    margin-bottom: 4px;
    padding-bottom: 2px;
    border-bottom: 1.5px solid var(--primary-color, #1e3a8a);
    display: flex;
    align-items: center;
    gap: 6px;
}

.resume-entry {
    margin-bottom: 5px;
    page-break-inside: avoid;
    break-inside: avoid;
}

.entry-header-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    margin-bottom: 1.5px;
}

.entry-role {
    font-weight: 700;
    font-size: 9.5pt;
    color: #0f172a;
}

.entry-employer {
    font-weight: 600;
    font-size: 9pt;
    color: #475569;
}

.entry-date {
    font-size: 8.2pt;
    color: #64748b;
    font-weight: 500;
    white-space: nowrap;
}

.entry-location {
    font-size: 8.2pt;
    color: #64748b;
    font-style: italic;
}

.entry-bullets {
    list-style: disc;
    margin-left: 16px;
    margin-top: 2px;
    margin-bottom: 3px;
}

.entry-bullets li {
    font-size: 8.8pt;
    color: #334155;
    margin-bottom: 1.5px;
    line-height: 1.35;
}

.entry-bullets li:last-child {
    margin-bottom: 0;
}

.resume-summary-text {
    font-size: 8.8pt;
    line-height: 1.36;
    color: #334155;
}

/* Skills Badges and Lists */
.skills-tags-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 3px;
}

.skill-tag-pill {
    background-color: #f1f5f9;
    color: #1e293b;
    font-size: 8.2pt;
    font-weight: 500;
    padding: 1.5px 6px;
    border-radius: 3px;
    border: 1px solid #e2e8f0;
}

/* Contact Details Row */
.resume-contact-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 12px;
    font-size: 8.2pt;
    color: #475569;
    margin-top: 4px;
}

.resume-contact-item {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.resume-contact-item a {
    color: inherit;
    text-decoration: none;
}

/* Typography Font Families */
.font-inter { font-family: 'Inter', -apple-system, sans-serif; }
.font-merriweather { font-family: 'Merriweather', Georgia, serif; }
.font-poppins { font-family: 'Poppins', sans-serif; }
.font-playfair-display { font-family: 'Playfair Display', Georgia, serif; }
.font-space-grotesk { font-family: 'Space Grotesk', sans-serif; }
.font-roboto { font-family: 'Roboto', sans-serif; }
.font-jetbrains-mono { font-family: 'JetBrains Mono', monospace; }

/* Font Size Modifiers */
.font-size-compact { font-size: 8.5pt; line-height: 1.30; }
.font-size-normal { font-size: 9pt; line-height: 1.38; }
.font-size-spacious { font-size: 9.8pt; line-height: 1.48; }

/* Margins Modifiers - Calibrated for A4 (210mm x 297mm) */
.margins-compact { padding: 8mm 10mm !important; }
.margins-normal { padding: 12mm 14mm !important; }
.margins-generous { padding: 16mm 18mm !important; }

/* Line Spacing Modifiers */
.line-spacing-compact { line-height: 1.28 !important; }
.line-spacing-normal { line-height: 1.38 !important; }
.line-spacing-relaxed { line-height: 1.52 !important; }

/* Section Spacing Modifiers */
.section-spacing-compact .resume-section { margin-bottom: 5px !important; }
.section-spacing-compact .resume-entry { margin-bottom: 3.5px !important; }
.section-spacing-compact .resume-header { margin-bottom: 7px !important; padding-bottom: 5px !important; }
.section-spacing-normal .resume-section { margin-bottom: 9px; }
.section-spacing-normal .resume-entry { margin-bottom: 5px; }
.section-spacing-spacious .resume-section { margin-bottom: 14px !important; }
.section-spacing-spacious .resume-entry { margin-bottom: 8px !important; }

/* ⚡ Automatic Fit to 1 Single A4 Page (autofit-1page) */
.resume-document.autofit-1page {
    /* Compact internal vertical pacing when auto-fit is active */
}
.resume-document.autofit-1page .resume-header {
    margin-bottom: 6px !important;
    padding-bottom: 4px !important;
}
.resume-document.autofit-1page .resume-section {
    margin-bottom: 5px !important;
}
.resume-document.autofit-1page .resume-entry {
    margin-bottom: 3.5px !important;
}
.resume-document.autofit-1page .entry-bullets {
    margin-top: 1.5px !important;
    margin-bottom: 2px !important;
}
.resume-document.autofit-1page .entry-bullets li {
    margin-bottom: 1px !important;
    line-height: 1.28 !important;
}
.resume-document.autofit-1page .resume-summary-text {
    line-height: 1.28 !important;
}

/* ==========================================================================
   CATEGORY A: MODERN PROFESSIONAL TEMPLATES (01 - 05)
   ========================================================================== */

/* Template 01 — Modern Professional (Two Column, Navy Sidebar Right) */
.rt-modern-professional .resume-header {
    margin-bottom: 10px;
    border-bottom: 2px solid var(--primary-color, #1e3a8a);
    padding-bottom: 8px;
}
.rt-modern-professional .resume-name {
    font-size: 20pt;
    font-weight: 800;
    color: var(--primary-color, #1e3a8a);
    letter-spacing: -0.02em;
    line-height: 1.1;
}
.rt-modern-professional .resume-title {
    font-size: 10pt;
    font-weight: 600;
    color: #475569;
    margin-top: 2px;
}
.rt-modern-professional .resume-layout-grid {
    display: grid;
    grid-template-columns: 2.1fr 1fr;
    gap: 14px;
}
.rt-modern-professional .resume-sidebar {
    background-color: #f8fafc;
    padding: 9px;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

/* Template 02 — Corporate Executive (Formal Serif, Wide Authoritative Header) */
.rt-corporate-executive {
    font-family: 'Merriweather', Georgia, serif;
}
.rt-corporate-executive .resume-header {
    text-align: center;
    border-bottom: 3px double var(--primary-color, #0f172a);
    padding-bottom: 8px;
    margin-bottom: 10px;
}
.rt-corporate-executive .resume-name {
    font-size: 20pt;
    font-weight: 700;
    color: var(--primary-color, #0f172a);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.rt-corporate-executive .resume-title {
    font-size: 10pt;
    font-style: italic;
    color: #475569;
    margin-top: 2px;
}
.rt-corporate-executive .resume-contact-row {
    justify-content: center;
    margin-top: 5px;
}
.rt-corporate-executive .resume-section-title {
    border-bottom: 1px solid #0f172a;
    color: #0f172a;
}

/* Template 03 — Minimalist White (Single-Column, Generous Spacing, Clean Dividers) */
.rt-minimalist-white .resume-header {
    margin-bottom: 10px;
}
.rt-minimalist-white .resume-name {
    font-size: 19pt;
    font-weight: 300;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #1e293b;
}
.rt-minimalist-white .resume-title {
    font-size: 9pt;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: #64748b;
    text-transform: uppercase;
}
.rt-minimalist-white .resume-section-title {
    border-bottom: 1px solid #e2e8f0;
    color: #334155;
    font-size: 9.2pt;
    font-weight: 600;
    letter-spacing: 0.08em;
}

/* Template 04 — Contemporary Split (Distinct Left & Right Columns) */
.rt-contemporary-split .resume-layout-grid {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 14px;
}
.rt-contemporary-split .resume-left-col {
    background-color: #f0f9ff;
    padding: 10px;
    border-radius: 6px;
}
.rt-contemporary-split .resume-name {
    font-size: 18pt;
    font-weight: 700;
    color: var(--primary-color, #0284c7);
}

/* Template 05 — Elegant Serif (Refined Serif Headings, Modern Sans Body) */
.rt-elegant-serif .resume-name {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 21pt;
    color: var(--primary-color, #78350f);
    font-weight: 600;
}
.rt-elegant-serif .resume-section-title {
    font-family: 'Playfair Display', Georgia, serif;
    text-transform: none;
    font-size: 11pt;
    font-style: italic;
    color: var(--primary-color, #78350f);
    border-bottom: 1px solid #e2e8f0;
}

/* ==========================================================================
   CATEGORY B: ATS-FRIENDLY TEMPLATES (06 - 10)
   ========================================================================== */

/* Template 06 — ATS Classic (Strict Linear, Conventional Contact) */
.rt-ats-classic .resume-header {
    text-align: center;
    margin-bottom: 8px;
    border-bottom: 1px solid #000;
    padding-bottom: 6px;
}
.rt-ats-classic .resume-name {
    font-size: 18pt;
    font-weight: 700;
    color: #000000;
}
.rt-ats-classic .resume-title {
    font-size: 9.5pt;
    font-weight: 600;
    color: #333333;
}
.rt-ats-classic .resume-contact-row {
    justify-content: center;
    gap: 6px 10px;
}
.rt-ats-classic .resume-section-title {
    border-bottom: 1px solid #000;
    color: #000;
    font-size: 9.5pt;
}

/* Template 07 — ATS Modern (Clean Sans, Separated Sections, Strict Single Column) */
.rt-ats-modern .resume-name {
    font-size: 19pt;
    font-weight: 800;
    color: var(--primary-color, #1e40af);
}
.rt-ats-modern .resume-section-title {
    background-color: #f1f5f9;
    padding: 2px 6px;
    border-bottom: none;
    border-left: 3px solid var(--primary-color, #1e40af);
}

/* Template 08 — ATS Compact (High Hierarchy Density) */
.rt-ats-compact {
    font-size: 8.5pt;
    line-height: 1.30;
}
.rt-ats-compact .resume-section {
    margin-bottom: 6px;
}
.rt-ats-compact .resume-name {
    font-size: 16pt;
    font-weight: 700;
}

/* Template 09 — ATS Graduate (Education First, Academic Projects Highlight) */
.rt-ats-graduate .resume-name {
    font-size: 18pt;
    color: var(--primary-color, #047857);
}

/* Template 10 — ATS Experienced (Experience First, Measurable Achievements) */
.rt-ats-experienced .resume-name {
    font-size: 19pt;
    font-weight: 700;
    color: var(--primary-color, #1e293b);
}

/* ==========================================================================
   CATEGORY C: CREATIVE AND DESIGNER TEMPLATES (11 - 15)
   ========================================================================== */

/* Template 11 — Creative Studio (Bold Accent Header Block, Large Name) */
.rt-creative-studio .resume-header {
    background: linear-gradient(135deg, var(--primary-color, #7c3aed), #4f46e5);
    color: #ffffff;
    margin: -12mm -14mm 10px -14mm;
    padding: 12mm 14mm 8mm 14mm;
}
.rt-creative-studio .resume-name {
    color: #ffffff;
    font-size: 21pt;
    font-weight: 800;
}
.rt-creative-studio .resume-title {
    color: rgba(255, 255, 255, 0.9);
}
.rt-creative-studio .resume-contact-row {
    color: rgba(255, 255, 255, 0.85);
}

/* Template 12 — Graphic Designer (Distinct Visual Grid, Space Grotesk) */
.rt-graphic-designer {
    font-family: 'Space Grotesk', sans-serif;
}
.rt-graphic-designer .resume-name {
    font-size: 20pt;
    font-weight: 700;
    color: var(--primary-color, #e11d48);
    text-transform: uppercase;
}
.rt-graphic-designer .resume-section-title {
    border-bottom: 2px solid var(--primary-color, #e11d48);
    color: var(--primary-color, #e11d48);
}

/* Template 13 — UI/UX Designer (Case Study Highlights, Outcome Badges) */
.rt-ui-ux-designer .resume-name {
    font-size: 20pt;
    font-weight: 700;
    color: var(--primary-color, #6366f1);
}
.rt-ui-ux-designer .skill-tag-pill {
    background-color: #e0e7ff;
    color: #4338ca;
    border-color: #c7d2fe;
}

/* Template 14 — Creative Editorial (Magazine-inspired, Asymmetric) */
.rt-creative-editorial .resume-name {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 22pt;
    font-style: italic;
    color: #0f172a;
}
.rt-creative-editorial .resume-title {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 8.5pt;
}

/* Template 15 — Portfolio Professional (Prominent Web Links & Projects) */
.rt-portfolio-professional .resume-header {
    border-left: 4px solid var(--primary-color, #059669);
    padding-left: 10px;
    margin-bottom: 10px;
}
.rt-portfolio-professional .resume-name {
    font-size: 20pt;
    font-weight: 800;
    color: var(--primary-color, #059669);
}

/* ==========================================================================
   CATEGORY D: TECHNOLOGY AND ENGINEERING TEMPLATES (16 - 20)
   ========================================================================== */

/* Template 16 — Software Developer (Monospace Details, Tech Matrix) */
.rt-software-developer .resume-header {
    background-color: #0f172a;
    color: #ffffff;
    margin: -12mm -14mm 10px -14mm;
    padding: 10mm 14mm 8mm 14mm;
    border-bottom: 3px solid #0284c7;
}
.rt-software-developer .resume-name {
    font-family: 'JetBrains Mono', monospace;
    color: #38bdf8;
    font-size: 19pt;
    font-weight: 700;
}
.rt-software-developer .resume-title {
    font-family: 'JetBrains Mono', monospace;
    color: #e2e8f0;
}
.rt-software-developer .resume-contact-row {
    color: #94a3b8;
}
.rt-software-developer .resume-section-title {
    font-family: 'JetBrains Mono', monospace;
    color: #0284c7;
    border-bottom-color: #0284c7;
}

/* Template 17 — IT Professional (Left Sidebar for Systems & Certifications) */
.rt-it-professional .resume-layout-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 12px;
}
.rt-it-professional .resume-sidebar {
    background-color: #ecfeff;
    padding: 9px;
    border-radius: 6px;
    border: 1px solid #cffafe;
}
.rt-it-professional .resume-name {
    font-size: 19pt;
    color: var(--primary-color, #0891b2);
}

/* Template 18 — Mechanical Engineer (CAD Specs, Technical Standards) */
.rt-mechanical-engineer .resume-header {
    border-bottom: 2px solid #ea580c;
    padding-bottom: 6px;
    margin-bottom: 10px;
}
.rt-mechanical-engineer .resume-name {
    font-size: 19pt;
    color: #ea580c;
    font-weight: 700;
}

/* Template 19 — Electrical Engineer (Hardware & Technical Competencies) */
.rt-electrical-engineer .resume-name {
    font-size: 19pt;
    color: #d97706;
}
.rt-electrical-engineer .resume-section-title {
    color: #d97706;
    border-bottom-color: #d97706;
}

/* Template 20 — Data Analyst (Metric-Focused Callouts) */
.rt-data-analyst {
    font-family: 'Space Grotesk', sans-serif;
}
.rt-data-analyst .resume-name {
    font-size: 20pt;
    color: #2563eb;
    font-weight: 700;
}
.rt-data-analyst .skill-tag-pill {
    background-color: #eff6ff;
    color: #1d4ed8;
    font-weight: 600;
}

/* ==========================================================================
   CATEGORY E: STUDENT AND FRESHER TEMPLATES (21 - 25)
   ========================================================================== */

/* Template 21 — College Student */
.rt-college-student .resume-name {
    font-size: 19pt;
    font-weight: 700;
    color: #2563eb;
}

/* Template 22 — First Job Resume */
.rt-first-job-resume .resume-header {
    background-color: #f0fdf4;
    border: 1px solid #bbf7d0;
    padding: 8px 12px;
    border-radius: 6px;
    margin-bottom: 10px;
}
.rt-first-job-resume .resume-name {
    font-size: 18pt;
    color: #059669;
}

/* Template 23 — Graduate Professional */
.rt-graduate-professional .resume-name {
    font-size: 19pt;
    color: #4f46e5;
}

/* Template 24 — Internship Applicant */
.rt-internship-applicant .resume-name {
    font-size: 18pt;
    color: #0d9488;
}

/* Template 25 — Entry-Level Minimal */
.rt-entry-level-minimal .resume-name {
    font-size: 17pt;
    color: #334155;
    font-weight: 600;
}

/* ==========================================================================
   CATEGORY F: EXPERIENCED AND LEADERSHIP TEMPLATES (26 - 30)
   ========================================================================== */

/* Template 26 — Senior Professional */
.rt-senior-professional {
    font-family: 'Merriweather', Georgia, serif;
}
.rt-senior-professional .resume-name {
    font-size: 20pt;
    color: #1e3a8a;
    font-weight: 700;
}

/* Template 27 — Project Manager (Outcomes Split) */
.rt-project-manager .resume-name {
    font-size: 20pt;
    color: #0369a1;
}

/* Template 28 — Business Manager */
.rt-business-manager .resume-name {
    font-size: 20pt;
    color: #1e293b;
    text-transform: uppercase;
}

/* Template 29 — Director and Executive (Spacious Classic) */
.rt-director-executive .resume-name {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 21pt;
    color: #0f172a;
    text-align: center;
}
.rt-director-executive .resume-title {
    text-align: center;
    font-style: italic;
}
.rt-director-executive .resume-contact-row {
    justify-content: center;
}

/* Template 30 — Career Change (Hybrid Transferable Skills) */
.rt-career-change .resume-name {
    font-size: 19pt;
    color: #7c2d12;
}

/* ==========================================================================
   CATEGORY G: INDUSTRY-SPECIFIC TEMPLATES (31 - 40)
   ========================================================================== */

/* Template 31 — Teacher and Educator */
.rt-teacher-educator {
    font-family: 'Merriweather', Georgia, serif;
}
.rt-teacher-educator .resume-name {
    font-size: 19pt;
    color: #b45309;
}

/* Template 32 — Healthcare Professional */
.rt-healthcare-professional .resume-name {
    font-size: 20pt;
    color: #0284c7;
    font-weight: 700;
}

/* Template 33 — Accountant and Finance */
.rt-accountant-finance .resume-header {
    border-bottom: 2px solid #1e293b;
    padding-bottom: 6px;
    margin-bottom: 8px;
}
.rt-accountant-finance .resume-name {
    font-size: 19pt;
    color: #0f172a;
}

/* Template 34 — Sales Professional (Bold Metrics) */
.rt-sales-professional .resume-name {
    font-size: 20pt;
    color: #b91c1c;
    font-weight: 800;
}

/* Template 35 — Marketing Professional */
.rt-marketing-professional .resume-name {
    font-size: 20pt;
    color: #be185d;
    font-weight: 800;
}

/* Template 36 — Customer Support */
.rt-customer-support .resume-name {
    font-size: 19pt;
    color: #0f766e;
}

/* Template 37 — Human Resources */
.rt-human-resources .resume-name {
    font-size: 19pt;
    color: #6d28d9;
}

/* Template 38 — Operations and Logistics */
.rt-operations-logistics .resume-name {
    font-size: 19pt;
    color: #374151;
}

/* Template 39 — Skilled Trades */
.rt-skilled-trades .resume-name {
    font-size: 19pt;
    color: #c2410c;
    font-weight: 700;
}

/* Template 40 — Research and Academia (Full Academic CV Style) */
.rt-research-academia {
    font-family: 'Merriweather', Georgia, serif;
    font-size: 8.8pt;
}
.rt-research-academia .resume-name {
    font-size: 20pt;
    text-align: center;
    color: #1e3a8a;
}
.rt-research-academia .resume-title {
    text-align: center;
}
.rt-research-academia .resume-contact-row {
    justify-content: center;
}

/* ==========================================================================
   CATEGORY H: DISTINCTIVE & INTERNATIONAL LAYOUTS (41 - 50)
   ========================================================================== */

/* Template 41 — European-Inspired Classic (Europass Modular Left Bar) */
.rt-european-classic .resume-layout-grid {
    display: grid;
    grid-template-columns: 1fr 2.2fr;
    gap: 14px;
}
.rt-european-classic .resume-sidebar {
    border-right: 1px solid #cbd5e1;
    padding-right: 10px;
}
.rt-european-classic .resume-name {
    font-size: 19pt;
    color: #1d4ed8;
    font-weight: 700;
}

/* Template 42 — International Professional */
.rt-international-professional .resume-name {
    font-size: 20pt;
    color: #0f172a;
    font-weight: 700;
}

/* Template 43 — Elegant Blue (Blue Banner Split) */
.rt-elegant-blue .resume-header {
    background-color: #1e40af;
    color: #ffffff;
    margin: -12mm -14mm 10px -14mm;
    padding: 10mm 14mm 8mm 14mm;
}
.rt-elegant-blue .resume-name {
    color: #ffffff;
    font-size: 20pt;
}
.rt-elegant-blue .resume-title {
    color: #dbeafe;
}
.rt-elegant-blue .resume-contact-row {
    color: #bfdbfe;
}

/* Template 44 — Monochrome Premium (High-Contrast Black & White) */
.rt-monochrome-premium .resume-name {
    font-size: 21pt;
    font-weight: 900;
    color: #000000;
    letter-spacing: -0.02em;
}
.rt-monochrome-premium .resume-section-title {
    color: #000000;
    border-bottom: 2px solid #000000;
}

/* Template 45 — Warm Neutral (Warm Sand Accent) */
.rt-warm-neutral .resume-name {
    font-family: 'Playfair Display', Georgia, serif;
    font-size: 21pt;
    color: #78350f;
}
.rt-warm-neutral .resume-section-title {
    color: #78350f;
    border-bottom-color: #fde68a;
}

/* Template 46 — Bold Header (Full Width Blue Top Bar) */
.rt-bold-header .resume-header {
    background-color: #0369a1;
    color: #ffffff;
    margin: -12mm -14mm 10px -14mm;
    padding: 10mm 14mm 8mm 14mm;
}
.rt-bold-header .resume-name {
    color: #ffffff;
    font-size: 20pt;
}
.rt-bold-header .resume-title {
    color: #e0f2fe;
}
.rt-bold-header .resume-contact-row {
    color: #bae6fd;
}

/* Template 47 — Timeline Professional (Vertical Timeline Line) */
.rt-timeline-professional .resume-section:not(.sec-header) {
    position: relative;
    padding-left: 14px;
    border-left: 2px solid #93c5fd;
    margin-left: 4px;
}
.rt-timeline-professional .resume-name {
    font-size: 20pt;
    color: #2563eb;
    font-weight: 700;
}

/* Template 48 — Compact Two-Column */
.rt-compact-two-column .resume-layout-grid {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 12px;
}
.rt-compact-two-column .resume-sidebar {
    background-color: #f8fafc;
    padding: 8px;
    border-radius: 4px;
}
.rt-compact-two-column .resume-name {
    font-size: 17pt;
    color: #334155;
}

/* Template 49 — Modern Grid (Modular Card Blocks) */
.rt-modern-grid {
    font-family: 'Space Grotesk', sans-serif;
}
.rt-modern-grid .resume-name {
    font-size: 20pt;
    color: #059669;
    font-weight: 700;
}
.rt-modern-grid .resume-section {
    background-color: #f8fafc;
    padding: 7px 11px;
    border-radius: 5px;
    border: 1px solid #e2e8f0;
    margin-bottom: 7px;
}

/* Template 50 — Universal Professional (Universally Accepted Standard) */
.rt-universal-professional .resume-header {
    border-bottom: 2px solid var(--primary-color, #1e293b);
    padding-bottom: 8px;
    margin-bottom: 10px;
}
.rt-universal-professional .resume-name {
    font-size: 20pt;
    font-weight: 800;
    color: var(--primary-color, #1e293b);
}
.rt-universal-professional .resume-section-title {
    color: var(--primary-color, #1e293b);
    border-bottom-color: var(--primary-color, #1e293b);
}

/* ==========================================================================
   PASSPORT-SIZE PHOTO COMMON FRAMEWORK (35mm x 45mm Standard Ratio)
   ========================================================================== */
.passport-photo-frame {
    width: 30mm;
    height: 39mm;
    border: 2px solid #cbd5e1;
    background-color: #f8fafc;
    border-radius: 4px;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    position: relative;
}

.passport-photo-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.passport-placeholder-box {
    font-size: 6.5pt;
    font-weight: 600;
    color: #94a3b8;
    text-align: center;
    padding: 4px;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    background: repeating-linear-gradient(45deg, #f8fafc, #f8fafc 5px, #f1f5f9 5px, #f1f5f9 10px);
}

.passport-placeholder-box svg {
    margin-bottom: 3px;
    color: #cbd5e1;
}

/* ==========================================================================
   CATEGORY I: PASSPORT PHOTO & NOVEL TEMPLATES (51 - 60)
   ========================================================================== */

/* Template 51 — Passport Executive Profile (Top-Right Passport Photo, Navy & Gold) */
.rt-passport-executive-profile {
    font-family: 'Merriweather', Georgia, serif;
}
.rt-passport-executive-profile .resume-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 3px double var(--primary-color, #1e3a8a);
    padding-bottom: 8px;
    margin-bottom: 10px;
}
.rt-passport-executive-profile .passport-photo-frame {
    border: 2px solid #d97706;
    box-shadow: 0 0 0 1px #b45309, 0 3px 8px rgba(0,0,0,0.10);
}
.rt-passport-executive-profile .resume-name {
    font-size: 20pt;
    font-weight: 700;
    color: var(--primary-color, #1e3a8a);
}
.rt-passport-executive-profile .resume-layout-grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 14px;
}

/* Template 52 — Monogram Badge Passport (Sidebar Left with Portrait Badge) */
.rt-monogram-badge-passport .resume-layout-grid {
    display: grid;
    grid-template-columns: 1fr 2.3fr;
    gap: 14px;
}
.rt-monogram-badge-passport .resume-sidebar {
    background: linear-gradient(180deg, #f0fdfa 0%, #ffffff 100%);
    border: 1px solid #ccfbf1;
    border-radius: 6px;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.rt-monogram-badge-passport .passport-photo-frame {
    width: 30mm;
    height: 39mm;
    border-radius: 5px;
    border: 2.5px solid #0f766e;
    margin-bottom: 8px;
}
.rt-monogram-badge-passport .resume-name {
    font-size: 19pt;
    color: #0f766e;
    font-weight: 800;
}

/* Template 53 — Nordic Clean Photo (Scandinavian Minimalism, Top-Left Photo) */
.rt-nordic-clean-photo {
    font-family: 'Space Grotesk', sans-serif;
}
.rt-nordic-clean-photo .resume-header {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 10px;
    border-bottom: 1px solid #e2e8f0;
    padding-bottom: 8px;
}
.rt-nordic-clean-photo .passport-photo-frame {
    border: 1px solid #94a3b8;
    border-radius: 0;
    box-shadow: 3px 3px 0px rgba(15, 23, 42, 0.08);
}
.rt-nordic-clean-photo .resume-name {
    font-size: 20pt;
    font-weight: 700;
    color: #1e293b;
    letter-spacing: -0.03em;
}
.rt-nordic-clean-photo .resume-section-title {
    color: #334155;
    border-bottom: 1px solid #334155;
    letter-spacing: 0.08em;
}

/* Template 54 — Biodata Passport Classic (Formal Asian & Gulf Embassy Standard) */
.rt-biodata-passport-classic {
    font-family: 'Roboto', sans-serif;
}
.rt-biodata-passport-classic .resume-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border: 1.5px solid #111827;
    padding: 8px 12px;
    background-color: #f9fafb;
    margin-bottom: 10px;
}
.rt-biodata-passport-classic .passport-photo-frame {
    border: 1.5px solid #111827;
    border-radius: 2px;
}
.rt-biodata-passport-classic .resume-name {
    font-size: 17pt;
    font-weight: 800;
    text-transform: uppercase;
    color: #111827;
}
.rt-biodata-passport-classic .resume-section-title {
    background-color: #111827;
    color: #ffffff;
    padding: 2px 7px;
    font-size: 9pt;
    border-bottom: none;
    letter-spacing: 0.04em;
}

/* Template 55 — Modern Infographic Card (Card Hero Block with Photo & Metrics) */
.rt-modern-infographic-card .resume-header {
    background: linear-gradient(135deg, #1e40af, #3b82f6);
    color: #ffffff;
    border-radius: 6px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
    box-shadow: 0 3px 8px rgba(37, 99, 235, 0.18);
}
.rt-modern-infographic-card .passport-photo-frame {
    border: 2.5px solid #ffffff;
    border-radius: 5px;
    box-shadow: 0 3px 8px rgba(0,0,0,0.18);
}
.rt-modern-infographic-card .resume-name {
    color: #ffffff;
    font-size: 19pt;
    font-weight: 700;
}
.rt-modern-infographic-card .resume-title {
    color: #dbeafe;
}
.rt-modern-infographic-card .resume-contact-row {
    color: #eff6ff;
}

/* Template 56 — Split Colorblock Studio (Deep Colorblock Side with Embedded Photo) */
.rt-creative-split-colorblock {
    padding: 0 !important;
}
.rt-creative-split-colorblock .resume-layout-grid {
    display: grid;
    grid-template-columns: 70mm 140mm;
    min-height: 297mm;
}
.rt-creative-split-colorblock .resume-sidebar {
    background-color: #047857;
    color: #ffffff;
    padding: 12mm 10mm;
    display: flex;
    flex-direction: column;
}
.rt-creative-split-colorblock .passport-photo-frame {
    border: 2.5px solid #ffffff;
    margin-bottom: 12px;
    align-self: center;
}
.rt-creative-split-colorblock .resume-sidebar .resume-section-title {
    color: #a7f3d0;
    border-bottom-color: rgba(255, 255, 255, 0.3);
}
.rt-creative-split-colorblock .resume-sidebar .skill-tag-pill {
    background-color: rgba(255, 255, 255, 0.15);
    color: #ffffff;
    border: none;
}
.rt-creative-split-colorblock .resume-main-col {
    padding: 12mm 12mm;
}
.rt-creative-split-colorblock .resume-name {
    font-size: 20pt;
    font-weight: 800;
    color: #047857;
}

/* Template 57 — Swiss Grid Passport (Asymmetric Typography Grid) */
.rt-swiss-grid-passport {
    font-family: 'Space Grotesk', sans-serif;
}
.rt-swiss-grid-passport .resume-header {
    display: grid;
    grid-template-columns: 30mm 1fr;
    gap: 12px;
    align-items: center;
    border-bottom: 3px solid #dc2626;
    padding-bottom: 8px;
    margin-bottom: 10px;
}
.rt-swiss-grid-passport .passport-photo-frame {
    border: 2px solid #000;
    border-radius: 0;
}
.rt-swiss-grid-passport .resume-name {
    font-size: 21pt;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: -0.04em;
    color: #000000;
    line-height: 1;
}
.rt-swiss-grid-passport .resume-section-title {
    color: #dc2626;
    border-bottom: 2px solid #dc2626;
    font-size: 10pt;
    font-weight: 800;
}

/* Template 58 — Academic Fellowship Photo (University & Research CV) */
.rt-academic-fellowship-photo {
    font-family: 'Playfair Display', Georgia, serif;
}
.rt-academic-fellowship-photo .resume-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #1e3a8a;
    padding-bottom: 8px;
    margin-bottom: 10px;
}
.rt-academic-fellowship-photo .passport-photo-frame {
    border: 2px solid #1e3a8a;
    border-radius: 4px;
}
.rt-academic-fellowship-photo .resume-name {
    font-size: 20pt;
    color: #1e3a8a;
    font-style: italic;
}
.rt-academic-fellowship-photo .resume-section-title {
    color: #1e3a8a;
    border-bottom: 1px solid #cbd5e1;
    font-size: 10.5pt;
}

/* Template 59 — Vintage Press Passport (Classic Typewriter & Stamped Photo) */
.rt-vintage-press-passport {
    font-family: 'Merriweather', Georgia, serif;
    background-color: #fffefb;
}
.rt-vintage-press-passport .resume-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 2.5px solid #78350f;
    border-bottom: 1px solid #78350f;
    padding: 8px 0;
    margin-bottom: 10px;
}
.rt-vintage-press-passport .passport-photo-frame {
    border: 2px dashed #78350f;
    border-radius: 2px;
    background-color: #fefce8;
}
.rt-vintage-press-passport .resume-name {
    font-size: 19pt;
    color: #78350f;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.rt-vintage-press-passport .resume-section-title {
    color: #78350f;
    border-bottom: 1px dashed #78350f;
}

/* Template 60 — Diagonal Accent Photo (High-Tech Modern Diagonal Angle) */
.rt-diagonal-accent-photo .resume-header {
    background: linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);
    color: #ffffff;
    margin: -12mm -14mm 10px -14mm;
    padding: 12mm 14mm 10mm 14mm;
    display: flex;
    justify-content: space-between;
    align-items: center;
    clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%);
}
.rt-diagonal-accent-photo .passport-photo-frame {
    border: 2.5px solid #ffffff;
    border-radius: 6px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.22);
}
.rt-diagonal-accent-photo .resume-name {
    color: #ffffff;
    font-size: 20pt;
    font-weight: 800;
}
.rt-diagonal-accent-photo .resume-title {
    color: #e0e7ff;
}
.rt-diagonal-accent-photo .resume-contact-row {
    color: #c7d2fe;
}

/* ==========================================================================
   PASSPORT TEMPLATES COMPONENT SPECIFICS
   ========================================================================== */

/* Biodata Elements */
.rt-biodata-passport-classic .biodata-top-badge {
    text-align: center;
    font-size: 11pt;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #111827;
    border-bottom: 2px solid #111827;
    padding-bottom: 3px;
    margin-bottom: 6px;
}
.rt-biodata-passport-classic .biodata-matrix {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3px 10px;
    background-color: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 6px 9px;
    margin-bottom: 7px;
    border-radius: 4px;
    font-size: 8.2pt;
}
.rt-biodata-passport-classic .biodata-row {
    display: flex;
    gap: 6px;
}
.rt-biodata-passport-classic .biodata-lbl {
    font-weight: 700;
    color: #475569;
    min-width: 90px;
}
.rt-biodata-passport-classic .biodata-val {
    color: #0f172a;
}
.rt-biodata-passport-classic .biodata-declaration-box {
    margin-top: 6px;
    border: 1px dashed #94a3b8;
    padding: 6px 9px;
    background-color: #fdfefe;
    border-radius: 4px;
    font-size: 7.8pt;
}
.rt-biodata-passport-classic .declaration-title {
    font-weight: 800;
    letter-spacing: 0.06em;
    margin-bottom: 2px;
    color: #1e293b;
    font-size: 8.2pt;
}
.rt-biodata-passport-classic .declaration-text {
    font-style: italic;
    color: #475569;
    line-height: 1.32;
    margin: 0 0 5px 0;
}
.rt-biodata-passport-classic .declaration-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 4px;
    padding-top: 3px;
    border-top: 1px dotted #cbd5e1;
}

/* Monogram Badge Passport Sidebar */
.rt-monogram-badge-passport .sidebar-contact-block {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    margin-bottom: 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid #ccfbf1;
    font-size: 8pt;
}

/* Swiss Grid Header & Structure */
.rt-swiss-grid-passport .swiss-header {
    display: flex;
    align-items: center;
    gap: 12px;
}
.rt-swiss-grid-passport .swiss-name-wrap {
    flex: 1;
}
.rt-swiss-grid-passport .swiss-grid {
    display: grid;
    grid-template-columns: 1fr 2.2fr;
    gap: 12px;
}

/* Vintage Press Elements */
.rt-vintage-press-passport .vintage-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
.rt-vintage-press-passport .vintage-header-text {
    flex: 1;
}

/* Diagonal Header Elements */
.rt-diagonal-accent-photo .diagonal-header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}
.rt-diagonal-accent-photo .diagonal-text {
    flex: 1;
}


