:root {
    --main-font: 'IRANYekanX' ;
    --color-main: #007AFF ;
    --color-secondary: #F2F2F7 ;
    --border-radius  : 12px ;
}
body {
    font-family: var(--main-font) !important;
    direction: rtl;
    background-color: #FFF;
    margin: 0;
}
a {
    text-decoration: none !important;
}
.ltr {
    direction: ltr;
}
h1, h2, h3, h4, h5, h6, input, textarea {
    font-family: var(--main-font) !important;
}
.item-hover
{
    transition: all 0.2s ease;
}
.item-hover:hover
{
    background: var(--color-secondary);
    border-radius: var(--border-radius) ;
}
.br-12
{
    border-radius: var(--border-radius);
}

/* Font Weight */
.fw-100 {
    font-weight: 100 !important;
}
.fw-200 {
    font-weight: 200 !important;
}
.fw-300 {
    font-weight: 300 !important;
}
.fw-400 {
    font-weight: 400 !important;
}
.fw-500 {
    font-weight: 500 !important;
}
.fw-600 {
    font-weight: 600 !important;
}
.fw-700 {
    font-weight: 700 !important;
}
.fw-800 {
    font-weight: 800 !important;
}
.fw-900 {
    font-weight: 900 !important;
}
.fw-1000 {
    font-weight: 1000 !important;
}

.bg-sec
{
    background-color: var(--color-secondary) !important;
}

/* Text */
.text-ellipsis {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 100%;
}




/*
 * رسپانسیو کردن Font Sizes بوت‌استرپ
 * استفاده: fs-{breakpoint}-{size}
 * مثال: fs-lg-3, fs-md-5, fs-sm-2
 */

/* ================================================
   فونت سایزهای پایه (موبایل - کوچک‌تر از 576px)
================================================ */
.fs-xs-1 { font-size: 2rem !important; }      /* 32px */
.fs-xs-2 { font-size: 1.75rem !important; }   /* 28px */
.fs-xs-3 { font-size: 1.5rem !important; }    /* 24px */
.fs-xs-4 { font-size: 1.25rem !important; }   /* 20px */
.fs-xs-5 { font-size: 1.1rem !important; }    /* 17.6px */
.fs-xs-6 { font-size: 1rem !important; }      /* 16px */
.fs-xs-7 { font-size: 0.875rem !important; }  /* 14px */
.fs-xs-8 { font-size: 0.75rem !important; }   /* 12px */

/* ================================================
   Small devices (≥576px)
================================================ */
@media (min-width: 576px) {
    .fs-sm-1 { font-size: 2.25rem !important; }   /* 36px */
    .fs-sm-2 { font-size: 1.875rem !important; }  /* 30px */
    .fs-sm-3 { font-size: 1.625rem !important; }  /* 26px */
    .fs-sm-4 { font-size: 1.375rem !important; }  /* 22px */
    .fs-sm-5 { font-size: 1.125rem !important; }  /* 18px */
    .fs-sm-6 { font-size: 1rem !important; }      /* 16px */
    .fs-sm-7 { font-size: 0.875rem !important; }  /* 14px */
    .fs-sm-8 { font-size: 0.75rem !important; }   /* 12px */
}

/* ================================================
   Medium devices (≥768px)
================================================ */
@media (min-width: 768px) {
    .fs-md-1 { font-size: 2.5rem !important; }    /* 40px */
    .fs-md-2 { font-size: 2rem !important; }      /* 32px */
    .fs-md-3 { font-size: 1.75rem !important; }   /* 28px */
    .fs-md-4 { font-size: 1.5rem !important; }    /* 24px */
    .fs-md-5 { font-size: 1.25rem !important; }   /* 20px */
    .fs-md-6 { font-size: 1rem !important; }      /* 16px */
    .fs-md-7 { font-size: 0.875rem !important; }  /* 14px */
    .fs-md-8 { font-size: 0.75rem !important; }   /* 12px */
}

/* ================================================
   Large devices (≥992px)
================================================ */
@media (min-width: 992px) {
    .fs-lg-1 { font-size: 2.5rem !important; }    /* 40px */
    .fs-lg-2 { font-size: 2rem !important; }      /* 32px */
    .fs-lg-3 { font-size: 1.75rem !important; }   /* 28px */
    .fs-lg-4 { font-size: 1.5rem !important; }    /* 24px */
    .fs-lg-5 { font-size: 1.25rem !important; }   /* 20px */
    .fs-lg-6 { font-size: 1rem !important; }      /* 16px */
    .fs-lg-7 { font-size: 0.875rem !important; }  /* 14px */
    .fs-lg-8 { font-size: 0.75rem !important; }   /* 12px */
}

/* ================================================
   Extra large devices (≥1200px)
================================================ */
@media (min-width: 1200px) {
    .fs-xl-1 { font-size: 3rem !important; }      /* 48px */
    .fs-xl-2 { font-size: 2.5rem !important; }    /* 40px */
    .fs-xl-3 { font-size: 2rem !important; }      /* 32px */
    .fs-xl-4 { font-size: 1.75rem !important; }   /* 28px */
    .fs-xl-5 { font-size: 1.5rem !important; }    /* 24px */
    .fs-xl-6 { font-size: 1.25rem !important; }   /* 20px */
    .fs-xl-7 { font-size: 1.3rem !important; }  /* 14px */
    .fs-xl-8 { font-size: 1.0rem !important; }   /* 12px */
}

/* ================================================
   Extra extra large devices (≥1400px)
================================================ */
@media (min-width: 1400px) {
    .fs-xxl-1 { font-size: 3.5rem !important; }   /* 56px */
    .fs-xxl-2 { font-size: 3rem !important; }     /* 48px */
    .fs-xxl-3 { font-size: 2.5rem !important; }   /* 40px */
    .fs-xxl-4 { font-size: 2rem !important; }     /* 32px */
    .fs-xxl-5 { font-size: 1.75rem !important; }  /* 28px */
    .fs-xxl-6 { font-size: 1.5rem !important; }   /* 24px */
    .fs-xxl-7 { font-size: 1.3rem !important; } /* 14px */
    .fs-xxl-8 { font-size: 1.0rem !important; }  /* 12px */
}









/* Btn App */
.app-btn {
    padding: 10px 20px;
    border-radius: 10px;
    border: none;
    font-size: 15px;
    transition: all 0.2s ease;
    cursor: pointer;
}
.app-btn:active {
    transform: scale(0.96);
}
.app-btn-main {
    background: var(--color-main);
    color: white;
}
.app-btn-main:active {
    background: #0051D5;
}
.app-btn-link
{
    transition: all 0.2s ease;
}
.app-btn-link:active
{
    transform: scale(0.96);
}
.app-btn-secondary {
    background: var(--color-secondary);
    color: #000000;
}
.app-btn-secondary:active {
    background: #E5E5EA;
}

/* Form App */
.app-form-group {
    margin-bottom: 16px;
}
.app-form-label {
    font-weight: 600;
    color: #000000;
    margin-bottom: 8px;
    font-size: 13px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.app-form-control {
    border: none;
    border-radius: 12px;
    padding: 16px 16px;
    font-size: 17px;
    background: #F2F2F7;
    color: #000000;
    transition: all 0.2s ease;
}
.app-form-control:focus {
    background: #E5E5EA;
    box-shadow: none;
    outline: none;
}
.app-form-control::placeholder {
    color: #C7C7CC;
}

/* Badge App */
.app-badge {
    padding: 8px 16px;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.app-badge.premium {
    background: rgba(255, 204, 0, 0.15);
    color: #FFCC00;
}
.app-badge.verified {
    background: rgba(52, 199, 89, 0.15);
    color: #34C759;
}

/* Table */
.table td, .table th {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 200px;
}
.table td {
    white-space: nowrap;
}