/* ========================================================
   1. Font Faces (WOFF2 & WOFF Support)
======================================================== */
@font-face { font-family: 'IRANSansX'; src: url('../fonts/IRANSansX-Regular.woff') format('woff'); font-weight: 100 500; font-display: swap; }
@font-face { font-family: 'IRANSansX'; src: url('../fonts/IRANSansX-Bold.woff') format('woff'); font-weight: 600 900; font-display: swap; }

@font-face { 
    font-family: 'IRANSansX'; 
    src: url('../fonts/IRANSansXVF.woff2') format('woff2-variations'),
         url('../fonts/IRANSansXVF.woff') format('woff'); 
    font-weight: 100 1000; 
    font-display: swap; 
}
@font-face { 
    font-family: 'IRANSansX FaNum'; 
    src: url('../fonts/IRANSansXVF.woff2') format('woff2-variations'),
         url('../fonts/IRANSansXVF.woff') format('woff'); 
    font-weight: 100 1000; 
    font-feature-settings: "ss01" 1; 
    font-display: swap; 
}

@font-face { 
    font-family: 'IRANYekanX'; 
    src: url('../fonts/IRANYekanXVF.woff2') format('woff2-variations'),
         url('../fonts/IRANYekanXVF.woff') format('woff'); 
    font-weight: 100 1000; 
    font-display: swap; 
}
@font-face { 
    font-family: 'IRANYekanX FaNum'; 
    src: url('../fonts/IRANYekanXVF.woff2') format('woff2-variations'),
         url('../fonts/IRANYekanXVF.woff') format('woff'); 
    font-weight: 100 1000; 
    font-feature-settings: "ss02" 1; 
    font-display: swap; 
}

@font-face { 
    font-family: 'YekanBakh'; 
    src: url('../fonts/YekanBakh-VF.woff2') format('woff2-variations'),
         url('../fonts/YekanBakh-VF.woff') format('woff'); 
    font-weight: 100 950; 
    font-display: swap; 
}
@font-face { 
    font-family: 'YekanBakh FaNum'; 
    src: url('../fonts/YekanBakhFaNum-VF.woff2') format('woff2-variations'),
         url('../fonts/YekanBakhFaNum-VF.woff') format('woff'); 
    font-weight: 100 950; 
    font-display: swap; 
}

@font-face { 
    font-family: 'Abar'; 
    src: url('../fonts/Abar-VF.woff2') format('woff2-variations'),
         url('../fonts/Abar-VF.woff') format('woff'); 
    font-weight: 400 900; 
    font-display: swap; 
}
@font-face { 
    font-family: 'Abar FaNum'; 
    src: url('../fonts/AbarFaNum-VF.woff2') format('woff2-variations'),
         url('../fonts/AbarFaNum-VF.woff') format('woff'); 
    font-weight: 400 900; 
    font-display: swap; 
}

/* ========================================================
   2. Variables & Defaults
======================================================== */
:root {
    /* رشته‌های کامل برای جلوگیری از باگ پارسینگ مرورگر */
    --hz-fa: "ss01" 0, "ss02" 0;   
    --hz-tab: "ss03" 0;   
    --hz-alt: "ss04" 0;   
    --hz-cntr: 0;  
    --hz-dots: 8;       
    --hz-dots-yekan: 4; 
}

/* ========================================================
   3. Global Variables (Dots & Contrast)
======================================================== */
body, p, h1, h2, h3, h4, h5, h6, input, textarea, select, a, div, span,
.elementor-widget-text-editor *, .elementor-heading-title {
    font-variation-settings: "DOTS" var(--hz-dots), "dots" var(--hz-dots-yekan), "CNTR" var(--hz-cntr);
}

/* ========================================================
   4. Utility Classes (OpenType Features)
======================================================== */
.fa-num, .fa-num *           { --hz-fa: "ss01" 1, "ss02" 1; }
.tab-num, .tab-num *         { --hz-tab: "ss03" 1; }
.alt-letters, .alt-letters * { --hz-alt: "ss04" 1; }

/* این روش باعث می‌شه استایل روی تمام فرزندان کانتینر بشینه و المنتور نتونه جلوش رو بگیره */
.fa-num, .fa-num *,
.tab-num, .tab-num *,
.alt-letters, .alt-letters * {
    font-feature-settings: var(--hz-fa), var(--hz-tab), var(--hz-alt), "kern" 1, "liga" 1;
}

/* کلاس‌های کنتراست اَبَر */
.cntr-0, .cntr-0 *     { --hz-cntr: 0; }
.cntr-50, .cntr-50 *   { --hz-cntr: 50; }
.cntr-100, .cntr-100 * { --hz-cntr: 100; }

/* کلاس‌های کنترل نقطه‌ها */
.dot-0, .dot-0 *   { --hz-dots: 0;  --hz-dots-yekan: 0; }
.dot-1, .dot-1 *   { --hz-dots: 1;  --hz-dots-yekan: 1; }
.dot-2, .dot-2 *   { --hz-dots: 2;  --hz-dots-yekan: 2; }
.dot-3, .dot-3 *   { --hz-dots: 3;  --hz-dots-yekan: 3; }
.dot-4, .dot-4 *   { --hz-dots: 4;  --hz-dots-yekan: 4; }
.dot-5, .dot-5 *   { --hz-dots: 5;  --hz-dots-yekan: 5; }
.dot-6, .dot-6 *   { --hz-dots: 6;  --hz-dots-yekan: 6; }
.dot-7, .dot-7 *   { --hz-dots: 7;  --hz-dots-yekan: 7; }
.dot-8, .dot-8 *   { --hz-dots: 8;  --hz-dots-yekan: 8; }
.dot-9, .dot-9 *   { --hz-dots: 9;  --hz-dots-yekan: 9; }
.dot-10, .dot-10 * { --hz-dots: 10; --hz-dots-yekan: 10; }

/* ========================================================
   5. Icon Guards
======================================================== */
[class^="eicon-"], [class*=" eicon-"], [class^="fa-"], [class*=" fa-"], i, svg, .elementor-editor-element-settings {
    font-feature-settings: normal !important;
    font-variation-settings: normal !important;
}