/**
 * Font Fallback System
 * سیستم پشتیبان فونت برای اطمینان از نمایش صحیح متن فارسی
 */

/* Base font stack for Persian text */
:root {
    --font-primary: 'Vazirmatn', 'Vazir', 'Tahoma', 'Arial', 'Helvetica', 'Segoe UI', sans-serif;
    --font-fallback: 'Tahoma', 'Arial', 'Helvetica', 'Segoe UI', sans-serif;
}

/* Apply fonts to all elements */
* {
    font-family: var(--font-primary);
}

/* Specific font weights */
.font-light {
    font-weight: 300;
    font-family: var(--font-primary);
}

.font-normal {
    font-weight: 400;
    font-family: var(--font-primary);
}

.font-medium {
    font-weight: 500;
    font-family: var(--font-primary);
}

.font-semibold {
    font-weight: 600;
    font-family: var(--font-primary);
}

.font-bold {
    font-weight: 700;
    font-family: var(--font-primary);
}

/* Fallback for when Vazir is not available */
@supports not (font-family: 'Vazir') {
    :root {
        --font-primary: var(--font-fallback);
    }
}

/* Ensure proper text rendering */
body {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "kern" 1;
}

/* Persian text specific optimizations */
[dir="rtl"] {
    font-family: var(--font-primary);
    text-align: right;
    unicode-bidi: embed;
}

/* Form elements */
input, textarea, select, button {
    font-family: var(--font-primary);
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-primary);
    font-weight: 600;
    line-height: 1.2;
}

/* Code and monospace */
code, pre, .font-mono {
    font-family: 'Courier New', 'Monaco', 'Consolas', 'Liberation Mono', monospace;
}

/* Font loading indicator */
.font-loading {
    font-family: var(--font-fallback);
    opacity: 0.8;
}

.font-loaded {
    font-family: var(--font-primary);
    opacity: 1;
    transition: opacity 0.3s ease;
}

/* Error state for font loading */
.font-error {
    font-family: var(--font-fallback);
    color: #666;
}

/* Responsive font sizes */
@media (max-width: 768px) {
    body {
        font-size: 14px;
    }
}

@media (min-width: 769px) {
    body {
        font-size: 16px;
    }
}

/* Print styles */
@media print {
    * {
        font-family: var(--font-fallback) !important;
    }
}

