body {

    font-family: Arial, Helvetica, sans-serif;

    margin: 0;

    padding: 0;

    background: #f3f4f6;
}

/* RTL */

html[dir="rtl"] .text-right {

    text-align: right;
}

/* CV PREVIEW */

#cv-preview {

    width: 794px;

    min-height: 1123px;

    background: white;

    overflow: hidden;

    margin: auto;

    box-sizing: border-box;

    aspect-ratio: 794 / 1123;
}

/* FIX ALL ELEMENTS */

#cv-preview * {

    box-sizing: border-box;
}

/* SIDEBAR TITLES */

.sidebar-title {

    font-size: 22px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 1px;

    border-bottom: 1px solid rgba(255,255,255,0.3);

    padding-bottom: 8px;

    margin-bottom: 20px;
}

/* MAIN TITLES */

.main-title {

    font-size: 28px;

    font-weight: 800;

    text-transform: uppercase;

    color: #0f4c5c;

    border-bottom: 3px solid #0f4c5c;

    padding-bottom: 8px;

    margin-bottom: 24px;
}

/* PHOTO */

#out-photo {

    display: block;
}

/* PDF QUALITY */

html,
body {

    -webkit-font-smoothing: antialiased;

    text-rendering: optimizeLegibility;
}

/* PRINT */

@media print {

    body {

        background: white !important;
    }

    #cv-preview {

        box-shadow: none !important;
    }
}

/* MOBILE */

@media (max-width: 1024px) {

    #cv-preview {

        width: 100%;

        min-height: auto;

        aspect-ratio: auto;
    }
}

/* PROGRESS BARS AUTO LAYOUT WRAPPERS */
#out-languages .flex {
    display: flex;
    justify-content: space-between;
}

/* Ensures dynamic progress bars match RTL flow cleanly */
html[dir="rtl"] #out-languages .flex {
    flex-direction: row-reverse;
}