/* Arabic Font Fixes - Enhanced Support */
/* This file ensures proper rendering of Arabic characters */

/* Force Arabic font loading */
@import url('https://fonts.googleapis.com/css2?family=Cairo:wght@300;400;600;700&family=Noto+Sans+Arabic:wght@300;400;600;700&family=IBM+Plex+Sans+Arabic:wght@300;400;600;700&family=Tajawal:wght@300;400;600;700&family=Amiri:wght@400;700&display=swap');

/* Base Arabic font stack */
:root {
    --arabic-primary: 'Cairo', sans-serif;
    --arabic-secondary: 'Noto Sans Arabic', sans-serif;
    --arabic-fallback: 'IBM Plex Sans Arabic', sans-serif;
    --arabic-system: 'Tahoma', 'Arial Unicode MS', sans-serif;
}

/* Global Arabic text styling */
[lang="ar"], 
html[lang="ar"] body,
body[lang="ar"] {
    font-family: var(--arabic-primary), var(--arabic-secondary), var(--arabic-fallback), var(--arabic-system) !important;
    direction: rtl;
    text-align: right;
    font-feature-settings: "liga" 1, "calt" 1, "kern" 1;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Specific fixes for problematic characters */
[lang="ar"] * {
    font-family: var(--arabic-primary), var(--arabic-secondary), var(--arabic-fallback), var(--arabic-system) !important;
    unicode-bidi: embed;
}

/* Force Arabic font for specific elements */
[lang="ar"] h1,
[lang="ar"] h2,
[lang="ar"] h3,
[lang="ar"] h4,
[lang="ar"] h5,
[lang="ar"] h6,
[lang="ar"] p,
[lang="ar"] span,
[lang="ar"] div,
[lang="ar"] a,
[lang="ar"] button,
[lang="ar"] .gradient-text,
[lang="ar"] .section-title {
    font-family: var(--arabic-primary), var(--arabic-secondary), var(--arabic-fallback), var(--arabic-system) !important;
}

/* Enhanced Arabic text class */
.arabic-text,
.text-arabic {
    font-family: var(--arabic-primary), var(--arabic-secondary), var(--arabic-fallback), var(--arabic-system) !important;
    font-weight: 400;
    line-height: 1.6;
    direction: rtl;
    text-align: right;
}

/* Fix for specific Arabic characters that commonly don't render */
[lang="ar"] .fix-arabic-chars {
    font-family: 'Noto Sans Arabic', 'Amiri', 'Scheherazade New', 'Tahoma', 'Arial Unicode MS', sans-serif !important;
    font-feature-settings: "liga" 1, "calt" 1, "kern" 1;
    text-rendering: optimizeLegibility;
}

/* Ensure proper rendering of Arabic ligatures */
[lang="ar"] {
    font-variant-ligatures: common-ligatures contextual;
    font-feature-settings: "liga" 1, "calt" 1;
}

/* Mobile-specific Arabic font fixes */
@media (max-width: 768px) {
    [lang="ar"] {
        font-family: 'Noto Sans Arabic', 'IBM Plex Sans Arabic', 'Tajawal', 'Tahoma', 'Arial Unicode MS', sans-serif !important;
        font-size: 16px;
        line-height: 1.5;
        font-weight: 400;
    }
    
    [lang="ar"] h1, [lang="ar"] h2, [lang="ar"] h3 {
        font-family: 'Noto Sans Arabic', 'IBM Plex Sans Arabic', 'Tajawal', sans-serif !important;
        font-weight: 600;
    }
}

/* Tablet-specific Arabic font fixes */
@media (min-width: 769px) and (max-width: 1024px) {
    [lang="ar"] {
        font-family: 'Noto Sans Arabic', 'IBM Plex Sans Arabic', 'Tajawal', 'Tahoma', 'Arial Unicode MS', sans-serif !important;
        font-size: 17px;
        line-height: 1.6;
    }
}

/* Print-specific Arabic font fixes */
@media print {
    [lang="ar"] {
        font-family: 'Noto Sans Arabic', 'Tahoma', 'Arial Unicode MS', sans-serif !important;
    }
}

/* Dark mode Arabic font fixes */
@media (prefers-color-scheme: dark) {
    [lang="ar"] {
        font-family: var(--arabic-primary), var(--arabic-secondary), var(--arabic-fallback), var(--arabic-system) !important;
    }
}

/* High contrast mode Arabic font fixes */
@media (prefers-contrast: high) {
    [lang="ar"] {
        font-family: 'Noto Sans Arabic', 'Tahoma', 'Arial Unicode MS', sans-serif !important;
        font-weight: 600;
    }
}

/* Reduced motion Arabic font fixes */
@media (prefers-reduced-motion: reduce) {
    [lang="ar"] {
        font-family: var(--arabic-primary), var(--arabic-secondary), var(--arabic-fallback), var(--arabic-system) !important;
    }
}
