/*
 * TezNevisan Fonts
 * Local Font Loading - No External Dependencies
 */

/* IRANSans - Primary Persian Font */
@font-face {
    font-family: 'IRANSans';
    font-style: normal;
    font-weight: 100;
    font-display: swap;
    src: url('../fonts/iranSans/eot/IRANSansWeb_UltraLight.eot');
    src: url('../fonts/iranSans/eot/IRANSansWeb_UltraLight.eot?#iefix') format('embedded-opentype'),
         url('../fonts/iranSans/woff2/IRANSansWeb_UltraLight.woff2') format('woff2'),
         url('../fonts/iranSans/woff/IRANSansWeb_UltraLight.woff') format('woff'),
         url('../fonts/iranSans/ttf/IRANSansWeb_UltraLight.ttf') format('truetype');
}

@font-face {
    font-family: 'IRANSans';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/iranSans/eot/IRANSansWeb_Light.eot');
    src: url('../fonts/iranSans/eot/IRANSansWeb_Light.eot?#iefix') format('embedded-opentype'),
         url('../fonts/iranSans/woff2/IRANSansWeb_Light.woff2') format('woff2'),
         url('../fonts/iranSans/woff/IRANSansWeb_Light.woff') format('woff'),
         url('../fonts/iranSans/ttf/IRANSansWeb_Light.ttf') format('truetype');
}

@font-face {
    font-family: 'IRANSans';
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src: url('../fonts/iranSans/eot/IRANSansWeb.eot');
    src: url('../fonts/iranSans/eot/IRANSansWeb.eot?#iefix') format('embedded-opentype'),
         url('../fonts/iranSans/woff2/IRANSansWeb.woff2') format('woff2'),
         url('../fonts/iranSans/woff/IRANSansWeb.woff') format('woff'),
         url('../fonts/iranSans/ttf/IRANSansWeb.ttf') format('truetype');
}

@font-face {
    font-family: 'IRANSans';
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/iranSans/eot/IRANSansWeb_Medium.eot');
    src: url('../fonts/iranSans/eot/IRANSansWeb_Medium.eot?#iefix') format('embedded-opentype'),
         url('../fonts/iranSans/woff2/IRANSansWeb_Medium.woff2') format('woff2'),
         url('../fonts/iranSans/woff/IRANSansWeb_Medium.woff') format('woff'),
         url('../fonts/iranSans/ttf/IRANSansWeb_Medium.ttf') format('truetype');
}

@font-face {
    font-family: 'IRANSans';
    font-style: normal;
    font-weight: bold;
    font-display: swap;
    src: url('../fonts/iranSans/eot/IRANSansWeb_Bold.eot');
    src: url('../fonts/iranSans/eot/IRANSansWeb_Bold.eot?#iefix') format('embedded-opentype'),
         url('../fonts/iranSans/woff2/IRANSansWeb_Bold.woff2') format('woff2'),
         url('../fonts/iranSans/woff/IRANSansWeb_Bold.woff') format('woff'),
         url('../fonts/iranSans/ttf/IRANSansWeb_Bold.ttf') format('truetype');
}

@font-face {
    font-family: 'IRANSans';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('../fonts/iranSans/eot/IRANSansWeb_Black.eot');
    src: url('../fonts/iranSans/eot/IRANSansWeb_Black.eot?#iefix') format('embedded-opentype'),
         url('../fonts/iranSans/woff2/IRANSansWeb_Black.woff2') format('woff2'),
         url('../fonts/iranSans/woff/IRANSansWeb_Black.woff') format('woff'),
         url('../fonts/iranSans/ttf/IRANSansWeb_Black.ttf') format('truetype');
}

/* Roboto Slab - Secondary English Font */
@font-face {
    font-family: 'Roboto Slab';
    font-style: normal;
    font-weight: 100;
    font-display: swap;
    src: url('../fonts/robotoslab/RobotoSlab-Thin.eot');
    src: url('../fonts/robotoslab/RobotoSlab-Thin.eot?#iefix') format('embedded-opentype'),
         url('../fonts/robotoslab/RobotoSlab-Thin.woff2') format('woff2'),
         url('../fonts/robotoslab/RobotoSlab-Thin.woff') format('woff'),
         url('../fonts/robotoslab/RobotoSlab-Thin.svg#RobotoSlab-Thin') format('svg');
}

@font-face {
    font-family: 'Roboto Slab';
    font-style: normal;
    font-weight: 300;
    font-display: swap;
    src: url('../fonts/robotoslab/RobotoSlab-Light.eot');
    src: url('../fonts/robotoslab/RobotoSlab-Light.eot?#iefix') format('embedded-opentype'),
         url('../fonts/robotoslab/RobotoSlab-Light.woff2') format('woff2'),
         url('../fonts/robotoslab/RobotoSlab-Light.woff') format('woff'),
         url('../fonts/robotoslab/RobotoSlab-Light.svg#RobotoSlab-Light') format('svg');
}

@font-face {
    font-family: 'Roboto Slab';
    font-style: normal;
    font-weight: normal;
    font-display: swap;
    src: url('../fonts/robotoslab/RobotoSlab-Regular.eot');
    src: url('../fonts/robotoslab/RobotoSlab-Regular.eot?#iefix') format('embedded-opentype'),
         url('../fonts/robotoslab/RobotoSlab-Regular.woff2') format('woff2'),
         url('../fonts/robotoslab/RobotoSlab-Regular.woff') format('woff'),
         url('../fonts/robotoslab/RobotoSlab-Regular.svg#RobotoSlab-Regular') format('svg');
}

@font-face {
    font-family: 'Roboto Slab';
    font-style: normal;
    font-weight: bold;
    font-display: swap;
    src: url('../fonts/robotoslab/RobotoSlab-Bold.eot');
    src: url('../fonts/robotoslab/RobotoSlab-Bold.eot?#iefix') format('embedded-opentype'),
         url('../fonts/robotoslab/RobotoSlab-Bold.woff2') format('woff2'),
         url('../fonts/robotoslab/RobotoSlab-Bold.woff') format('woff'),
         url('../fonts/robotoslab/RobotoSlab-Bold.svg#RobotoSlab-Bold') format('svg');
}

/* Font Awesome 7 Pro Local Loading */
@font-face {
    font-family: "Font Awesome 7 Pro";
    font-style: normal;
    font-weight: 900;
    font-display: block;
    src: url("../fonts/fontawesome/webfonts/fa-solid-900.woff2") format("woff2"),
         url("../fonts/fontawesome/webfonts/fa-solid-900.woff") format("woff"),
         url("../fonts/fontawesome/webfonts/fa-solid-900.ttf") format("truetype");
}

@font-face {
    font-family: "Font Awesome 7 Pro";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("../fonts/fontawesome/webfonts/fa-regular-400.woff2") format("woff2"),
         url("../fonts/fontawesome/webfonts/fa-regular-400.woff") format("woff"),
         url("../fonts/fontawesome/webfonts/fa-regular-400.ttf") format("truetype");
}

@font-face {
    font-family: "Font Awesome 7 Pro";
    font-style: normal;
    font-weight: 300;
    font-display: block;
    src: url("../fonts/fontawesome/webfonts/fa-light-300.woff2") format("woff2"),
         url("../fonts/fontawesome/webfonts/fa-light-300.woff") format("woff"),
         url("../fonts/fontawesome/webfonts/fa-light-300.ttf") format("truetype");
}

@font-face {
    font-family: "Font Awesome 7 Brands";
    font-style: normal;
    font-weight: 400;
    font-display: block;
    src: url("../fonts/fontawesome/webfonts/fa-brands-400.woff2") format("woff2"),
         url("../fonts/fontawesome/webfonts/fa-brands-400.woff") format("woff"),
         url("../fonts/fontawesome/webfonts/fa-brands-400.ttf") format("truetype");
}

/* Global Font Stack */
body,
html,
* {
    font-family: 'IRANSans', 'Roboto Slab', Tahoma, Arial, sans-serif !important;
}

/* English Text Override */
.english-text,
[lang="en"],
.latin-text,
code,
pre,
.code {
    font-family: 'Roboto Slab', 'IRANSans', Georgia, 'Times New Roman', serif !important;
    direction: ltr;
    text-align: left;
}

/* Font Awesome Classes */
.fas {
    font-family: "Font Awesome 7 Pro" !important;
    font-weight: 900;
    font-style: normal;
}

.far {
    font-family: "Font Awesome 7 Pro" !important;
    font-weight: 400;
    font-style: normal;
}

.fal {
    font-family: "Font Awesome 7 Pro" !important;
    font-weight: 300;
    font-style: normal;
}

.fab {
    font-family: "Font Awesome 7 Brands" !important;
    font-weight: 400;
    font-style: normal;
}

.fa,
.fas,
.far,
.fal,
.fab {
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1;
}

/* Force Font Loading */
.fa::before,
.fas::before,
.far::before,
.fal::before,
.fab::before {
    font-family: inherit;
    font-weight: inherit;
    font-style: inherit;
}

/* Persian Numbers */
.persian-numbers {
    font-feature-settings: "tnum";
    font-variant-numeric: tabular-nums;
}

/* Font Weight Classes */
.font-thin { font-weight: 100; }
.font-light { font-weight: 300; }
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }
.font-black { font-weight: 900; }

/* Font Size Classes */
.text-xs { font-size: 0.75rem; }
.text-sm { font-size: 0.875rem; }
.text-base { font-size: 1rem; }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }
.text-2xl { font-size: 1.5rem; }
.text-3xl { font-size: 1.875rem; }
.text-4xl { font-size: 2.25rem; }
.text-5xl { font-size: 3rem; }

/* Heading Font Assignments */
h1, h2, h3, h4, h5, h6,
.heading-font {
    font-family: 'IRANSans', sans-serif !important;
    font-weight: 700;
}

/* Input and Form Font Assignments */
input,
textarea,
select,
button {
    font-family: 'IRANSans', sans-serif !important;
}

/* WordPress Admin Font Override */
.wp-admin,
.wp-admin * {
    font-family: 'IRANSans', sans-serif !important;
}

.wp-admin .english-text,
.wp-admin [lang="en"] {
    font-family: 'Roboto Slab', serif !important;
}

/* Navigation Font */
.nav > li > a,
.menu-item > a {
    font-family: 'IRANSans', sans-serif !important;
}

/* Alternative Font Class */
.alt-font {
    font-family: 'IRANSans', sans-serif !important;
}

/* Ensure Persian numbers */
body {
    font-variant-numeric: lining-nums;
}

/* Icon Font Loading Critical */
@font-face {
    font-family: "FontAwesome";
    font-display: block;
    src: url("../fonts/fontawesome/webfonts/fa-solid-900.woff2") format("woff2");
}

/* Force icon rendering */
[class^="fa-"], [class*=" fa-"] {
    font-family: "Font Awesome 7 Pro", "FontAwesome" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}