/* Language-specific font handling */

/* Default font family for all elements */
.language-switcher,
.language-switcher * {
    font-family: 'Vazirmatn', 'primary-font', 'Public Sans', Tahoma, Arial, sans-serif !important;
}

/* Ensure Boxicons render correctly inside the switcher */
.language-switcher .bx {
    font-family: 'boxicons' !important;
}

/* Specific font for Persian language link */
.lang-item[href*="fa"],
.language-switcher a[href*="fa"] {
    font-family: 'Vazirmatn', 'primary-font', Tahoma, Arial, sans-serif !important;
    font-display: swap;
}

/* Specific font for English language link */
.lang-item[href*="en"],
.language-switcher a[href*="en"] {
    font-family: 'Public Sans', Arial, Helvetica, sans-serif !important;
    font-display: swap;
}

/* Specific font for Arabic language link */
.lang-item[href*="ar"],
.language-switcher a[href*="ar"] {
    font-family: 'Cairo', Tahoma, Arial, sans-serif !important;
    font-display: swap;
    direction: rtl;
}

/* Specific font for Russian language link */
.lang-item[href*="ru"],
.language-switcher a[href*="ru"] {
    font-family: 'Montserrat', 'Arial', 'Helvetica', sans-serif !important;
    font-display: swap;
}

/* Force font loading for any text containing Persian characters */
*[lang="fa"],
.persian-text {
    font-family: 'Vazirmatn', 'primary-font', Tahoma, Arial, sans-serif !important;
}

/* Force font loading for any text containing English characters */
*[lang="en"],
.english-text {
    font-family: 'Public Sans', Arial, Helvetica, sans-serif !important;
}

/* Force font loading for body and specific elements in Arabic */
html[lang="ar"] body,
html[lang="ar"] .card-title,
html[lang="ar"] .fw-bold,
html[lang="ar"] .fw-medium {
    font-family: 'Cairo', Tahoma, Arial, sans-serif !important;
}

/* Force font loading for any text containing Arabic characters */
*[lang="ar"],
.arabic-text {
    font-family: 'Cairo', Tahoma, Arial, sans-serif !important;
    direction: rtl;
}

/* Force font loading for body and specific elements in Russian */
html[lang="ru"] body,
html[lang="ru"] .card-title,
html[lang="ru"] .fw-bold,
html[lang="ru"] .fw-medium {
    font-family: 'Montserrat', 'Arial', 'Helvetica', sans-serif !important;
}

/* Force font loading for any text containing Russian characters */
*[lang="ru"],
.russian-text {
    font-family: 'Montserrat', 'Arial', 'Helvetica', sans-serif !important;
}

/* Ensure fallback fonts are available */
@font-face {
    font-family: 'fallback-persian';
    src: local('Tahoma'), local('Arial Unicode MS');
    font-display: swap;
    unicode-range: U+0600-06FF, U+200C-200E, U+2010-2011, U+204F, U+2E41, U+FB50-FDFF, U+FE80-FEFC;
}

@font-face {
    font-family: 'fallback-english';
    src: local('Arial'), local('Helvetica'), local('sans-serif');
    font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Additional specificity for language switcher in different layouts */
.navbar .language-switcher,
.auth-language-switcher .language-switcher,
.layout-wrapper .language-switcher {
    font-family: 'Vazirmatn', 'primary-font', 'fallback-persian', 'fallback-english', sans-serif !important;
}

.navbar .language-switcher a,
.auth-language-switcher .language-switcher a,
.layout-wrapper .language-switcher a {
    font-family: inherit !important;
}

/* Responsive font loading */
@media (max-width: 768px) {
    .language-switcher {
        font-size: 0.9rem;
    }
}

/* Print media */
@media print {
    .language-switcher {
        font-family: Tahoma, Arial, sans-serif !important;
    }
}
