/* IranYekan Font Family CSS */
@font-face {
    font-family: 'IRANYekan';
    src: url('../fonts/iranYekan/IRANYekanThinFaNum.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANYekan';
    src: url('../fonts/iranYekan/IRANYekanLightFaNum.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANYekan';
    src: url('../fonts/iranYekan/IRANYekanRegularFaNum.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANYekan';
    src: url('../fonts/iranYekan/IRANYekanMediumFaNum.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANYekan';
    src: url('../fonts/iranYekan/IRANYekanBoldFaNum.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANYekan';
    src: url('../fonts/iranYekan/IRANYekanExtraBoldFaNum.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'IRANYekan';
    src: url('../fonts/iranYekan/IRANYekanBlackFaNum.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Persian Language Font Application */
[lang="fa"], 
[lang="fa-IR"], 
[lang="fa-AF"],
[lang="fa-TJ"],
html[dir="rtl"],
body[dir="rtl"],
.rtl,
.persian-text,
.persian-content {
    font-family: 'IRANYekan', 'Tahoma', 'Arial', sans-serif !important;
}

/* Specific Persian text elements */
[lang="fa"] h1,
[lang="fa"] h2,
[lang="fa"] h3,
[lang="fa"] h4,
[lang="fa"] h5,
[lang="fa"] h6,
[lang="fa-IR"] h1,
[lang="fa-IR"] h2,
[lang="fa-IR"] h3,
[lang="fa-IR"] h4,
[lang="fa-IR"] h5,
[lang="fa-IR"] h6,
html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3,
html[dir="rtl"] h4,
html[dir="rtl"] h5,
html[dir="rtl"] h6,
body[dir="rtl"] h1,
body[dir="rtl"] h2,
body[dir="rtl"] h3,
body[dir="rtl"] h4,
body[dir="rtl"] h5,
body[dir="rtl"] h6 {
    font-family: 'IRANYekan', 'Tahoma', 'Arial', sans-serif !important;
}

/* Persian content in various containers */
[lang="fa"] p,
[lang="fa"] span,
[lang="fa"] div,
[lang="fa"] a,
[lang="fa"] li,
[lang="fa"] td,
[lang="fa"] th,
[lang="fa-IR"] p,
[lang="fa-IR"] span,
[lang="fa-IR"] div,
[lang="fa-IR"] a,
[lang="fa-IR"] li,
[lang="fa-IR"] td,
[lang="fa-IR"] th,
html[dir="rtl"] p,
html[dir="rtl"] span,
html[dir="rtl"] div,
html[dir="rtl"] a,
html[dir="rtl"] li,
html[dir="rtl"] td,
html[dir="rtl"] th,
body[dir="rtl"] p,
body[dir="rtl"] span,
body[dir="rtl"] div,
body[dir="rtl"] a,
body[dir="rtl"] li,
body[dir="rtl"] td,
body[dir="rtl"] th {
    font-family: 'IRANYekan', 'Tahoma', 'Arial', sans-serif !important;
}

/* Form elements for Persian */
[lang="fa"] input,
[lang="fa"] textarea,
[lang="fa"] select,
[lang="fa-IR"] input,
[lang="fa-IR"] textarea,
[lang="fa-IR"] select,
html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select,
body[dir="rtl"] input,
body[dir="rtl"] textarea,
body[dir="rtl"] select {
    font-family: 'IRANYekan', 'Tahoma', 'Arial', sans-serif !important;
}

/* Navigation and menu items */
[lang="fa"] .navbar-nav a,
[lang="fa"] .nav-link,
[lang="fa"] .menu-item,
[lang="fa-IR"] .navbar-nav a,
[lang="fa-IR"] .nav-link,
[lang="fa-IR"] .menu-item,
html[dir="rtl"] .navbar-nav a,
html[dir="rtl"] .nav-link,
html[dir="rtl"] .menu-item,
body[dir="rtl"] .navbar-nav a,
body[dir="rtl"] .nav-link,
body[dir="rtl"] .menu-item {
    font-family: 'IRANYekan', 'Tahoma', 'Arial', sans-serif !important;
}

/* Button text */
[lang="fa"] .btn,
[lang="fa"] button,
[lang="fa-IR"] .btn,
[lang="fa-IR"] button,
html[dir="rtl"] .btn,
html[dir="rtl"] button,
body[dir="rtl"] .btn,
body[dir="rtl"] button {
    font-family: 'IRANYekan', 'Tahoma', 'Arial', sans-serif !important;
}

/* Table content */
[lang="fa"] table,
[lang="fa"] .table,
[lang="fa-IR"] table,
[lang="fa-IR"] .table,
html[dir="rtl"] table,
html[dir="rtl"] .table,
body[dir="rtl"] table,
body[dir="rtl"] .table {
    font-family: 'IRANYekan', 'Tahoma', 'Arial', sans-serif !important;
}

/* Card and panel content */
[lang="fa"] .card,
[lang="fa"] .panel,
[lang="fa"] .modal,
[lang="fa-IR"] .card,
[lang="fa-IR"] .panel,
[lang="fa-IR"] .modal,
html[dir="rtl"] .card,
html[dir="rtl"] .panel,
html[dir="rtl"] .modal,
body[dir="rtl"] .card,
body[dir="rtl"] .panel,
body[dir="rtl"] .modal {
    font-family: 'IRANYekan', 'Tahoma', 'Arial', sans-serif !important;
}

/* Override any existing font-family declarations for Persian content, excluding icons */
[lang="fa"] *:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.icon):not([class*="icon-"]):not([class*="fa-"]):not(.ti):not([class*="ti-"]):not(.glyphicon):not([class*="glyphicon-"]):not(.material-icons):not([class*="material-"]),
[lang="fa-IR"] *:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.icon):not([class*="icon-"]):not([class*="fa-"]):not(.ti):not([class*="ti-"]):not(.glyphicon):not([class*="glyphicon-"]):not(.material-icons):not([class*="material-"]),
html[dir="rtl"] *:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.icon):not([class*="icon-"]):not([class*="fa-"]):not(.ti):not([class*="ti-"]):not(.glyphicon):not([class*="glyphicon-"]):not(.material-icons):not([class*="material-"]),
body[dir="rtl"] *:not(.fa):not(.fas):not(.far):not(.fal):not(.fab):not(.icon):not([class*="icon-"]):not([class*="fa-"]):not(.ti):not([class*="ti-"]):not(.glyphicon):not([class*="glyphicon-"]):not(.material-icons):not([class*="material-"]) {
    font-family: 'IRANYekan', 'Tahoma', 'Arial', sans-serif !important;
}

/* Ensure proper text rendering for Persian */
[lang="fa"],
[lang="fa-IR"],
html[dir="rtl"],
body[dir="rtl"] {
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Specific weight classes for Persian text */
.persian-thin { font-weight: 100; }
.persian-light { font-weight: 300; }
.persian-regular { font-weight: 400; }
.persian-medium { font-weight: 500; }
.persian-bold { font-weight: 700; }
.persian-extrabold { font-weight: 800; }
.persian-black { font-weight: 900; }

/* Ensure icons maintain their original font families */
.fa, .fas, .far, .fal, .fab,
[class*="fa-"],
.icon,
[class*="icon-"],
.ti,
[class*="ti-"],
.glyphicon,
[class*="glyphicon-"],
.material-icons,
[class*="material-"],
i[class*="fa"],
i[class*="icon"],
i[class*="ti"],
i[class*="glyphicon"],
i[class*="material"] {
    font-family: inherit !important;
}

/* FontAwesome specific */
.fa, .fas, .far, .fal, .fab,
[class*="fa-"] {
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Pro", "FontAwesome" !important;
}

/* Themify Icons */
.ti,
[class*="ti-"] {
    font-family: "themify" !important;
}

/* Glyphicons */
.glyphicon,
[class*="glyphicon-"] {
    font-family: "Glyphicons Halflings" !important;
}

/* Material Icons */
.material-icons,
[class*="material-"] {
    font-family: "Material Icons" !important;
}

/* Additional icon protection - ensure icons are not affected by Persian font */
[lang="fa"] .fa,
[lang="fa"] .fas,
[lang="fa"] .far,
[lang="fa"] .fal,
[lang="fa"] .fab,
[lang="fa"] [class*="fa-"],
[lang="fa-IR"] .fa,
[lang="fa-IR"] .fas,
[lang="fa-IR"] .far,
[lang="fa-IR"] .fal,
[lang="fa-IR"] .fab,
[lang="fa-IR"] [class*="fa-"],
html[dir="rtl"] .fa,
html[dir="rtl"] .fas,
html[dir="rtl"] .far,
html[dir="rtl"] .fal,
html[dir="rtl"] .fab,
html[dir="rtl"] [class*="fa-"],
body[dir="rtl"] .fa,
body[dir="rtl"] .fas,
body[dir="rtl"] .far,
body[dir="rtl"] .fal,
body[dir="rtl"] .fab,
body[dir="rtl"] [class*="fa-"] {
    font-family: "Font Awesome 5 Free", "Font Awesome 5 Pro", "FontAwesome" !important;
}

[lang="fa"] .ti,
[lang="fa"] [class*="ti-"],
[lang="fa-IR"] .ti,
[lang="fa-IR"] [class*="ti-"],
html[dir="rtl"] .ti,
html[dir="rtl"] [class*="ti-"],
body[dir="rtl"] .ti,
body[dir="rtl"] [class*="ti-"] {
    font-family: "themify" !important;
}

[lang="fa"] .glyphicon,
[lang="fa"] [class*="glyphicon-"],
[lang="fa-IR"] .glyphicon,
[lang="fa-IR"] [class*="glyphicon-"],
html[dir="rtl"] .glyphicon,
html[dir="rtl"] [class*="glyphicon-"],
body[dir="rtl"] .glyphicon,
body[dir="rtl"] [class*="glyphicon-"] {
    font-family: "Glyphicons Halflings" !important;
}

[lang="fa"] .material-icons,
[lang="fa"] [class*="material-"],
[lang="fa-IR"] .material-icons,
[lang="fa-IR"] [class*="material-"],
html[dir="rtl"] .material-icons,
html[dir="rtl"] [class*="material-"],
body[dir="rtl"] .material-icons,
body[dir="rtl"] [class*="material-"] {
    font-family: "Material Icons" !important;
}

/* Force icon display and prevent font inheritance */
.fa, .fas, .far, .fal, .fab,
[class*="fa-"],
.ti,
[class*="ti-"],
.glyphicon,
[class*="glyphicon-"],
.material-icons,
[class*="material-"],
.icon,
[class*="icon-"] {
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    display: inline-block !important;
}

/* Ensure icons are not affected by text direction changes */
.fa, .fas, .far, .fal, .fab,
[class*="fa-"],
.ti,
[class*="ti-"],
.glyphicon,
[class*="glyphicon-"],
.material-icons,
[class*="material-"],
.icon,
[class*="icon-"] {
    direction: ltr !important;
    unicode-bidi: bidi-override !important;
}
