/* ==========================================================
   FILERHUB PREMIUM UI
   Typography
   ========================================================== */

:root{

    --primary:#0d6efd;
    --primary-dark:#004aad;

    --text:#1e293b;
    --text-light:#475569;

    --border:#e5e7eb;

    --bg:#ffffff;

    --radius:18px;

    --transition:.28s ease;

}


/* ===========================
   Body
   =========================== */

body{

    font-family:'Vazir',Tahoma,sans-serif;

    color:var(--text);

    background:#f7f9fc;

    line-height:2.15;

    font-size:16px;

    -webkit-font-smoothing:antialiased;

}


/* ===========================
   Paragraph
   =========================== */

p{

    margin-bottom:20px;

    color:#334155;

    line-height:2.15;

}


/* ===========================
   Strong
   =========================== */

strong{

    color:#0f172a;

    font-weight:800;

}


/* ===========================
   Bold
   =========================== */

b{

    font-weight:800;

}


/* ===========================
   Italic
   =========================== */

em{

    color:#1e40af;

}


/* ===========================
   Selection
   =========================== */

::selection{

    background:#0d6efd;

    color:#fff;

}


/* ==========================================================
   LINKS
   ========================================================== */

a{

    color:#0057d8;

    text-decoration:none;

    transition:all .25s ease;

    position:relative;

}


/* Underline Animation */

a:not(.btn):not(.links)::after{

    content:"";

    position:absolute;

    right:0;

    bottom:-3px;

    width:0;

    height:2px;

    background:#0d6efd;

    transition:.28s;

}


/* Hover */

a:not(.btn):not(.links):hover{

    color:#003f9f;

}


a:not(.btn):not(.links):hover::after{

    width:100%;

}


/* Active */

a:active{

    transform:scale(.98);

}


/* Focus */

a:focus{

    outline:none;

}


/* ==========================================================
   LISTS
   ========================================================== */

ul{

    padding-right:22px;

    margin:20px 0;

}


ol{

    padding-right:22px;

    margin:20px 0;

}


li{

    margin-bottom:10px;

    color:#334155;

    line-height:2;

}


/* Nested */

ul ul,
ol ol{

    margin-top:12px;

}


/* ==========================================================
   MARK
   ========================================================== */

mark{

    background:#fff3bf;

    color:#111;

    padding:2px 6px;

    border-radius:5px;

}


/* ==========================================================
   SMALL
   ========================================================== */

small{

    color:#64748b;

}


/* ==========================================================
   Horizontal Line
   ========================================================== */

hr{

    border:none;

    height:1px;

    margin:35px 0;

    background:

        linear-gradient(

            to left,

            transparent,

            #d6dde8,

            transparent

        );

}


/* ==========================================================
   Keyboard
   ========================================================== */

kbd{

    background:#111827;

    color:#fff;

    border-radius:6px;

    padding:4px 8px;

    font-size:.9rem;

}


/* ==========================================================
   Abbr
   ========================================================== */

abbr{

    text-decoration:none;

    border-bottom:1px dashed #888;

    cursor:help;

}


/* ==========================================================
   Address
   ========================================================== */

address{

    font-style:normal;

    color:#475569;

}


/* ==========================================================
   Responsive Typography
   ========================================================== */

@media(max-width:768px){

    body{

        font-size:15px;

    }

    p{

        line-height:2;

    }

}

/* ==========================================================
   FILERHUB PREMIUM UI
   Images
   ========================================================== */

/* همه تصاویر */

img{

    max-width:100%;
    height:auto;

    display:block;

    border:none;

}


/* تصاویر داخل مقاله */

section img,
.article-section img,
article img{

    display:block;

    margin:32px auto;

    max-width:100%;
    height:auto;

    border-radius:18px;

    border:1px solid #e7edf6;

    background:#fff;

    padding:6px;

    object-fit:cover;

    transition:
        transform .35s ease,
        box-shadow .35s ease,
        border-color .35s ease;

    box-shadow:
        0 12px 35px rgba(15,23,42,.08);
}


/* Hover */

section img:hover,
.article-section img:hover,
article img:hover{

    transform:translateY(-4px) scale(1.01);

    border-color:#bfd8ff;

    box-shadow:
        0 18px 45px rgba(13,110,253,.16);
}


/* تصاویر لینک‌دار */

a img{

    cursor:pointer;

}


/* تصاویر کوچک */

img.small{

    max-width:350px;

}


/* تصاویر متوسط */

img.medium{

    max-width:650px;

}


/* تصاویر بزرگ */

img.large{

    max-width:900px;

}


/* تصویر تمام عرض */

img.full{

    width:100%;

}


/* ==========================================================
   Figure
   ========================================================== */

figure{

    margin:35px auto;

    text-align:center;

}


figure img{

    margin-bottom:15px;

}


/* توضیح تصویر */

figcaption{

    color:#64748b;

    font-size:.92rem;

    line-height:1.9;

}


/* ==========================================================
   Lazy Loading Blur
   ========================================================== */

.img-blur{

    filter:blur(10px);

    transform:scale(1.02);

    transition:
        filter .7s ease,
        transform .4s ease;

}


.img-blur.loaded{

    filter:none;

    transform:scale(1);

}


/* ==========================================================
   Rounded Image
   ========================================================== */

.img-rounded{

    border-radius:24px;

}


/* ==========================================================
   Circle
   ========================================================== */

.img-circle{

    border-radius:50%;

}


/* ==========================================================
   Shadow Levels
   ========================================================== */

.shadow-sm{

    box-shadow:
        0 5px 18px rgba(0,0,0,.06);

}


.shadow{

    box-shadow:
        0 10px 30px rgba(0,0,0,.10);

}


.shadow-lg{

    box-shadow:
        0 20px 55px rgba(0,0,0,.15);

}


/* ==========================================================
   Image Frame
   ========================================================== */

.image-frame{

    padding:10px;

    background:#fff;

    border:1px solid #edf2f7;

    border-radius:20px;

    box-shadow:
        0 12px 35px rgba(15,23,42,.06);

}


/* ==========================================================
   Alignment
   ========================================================== */

.img-left{

    margin-right:0;

    margin-left:auto;

}


.img-right{

    margin-left:0;

    margin-right:auto;

}


.img-center{

    margin-left:auto;

    margin-right:auto;

}


/* ==========================================================
   Mobile
   ========================================================== */

@media(max-width:768px){

    section img,
    article img{

        margin:22px auto;

        border-radius:14px;

        padding:4px;

    }

    figcaption{

        font-size:.85rem;

    }

}
/* ==========================================================
   FILERHUB PREMIUM TABLES
   Enterprise Edition
   ========================================================== */

.responsive-table{

    width:100%;

    margin:35px 0;

    overflow-x:auto;

    border-radius:22px;

    border:1px solid #e8edf5;

    background:#fff;

    box-shadow:
        0 12px 35px rgba(15,23,42,.06);

}


/* جدول */

.responsive-table table{

    width:100%;

    border-collapse:collapse;

    min-width:700px;

    background:#fff;

}


/* هدر */

.responsive-table thead{

    background:
        linear-gradient(
            180deg,
            #0f4fb5,
            #0a3f93
        );

}


/* سلول‌های هدر */

.responsive-table th{

    padding:18px 20px;

    color:#fff;

    font-size:15px;

    font-weight:800;

    text-align:right;

    border:none;

    white-space:nowrap;

}


/* سلول‌ها */

.responsive-table td{

    padding:18px 20px;

    color:#334155;

    line-height:2;

    border-bottom:1px solid #eef2f7;

}


/* Zebra */

.responsive-table tbody tr:nth-child(even){

    background:#f8fbff;

}


/* Hover */

.responsive-table tbody tr{

    transition:
        background .25s ease,
        transform .2s ease;

}


.responsive-table tbody tr:hover{

    background:#eef6ff;

}


/* آخرین ردیف */

.responsive-table tbody tr:last-child td{

    border-bottom:none;

}


/* ستون اول */

.responsive-table td:first-child{

    font-weight:700;

    color:#0f172a;

}


/* اسکرول */

.responsive-table::-webkit-scrollbar{

    height:8px;

}


.responsive-table::-webkit-scrollbar-track{

    background:#eef2f7;

    border-radius:20px;

}


.responsive-table::-webkit-scrollbar-thumb{

    background:#9bbef9;

    border-radius:20px;

}


.responsive-table::-webkit-scrollbar-thumb:hover{

    background:#6b9ef6;

}


/* ==========================================================
   Mobile Cards
   ========================================================== */

@media(max-width:768px){

.responsive-table{

    overflow:visible;

    border:none;

    box-shadow:none;

    background:transparent;

}

.responsive-table table,
.responsive-table tbody,
.responsive-table tr,
.responsive-table td{

    display:block;

    width:100%;

}

.responsive-table thead{

    display:none;

}

.responsive-table tr{

    margin-bottom:18px;

    background:#fff;

    border:1px solid #e7edf6;

    border-radius:18px;

    overflow:hidden;

    box-shadow:
        0 8px 22px rgba(15,23,42,.05);

}

.responsive-table td{

    position:relative;

    padding:

        16px
        16px
        16px
        44%;

    text-align:left;

    border-bottom:1px solid #eef2f7;

    min-height:58px;

}

.responsive-table td:last-child{

    border-bottom:none;

}

.responsive-table td::before{

    content:attr(data-label);

    position:absolute;

    right:16px;

    top:50%;

    transform:translateY(-50%);

    font-weight:800;

    color:#0f172a;

    text-align:right;

    max-width:40%;

    line-height:1.5;

}

}
/* متن Bold */

.responsive-table strong{

    color:#0f172a;

}


/* لینک */

.responsive-table a{

    color:#0057d8;

    font-weight:700;

}

.responsive-table a:hover{

    color:#003f9f;

}


/* کد */

.responsive-table code{

    background:#eef4ff;

    color:#0057d8;

    padding:3px 8px;

    border-radius:6px;

}


/* تصویر */

.responsive-table img{

    max-width:120px;

    border-radius:10px;

    margin:auto;

}


/* Badge */

.responsive-table .badge{

    display:inline-block;

    padding:4px 10px;

    border-radius:999px;

    background:#eef4ff;

    color:#0057d8;

    font-size:13px;

    font-weight:700;

}
/* ==========================================================
   FILERHUB PREMIUM CONTENT
   Blockquote - Code - Alert - Note
   ========================================================== */


/* ===========================
   Blockquote
   =========================== */

blockquote{

    position:relative;

    margin:35px 0;

    padding:22px 28px;

    padding-right:38px;

    background:#f8fbff;

    border:1px solid #dbeafe;

    border-radius:18px;

    color:#334155;

    line-height:2.2;

    font-size:1.02rem;

    box-shadow:
        0 8px 24px rgba(15,23,42,.05);

}


blockquote::before{

    content:"";

    position:absolute;

    top:16px;

    bottom:16px;

    right:14px;

    width:6px;

    border-radius:999px;

    background:linear-gradient(
        180deg,
        #3b82f6,
        #0057d8
    );

}


blockquote p:last-child{

    margin-bottom:0;

}


/* ===========================
   Inline Code
   =========================== */

code{

    display:inline-block;

    padding:3px 8px;

    background:#eef4ff;

    border:1px solid #d6e6ff;

    border-radius:8px;

    color:#0057d8;

    font-family:Consolas, monospace;

    font-size:.93rem;

}


/* ===========================
   Code Block
   =========================== */

pre{

    margin:30px 0;

    padding:22px;

    overflow:auto;

    background:#0f172a;

    color:#e2e8f0;

    border-radius:18px;

    box-shadow:
        0 12px 30px rgba(15,23,42,.18);

}


pre code{

    background:none;

    border:none;

    color:inherit;

    padding:0;

    font-size:.95rem;

}


/* Scroll */

pre::-webkit-scrollbar{

    height:10px;

}

pre::-webkit-scrollbar-thumb{

    background:#334155;

    border-radius:20px;

}


/* ==========================================================
   Alert Boxes
   ========================================================== */

.alert-box{

    position:relative;

    margin:30px 0;

    padding:18px 22px;

    padding-right:34px;

    border-radius:18px;

    border:1px solid;

    line-height:2;

    box-shadow:
        0 8px 22px rgba(15,23,42,.05);

}


.alert-box::before{

    content:"";

    position:absolute;

    top:14px;

    bottom:14px;

    right:12px;

    width:6px;

    border-radius:999px;

}


/* اطلاعات */

.alert-info{

    background:#eff6ff;

    border-color:#bfdbfe;

    color:#1e3a8a;

}

.alert-info::before{

    background:#2563eb;

}


/* موفقیت */

.alert-success{

    background:#ecfdf5;

    border-color:#bbf7d0;

    color:#166534;

}

.alert-success::before{

    background:#22c55e;

}


/* هشدار */

.alert-warning{

    background:#fffbeb;

    border-color:#fde68a;

    color:#92400e;

}

.alert-warning::before{

    background:#f59e0b;

}


/* خطا */

.alert-danger{

    background:#fef2f2;

    border-color:#fecaca;

    color:#991b1b;

}

.alert-danger::before{

    background:#ef4444;

}


/* نکته */

.alert-note{

    background:#f8fafc;

    border-color:#cbd5e1;

    color:#334155;

}

.alert-note::before{

    background:#64748b;

}


/* ===========================
   Keyboard
   =========================== */

kbd{

    display:inline-block;

    padding:4px 9px;

    background:#111827;

    color:#fff;

    border-radius:7px;

    font-size:.9rem;

}


/* ===========================
   Mark
   =========================== */

mark{

    padding:2px 7px;

    background:#fff3bf;

    border-radius:5px;

}


/* ===========================
   Details
   =========================== */

details{

    margin:25px 0;

    border:1px solid #e5e7eb;

    border-radius:16px;

    overflow:hidden;

    background:#fff;

}


summary{

    cursor:pointer;

    padding:18px;

    font-weight:700;

    color:#0f172a;

    background:#f8fafc;

}


details[open] summary{

    border-bottom:1px solid #e5e7eb;

}


details>*:not(summary){

    padding:18px;

}


/* ===========================
   Mobile
   =========================== */

@media(max-width:768px){

blockquote{

    padding:18px 18px 18px 28px;

}

pre{

    padding:16px;

}

.alert-box{

    padding:16px 18px 16px 28px;

}

}
/* ===========================================================
   FilerHub Premium Enterprise Style
   =========================================================== */

/* کارت هر سکشن */

section{

    position:relative;

    background:#ffffff;

    margin:42px 0;

    padding:34px 32px;

    border-radius:24px;

    border:1px solid #e8eef7;

    box-shadow:
        0 10px 35px rgba(15,23,42,.05);

    transition:
        transform .3s ease,
        box-shadow .3s ease;

    overflow:visible;
}

section:hover{

    transform:translateY(-3px);

    box-shadow:
        0 18px 45px rgba(15,23,42,.08);
}


/* =============================
   Headings
   ============================= */

section h2,
section h3,
section h4{

    position:relative;

    display:flex;
    align-items:center;

    margin:-10px -10px 28px;

    padding:15px 24px 15px 28px;

    background:#ffffff;

    color:#0f172a;

    border-radius:18px;

    border:1px solid #e6edf7;

    font-weight:800;

    line-height:1.7;

    box-shadow:
        0 8px 24px rgba(15,23,42,.06);

    transition:
        all .28s ease;

    overflow:hidden;
}


/* نوار آبی */

section h2::before,
section h3::before,
section h4::before{

    content:"";

    position:absolute;

    right:14px;

    top:12px;

    bottom:12px;

    width:6px;

    border-radius:999px;

    background: linear-gradient( 180deg, #ff4239, #d600bf );

    box-shadow:
        0 0 12px rgba(0,88,214,.35);
}


/* افکت نور */

section h2::after,
section h3::after,
section h4::after{

    content:"";

    position:absolute;

    left:-120px;
    top:-120px;

    width:220px;
    height:220px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(0,102,255,.05),
            transparent 72%
        );

    pointer-events:none;
}


/* Hover */

section h2:hover,
section h3:hover,
section h4:hover{

    transform:translateY(-2px);

    border-color:#d3e4ff;

    box-shadow:
        0 14px 35px rgba(15,23,42,.09);
}

section h2:hover::before,
section h3:hover::before,
section h4:hover::before{

    background:
        linear-gradient(
            180deg,
            #58c3ff,
            #006eff
        );

    box-shadow:
        0 0 18px rgba(0,110,255,.45);
}


/* اندازه هدینگ */

section h2{

    font-size:1.45rem;
}

section h3{

    font-size:1.24rem;
}

section h4{

    font-size:1.10rem;
}


/* متن سکشن */

section p{

    color:#334155;

    line-height:2.1;

    margin-bottom:18px;
}

section ul{

    padding-right:22px;
}

section li{

    margin-bottom:10px;

    color:#334155;
}


/* موبایل */

@media (max-width:768px){

    section{

        padding:24px 20px;

        margin:28px 0;

        border-radius:20px;
    }

    section h2,
    section h3,
    section h4{

        margin:-6px -6px 22px;

        padding:13px 18px 13px 24px;

        border-radius:16px;
    }

    section h2{

        font-size:1.22rem;
    }

    section h3{

        font-size:1.10rem;
    }

    section h4{

        font-size:1rem;
    }

}