/**
 * Modern Resume Builder - 5 Distinct Templates & Print Stylesheets
 * Anti-Glitch BiDi Persian/English Isolation & True A4 Dimensions
 */

/* ==========================================================================
   Base Resume Container & Dynamic Variables
   ========================================================================== */
:root {
    --mrb-accent: #0f172a;
    --mrb-accent-light: rgba(15, 23, 42, 0.08);
    --mrb-accent-border: rgba(15, 23, 42, 0.25);
}

.mrb-cv {
    direction: rtl !important;
    text-align: right !important;
    font-family: 'Vazirmatn', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: #1e293b !important;
    background-color: #ffffff !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 100% !important;
    line-height: 1.65 !important;

    /* Persian Font Shaping & RTL PDF Anti-Glitch Fixes */
    letter-spacing: 0 !important;
    word-spacing: normal !important;
    font-feature-settings: "kern" 1, "liga" 1, "calt" 1 !important;
    text-rendering: optimizeLegibility !important;
    -webkit-font-smoothing: antialiased !important;
}

.mrb-cv *, .mrb-cv *::before, .mrb-cv *::after {
    box-sizing: border-box !important;
    font-family: inherit !important;
    letter-spacing: 0 !important;
    word-spacing: normal !important;
}

/* BiDi Latin / English Expression Isolation for Flawless PDF & Canvas Rendering */
.mrb-cv .mrb-latin,
.mrb-cv span.mrb-ltr,
.mrb-cv [dir="ltr"] {
    display: inline-block !important;
    direction: ltr !important;
    text-align: left !important;
    unicode-bidi: isolate !important;
    font-family: Arial, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
    font-weight: inherit !important;
    white-space: nowrap !important;
    padding: 0 2px !important;
}

.mrb-cv .mrb-item-desc,
.mrb-cv .mrb-acad-details,
.mrb-cv .mrb-item-subtitle,
.mrb-cv .mrb-item-title,
.mrb-cv .mrb-cv-title,
.mrb-cv .mrb-cv-name {
    unicode-bidi: plaintext !important;
    text-align: right !important;
}

.mrb-cv-name {
    font-size: 24px !important;
    font-weight: 800 !important;
    margin: 0 !important;
    color: var(--mrb-accent, #0f172a) !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
}

.mrb-cv-title {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    margin: 5px 0 0 0 !important;
    line-height: 1.4 !important;
}

.mrb-cv-avatar {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

.mrb-avatar-placeholder {
    width: 100% !important;
    height: 100% !important;
    background: #f1f5f9 !important;
    color: #94a3b8 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.mrb-avatar-placeholder svg {
    width: 55% !important;
    height: 55% !important;
}

.mrb-empty-hint {
    color: #64748b !important;
    font-size: 12px !important;
    font-style: italic !important;
    padding: 6px 0 !important;
}

/* ==========================================================================
   TEMPLATE 1: MINIMAL MODERN (قالب مینیمال مدرن)
   ========================================================================== */
.mrb-template-minimal {
    padding: 38px 44px !important;
}

.mrb-minimal-header {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    padding-bottom: 20px !important;
    margin-bottom: 22px !important;
    border-bottom: 2px solid var(--mrb-accent-light, rgba(15,23,42,0.08)) !important;
}

.mrb-minimal-header .mrb-avatar-frame {
    width: 95px !important;
    height: 95px !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
    border: 3px solid #ffffff !important;
    outline: 2px solid var(--mrb-accent-border, rgba(15,23,42,0.25)) !important;
    flex-shrink: 0 !important;
}

.mrb-minimal-header .mrb-header-right {
    flex: 1 !important;
}

.mrb-header-divider {
    width: 44px !important;
    height: 3px !important;
    background: var(--mrb-accent, #0f172a) !important;
    margin-top: 8px !important;
    border-radius: 2px !important;
}

.mrb-minimal-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
}

.mrb-minimal-body .mrb-cv-section {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
}

.mrb-minimal-body .mrb-section-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--mrb-accent, #0f172a) !important;
    margin: 0 0 12px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.mrb-title-bullet {
    width: 8px !important;
    height: 8px !important;
    background: var(--mrb-accent, #0f172a) !important;
    border-radius: 2px !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
}

.mrb-minimal-body .mrb-section-content {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    padding-right: 12px !important;
    border-right: 2px solid var(--mrb-accent-light, rgba(15,23,42,0.08)) !important;
}

.mrb-clean-item {
    background: #ffffff !important;
}

.mrb-item-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    margin-bottom: 4px !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
}

.mrb-item-title {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin: 0 !important;
    display: inline-block !important;
}

.mrb-item-org, .mrb-item-subtitle {
    font-size: 12.5px !important;
    color: #475569 !important;
    font-weight: 500 !important;
    margin-right: 6px !important;
}

.mrb-item-time, .mrb-item-badge {
    font-size: 11px !important;
    font-weight: 600 !important;
    color: var(--mrb-accent, #0f172a) !important;
    background: var(--mrb-accent-light, rgba(15,23,42,0.08)) !important;
    padding: 2px 8px !important;
    border-radius: 6px !important;
    white-space: nowrap !important;
}

.mrb-item-desc {
    font-size: 12px !important;
    color: #64748b !important;
    margin: 4px 0 0 0 !important;
    line-height: 1.6 !important;
}

/* ==========================================================================
   TEMPLATE 2: EXECUTIVE SIDEBAR (سایدبار سازمانی)
   ========================================================================== */
.mrb-template-executive {
    display: flex !important;
    min-height: 297mm !important;
    width: 100% !important;
}

.mrb-exec-sidebar {
    width: 32% !important;
    background: var(--mrb-accent, #0f172a) !important;
    color: #ffffff !important;
    padding: 36px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    flex-shrink: 0 !important;
}

.mrb-exec-sidebar .mrb-avatar-wrapper {
    width: 100px !important;
    height: 100px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    border: 3px solid rgba(255, 255, 255, 0.3) !important;
    margin-bottom: 16px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2) !important;
}

.mrb-exec-sidebar .mrb-cv-name {
    color: #ffffff !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    margin-bottom: 4px !important;
}

.mrb-exec-sidebar .mrb-cv-title {
    color: rgba(255, 255, 255, 0.85) !important;
    font-size: 12.5px !important;
    font-weight: 400 !important;
}

.mrb-exec-quick-stats {
    margin-top: 30px !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.mrb-stat-item {
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    border-radius: 8px !important;
    padding: 8px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.mrb-stat-num {
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #ffffff !important;
}

.mrb-stat-label {
    font-size: 11.5px !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

.mrb-exec-main {
    width: 68% !important;
    padding: 36px 28px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
    background: #ffffff !important;
}

.mrb-exec-main .mrb-cv-section {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
}

.mrb-exec-main .mrb-section-title {
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: var(--mrb-accent, #0f172a) !important;
    margin: 0 0 10px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    border-bottom: 2px solid var(--mrb-accent-light, rgba(15,23,42,0.08)) !important;
    padding-bottom: 4px !important;
}

.mrb-section-icon {
    font-size: 13px !important;
}

.mrb-timeline, .mrb-cards-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.mrb-timeline-item {
    position: relative !important;
    padding-right: 14px !important;
    border-right: 2px solid #e2e8f0 !important;
}

.mrb-timeline-item::before {
    content: '' !important;
    position: absolute !important;
    right: -5px !important;
    top: 4px !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: var(--mrb-accent, #0f172a) !important;
}

.mrb-card-item {
    background: #f8fafc !important;
    border-radius: 8px !important;
    padding: 10px 12px !important;
    border: 1px solid #e2e8f0 !important;
}

/* ==========================================================================
   TEMPLATE 3: ACADEMIC CLEAN (قالب آکادمیک و علمی)
   ========================================================================== */
.mrb-template-academic {
    padding: 40px 45px !important;
}

.mrb-academic-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    border-bottom: 2px solid var(--mrb-accent, #0f172a) !important;
    padding-bottom: 16px !important;
    margin-bottom: 22px !important;
}

.mrb-academic-avatar {
    width: 85px !important;
    height: 98px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
    padding: 2px !important;
    background: #fff !important;
}

.mrb-academic-body {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
}

.mrb-acad-section {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
}

.mrb-acad-title {
    font-size: 14.5px !important;
    font-weight: 800 !important;
    color: var(--mrb-accent, #0f172a) !important;
    margin: 0 0 10px 0 !important;
    padding-bottom: 4px !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

.mrb-acad-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
}

.mrb-acad-entry {
    padding: 3px 0 !important;
}

.mrb-acad-entry-top {
    display: flex !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    font-size: 13.5px !important;
    color: #1e293b !important;
}

.mrb-acad-year {
    font-size: 11.5px !important;
    font-weight: 600 !important;
    color: var(--mrb-accent, #0f172a) !important;
    background: #f1f5f9 !important;
    padding: 1px 6px !important;
    border-radius: 4px !important;
}

.mrb-acad-inst {
    font-size: 12.5px !important;
    color: #475569 !important;
    margin-top: 2px !important;
}

.mrb-acad-details {
    font-size: 12px !important;
    color: #64748b !important;
    margin-top: 3px !important;
    line-height: 1.55 !important;
}

.mrb-citation-box {
    background: #f8fafc !important;
    border-right: 3px solid var(--mrb-accent, #0f172a) !important;
    padding: 8px 12px !important;
    border-radius: 0 6px 6px 0 !important;
}

/* ==========================================================================
   TEMPLATE 4: CREATIVE MODERN CARDS (قالب ۴: مدرن کارتی / خلاقانه)
   ========================================================================== */
.mrb-template-creative {
    padding: 34px 40px !important;
    background: #fafbfc !important;
}

.mrb-creative-header {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    padding: 20px 24px !important;
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    margin-bottom: 22px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03) !important;
    position: relative !important;
    overflow: hidden !important;
}

.mrb-creative-header::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 6px !important;
    background: var(--mrb-accent, #0f172a) !important;
}

.mrb-creative-avatar {
    width: 88px !important;
    height: 88px !important;
    border-radius: 50% !important;
    border: 3px solid #ffffff !important;
    box-shadow: 0 0 0 2px var(--mrb-accent, #0f172a) !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
}

.mrb-creative-section {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 18px 20px !important;
    margin-bottom: 18px !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.02) !important;
}

.mrb-creative-sec-title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14.5px !important;
    font-weight: 800 !important;
    color: var(--mrb-accent, #0f172a) !important;
    margin: 0 0 14px 0 !important;
}

.mrb-creative-sec-badge {
    width: 26px !important;
    height: 26px !important;
    border-radius: 6px !important;
    background: var(--mrb-accent-light, rgba(15,23,42,0.08)) !important;
    color: var(--mrb-accent, #0f172a) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 13px !important;
}

.mrb-creative-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.mrb-creative-item {
    background: #f8fafc !important;
    border-radius: 10px !important;
    padding: 12px 14px !important;
    border: 1px solid #f1f5f9 !important;
}

/* ==========================================================================
   TEMPLATE 5: COMPACT FRAMED CLASSIC (قالب ۵: کادردار رسمی و کلاسیک)
   ========================================================================== */
.mrb-template-compact {
    padding: 30px !important;
}

.mrb-compact-frame {
    border: 2px solid var(--mrb-accent, #0f172a) !important;
    border-radius: 8px !important;
    padding: 24px 28px !important;
    min-height: calc(297mm - 60px) !important;
    background: #ffffff !important;
    position: relative !important;
}

.mrb-compact-header {
    text-align: center !important;
    padding-bottom: 18px !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.mrb-compact-avatar {
    width: 90px !important;
    height: 90px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    margin-bottom: 12px !important;
    border: 2px solid var(--mrb-accent, #0f172a) !important;
    padding: 2px !important;
    background: #ffffff !important;
}

.mrb-compact-sec-heading {
    text-align: center !important;
    position: relative !important;
    margin: 18px 0 12px 0 !important;
}

.mrb-compact-sec-heading span {
    background: #ffffff !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: var(--mrb-accent, #0f172a) !important;
    position: relative !important;
    z-index: 2 !important;
}

.mrb-compact-sec-heading::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background: #e2e8f0 !important;
    z-index: 1 !important;
}

.mrb-compact-row {
    padding: 6px 0 !important;
    border-bottom: 1px dashed #f1f5f9 !important;
}

.mrb-compact-row:last-child {
    border-bottom: none !important;
}

/* ==========================================================================
   MOBILE RESPONSIVENESS
   ========================================================================== */
@media (max-width: 768px) {
    .mrb-template-minimal,
    .mrb-template-academic,
    .mrb-template-creative,
    .mrb-template-compact {
        padding: 16px 14px !important;
    }

    .mrb-compact-frame {
        padding: 16px 14px !important;
    }

    .mrb-cv-name {
        font-size: 20px !important;
    }

    .mrb-cv-title {
        font-size: 13px !important;
    }

    .mrb-minimal-header {
        flex-direction: column !important;
        text-align: center !important;
        align-items: center !important;
        gap: 14px !important;
    }

    .mrb-creative-header {
        flex-direction: column !important;
        text-align: center !important;
    }

    .mrb-header-divider {
        margin: 8px auto 0 auto !important;
    }

    .mrb-minimal-body .mrb-section-content {
        padding-right: 8px !important;
    }

    .mrb-template-executive {
        flex-direction: column !important;
        min-height: auto !important;
    }

    .mrb-exec-sidebar {
        width: 100% !important;
        padding: 24px 16px !important;
    }

    .mrb-exec-quick-stats {
        flex-direction: row !important;
        justify-content: space-around !important;
        gap: 8px !important;
        margin-top: 16px !important;
    }

    .mrb-stat-item {
        flex: 1 !important;
        flex-direction: column !important;
        padding: 6px 8px !important;
        gap: 2px !important;
    }

    .mrb-exec-main {
        width: 100% !important;
        padding: 22px 16px !important;
        gap: 18px !important;
    }

    .mrb-academic-header {
        flex-direction: column-reverse !important;
        text-align: center !important;
        gap: 12px !important;
    }

    .mrb-acad-entry-top {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 2px !important;
    }
}

/* ==========================================================================
   PRINT STYLESHEET (@media print - 100% Isolated A4 Resume)
   ========================================================================== */
@media print {
    @page {
        size: A4 portrait !important;
        margin: 0mm !important;
    }

    html, body {
        width: 210mm !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #ffffff !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Hide ALL surrounding app and website wrappers during print */
    #mrb-builder-app .mrb-top-header,
    #mrb-builder-app .mrb-mobile-nav,
    #mrb-builder-app .mrb-form-panel,
    #mrb-builder-app .mrb-template-selector-card,
    #mrb-builder-app .mrb-preview-sticky-bar,
    #mrb-builder-app .mrb-footer-branding,
    .demo-notice,
    .mrb-public-topbar,
    .mrb-modal-overlay,
    .mrb-toast,
    header#header,
    footer#footer,
    #wpadminbar,
    .site-header,
    .site-footer,
    nav,
    aside {
        display: none !important;
    }

    #mrb-builder-app.mrb-builder-root {
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        max-width: 100% !important;
        border: none !important;
        box-shadow: none !important;
    }

    #mrb-builder-app .mrb-split-container {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #mrb-builder-app .mrb-preview-panel {
        position: static !important;
        padding: 0 !important;
        margin: 0 !important;
        display: block !important;
    }

    #mrb-builder-app .mrb-sheet-viewport {
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        max-height: none !important;
        overflow: visible !important;
        display: block !important;
    }

    #mrb-builder-app .mrb-resume-sheet {
        position: relative !important;
        box-shadow: none !important;
        border: none !important;
        border-radius: 0 !important;
        width: 210mm !important;
        min-height: 297mm !important;
        margin: 0 !important;
        transform: none !important;
        display: block !important;
        background: #ffffff !important;
        page-break-after: avoid !important;
    }

    .mrb-template-executive {
        flex-direction: row !important;
        min-height: 297mm !important;
    }
    .mrb-exec-sidebar {
        width: 32% !important;
    }
    .mrb-exec-main {
        width: 68% !important;
    }
}
