/* نمایش نام فایل انتخاب شده زیر دکمه انتخاب فایل در فرم تیکت جدید */
.selected-file-name {
    display: block;
    background: #f5f5f5;
    color: #333;
    border-radius: 6px;
    padding: 6px 14px;
    font-size: 14px;
    margin-top: 6px;
    margin-bottom: 4px;
    font-family: inherit;
    box-shadow: 0 1px 4px rgba(0,0,0,0.04);
    word-break: break-all;
}
/* دکمه حذف فایل ضمیمه */
.remove-attachment-btn {
    background: #f44336;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 4px 14px;
    font-size: 13px;
    cursor: pointer;
    margin-top: 4px;
    transition: background 0.2s;
}
.remove-attachment-btn:hover {
    background: #d32f2f;
}
.ticket-title-span {
    font-size: 15px !important;
}
.reply-attachment-link {
    color: #fff;
    background: #2271b1;
    border-radius: 7px;
    padding: 6px 18px;
    font-weight: 500;
    font-size: 13px;
    box-shadow: 0 2px 8px rgba(33,150,243,0.08);
    transition: background 0.2s;
    border: none;
    display: inline-block;
    text-align: center;
    text-decoration: none;
}

.reply-attachment-link:hover {
    background: #195a8c;
    color: #fff;
    text-decoration: none;
}
/* فوتر پاسخ تیکت با استایل مشابه هدر */
.reply-footer {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    background-color: #d3e9fa;
    border-radius: 0 0 5px 5px;
    padding: 8px 12px;
    border-top: 1px solid #b3e5fc;
}

.ticket-reply.admin-reply .reply-footer {
    background-color: #f1f8e9; /* مثل هدر ادمین */
    border-top: 1px solid #c8e6c9;
}

.reply-footer .reply-attachment {
    margin: 0;
    margin-right: auto;
    margin-left: 0;
    padding: 0;
}

.reply-attachment a {
    color: #fff;
    background: #2271b1;
    border-radius: 7px;
    padding: 6px 18px;
    font-weight: 500;
    box-shadow: 0 2px 8px rgba(33,150,243,0.08);
    transition: background 0.2s;
    border: none;
    display: flex;
    align-items: center;
    gap: 6px;
}

.ticket-reply.admin-reply .reply-attachment a {
    background: linear-gradient(90deg,#4caf50 0%,#388e3c 100%);
}

.reply-attachment a:hover {
    background: #1976d2;
    text-decoration: none;
    color: #fff;
}
body,
html,
li,
ul {
    padding: 0
}

@font-face {
    font-family: IRANYekan;
    font-style: normal;
    font-weight: 700;
    src: url(../fonts/IRANYekan/eot/iranyekanwebboldfanum.eot);
    src: url('../fonts/IRANYekan/eot/iranyekanwebboldfanum.eot?#iefix') format('embedded-opentype'), url(../fonts/IRANYekan/woff/iranyekanwebboldfanum.woff) format('woff'), url(../fonts/IRANYekan/ttf/iranyekanwebboldfanum.ttf) format('truetype')
}

@font-face {
    font-family: IRANYekan;
    font-style: normal;
    font-weight: 100;
    src: url(../fonts/IRANYekan/eot/iranyekanwebthinfanum.eot);
    src: url('../fonts/IRANYekan/eot/iranyekanwebthinfanum.eot?#iefix') format('embedded-opentype'), url(../fonts/IRANYekan/woff/iranyekanwebthinfanum.woff) format('woff'), url(../fonts/IRANYekan/ttf/iranyekanwebthinfanum.ttf) format('truetype')
}

@font-face {
    font-family: IRANYekan;
    font-style: normal;
    font-weight: 300;
    src: url(../fonts/IRANYekan/eot/iranyekanweblightfanum.eot);
    src: url('../fonts/IRANYekan/eot/iranyekanweblightfanum.eot?#iefix') format('embedded-opentype'), url(../fonts/IRANYekan/woff/iranyekanweblightfanum.woff) format('woff'), url(../fonts/IRANYekan/ttf/iranyekanweblightfanum.ttf) format('truetype')
}

@font-face {
    font-family: IRANYekan;
    font-style: normal;
    font-weight: 400;
    src: url(../fonts/IRANYekan/eot/iranyekanwebregularfanum.eot);
    src: url('../fonts/IRANYekan/eot/iranyekanwebregularfanum.eot?#iefix') format('embedded-opentype'), url(../fonts/IRANYekan/woff/iranyekanwebregularfanum.woff) format('woff'), url(../fonts/IRANYekan/ttf/iranyekanwebregularfanum.ttf) format('truetype')
}

@font-face {
    font-family: IRANYekan;
    font-style: normal;
    font-weight: 500;
    src: url(../fonts/IRANYekan/eot/iranyekanwebmediumfanum.eot);
    src: url('../fonts/IRANYekan/eot/iranyekanwebmediumfanum.eot?#iefix') format('embedded-opentype'), url(../fonts/IRANYekan/woff/iranyekanwebmediumfanum.woff) format('woff'), url(../fonts/IRANYekan/ttf/iranyekanwebmediumfanum.ttf) format('truetype')
}

@font-face {
    font-family: IRANYekan;
    font-style: normal;
    font-weight: 800;
    src: url(../fonts/IRANYekan/eot/iranyekanwebextraboldfanum.eot);
    src: url('../fonts/IRANYekan/eot/iranyekanwebextraboldfanum.eot?#iefix') format('embedded-opentype'), url(../fonts/IRANYekan/woff/iranyekanwebextraboldfanum.woff) format('woff'), url(../fonts/IRANYekan/ttf/iranyekanwebextraboldfanum.ttf) format('truetype')
}

@font-face {
    font-family: IRANYekan;
    font-style: normal;
    font-weight: 850;
    src: url(../fonts/IRANYekan/eot/iranyekanwebblackfanum.eot);
    src: url('../fonts/IRANYekan/eot/iranyekanwebblackfanum.eot?#iefix') format('embedded-opentype'), url(../fonts/IRANYekan/woff/iranyekanwebblackfanum.woff) format('woff'), url(../fonts/IRANYekan/ttf/iranyekanwebblackfanum.ttf) format('truetype')
}

@font-face {
    font-family: IRANYekan;
    font-style: normal;
    font-weight: 900;
    src: url(../fonts/IRANYekan/eot/iranyekanwebextrablackfanum.eot);
    src: url('../fonts/IRANYekan/eot/iranyekanwebextrablackfanum.eot?#iefix') format('embedded-opentype'), url(../fonts/IRANYekan/woff/iranyekanwebextrablackfanum.woff) format('woff'), url(../fonts/IRANYekan/ttf/iranyekanwebextrablackfanum.ttf) format('truetype')
}

@font-face {
    font-family: gandom;
    src: url(../fonts/gandom/Gandom-FD.eot);
    src: url(../fonts/gandom/Gandom-FD.ttf);
    src: url(../fonts/gandom/Gandom-FD.woff2);
    src: url(../fonts/gandom/Gandom-FD.woff);
    font-weight: 400;
    font-style: normal;
    font-display: swap
}


@font-face {
    font-family: parastoo;
    src: url(../fonts/parasto/Parastoo-FD.eot);
    src: url(../fonts/parasto/Parastoo-FD.ttf);
    src: url(../fonts/parasto/Parastoo-FD.woff);
    src: url(../fonts/parasto/Parastoo-FD.woff2);
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: sahel;
    src: url(../fonts/sahel/Sahel-FD.eot);
    src: url(../fonts/sahel/Sahel-FD.ttf);
    src: url(../fonts/sahel/Sahel-FD.woff);
    src: url(../fonts/sahel/Sahel-FD.woff2);
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: samin;
    src: url(../fonts/samin/Samim-FD.ttf);
    src: url(../fonts/samin/Samim-FD.woff);
    src: url(../fonts/samin/Samim-FD.woff2);
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: tanha;
    src: url(../fonts/tanha/Tanha-FD.eot);
    src: url(../fonts/tanha/Tanha-FD.ttf);
    src: url(../fonts/tanha/Tanha-FD.woff);
    src: url(../fonts/tanha/Tanha-FD.woff2);
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: vazir;
    src: url(../fonts/vazir/Vazir-Regular-FD.eot);
    src: url(../fonts/vazir/Vazir-Regular-FD.ttf);
    src: url(../fonts/vazir/Vazir-Regular-FD.woff);
    src: url(../fonts/vazir/Vazir-Regular-FD.woff2);
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: moraba;
    src: url(../fonts/moraba/Morabba-Black.woff2);
    src: url(../fonts/moraba/Morabba-Bold.woff2);
    src: url(../fonts/moraba/Morabba-ExtraBold.woff2);
    src: url(../fonts/moraba/Morabba-Heavy.woff2);
    src: url(../fonts/moraba/Morabba-Light.woff2);
    src: url(../fonts/moraba/Morabba-Medium.woff2);
    src: url(../fonts/moraba/Morabba-Regular.woff2);
    src: url(../fonts/moraba/Morabba-SemiBold.woff2);
    src: url(../fonts/moraba/Morabba-UltraLight.woff2);
    font-weight: 400;
    font-style: normal;
    font-display: swap
}

@font-face {
    font-family: 'Vazirmatn';
    src: url('fonts/vazir/Vazirmatn-Thin.woff2') format('woff2');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'Vazirmatn';
    src: url('fonts/vazir/Vazirmatn-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'Vazirmatn';
    src: url('fonts/vazir/Vazirmatn-Light.woff2') format('woff2');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Vazirmatn';
    src: url('fonts/vazir/Vazirmatn-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Vazirmatn';
    src: url('fonts/vazir/Vazirmatn-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Vazirmatn';
    src: url('fonts/vazir/Vazirmatn-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Vazirmatn';
    src: url('fonts/vazir/Vazirmatn-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Vazirmatn';
    src: url('fonts/vazir/Vazirmatn-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: 'Vazirmatn';
    src: url('fonts/vazir/Vazirmatn-Black.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
}

body,
html {
    overflow-x: hidden;
    width: 100%;
    direction: rtl;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: IRANYekan;
}

li {
    list-style: none;
}

.fz5 {
    font-size: 5px;
}

.fz6 {
    font-size: 6px;
}

.fz7 {
    font-size: 7px;
}

.fz8 {
    font-size: 8px;
}

.fz9 {
    font-size: 9px;
}

.fz10 {
    font-size: 10px;
}

.fz11 {
    font-size: 11px;
}

.fz12 {
    font-size: 12px;
}

.fz13 {
    font-size: 13px;
}

.fz14 {
    font-size: 14px;
}

.fz15 {
    font-size: 15px;
}

.fz16 {
    font-size: 16px;
}

.fz17 {
    font-size: 17px;
}

.fz18 {
    font-size: 18px;
}

.fz19 {
    font-size: 19px;
}

.fz20 {
    font-size: 20px;
}

.fz30 {
    font-size: 30px;
}

.__color_white {
    color: white;
}

.__colorgray {
    color: #808080FF;
}

.sw_item_inner {
    background: white;
    border-radius: 10px;
    overflow: hidden;
    height: auto;
    /* box-shadow: 0 2px 8px rgba(0, 0, 0, .2); */
    ;
}

.fw500 {
    font-weight: 500;
}

.h-132 {
    height: 132px;
}

.h-100 {
    height: 100px;
}

.pt10 {
    padding-top: 10px;
}

.atc-drowp {
    background: white;
    display: none;
position: absolute;
    left: -31px;
    top: 50px;
    height: auto;
    z-index: 9999;
    border-radius: 10px;
   
}

.tbtn {

    padding: 5px 5px;
    border-radius: 24px;
    width: auto;
    display: flex;
    align-items: center;
    justify-content: end;
}

.sw_img img {
    width: 100%;
}

.obj_fit_fill {
    object-fit: fill;
}

.tds-after-card-img {
    height: 4px;
    background: #2e3192;
    width: 68px;
    border-radius: 30px;
    margin: 10px auto;
}

.post-meta {
    font-size: 14px;
    color: rgb(32, 32, 32);
    margin: 0 10px;
    height: 35px;
    align-items: center;
}

.bs_description {
    padding: 0;
}

/* --------------------- دسکتاپ --------------------- */
.td-line-menu-wrapper {
    position: relative;
    display: block;
    z-index: 1000;
}

/* منوی اصلی دسکتاپ */
.td-line-menu-wrapper .line_menu>ul {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    list-style: none;
    margin: 0;
    padding: 0;
}

.td-line-menu-wrapper .line_menu>ul>li {
    position: relative;
}

.td-line-menu-wrapper .line_menu>ul>li:last-child {
    margin-right: 0;
}

.td-line-menu-wrapper .line_menu>ul>li>a {
    display: block;
    padding: 10px 15px;
    color: #333;
    text-decoration: none;
    transition: all 0.3s;
}

/* هاور منوی اصلی دسکتاپ */
.td-line-menu-wrapper.has-hover-open .line_menu>ul>li:hover>a {
    color: #fff;
    /* رنگ هاور منوی اصلی */

    border-radius: 4px;
}

/* زیرمنو دسکتاپ */
.td-line-menu-wrapper .line_menu ul li ul {
    display: none;
    position: absolute;
    top: 100%;
    right: -25px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    min-width: 180px;
    z-index: 999;
}

/* نمایش زیرمنو روی هاور */
.td-line-menu-wrapper.has-hover-open .line_menu ul li:hover>ul {
    display: block;
}

/* آیتم‌های زیرمنو دسکتاپ */
.td-line-menu-wrapper .line_menu ul li ul li {
    margin: 0;
}

.td-line-menu-wrapper .line_menu ul li ul li a {
    display: block;
    padding: 8px 15px;
    color: #333;
    text-decoration: none;
    transition: all 0.3s;
}

/* هاور زیرمنو دسکتاپ */
.td-line-menu-wrapper .line_menu ul li ul li:hover>a {
    color: #fff;
    /* background-color: #0073e6; */
    border-radius: 4px;
}

/* فلش کنار آیتم‌های دارای زیرمنو دسکتاپ */
.td-line-menu-wrapper .line_menu>ul>li.menu-item-has-children>a::after {
    content: "▾";
    margin-left: 6px;
    transition: transform 0.3s;
}

.td-line-menu-wrapper.has-hover-open .line_menu>ul>li.menu-item-has-children:hover>a::after {
    transform: rotate(180deg);
}

/* مخفی کردن آیکن همبرگری دسکتاپ */
@media (min-width: 992px) {
    .td-line-menu-wrapper .td-line-menu-toggle {
        display: none;
    }
}

/* --------------------- موبایل --------------------- */
@media (max-width: 991px) {

    /* آیکن همبرگری موبایل */
    .td-line-menu-wrapper .td-line-menu-toggle {
        display: block;
        position: relative;
        /* top: 15px;
        right: 20px; */
        font-size: 24px;
        color: #333;
        cursor: pointer;
        z-index: 100;
        background: none;
        border: none;
    }
    
    .td-line-menu-wrapper .td-line-menu-toggle i {
        font-size: 24px !important;
    }

    /* منوی موبایل */
    .td-line-menu-wrapper .line_menu {
        display: block;
        /* از flex به block تغییر دادیم */
        width: 280px;
        position: fixed;
        top: 0;
        right: -280px;
        height: 100%;
        background-color: #fff;
        box-shadow: -4px 0 12px rgba(0, 0, 0, 0.1);
        padding-top: 60px;
        transition: right 0.3s;
        z-index: 1002;
    }

    .td-line-menu-wrapper.active .line_menu {
        right: 0;
    }

    /* ul موبایل */
    .td-line-menu-wrapper .line_menu>ul {
        display: block;
        /* زیر هم قرار گرفتن آیتم‌ها */
        margin: 0;
        padding: 0;
        list-style: none;
    }

    /* آیتم‌های موبایل */
    .td-line-menu-wrapper .line_menu li {
        margin: 0;
        border-bottom: 1px solid #eee;
    }

    .td-line-menu-wrapper .line_menu li a {
        display: block;
        padding: 12px 20px;
        color: #333;
        position: relative;
    }

    /* فلش کنار زیرمنو موبایل */
    .td-line-menu-wrapper .line_menu li.menu-item-has-children>a::after {
        content: "▸";
        position: absolute;
        left: 15px;
        top: 50%;
        transform: translateY(-50%);
        transition: transform 0.3s;
    }

    /* حذف margin-inline-start از آیکن منو در آیتم‌های دارای زیرمنو */
    .td-line-menu-wrapper .line_menu li.menu-item-has-children > a .menu-item-icon {
        margin-inline-start: 0 !important;
    }

    /* باز شدن زیرمنو موبایل */
    .td-line-menu-wrapper .line_menu li ul {
        display: none;
        flex-direction: column;
        padding-left: 20px;
    }

    .td-line-menu-wrapper .line_menu li.open>ul {
        display: block;
    }

    .td-line-menu-wrapper .line_menu li.open>a::after {
        transform: translateY(-50%) rotate(90deg);
    }
}


.animate {
    animation: float1 6s ease-in-out infinite;
}

@keyframes float1 {
    0% {
        transform: translatey(0px);
    }

    50% {
        transform: translatey(15px)
    }

    100% {
        transform: translatey(0px);
    }
}

.f_vazir {
    font-family: vazir;
}

.bg_blue {
    background-color: #3D5FC2;
}

.bg_white {
    background-color: white;
}

.color_gray {
    color: #808080;
}

.w100 {
    width: 100px;
}

.w80 {
    width: 80px;
}

.over_hidden {
    overflow: hidden;
}

.height_60 {
    height: 60px;
}

.justify-center {
    justify-content: center;
}

.login_button {
    padding: 6px;
       color: #495057;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    font-family: 'IRANYEKAN';
    font-size: 13px;
    border-radius: 5px;
    cursor: pointer;

}

.gap10 {
    gap: 10px;
}

.gap20 {
    gap: 20px;
}

.gap30 {
    gap: 30px;
}

.fontIran {
    font-family: 'IRANYekan';
}

.fontVazir {
    font-family: 'vazir';
}

.swiper_arrow_box {
    position: relative;
    align-items: center;
    height: 30px;
    margin: 20px 0;
    display: flex;
    flex-direction: revert;
    gap: 10px;
    padding: 0 20px 0 0;
    width: 100%;
    justify-content: space-between;
}

.swiper-but-box {
    width: auto;
    display: flex;
    gap: 10px;
}

.sqbn,
.sqbp,
.swiper-but-next,
.swiper-but-prev,
.swiper_que_but_next,
.swiper_que_but_prev {
    width: 30px;
    height: 30px;
    border: 1px solid gray;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    cursor: pointer;
}

.swiper {
    width: 100%;
    height: 100%;
}

.custom-progress {
    height: 20px;
    /* افزایش ارتفاع */
    background-color: #eee;
    /* رنگ پس‌زمینه */
    border-radius: 5px;
    overflow: hidden;
    position: relative;
    direction: ltr;
    /* جهت چپ‌چین */
}

.custom-progress-bar {
    height: 100%;
    background-color: #007bff;
    /* رنگ نوار پیشرفت */
    text-align: center;
    color: white;
    line-height: 20px;
    /* تنظیم متن در مرکز */
    transition: width 0.5s ease-in-out;
    /* انیمیشن نرم */
}


.ff-yekan {
    font-family: 'IRANYekan';
}

.ff-vazir {
    font-family: 'vazir';
}

.td-course-description ol,
.td-course-description ul {
    list-style: initial !important;
    padding-left: 20px;
}

.td-course-description li {
    display: list-item !important;
}

.td-course-description ::marker {
    content: counter(list-item) ". " !important;
    font-weight: bold;
    color: inherit;
}

.td-course-wrapper {
    position: relative;
}

.td-course-description {
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
}

.td-buttons {
    text-align: left;
    margin-top: 10px;
}

.td-show-more,
.td-show-less {
    display: none;
    cursor: pointer;
    border: none;
    border-radius: 5px;
}

.short-link-wrapper {

    display: flex;
    align-items: center;
    position: relative;
    cursor: pointer;
    justify-content: var(--short-link-align, flex-start);
    align-items: center;
    background: #e7e7e7 padding-box;
    padding: 2px 10px;
    border-radius: 33px;
}

.short-link-text {
    font-weight: bold;
    cursor: pointer;
}

.short-link-copy-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    font-size: 16px;
    display: flex;
    align-items: center;
}

.short-link-copy-message {
    position: absolute;
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    background: #4CAF50;
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    display: none;
}

.cp_item {
    height: 130px;
    width: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cp_item i {
    font-size: 40px;
}

.search_item_box {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px 5px;
    align-items: center;
    justify-content: center;
    justify-items: center;
}

.box-search {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

}

#td_search_form {
    position: relative;
    width: 100%;
    margin: auto;
    display: flex;
    align-items: center;
    background: transparent;
    border: 2px solid white;
    border-radius: 25px;
    overflow: hidden;
}

/* استایل ورودی */
#td_search_input,
#td_search_input:focus {
    flex: 1;
    padding: 12px 20px;
    /* padding-left: 50px; */
    /* فضای خالی برای آیکن */
    border: none;
    background: transparent;
    color: #374151;
    font-size: 16px;
    outline: none;
}

/* استایل Placeholder */
#td_search_input::placeholder {
    color: rgba(255, 255, 255, 0.7);
    font-size: 16px;
}

/* دکمه جستجو */
#td_search_form button {
    width: 45px;
    height: 45px;
    background: #FDB73A;
    border: none;

    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    margin-left: 2px;
}

/* استایل آیکن */
#td_search_form button i {
    color: white;
    font-size: 18px;
}

.seres-box {
    border-radius: 12px;
    overflow: hidden;
    width: 100%;
    border: none;
}

.cour_tit {
    height: 25px;
}

.dr-w {
    width: 270px;
}

.avatar-section img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #ddd;
}

.uis {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.td-user-widget {
    display: flex;
    gap: 19px;
    font-family: 'IRANYekan';
}

.td-list-icon {
    margin: 0;
    font-family: 'IRANYekan';
}

.td-icon-item {
    min-height: 30px;
    padding: 5px;
    border-radius: 7px;
}

.td-icon-item a {
    color: #000;
}

.td-icon-item a:hover {
    color: #ffffff;
}

.td-icon-item:hover a {
    color: white;
}




.alide_headline {
    width: 192px;
    height: 2px;
    border-radius: 16px;
    background: #ff000066;
    display: flex;
    justify-content: right;
    align-items: start;
    box-shadow: 0 -6px 11px rgb(203 49 49);
}

.post-slide-height {
    min-height: 420px;
}

.post-line {
    display: block;
    /* برای اینکه عرض 90٪ اعمال شود */
    height: 1px;
    /* ارتفاع 1 پیکسل */
    width: 90%;
    /* عرض 90٪ */
    background: linear-gradient(to right,
            rgba(0, 0, 0, 0) 0%,
            /* شروع با شفافیت */
            #808080 50%,
            /* وسط خاکستری */
            rgba(0, 0, 0, 0) 100%
            /* پایان با شفافیت */
        );
    margin: 10px auto;
    /* برای وسط‌چین شدن در صورت نیاز */
}

.alide_headline {
    display: block;
    /* برای اینکه عرض 90٪ اعمال شود */
    height: 1px;
    /* ارتفاع 1 پیکسل */
    width: 90%;
    /* عرض 90٪ */
    background: linear-gradient(to right,
            rgba(0, 0, 0, 0) 0%,
            /* شروع با شفافیت */
            #808080 50%,
            /* وسط خاکستری */
            rgba(0, 0, 0, 0) 100%
            /* پایان با شفافیت */
        );
    /* margin: 10px auto; */
    /* برای وسط‌چین شدن در صورت نیاز */
}

#td_loading {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    backdrop-filter: blur(6px);
    /* پس‌زمینه کدر و شفاف */
    background-color: rgba(255, 255, 255, 0.5);
    /* روشن و نیمه‌شفاف */
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
}

.spinner {
    position: relative;
    width: 100px;
    height: 100px;
}

.circle {
    width: 100%;
    height: 100%;
    border: 5px solid #ccc;
    border-top: 8px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

.loader-logo {
    width: 60px;
    height: auto;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    pointer-events: none;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}


.td_sort_button {
    border-radius: 7px;
    background-color: white;
    font-family: vazir;
    font-size: 14px;
    cursor: pointer;
}

.td_category_widget {
    
    border-radius: 10px;
    padding: 15px;
    background-color: #fff;
}

.td_category_header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-weight: bold;
}

.td_category_header .icon-file {
    margin-left: 5px;
    font-size: 18px;
    color: #4CAF50;
    /* رنگ سبز برای آیکن فایل */
}

.td_category_header .icon-arrow-up,
.td_category_header .icon-arrow-down {
    font-size: 16px;
    transition: transform 0.3s ease;
}

.td_category_list {
    margin-top: 10px;
    display: none;
  
}

.td_category_list.open {
    display: block;
    /* در ابتدا باز باشد */
}

.td_category_list hr {
    border: none;
    border-top: 1px solid #e0e0e0;
    margin-bottom: 10px;
}

.td_category_item {
    display: flex;
    align-items: center;
    gap: 8px;
    /* فاصله بین چک‌باکس و متن */
    margin-bottom: 8px;
}

.td_category_checkbox {
    appearance: none;
    width: 16px;
    height: 16px;
    border: 2px solid #3498db;
    border-radius: 4px;
    position: relative;
    cursor: pointer;
}

.td_category_checkbox:checked::before {
    content: '✔';
    font-size: 10x;
    color: #fff;
    background-color: #3498db;
    border-radius: 2px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.td_toggle_arrow.rotate {
    transform: rotate(180deg);
    /* وقتی بسته شد، فلش رو به پایین برمی‌گردد */
}

.td-searchbox-container {
    background-color: #fff;
    border: 2px solid #d1d5db;
    border-radius: 8px;
    padding: 8px 12px;
    display: flex;
    align-items: center;
     max-width: 350px;
}

.td-searchbox-wrapper {
    display: flex;
    width: 100%;
}

.td-search-input {
    border: none;
    outline: none;
    flex: 1;
    padding: 10px;
    font-size: 16px;
    color: #374151;
	  width: 70%;
}

.td-search-input::placeholder {
    color: #6b7280;
    font-weight: 600;
}

.td-search-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: #6b7280;
    font-size: 20px;
}



.td-searchbox-wrapper {
    display: flex;
    width: 100%;
}

.td-search-input {
    border: none !important;
    outline: none !important;
    flex: 1;
    padding: 10px;
    font-size: 16px;
    color: #374151;
	width: 70%;
}

.td-search-input:focus {
    border: none !important;
    outline: none !important;
    flex: 1;
    font-size: 16px;
    color: #374151;
}

.td-search-input::placeholder {
    color: #6b7280;
    font-weight: 600;
}

.td-search-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: #6b7280;
    font-size: 20px;
}

.td-search-input {
    caret-color: #0078ff;
    /* رنگ کرسر */
}

.elementor-control .elementor-control-title {

    font-family: 'vazir';
}

.td-Post-description ol,
.td-Post-description ul {
    list-style: initial !important;
    padding-left: 20px;
}

.td-Post-description li {
    display: list-item !important;
}

.td-Post-description ::marker {
    content: counter(list-item) ". " !important;
    font-weight: bold;
    color: inherit;
}

.td-Post-wrapper {
    position: relative;
}

.td-Post-description {
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;
}

.post-info-list {
    display: flex;
    gap: 15px;
}

.td-breadcrumb {
    display: flex;
    height: 3.25rem;
    align-items: center;
    overflow-x: auto;
    overflow-y: hidden;
    border-radius: .5rem;
    border-width: 1px;
    --tw-border-opacity: 1;
    border-color: rgb(245 245 245 / var(--tw-border-opacity));
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.breadcrumb-item:first-child {
    padding-right: 1rem;
    padding-left: .5rem;
}

.breadcrumb-item {
    position: relative;
    display: flex;
    height: 100%;
    flex-shrink: 0;
    align-items: center;
    padding-left: .5rem !important;
    padding-right: 38px !important;
    font-size: 14px;
}

.breadcrumb-item::before {
    position: absolute;
    left: 0;
    height: 2.6rem;
    width: 5px;
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246 / var(--tw-bg-opacity));
    --tw-content: "";
    content: var(--tw-content);
    bottom: -7px;
    transform: rotate(-35deg);
    transform-origin: bottom;
    padding-right: 0 !important;
    padding-left: 0 !important;
    content: "" !important;
}

.breadcrumb-item::after {
    position: absolute;
    left: 0;
    height: 2.6rem;
    width: 5px;
    --tw-bg-opacity: 1;
    background-color: rgb(243 244 246 / var(--tw-bg-opacity));
    --tw-content: "";
    content: var(--tw-content);
    top: -7px;
    transform: rotate(35deg);
    transform-origin: top;
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.breadcrumb-item a {
    text-decoration: none;
    color: #333;
}

.share-widget {
    padding: 10px;
}

.share-header {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.share-box-wrapper {
    position: relative;
    margin-top: 10px;
}

.copy-success {
    position: absolute;
    top: -30px;
    /* بالای باکس */
    left: 0;
    right: 0;
    margin: auto;
    width: max-content;
    background-color: #4CAF50;
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
    text-align: center;
    display: none;
    /* پنهان در ابتدا */
    transition: opacity 0.3s ease;
}

.share-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    border-radius: 5px;
    background-color: #a7c3f738;
}

.share-input {
    border: none !important;
    background: transparent;
    outline: none;
    width: 100%;
    cursor: pointer !important;
    font-size: 13px;
    font-weight: 700;
}

.copy-btn {
    background: none;
    border: none;
    cursor: pointer;
}

.td-devider {
    width: 100%;
    height: 1px;
    display: inline-block;
    color: red;
    margin: 6px 0;
    background: rgba(0, 0, 0, 0.05);
}

button:focus,
button:active,
input:focus,
input:active {
    outline: none !important;
    box-shadow: none !important;
}

.td-posts-grid-container {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 20px;
}

.pg_title {
    height: 45px;
    overflow: hidden;
    color: #374151;
    font-weight: 700;
}

/* .pg_title h1,
h2,
h3,
h4,
h5,
p,
span {
    font-size: 14px;
    font-weight: 700;
    line-height: 22px;

} */

.td-regular-price {
    display: flex;
    justify-content: center;
}

.td-load-more {
    display: block;
    margin: 0 auto;
    padding: 10px 20px;
    background-color: #0073aa;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-family: vazir;
}

.td-load-more:hover {
    background-color: #005a87;
}

.post_grade_description {
    height: 100px;
    overflow: hidden;
    padding: 0;
    margin-top: 10px;
}

.td-posts-sort {
    border-radius: 7px;
    font-family: vazir;
    font-size: 14px;
    cursor: pointer;
    display: flex;
    gap: 15px;
}

.td-sort-btn,
.td-sort-btn {
    border-radius: 7px;
    background-color: white;
    font-family: vazir;
    font-size: 14px;
    cursor: pointer;
}

/* ajax search */
.td-ajax-search-box {
    background-color: #fff;
    border: 2px solid #d1d5db;
    border-radius: 8px;
    padding: 0px 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    max-width: 100%;
}


.td-ajax-search-box input {
    font-family: "vazir", Sans-serif;
    font-size: 13px;
    font-weight: 500;
    word-spacing: 3px;
    color: #666;
    border-radius: 3px;
    padding: 3px;
    border: none !important;
    outline: none !important;
}

.td-ajax-search-box button {
    background: none;
    border: none;
    cursor: pointer;
    color: #6b7280;
    font-size: 20px;
}

.menu-item {
    font-family: 'vazir';
    font-size: 15px;
    font-weight: 700;
    position: relative;
}


.submenu {
    font-family: 'vazir';
    font-size: 14px;
    font-weight: 500;
    color: #6c757d;
    line-height: 20px;
    cursor: pointer;
}

.td-account-menu .expandable-submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
    margin-top: 0;
}

.td-account-top-info {
    height: 120px;
    width: 100%;
    background-color: #007bff;
    border-radius: 8px;
    display: inline-flex;
    flex-direction: column;
    position: relative;
    align-items: center;
    margin: 0 0 35px 0;
}

.td-account-uimg {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    bottom: -19%;
    display: flex;
    box-shadow: -2px 1px 11px 4px rgba(0, 0, 0, .2);
}

.td-account-top-uname {
    color: #ffffff;
    font-family: vazir;
    margin: 10px 0;
}

.td-account-top-date {
    color: #ffffff;
    font-family: vazir;
    margin: 10px 0;
}

.menu-icon-text {
    display: flex;
    align-items: center;
    gap: 8px;
    /* فاصله بین آیکن و متن */
}

.custom-svg-icon {
    width: 23px;
    /* سایز دلخواه */
    height: 23px;
    color: #6c757d;
}

.menu-text {
    font-size: 14px;
    /* اندازه فونت */
    font-weight: 500;
}

.menu-icon-text {
    display: flex;
    align-items: center;
    /* آیکن و متن را در یک خط وسط‌چین می‌کند */
    gap: 8px;
    /* فاصله بین آیکن و متن */
}

.menu-icon {
    width: 23px;
    /* اندازه دلخواه برای آیکن */
    height: 23px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6c757d;
}

.menu-title {
    font-size: 16px;
    /* تنظیم اندازه فونت */
}

.add_new_ticket {

    padding: 0 20px;
    border: 1px solid #e6e6e6;
    box-sizing: border-box;
    height: auto;
    border-radius: 5px;
    background: white;
    font-family: 'IRANYekan';


}

div.mce-toolbar-grp {

    background: transparent !important;

}

div.mce-toolbar-grp {
    border-bottom: none !important;

}

.wp-editor-container {
    width: 99% !important;
    /* تغییر عرض */
    margin: 0 auto;
    font-family: 'IRANYekan' !important;
}

.profile-title {
    margin: 10px 0;
    font-family: 'vazir';
    display: inline-flex;
}

.user_tickets {
    margin: 20px 0;
    padding: 10px;
    height: auto;
    border-radius: 8px;
    background: #babfc530;
    font-family: 'vazir';
}

.admin_answer {
    margin: 25px;
    padding: 10px;
    border: 1px solid #e6e6e6;
    box-sizing: border-box;
    height: auto;
    width: 60%;
    background: #efefef;
    border-radius: 15px 15px 0 15px;

}



.admin_answer_form_ans {
    padding: 10px;
    border: 1px solid #e6e6e6;
    box-sizing: border-box;
    height: auto;
    border-radius: 5px;
    display: none
}

.ticket_error ul {
    background: #ffccbc2e;
    border-radius: 7px;
    margin: 11px;
    box-sizing: border-box;
}

.ticket_error {
    display: flex;
}

.ticket_error ul li {
    color: black;
    font-size: 13px;
    margin: 7px;
    box-sizing: border-box;
}

.ticket_error ul li i {
    margin-left: 5px;
    color: red;
}


.form_ticket_error {
    width: 100%;
    height: auto;
    min-height: 30px;
    background: #faebd7;
    display: none;
    border-radius: 5px
}

.form_ticket_success {
    width: 100%;
    height: auto;
    min-height: 30px;
    background: #91dd7e;
    display: none;
    border-radius: 5px;
    box-sizing: border-box;
    padding: 10px
}

.form_ticket_success p {
    color: #fff
}

.ticket_upload {
    width: 100%;

    padding: 9px !important;
}

.ticket_desc {
    width: 90%;
}

.addtsu {
    display: flex !important;
}

.user_ticket_send {
    line-height: 30px;
}

.t_Survey {
    background: #F8BBD0;
    padding: 3px 10px;
    border-radius: 50px;
    color: #AD1457;
    font-size: 11px;
}

.t_close {
    background: #FFAB91;
    padding: 3px 10px;
    border-radius: 50px;
    color: #D84315;
    font-size: 11px;
}

.t_answered {
  background: #C5E1A5;;
    padding: 3px 10px;
    border-radius: 50px;
  color: #558B2F;
    font-size: 11px;
}

.profile_box_l_inner p {
    width: 100%;
    line-height: 33px;
    font-size: .8rem;
    font-weight: 400;

}

.profile_box {
    background: white;
    padding: 5px 15px;
    border-radius: 8px;

}

.user_tickets_view_bot {
    display: inline-flex;
    font-size: 11px;
    padding: 1px 10px;
    color: #000;
    cursor: pointer;
    border-radius: 7px;

}

.user_tickets_view {
    display: none;

}

.utvb_div {
    display: flex;
    align-items: center;
    justify-content: end;
}

.answer_to_answer_bot {
    padding: 4px 14px;
    border-radius: 50px;
    cursor: pointer;
    color: #000;
    margin: 10px 0;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    justify-content: end;
}


.addtsu .ticket_submit {
    border-radius: 50px;
    margin-left: 10px !important;
    cursor: pointer;

}

.add_ticket_but {
    background: #ffffff;
    width: auto;
    height: 22px;
    color: #464646;
    justify-content: center;
    border-radius: 4px;
    cursor: pointer;
    margin-left: 20px;
    font-size: 12px;
    border-bottom: 1px dashed #00BCD4;
}


#user_ticket textarea {
    padding: 5px 2px;
    height: 150px;
    border-radius: 5px;
    border: 1px solid #e6e6e6;
    float: right;
    box-sizing: border-box;
    width: 100%;
}

#user_ticket textarea:focus {
    padding: 5px 2px;
    height: 150px;
    border-radius: 5px;
    border: 1px solid #e6e6e6;
    float: right;
    box-sizing: border-box;
    width: 100%;
    outline: none;
}

#user_ticket p {
    width: 100%;
    display: flex;
    gap: 5px, 20px;
    flex-direction: column;
}

#user_ticket span {
    float: right;
    margin-left: 10px;
    margin-right: 10px;
    color: currentcolor;
    margin-top: 7px;
    margin-bottom: 7px
}

.ticket_subject {

    width: 87%;
}

input.ticket_subject {
    width: 100%;
    height: 50px;
    border: 1px solid #e6e6e6;
    border-radius: 5px;
}

.ticket_submit {
    padding: 5px 2px;
    width: 130px !important;
    border-radius: 50px;
    border: 1px solid #e6e6e6;
    float: right;
    box-sizing: border-box;
    background: var(--e-a-color-info);
    ;
    color: white;
    font-family: 'IRANYEKAN';
}

.ticket_desc_answer {
    width: 98%;
    min-height: 100px;
    height: auto;
    border-radius: 5px;
    border: none;
    padding: 10px;
    font-family: 'IRANYEKAN';
    background: #6c757d24;
}

.answer_ticket_to_answer_submit {
    padding: 5px 13px;
    border-radius: 55px;
    color: #00bdc4;
    display: inline-block;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;

}

.send_user_attach {
    opacity: 0;
    z-index: 100;
    position: relative;
    cursor: pointer;
}

.po_rev {
    position: relative;
}

.send_user_attach_before {
    position: absolute;
    top: 0;
    left: 0;
    right: 67px;
    background-color: rgb(151, 156, 199);
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'IRANYEKAN';
    color: white;
    border-radius: 4px;
    z-index: 0;
    width: 184px;
    height: 30px;
    cursor: pointer;
}

.answer_box {
    background: #e5e1e1;
    padding: 10px;
    border-radius: 7px;
}

.hoans_box:before {
    content: '';
    width: 2px;
    height: 50px;
    background: #b5b3b3;
    margin: 10px 18px;
    display: block;
}

.admin_ans_back {
    background: #42445A;
    color: white;
}

.uback {
    margin-right: 90px;
}

.wallet_cart {
    width: 100%;
    height: 260px;
    border-radius: 14px;
    display: flex;
    position: relative;
    flex-direction: column;
    justify-content: space-between;
    padding: 18px;
    /* box-shadow: 0 0 16px 0 orange; */
    align-items: flex-start;
    background: -webkit-linear-gradient(to right, #fc4a1a, #f7b733);
    background: linear-gradient(to right, #3300f3, #525866);
}

.wallet_footer {
    width: 100%;
    justify-content: space-between
}

.prb_icon,
.wallet_footer {
    display: flex;
    align-items: center;
}

.wallet_inp_box,
.wallet_price_box {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    margin: 30px 0
}

.wallet_logo {
    position: absolute;
    left: 48px;
    top: 44px;
    opacity: 30%;
}

.show_site_log {
    width: 70px;
    margin-top: 25px;
}

.wallet_price_box {
    width: 100%;
    padding: 0;
    justify-content: space-between
}

.wallet_button {
    width: 30%;
    height: 39px;
    border-radius: 7px;
    background: 0 0;
    font-family: inherit;
    cursor: pointer;
    padding: 0;
}

.wallet_inp_box {
    width: 100%;
    height: 50px;
    border: 1px solid #e0e0e0;
    justify-content: space-between;
    border-radius: 7px;
    font-family: inherit;
    padding: 0 10px
}

.prbcb_left,
.set_pass_inon {
    align-items: center;
    display: flex
}

.wallet_inp {
    border: none !important;
    font-family: inherit;
    width: 100%;
    direction: ltr
}

.wallet_inp::placeholder {
    font-size: 10px;
    font-weight: 300;
    text-align: right
}

.paaes_input i {
    cursor: pointer;
    color: #ababab;
}

.set_pass_inp_box input {
    width: 100%;
    border: none;
    height: 100%;
    border-radius: 7px;
    text-align: center;
    font-family: sans-serif;
    direction: ltr;
}

.set_pass_inp_box {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
       margin: 10px 0;
}

button:focus,
button:active,
input:focus,
input:active {
    outline: none !important;
    box-shadow: none !important;
}

.sp_submit {
    border: none;
    padding: 9px 62px;
    background: #FC980E;
    font-family: inherit;
    border-radius: 7px;
}

.set_pass_inp_box input {
    font-family: "IRANYekan";
}

.set_pass_error {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 12px;
}

.log_in_pass,
.sp_submit {
    cursor: pointer;
    color: #fff;
    font-size: 15px;
}

.col_white {
    color: white;
}

.paaes_input,
.pass_page_sbox {
    display: flex;
    align-items: center;
    justify-content: center;
}

.main {
    width: 100%;
    height: 400px;
    display: block;
}

.prbcb_left {
    justify-content: center;
    padding: 0 24px
}

.request_payment_submit,
.wallet_submit {
    background: #616161;
    color: #fff;
    padding: 12px 37px;
    border-radius: 7px;
    float: left;
    font-size: 13px;
    cursor: pointer
}

.profile_button.active>.profile_drop {
    opacity: 1;
    visibility: visible;
    transform: scaley(1);
    z-index: 999;
    font-size: 12px;
}

.svg-inline--fa {

    font-size: 11px;

}

.pay_err_box {
    display: flex;
    flex-direction: column;
    gap: 13px;
    background: white;
    width: 702px;
    height: 266px;
    box-shadow: 0 0 15px 4px rgb(0 0 0 / 10%);
    justify-content: center;
    border-radius: 8px;
    margin: 20px auto;
    position: relative;
    font-family: IRANYekan;
    bottom: 0;
    right: 0;
    left: 0;
    top: 0;
    text-align: center;
    z-index: 999;
}

.pay_err_box a {
    width: 200px;
    margin: 0 auto;
    height: 34px;
    border: none;
    border-radius: 7px;
    font-family: 'IRANYEKAN';
    cursor: pointer;
}

.td-discount-price {
    display: flex;
    justify-content: center;
}

.peb_link a {
    border-radius: 7px;
    background: #3F51B5;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-content: center;
    width: 161px;
    font-size: 12px;
    height: 44px;
    color: white;
    font-family: 'IRANYekan';
    box-shadow: 0 0 18px 3px rgb(0 0 0 / 10%);
    cursor: pointer;
    margin: 0 10px;
}

.peb_link a:hover {
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    font-size: 12px;
    height: 44px;
    color: black;
    font-family: 'IRANYekan';
    box-shadow: 0 0 18px 3px rgb(0 0 0 / 10%);
    cursor: pointer;
    margin: 0 10px;
}

.peb_link {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.pay_err_box img {
    width: 35px;
    margin: 0 auto;
}

.ticket_base {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--e-a-color-txt);
    font-size: 13px;
}

.custom-upload {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #80bfff;
    padding: 10px 20px;
    border-radius: 8px;
    color: #3399ff;
    font-family: sanis-ir;
    font-size: 14px;
    cursor: pointer;
    background-color: #f9fbff;
    position: relative;
    transition: all 0.3s ease;
    width: 200px;
}

.custom-upload:hover {
    background-color: #e6f0ff;
}

.custom-upload input[type="file"] {
    display: none;
}

.upload-icon {
    margin-left: 8px;

}

.input_pass_box input,
.input_pass_box select {
    border: 1px solid #ddd;
    font-size: 13px;
    color: #424242;
    font-weight: 300;
    padding: 0 10px;
    font-family: inherit;
    margin: 0;

}

.uac_box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
}

.input_pass_box select {
    width: 88%;
    height: 40px;
    border-radius: 7px;
}


.prb_content_body {

    overflow-y: auto;
    border-radius: 7px;
    padding: 10px 0;
    height: auto;
    margin: 10px 0;
    background: white;

}

.input_pass_box {
    min-height: 75px;
    height: auto;
    justify-content: flex-start;
    padding: 5px 30px;
    width: 100%;
}

/* .prb_content_body,
.prb_menu_body {
    box-shadow: 0 0 15px rgb(0 0 1 / 10%);
} */


.line85_g,
.line90 {
    display: block;
    height: 1px;
    color: #ddd
}

.line_dash,
.line_dash90 {
    border-bottom: 1px dashed #ddd;
}

.cps_box {
    display: flex;
    justify-content: end;
}

.ip_title {
    align-items: center;
    display: flex;

    font-family: 'IRANYekan';
    font-size: 12px;
    font-weight: 500;
  
    margin: 0 10px;
}

.input_pass_box input {
    width: 88%;
    height: 40px;
    border-radius: 7px;
    font-family: 'IRANYekan';
}

.input_pass_box {
    min-height: 75px;
    height: auto;
    justify-content: flex-start;
    padding: 5px 30px;
    align-items: flex-start;
    display: flex;
    font-family: 'IRANYekan';
    font-size: 12px;
    font-weight: 500;

}

.line_dash90 {
    width: 90%;
    margin: 0 auto;
    display: block;
    height: 1px;
}

.line_dash100 {
    width: 100%;
    margin: 10px auto;
    display: block;
    height: 1px;
    border-bottom: 1px dashed #ddd;
}

.user_uf_box {
    display: flex;
    align-items: center;
    justify-content: start;
    margin: 0 50px;
}

.user_uf_box img {
    width: 57px;
    height: 57px !important;
    border-radius: 50% !important;
    height: 40px;
    /* object-fit: contain; */
    border: 1px solid #ddd !important;
}

.fupload,
.fupload span,
.fupload span i {
    position: relative;
    z-index: 999;

}
#file_user_pic{
    cursor: pointer;
}
.fupload
 {
 
    padding: 7px 10px;
    margin: 0 5px;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;

}

.fupload span {
    color: #03a9f4;
    font-size: 12px;
}

.fupload,
.fupload span,
.fupload span i {
    position: relative;
    z-index: 999;
}

.fileUpload {
    position: absolute;
    top: 0;
    opacity: 0;
    z-index: 999;
}

.fileUpload span {
    cursor: pointer;
}



.change_pass_submit,
.change_user_info_submit {
    height: 40px;
    background: var(--e-a-color-info);
    margin: 10px 29px;
    display: flex;
    cursor: pointer;
    font-weight: 700;
    color: #fff;
    width: 110px;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
}

.pin_pic,
.pin_pic:hover {
    color: #33691E;
    background: #C5E1A5;
    padding: 5px 8px;
    border-radius: 7px;
    font-size: 13px;
}

.advi {
    display: flex;
    align-items: center;
    justify-content: end;
}

.uacsave {
    display: flex;
    justify-content: end;
}

.change_pass_submit {
    width: 110px;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
}

.alert_close_box {
    width: 100%;
    display: block;
    height: 35px;
}

.hidden {
    display: none;
}

#error-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    z-index: 9998;
    display: none;
}

#custom-error-box {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 30%;
    height: 200px;
    transform: translate(-50%, -50%);
    background: #FF7043;
    color: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    z-index: 9999;
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.4s ease;
}

#custom-error-box.show {
    display: flex;
    opacity: 1;
}

.alert_close_box {
    position: relative;
     text-align: left;
  
}

.error-content {
    font-size: 14px;
}

.alert_close_box .close-error {
    background: transparent;
    border: none;
    color: white;
    font-size: 20px;
    cursor: pointer;
   
}

.td-icon-item a {
    display: flex;
    align-items: center;
}
.td-icon-item a i {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}
.td-comments-title i {
    display: flex!important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}
.td-add-question-section > span > i {
    display: flex!important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
}
.td-add-question-section > span  {
  
    width: auto;
    flex-direction: row;
    display: flex;
    align-items: center;
 
}

.dropdown-menu {
    z-index: 10000;
    border-radius: 12px;
}

#login_box {
    width: 500px;
 
    background: transparent;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    border-radius: 20px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    margin: auto;
    padding: 0;
    position: fixed;
    z-index: 9999999;
}

/* Modern Login Form Styles */
.td-login-container {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.2);
    max-width: 400px;
    margin: 0 auto;
    font-family: 'IRANYekan', 'IRANSans', Arial, sans-serif;
    direction: rtl;
}

.td-login-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e9ecef;
}

.td-login-close {
    background: #dc3545;
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.td-login-close:hover {
    background: #c82333;
    transform: scale(1.1);
}

/* Modal States - removed, using inline CSS instead */

/* OTP Input Fields */
.td-otp-input {
    width: 50px;
    height: 50px;
    border: 2px solid #667eea !important;
    border-radius: 12px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    background: white;
    transition: all 0.3s ease;
}

.td-otp-input:focus {
    outline: none;
    border-color: #667eea !important;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: scale(1.05);
}

.td-login-title h3 {
    color: #2d3748;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 10px 0;
    text-align: center;
}

.td-login-title p {
    color: #6c757d;
    font-size: 14px;
    margin: 0;
    text-align: center;
    line-height: 1.5;
}

.td-mobile-edit {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 20px 0;
    padding: 10px;
    background: #f8f9fa;
    border-radius: 8px;
}

.td-edit-mobile {
    color: #667eea;
    font-size: 12px;
    cursor: pointer;
    font-weight: 500;
}

.td-mobile-input {
    flex: 1;
    border: none!important;
    background: transparent;
    font-size: 14px;
    color: #495057;
    text-align: center;
}

.td-otp-container {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin: 25px 0;
}

.td-otp-input {
    width: 50px;
    height: 50px;
    border: 2px solid #e9ecef;
    border-radius: 12px;
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    background: white;
    transition: all 0.3s ease;
}

.td-otp-input:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
    transform: scale(1.05);
}

.td-otp-resend {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background: #667eea;
    color: white;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.td-otp-resend:hover {
    background: #5a6fd8;
    transform: scale(1.05);
}

.td-otp-resend i {
    font-size: 16px;
    margin-bottom: 2px;
}

.td-otp-timer {
    font-size: 10px;
    font-weight: 600;
}

.td-login-error {
    background: rgba(220, 53, 69, 0.1);
    border: 1px solid rgba(220, 53, 69, 0.3);
    color: #dc3545;
    padding: 10px 15px;
    border-radius: 8px;
    margin: 15px 0;
    font-size: 14px;
    text-align: center;
    display: none;
}

.td-login-terms {
    text-align: center;
    margin: 20px 0;
    font-size: 12px;
    color: #6c757d;
}

.td-login-terms a {
    color: #667eea;
    text-decoration: none;
    font-weight: 500;
}

.td-login-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 25px;
}

.td-login-password-btn,
.td-login-continue-btn,
.td-login-direct-btn {
    padding: 12px 20px;
    border: none;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'IRANYekan', 'IRANSans', Arial, sans-serif;
}

.td-login-password-btn {
    background: #6c757d;
    color: white;
}

.td-login-password-btn.td-disabled {
    background: #e9ecef;
    color: #6c757d;
    cursor: not-allowed;
}

.td-login-continue-btn {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.td-login-continue-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

.td-login-direct-btn {
    background: linear-gradient(135deg, #FF7043 0%, #E64A19 100%);
    color: white;
    box-shadow: 0 4px 15px rgba(255, 112, 67, 0.3);
}

.td-login-direct-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 112, 67, 0.4);
}

/* Password Container */
.td-password-container {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-radius: 20px;
    padding: 30px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.2);
    max-width: 400px;
    margin: 0 auto;
    font-family: 'IRANYekan', 'IRANSans', Arial, sans-serif;
    direction: rtl;
}

.td-password-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 5px;
    padding-bottom: 10px;
    border-bottom: 2px solid #e9ecef;
}

.td-password-header h3 {
    color: #2d3748;
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    text-align: center;
    flex: 1;
}

.td-password-close {
    background: #dc3545;
    color: white;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.td-password-close:hover {
    background: #c82333;
    transform: scale(1.1);
}

.td-password-input {
    position: relative;
    margin: 20px 0;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 20px 0;
    padding: 10px;
    background: #f8f9fa;
    border-radius: 8px;
}

.td-password-field {
    width: 100%;
    padding: 15px 45px 15px 20px;
   
    border-radius: 12px;
    font-size: 16px;
    background: transparent;
    transition: all 0.3s ease;
    font-family: 'IRANYekan', 'IRANSans', Arial, sans-serif;
    text-align: right;
}

.td-password-field:focus {
    outline: none;
    border-color: #667eea;
    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}

.td-password-eye {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #6c757d;
    cursor: pointer;
    font-size: 16px;
    transition: color 0.3s ease;
}

.td-password-eye:hover {
    color: #667eea;
}

.td-password-error {
    background: rgba(220, 53, 69, 0.1);
    border: 1px solid rgba(220, 53, 69, 0.3);
    color: #dc3545;
    padding: 10px 15px;
    border-radius: 8px;
    margin: 15px 0;
    font-size: 14px;
    text-align: center;
    display: none;
}

.td-login-submit-btn {
    width: 100%;
    padding: 15px 30px;
    background: linear-gradient(135deg, #ff8c00 0%, #ff6b35 100%);
    border: none;
    border-radius: 12px;
    color: white;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: 'IRANYekan', 'IRANSans', Arial, sans-serif;
    box-shadow: 0 4px 15px rgba(255, 140, 0, 0.3);
    margin-top: 20px;
}

.td-login-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(255, 140, 0, 0.4);
}

/* Responsive Design */
@media (max-width: 480px) {
    .td-login-container,
    .td-password-container {
        margin: 10px;
        padding: 20px;
    }
    
    .td-otp-input {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
    
    .td-otp-resend {
        width: 40px;
        height: 40px;
    }
}

.lb_logo {
    width: 100%;
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    height: 30px;
}

.tel_enter {
    border: 1px solid;
    border-radius: 8px;
    justify-content: center;
    text-align: center !important;
}

.log_box_close {
    justify-content: center;
    width: 30px;
    height: 30px;
    background: #e0e0e0;
    border-radius: 8px;
    position: absolute;
    left: 0;
    cursor: pointer;
}

.dfc,
.log_box_close {
    display: flex;
    align-items: center;
    margin: 5px auto;
}

.log_box_err {
    width: 76%;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 5px auto;
    color: #d84315;
}

.imn {
    width: 78%;
    height: 42px;
    background-color: #FC980E;
    border-radius: 7px;
    border: none;
    color: #fff;
    font-size: 16px;
    font-family: inherit;
    justify-content: center;
    margin: 20px auto;
}

.imn,
.profile_button {
    align-items: center;
    display: flex;
    cursor: pointer;
}

.imn,
.ip_title,
.set_pass_inon {
    font-weight: 700;
}

.tel_enter,
.tel_enter:focus {
    width: 77%;
    caret-color: #4e3f3f;
    padding: 1.08375rem .9375rem;
    background-color: transparent;
    font-size: 13px;
    display: flex;
    align-items: center;
    margin: 30px auto 0;
    height: 6px;
    font-weight: 500;
    color: #616161;
    text-align: left;
    font-family: inherit;
    direction: ltr;
    height: 37px;
}

#alert_box,
#login_box {
    margin: auto;
  
    padding: 25px;
    bottom: 0;
    font-family: 'IRANYekan';
}

#login_box,
#mob_navigation {
    position: fixed;
    z-index: 9999999;
}

.dfc {
    justify-content: center;
}

#login_box form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.mbn_inp {
    text-align: left;
    border: none !important;
    ;
    margin-left: 20px;
    font-family: inherit;
    font-size: 15px;
    background-color: transparent;
}

.paaes_input {
    width: 300px;
    
    height: 40px;
    border-radius: 7px;
    padding: 0 10px;
    overflow: hidden;
}

.opt_box {
    display: flex;
    align-items: center;
    justify-content: space-around;
    width: 80%;
    margin: 25px auto;
}

.d_lt,
.opt_box,
.resend_timer_elm,
.resend_timer_elm_host,
.trb_wait_but a {
    direction: ltr;
}

.login_form_error {
    width: 77%;
    display: flex;
    align-items: center;
    margin: 15px auto;
}

.direct_login,
.opt_login_submit {
    width: 48%;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-family: inherit;
    border: none;
    border-radius: 7px;
    background-color: #FC980E;
    color: #fff;
    cursor: pointer;
}

.login_sub_box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 77%;
    margin: 0 auto;
}

.un_login_submit_disable {
    justify-content: center;
    border-radius: 7px;
    pointer-events: none;
}

.un_login_submit,
.un_login_submit_disable {
    width: 48%;
    height: 40px;
    align-items: center;
    font-family: inherit;
    border: 1px solid #ddd;
    background-color: #fff;
    color: #000;
    font-size: 13px;
    display: flex;
    cursor: pointer;
}

.mbn_show_edit {
    width: 88px;
    height: 23px;
    margin-right: 10px;
    color: #9e9e9e;
    cursor: pointer;
    font-size: 12px;
}

.mbn_show,
.mbn_show_edit {
    align-items: center;
    display: flex;
}

#hdpin,
.mbn_show_edit {
    border-left: 1px solid #ddd;
}

.opt_item_css,
.opt_item_css:focus {
    width: 60px;
    height: 60px;
    text-align: center;
    font-size: 18px;
    display: flex;
    font-family: inherit
}

.opt_item_css {
    border: 1px solid #ddd;
    align-items: center;
    justify-content: center;
    border-radius: 7px
}

.opt_item_css:focus {
    border: 2px solid #000;
    align-items: center;
    justify-content: center;
    border-radius: 7px
}

.opt_resend {
    background-color: #e0e0e0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}

.mbn_show {
    width: 75%;
    margin: 0 auto;
    justify-content: space-between;
    border: 1px solid #ddd;
    padding: 10px 5px;
    border-radius: 7px;
    background: #f5f5f5;
}

.cancel_reserv_box,
.logpass {
    flex-direction: column;
    opacity: 0;
    visibility: hidden
}

.logpass {
    width: 77%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto
}

.mbn_show,
.mbn_show_edit {
    align-items: center;
    display: flex;
}

/* ================= */

.wallet_request_box {
    height: 400px;
    background: white;
    height: 400px;
    background: white;
    display: flex;
    align-items: center;
    justify-content: center;
}

.wibox {
    width: 45%;
    height: 200px;
    box-shadow: 0 0 16px 5px rgba(0, 0, 0, .1);
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

/* Notifications widget styles moved to notifications-widget.css */

/* Legacy styles for backward compatibility */
.user_each_note {
    border: 1px dashed blue;
    border-radius: 8px;
    margin: 10px;
    overflow: hidden;
}

.ansub {
    background: #2196f33b;
    color: #2565ff;
    padding: 5px;
    margin: 0;
}

.note_description {
    padding: 18px;
}

.noti_sts {
    background: #8bc34a36;
    color: #7fa455;
    padding: 3px 5px;
    font-size: 12px;
    border-radius: 3px;
}

.noti_stsr {
    background: #c3504a36;
    color: #a47255;
    padding: 3px 5px;
    font-size: 12px;
    border-radius: 3px;
}
.atc_group{
    cursor: pointer;
}

/* Ticket Replies Styles */
.ticket-replies-container {
    margin-top: 15px;
    padding: 15px;
    background-color: #f9f9f9;
    border-radius: 5px;
    border: 1px solid #ddd;
}

.ticket-reply {
    margin-bottom: 15px;
    padding: 10px;
    border-radius: 5px;
}

.ticket-reply.user-reply {
    background-color: #e3f2fd;
    border-right: 3px solid #2196f3;
}

.ticket-reply.admin-reply {
    background-color: #f1f8e9;
    border-right: 3px solid #4caf50;
}

.reply-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
    font-size: 14px;
}

.reply-author {
    font-weight: bold;
}

.reply-date {
    color: #666;
}

.reply-content p {
    margin: 0;
    line-height: 1.5;
}

.reply-attachment {
    margin-top: 10px;
}

.reply-attachment a {
   color: #feffff;
    text-decoration: none;
    background: #343a40;
}

.reply-attachment a:hover {
    text-decoration: none;
}

/* ========================================
   Affiliate Earnings Widget Styles
   استایل ویجت درآمد همکاری در فروش
======================================== */

.td-earnings-container {
    background: #fff;
    padding: 30px;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.td-earnings-title {
    font-size: 24px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 24px 0;
    padding-bottom: 16px;
    border-bottom: 2px solid #e2e8f0;
}

/* خلاصه درآمد */
.td-earnings-summary {
    margin-bottom: 40px;
}

.td-earnings-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.td-earning-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    transition: all 0.3s ease;
}

.td-earning-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
}

.td-card-icon {
    width: 60px;
    height: 60px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #fff;
    flex-shrink: 0;
}

.td-card-icon i {
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
}

.td-card-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.td-card-label {
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
}

.td-card-value {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
}

/* گزارش تفصیلی */
.td-earnings-detailed {
    margin-top: 40px;
}

.td-section-title {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin: 0 0 20px 0;
    padding-bottom: 12px;
    border-bottom: 2px solid #e2e8f0;
}

.td-table-responsive {
    overflow-x: auto;
    margin-top: 20px;
}

.td-earnings-table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}

.td-earnings-table thead th {
    background: #1e40af;
    color: #fff;
    padding: 16px 12px;
    text-align: right;
    font-weight: 600;
    font-size: 14px;
}

.td-earnings-table tbody tr {
    border-bottom: 1px solid #e2e8f0;
    transition: background 0.2s ease;
}

.td-earnings-table tbody tr:hover {
    background: #f1f5f9;
}

.td-earnings-table tbody td {
    padding: 14px 12px;
    color: #475569;
    font-size: 14px;
}

.td-earnings-table tbody td:first-child {
    font-weight: 600;
    color: #1e293b;
}

.td-amount {
    font-weight: 700;
    color: #16a34a !important;
    font-family: 'Vazir', sans-serif;
}

.td-status-badge {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 600;
    background-color: #d4edda;
    color: #155724;
    border: 1px solid #c3e6cb;
}

.td-status-badge.status-pending {
    background: #fef3c7;
    color: #92400e;
}

.td-status-badge.status-approved {
    background: #dbeafe;
    color: #1e40af;
}

.td-status-badge.status-paid {
    background: #d1fae5;
    color: #065f46;
}

.td-payment-note {
    max-width: 250px;
}

.td-note-content {
    color: #059669;
    font-size: 13px;
    cursor: help;
    display: inline-block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.td-no-note {
    color: #cbd5e1;
    font-style: italic;
}

/* عدم وجود داده */
.td-no-data {
    text-align: center;
    padding: 60px 20px;
    color: #94a3b8;
}

.td-no-data i {
    font-size: 64px;
    margin-bottom: 16px;
    opacity: 0.5;
}

.td-no-data p {
    font-size: 16px;
    margin: 0;
}

/* ریسپانسیو */
@media (max-width: 768px) {
    .td-earnings-grid {
        grid-template-columns: 1fr;
    }
    
    .td-earning-card {
        padding: 16px;
    }
    
    .td-card-icon {
        width: 50px;
        height: 50px;
        font-size: 20px;
    }
    
    .td-card-value {
        font-size: 18px;
    }
    
    .td-earnings-table {
        font-size: 12px;
    }
    
    .td-earnings-table thead th,
    .td-earnings-table tbody td {
        padding: 10px 8px;
    }
}

/* استایل‌های فیلدهای اطلاعات بانکی */
.bank_card_number,
.bank_sheba,
.bank_name,
.account_holder_name {
    direction: ltr;
    text-align: right;
}

.bank_card_number::placeholder,
.bank_sheba::placeholder,
.bank_name::placeholder,
.account_holder_name::placeholder {
    color: #9ca3af;
    font-size: 13px;
}

/* استایل دکمه datepicker */
.datepicker-btn {
    position: absolute;
    left: 1px;
    top: 50%;
    transform: translateY(-50%);
    background: #2271b1;
    color: white;
    border: none;
    padding: 4px 10px;
    border-radius: 3px;
    cursor: pointer;
}

/* استایل‌های پیام هشدار اطلاعات بانکی */
.td-banking-warning {
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    border: 2px solid #f59e0b;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 25px;
    display: flex;
    align-items: flex-start;
    gap: 15px;
    box-shadow: 0 4px 6px rgba(245, 158, 11, 0.1);
}

.td-warning-icon {
    background: #f59e0b;
    color: white;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    flex-shrink: 0;
}

.td-warning-content {
    flex: 1;
}

.td-warning-content h4 {
    color: #92400e;
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 8px 0;
}

.td-warning-content p {
    color: #92400e;
    margin: 0 0 12px 0;
    font-size: 14px;
    line-height: 1.5;
}

.td-warning-content ul {
    margin: 0 0 15px 0;
    padding-right: 20px;
    color: #92400e;
    font-size: 13px;
}

.td-warning-content li {
    margin-bottom: 4px;
}

.td-warning-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #f59e0b;
    color: white;
    padding: 10px 16px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.td-warning-btn:hover {
    background: #d97706;
    color: white;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(245, 158, 11, 0.3);
}

.td-warning-btn i {
    font-size: 12px;
}

/* Responsive برای موبایل */
@media (max-width: 768px) {
    .td-banking-warning {
        flex-direction: column;
        text-align: center;
        gap: 12px;
    }
    
    .td-warning-icon {
        align-self: center;
    }
    
    .td-warning-content ul {
        text-align: right;
    }
}

@media (max-width: 480px) {
    .td-earnings-container {
        padding: 20px;
    }
    
    .td-earnings-title {
        font-size: 20px;
    }
    
    .td-earnings-grid {
        gap: 12px;
    }
    
    .td-section-title {
        font-size: 18px;
    }
}

.ticket-replies-container .error {
    color: #f44336;
    font-weight: bold;
}

/* Course Questions Widget Styles */
.td-course-questions-widget {
    background: #ffffff;
    border-radius: 8px;
    padding: 20px;
    margin: 20px 0;
}

/* User and Admin Labels */
.td-user-label {
    background-color: #007cba;
    color: white;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: bold;
}

.td-admin-label {
    background-color: #28a745;
    color: white;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: bold;
}

/* Question Box Wrapper */
.td-questions-list {
    position: relative;
}

/* Question Box Container */
.td-questions-container {
    position: relative;
  
    border-radius: 8px;
    padding: 15px;
    background: #fff;
   
}

/* Override for expanded state */
.td-questions-container.expanded {
    height: auto !important;
    max-height: none !important;
    min-height: auto !important;
    overflow: visible !important;
}

/* Force override for expanded state with higher specificity */
.td-questions-container.td-questions-container.expanded {
    height: auto !important;
    max-height: none !important;
    min-height: auto !important;
    overflow: visible !important;
}

/* Maximum specificity to ensure expanded state wins */
.td-questions-container.expanded[class*="expanded"] {
    height: auto !important;
    max-height: none !important;
    min-height: auto !important;
    overflow: visible !important;
}

/* Maximum specificity to ensure height: auto */
.td-questions-container.expanded[class*="td-questions-container"] {
    height: auto !important;
    max-height: none !important;
    min-height: auto !important;
    overflow: visible !important;
}

/* Fade shadow - visible only when container is collapsed */
.td-fade-shadow {
    position: absolute !important;
    bottom: 40px !important; /* Above the button */
    left: 0 !important;
    right: 0 !important;
    height: 80px !important;
    background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,0.3), rgba(255,255,255,0.8), #fff) !important;
    pointer-events: none !important;
    display: block !important;
    z-index: 5 !important;
}

/* Hide fade shadow when container is expanded */
.td-questions-container.expanded ~ .td-fade-shadow {
    display: none !important;
}

.td-questions-container.expanded {
    max-height: none !important;
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    padding-bottom: 20px !important; /* Add space for pagination */
}

/* Force expanded state to override any inline styles */
.td-questions-container.expanded[style*="max-height"] {
    max-height: none !important;
}

.td-questions-container.expanded[style*="height"] {
    height: auto !important;
}

/* Additional specificity to override inline styles */
.td-questions-container.expanded[style] {
    height: auto !important;
    max-height: none !important;
    min-height: auto !important;
    overflow: visible !important;
}

/* Maximum specificity to override any conflicting styles */
.td-questions-container.td-questions-container.expanded {
    height: auto !important;
    max-height: none !important;
    min-height: auto !important;
    overflow: visible !important;
}

/* Override any conflicting styles for expanded state */
.td-questions-container.expanded * {
    max-height: none !important;
}

/* Ensure question items are fully visible when expanded */
.td-questions-container.expanded .td-question-item {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Hide fade shadow when container is expanded */
.td-questions-container.expanded ~ .td-fade-shadow {
    display: none !important;
}

.td-questions-container::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,0.3), rgba(255,255,255,0.8), #fff);
    pointer-events: none;
    display: block;
}

.td-questions-container.expanded::after {
    display: none;
}

.td-show-more-btn {
    display: block;
    margin: 10px auto;
    background: #007cba;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 20px;
    cursor: pointer;
    font-size: 12px;
    font-weight: bold;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2);
    z-index: 25;
    position: relative;
}

.td-show-more-btn:hover {
    background: #005a87;
}

.td-show-more-btn.hidden {
    display: none;
}

/* Pagination styles */
.td-pagination-controls {
    margin-top: 20px;
    text-align: center;
    padding: 15px;
    border-top: 1px solid #eee;
    background: #f8f9fa;
    border-radius: 8px;
    position: relative;
    z-index: 20;
    display: none; /* Hidden by default */
    width: 100%;
    box-sizing: border-box;
}

/* Show pagination when container is expanded */
.td-questions-container.expanded .td-pagination-controls {
    display: block;
}

.td-pagination-btn {
    margin: 0 5px;
    padding: 8px 16px;
    border-radius: 4px;
    border: 1px solid #007cba;
    background: transparent;
    color: #007cba;
    cursor: pointer;
    transition: all 0.3s ease;
    width: 40px;
    border:none;
}

.td-pagination-btn:hover {
    background: #007cba;
    color: white;
}

.td-pagination-info {
    margin: 0 15px;
    font-weight: bold;
    color: #333;
}

.td-current-page {
    background: #007cba !important;
    color: white !important;
    border-color: #007cba !important;
    cursor: default !important;
}

.td-current-page:hover {
    background: #007cba !important;
    color: white !important;
}

/* Author Questions Widget Styles */
.td-author-questions-widget {
    --primary-color: #2563eb;
    --secondary-color: #64748b;
    --background-color: #ffffff;
    --text-color: #1e293b;
    --border-color: #e2e8f0;
    --success-color: #059669;
    --warning-color: #d97706;
    --danger-color: #dc2626;
    font-family: 'Vazir', Arial, sans-serif;
    background: var(--background-color);
    border-radius: 8px;
    border: 1px solid var(--border-color);
    overflow: hidden;
}

.td-author-questions-widget .td-widget-header {
    background: var(--background-color);
    padding: 24px 20px 20px;
    border-bottom: 1px solid var(--border-color);
}

.td-author-questions-widget .td-widget-title {
    margin: 0;
    font-size: 20px;
    font-weight: 600;
    color: var(--text-color);
    text-align: right;
}

.td-author-questions-widget .td-questions-table-container {
    padding: 0;
}

.td-author-questions-widget .td-questions-table-wrapper {
    overflow-x: auto;
}

.td-author-questions-widget .td-questions-table {
    width: 100%;
    border-collapse: collapse;
    background: white;
    font-size: 14px;
}

.td-author-questions-widget .td-questions-table th {
    background: #f8fafc;
    color: var(--text-color);
    padding: 16px 12px;
    text-align: center;
    font-weight: 600;
    font-size: 13px;
    border: none;
    border-bottom: 1px solid var(--border-color);
}

.td-author-questions-widget .td-questions-table td {
    padding: 16px 12px;
    text-align: center;
    border-bottom: 1px solid var(--border-color);
    vertical-align: middle;
    color: var(--text-color);
}

.td-author-questions-widget .td-questions-table tbody tr:hover {
    background: #f8fafc;
    transition: all 0.2s ease;
}

.td-author-questions-widget .td-status {
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 500;
}

.td-author-questions-widget .td-status-answered {
    background: #dcfce7;
    color: var(--success-color);
}

.td-author-questions-widget .td-status-pending {
    background: #fef3c7;
    color: var(--warning-color);
}

.td-author-questions-widget .td-btn {
    padding: 6px 12px;
    border: 1px solid var(--border-color);
    border-radius: 4px;
    font-size: 12px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    text-decoration: none;
    display: inline-block;
    text-align: center;
    background: white;
    color: var(--text-color);
}

.td-author-questions-widget .td-btn-primary {
    background: var(--primary-color);
    color: white;
    border-color: var(--primary-color);
}

.td-author-questions-widget .td-btn-primary:hover {
    background: #1d4ed8;
    border-color: #1d4ed8;
}

.td-author-questions-widget .td-btn-outline {
    background: white;
    color: var(--primary-color);
    border-color: var(--primary-color);
}

.td-author-questions-widget .td-btn-outline:hover {
    background: var(--primary-color);
    color: white;
}

.td-author-questions-widget .td-btn-sm {
    padding: 4px 8px;
    font-size: 11px;
}

/* Modal Styles */
.td-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
}

.td-modal-content {
    background-color: white;
    margin: 5% auto;
    padding: 0;
    border-radius: 8px;
    width: 90%;
    max-width: 600px;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    animation: modalSlideIn 0.2s ease;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.td-modal-header {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
    color: #6c757d !important;
    padding: 12px 20px;
    border: 1px solid #e3f2fd !important;
    border-bottom: none !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border-radius: 8px 8px 0 0;
    margin: 0;
}

.td-modal-title {
    margin: 0;
    font-size: 11px;
    font-weight: 200;
    color: #6c757d;
    font-family: 'Vazir', sans-serif;
    letter-spacing: 0.3px;
    opacity: 0.8;
}

.td-modal-close {
    font-size: 14px;
    font-weight: 200;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #6c757d;
    padding: 4px 8px;
    border-radius: 4px;
    background: none;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.7;
}

.td-modal-close:hover {
    color: #495057;
    background-color: rgba(108, 117, 125, 0.1);
    opacity: 1;
    transform: scale(1.02);
}

.td-modal-body {
    padding: 20px;
}

.td-question-detail .td-question-info {
    margin-bottom: 20px;
}

.td-question-detail .td-question-meta {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
    font-size: 13px;
    color: var(--secondary-color);
}

.td-question-detail .td-question-text {
    background: #f8fafc;
    padding: 16px;
    border-radius: 6px;
    border-right: 3px solid var(--primary-color);
    line-height: 1.6;
    font-size: 14px;
    color: var(--text-color);
}

.td-question-answer h5 {
    color: var(--text-color);
    margin-bottom: 12px;
    font-size: 14px;
    font-weight: 600;
}

.td-question-answer textarea {
    width: 100%;
    min-height: 100px;
    padding: 12px;
    border: 1px solid var(--border-color);
    border-radius: 6px;
    font-family: 'Vazir', Arial, sans-serif;
    font-size: 14px;
    resize: vertical;
    transition: border-color 0.2s ease;
    color: var(--text-color);
}

.td-question-answer textarea:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1);
}

.td-no-access,
.td-no-posts {
    text-align: center;
    padding: 40px 20px;
    color: #666;
    font-size: 16px;
    background: #f8f9fa;
    border-radius: 8px;
    margin: 20px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .td-author-questions-widget .td-questions-table {
        font-size: 12px;
    }
    
    .td-author-questions-widget .td-questions-table th,
    .td-author-questions-widget .td-questions-table td {
        padding: 8px 6px;
    }
    
    .td-modal-content {
        width: 95%;
        margin: 10% auto;
    }
    
    .td-question-detail .td-question-meta {
        flex-direction: column;
        gap: 5px;
    }
}

/* Ticket Status Widget Styles - Similar to Affiliate Earnings */
.td-ticket-status-container {
    margin: 20px 0;
}

.td-ticket-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    gap: 20px;
}

.td-ticket-header .td-widget-title {
    margin: 0;
    flex: 1;
}

.td-ticket-header .td-view-all-button {
    margin: 0;
    flex-shrink: 0;
}

.td-ticket-status-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 20px;
    justify-content: flex-start;
}

.td-ticket-status-card {
     background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
    transition: all 0.3s ease;
    flex: 1;
    min-width: 180px;
    max-width: 250px;
    position: relative;
    overflow: hidden;
}

.td-ticket-status-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(135deg, rgba(255,255,255,0.1) 0%, rgba(255,255,255,0.05) 100%);
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
}

.td-ticket-status-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-color: #3b82f6;
}

.td-ticket-status-card:hover::before {
    opacity: 1;
}

.td-card-icon {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s ease;
}

.td-card-icon i {
    color: white;
    font-size: 20px;
}

.td-ticket-status-card:hover .td-card-icon {
    transform: scale(1.1);
}

.td-card-content {
    display: flex;
    flex-direction: column;
    gap: 5px;
    flex: 1;
}

.td-card-label {
    font-size: 14px;
    color: #6b7280;
    font-weight: 500;
    margin: 0;
}

.td-card-value {
    font-size: 24px;
    font-weight: bold;
    color: #1f2937;
    margin: 0;
    text-align: center;
    line-height: 1;
}

.td-ticket-status-card:hover .td-card-value {
    color: #3b82f6;
}

/* Responsive Design */
@media (max-width: 768px) {
    .td-ticket-status-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 15px;
        width: 100%;
    }
    
    .td-ticket-status-card {
        padding: 15px;
        min-width: auto;
        max-width: none;
        width: 100%;
        flex-direction: column;
        text-align: center;
    }
    
    .td-card-icon {
        width: 40px;
        height: 40px;
        margin: 0 auto 10px auto;
    }
    
    .td-card-icon i {
        font-size: 16px;
    }
    
    .td-card-value {
        font-size: 20px;
    }
    
    .td-card-content {
        align-items: center;
        text-align: center;
    }
}

@media (max-width: 1200px) {
    .td-ticket-status-card {
        min-width: 160px;
        max-width: 220px;
    }
}

@media (max-width: 992px) {
    .td-ticket-status-card {
        min-width: 140px;
        max-width: 200px;
    }
}

@media (max-width: 480px) {
    .td-ticket-status-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }
    
    .td-ticket-status-card {
        padding: 12px;
        width: 100%;
    }
    
    .td-card-icon {
        width: 35px;
        height: 35px;
        margin: 0 auto 8px auto;
    }
    
    .td-card-icon i {
        font-size: 14px;
    }
    
    .td-card-value {
        font-size: 18px;
    }
    
    .td-card-label {
        font-size: 12px;
    }
}

/* برای صفحات خیلی کوچک - یک ستون */
@media (max-width: 360px) {
    .td-ticket-status-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

/* View All Button Styles */
.td-view-all-button {
    text-align: center;
}

.td-view-all-button a {
    display: inline-block;
    background-color: #3b82f6;
    color: #ffffff;
    text-decoration: none;
    padding: 8px 16px;
    border-radius: 6px;
    font-weight: 500;
    font-size: 14px;
    transition: all 0.3s ease;
    border: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.td-view-all-button a:hover {
    background-color: #2563eb;
    color: #ffffff;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

/* Responsive for header and button */
@media (max-width: 768px) {
    .td-ticket-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
    }
    
    .td-ticket-header .td-widget-title {
        text-align: center;
        width: 100%;
        font-size: 12px;
    }
    
    .td-ticket-header .td-view-all-button {
        width: 100%;
    }
    
    .td-view-all-button a {
        padding: 10px 16px;
        font-size: 12px;
        width: 100%;
        text-align: center;
    }
}

/* Affiliate Links Widget Styles */
.td-affiliate-links-container {
    margin: 20px 0;
}

.td-affiliate-links-title {
    font-size: 24px;
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 20px 0;
}

.td-affiliate-links-empty {
    text-align: center;
    padding: 40px 20px;
    background: #f8fafc;
    border-radius: 12px;
    color: #64748b;
}

.td-affiliate-links-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.td-affiliate-link-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    transition: all 0.3s ease;
}

.td-affiliate-link-card:hover {
    border-color: #3b82f6;
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.1);
}

.td-link-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    flex-wrap: wrap;
    gap: 10px;
}

.td-link-course-title {
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
    margin: 0;
    flex: 1;
}

.td-link-stats {
    display: flex;
    gap: 15px;
    font-size: 14px;
    color: #6b7280;
}

.td-link-stats span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.td-link-content {
    display: flex;
    gap: 10px;
    align-items: center;
}

.td-link-url-wrapper {
    flex: 1;
}

.td-link-url {
    width: 100%;
    background-color: #f1f5f9;
    color: #3b82f6;
    border: 1px solid #e2e8f0;
    padding: 10px 15px;
    border-radius: 6px;
    font-size: 14px;
    direction: ltr;
    text-align: left;
    font-family: 'Courier New', monospace;
    transition: all 0.3s ease;
}

.td-link-url:focus {
    outline: none;
    border-color: #3b82f6;
    background-color: #fff;
}

.td-copy-link-btn {
    background-color: #3b82f6;
    color: #ffffff;
    border: none;
    padding: 10px 20px;
    border-radius: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    white-space: nowrap;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.td-copy-link-btn:hover {
    background-color: #2563eb;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.td-copy-link-btn:active {
    transform: translateY(0);
}

.td-copy-link-btn.copied {
    background-color: #10b981;
}

/* Responsive Design for Affiliate Links */
@media (max-width: 768px) {
    .td-link-header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .td-link-course-title {
        font-size: 16px;
    }
    
    .td-link-stats {
        width: 100%;
        justify-content: space-between;
    }
    
    .td-link-content {
        flex-direction: column;
        gap: 10px;
    }
    
    .td-copy-link-btn {
        width: 100%;
        padding: 12px;
    }
}

@media (max-width: 480px) {
    .td-affiliate-link-card {
        padding: 15px;
    }
    
    .td-link-course-title {
        font-size: 14px;
    }
    
    .td-link-stats {
        font-size: 12px;
        gap: 10px;
    }
    
    .td-link-url {
        font-size: 12px;
        padding: 8px 12px;
    }
}

/* Instructor Request Form Styles */
.td-instructor-request-container {
    max-width: 900px;
    margin: 0 auto;
    padding: 20px;
}

/* Orange Bullet for Labels */
.td-label-bullet {
    display: inline-block;
    width: 8px;
    height: 8px;
    background-color: #ff8c42;
    border-radius: 50%;
    margin-left: 8px;
    vertical-align: middle;
}

.td-instructor-request-container h5 .td-label-bullet {
    width: 10px;
    height: 10px;
}

/* Video Upload Box Styles */
.td-video-upload-box {
    position: relative;
    min-height: 200px;
}

.td-upload-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    border: 3px dashed #cbd5e1;
    border-radius: 12px;
    background: #f8fafc;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 20px;
    text-align: center;
}

.td-upload-label:hover {
    border-color: #3b82f6;
    background: #eff6ff;
    transform: translateY(-2px);
}

.td-upload-label.file-selected {
    border-color: #10b981;
    background: #ecfdf5;
}

.td-upload-icon {
    color: #94a3b8;
    margin-bottom: 15px;
    transition: all 0.3s ease;
}

.td-upload-label:hover .td-upload-icon {
    color: #3b82f6;
    transform: scale(1.1);
}

.td-upload-label.file-selected .td-upload-icon {
    color: #10b981;
}

.td-upload-text strong {
    display: block;
    font-size: 16px;
    color: #1e293b;
    margin-bottom: 8px;
}

.td-upload-text p {
    color: #64748b;
    margin-bottom: 5px;
}

.td-upload-text small {
    color: #94a3b8;
    font-size: 12px;
}

.td-upload-progress {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    padding: 20px;
}

.td-upload-progress .progress {
    width: 100%;
    height: 10px;
    border-radius: 5px;
}

/* Simple upload button with spinner */

/* File Transfer Animation */
.td-file-transfer {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px 0;
    padding: 20px;
    background: linear-gradient(145deg, #f8f9fa, #e9ecef);
    border-radius: 15px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.td-file-icon {
    font-size: 32px;
    margin: 0 15px;
    animation: pulse 1.5s infinite;
}

.td-transfer-arrow {
    font-size: 24px;
    color: #007bff;
    animation: moveRight 2s infinite;
}

@keyframes pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.1); }
    100% { transform: scale(1); }
}

@keyframes moveRight {
    0% { transform: translateX(0); opacity: 1; }
    50% { transform: translateX(20px); opacity: 0.7; }
    100% { transform: translateX(40px); opacity: 0; }
}

/* Upload Progress States */
.td-upload-animation.uploading .td-upload-icon {
    animation: bounce 1s infinite;
}

.td-upload-animation.processing .td-upload-icon {
    animation: spin 2s linear infinite;
}

.td-upload-animation.success .td-upload-icon {
    animation: successPulse 0.6s ease-in-out;
}

.td-upload-animation.error .td-upload-icon {
    animation: errorShake 0.5s ease-in-out;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes successPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

@keyframes errorShake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-5px); }
    75% { transform: translateX(5px); }
}

.td-custom-progress-bar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(90deg, 
        transparent 0%, 
        rgba(255,255,255,0.4) 25%, 
        rgba(255,255,255,0.8) 50%, 
        rgba(255,255,255,0.4) 75%, 
        transparent 100%);
    animation: shimmer 1.5s infinite ease-in-out;
    transform: translateX(-100%);
}

@keyframes shimmer {
    0% { 
        transform: translateX(-100%); 
        opacity: 0;
    }
    50% { 
        opacity: 1;
    }
    100% { 
        transform: translateX(100%); 
        opacity: 0;
    }
}

.td-progress-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px;
    font-size: 13px;
    color: #6c757d;
    padding: 0 4px;
}

.td-progress-percentage {
    font-weight: 700;
    color: #2c3e50;
    font-size: 16px;
    text-shadow: 0 1px 2px rgba(0,0,0,0.1);
    min-width: 45px;
}

.td-progress-status {
    font-size: 13px;
    color: #28a745;
    font-weight: 600;
    text-align: right;
    flex: 1;
    margin-right: 10px;
}

.td-progress-status.uploading {
    color: #007bff;
}

.td-progress-status.uploading::before {
    content: '📤 ';
    margin-left: 5px;
}

.td-progress-status.processing {
    color: #ffc107;
}

.td-progress-status.processing::before {
    content: '⚙️ ';
    margin-left: 5px;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

.td-progress-status.completed {
    color: #28a745;
}

.td-progress-status.completed::before {
    content: '✅ ';
    margin-left: 5px;
}

.td-progress-status.error {
    color: #dc3545;
}

.td-progress-status.error::before {
    content: '❌ ';
    margin-left: 5px;
}

/* Upload Speed Indicator */
.td-upload-speed {
    font-size: 12px;
    color: #5a6c7d;
    margin-top: 0;
    padding: 6px 12px;
    background: linear-gradient(145deg, #f8f9fa, #e9ecef);
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,0.05);
    text-align: center;
    font-weight: 500;
    box-shadow: inset 0 1px 2px rgba(0,0,0,0.05);
}

/* File Size Info */
.td-file-info {
    font-size: 12px;
    color: #6c757d;
    margin-top: 0;
    display: flex;
    justify-content: space-between;
    padding: 4px 8px;
    background: rgba(0,0,0,0.02);
    border-radius: 8px;
    font-weight: 500;
}

/* Upload Stages */
.td-upload-stages {
    display: flex;
    justify-content: space-between;
    margin-top: 15px;
    padding: 10px;
    background: linear-gradient(145deg, #f8f9fa, #e9ecef);
    border-radius: 12px;
    border: 1px solid rgba(0,0,0,0.05);
}

.td-upload-stages .stage {
    flex: 1;
    text-align: center;
    padding: 8px 4px;
    font-size: 12px;
    font-weight: 500;
    color: #6c757d;
    border-radius: 8px;
    transition: all 0.3s ease;
    position: relative;
}

.td-upload-stages .stage.active {
    background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
    color: white;
    box-shadow: 0 2px 4px rgba(79, 172, 254, 0.3);
}

.td-upload-stages .stage.completed {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
    box-shadow: 0 2px 4px rgba(40, 167, 69, 0.3);
}

.td-upload-stages .stage:not(:last-child)::after {
    content: '→';
    position: absolute;
    right: -15px;
    top: 50%;
    transform: translateY(-50%);
    color: #dee2e6;
    font-weight: bold;
}

.td-upload-stages .stage.active:not(:last-child)::after,
.td-upload-stages .stage.completed:not(:last-child)::after {
    color: rgba(255,255,255,0.7);
}

/* Responsive Design */
@media (max-width: 768px) {
    .td-custom-progress {
        margin: 10px 0;
    }
    
    .td-progress-info {
        font-size: 12px;
    }
    
    .td-progress-percentage {
        font-size: 13px;
    }
    
    .td-upload-stages .stage {
        font-size: 11px;
        padding: 6px 2px;
    }
    
    .td-upload-stages .stage:not(:last-child)::after {
        right: -10px;
        font-size: 10px;
    }
}

.td-upload-success {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    padding: 20px;
}

/* Form Enhancements */
.td-instructor-request-container .form-control:focus,
.td-instructor-request-container .form-select:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 0.25rem rgba(59, 130, 246, 0.25);
}

.td-instructor-request-container .form-label {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

.td-instructor-request-container .btn-warning {
    background: #ff8c42;
    border: none;
    color: #ffffff;
    transition: all 0.3s ease;
    font-weight: 600;
}

.td-instructor-request-container .btn-warning:hover {
    background: #ff7a29;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(255, 140, 66, 0.4);
}

.td-instructor-submit-btn {
    position: relative;
    min-width: 200px;
}

/* Drag and Drop Enhancement */
.td-video-upload-box.drag-over .td-upload-label {
    border-color: #3b82f6;
    background: #dbeafe;
    transform: scale(1.02);
}

/* Responsive Design */
@media (max-width: 768px) {
    .td-instructor-request-container {
        padding: 10px;
    }
    
    .td-instructor-request-container .card-body {
        padding: 20px !important;
    }
    
    .td-upload-label {
        min-height: 150px;
    }
    
    .td-upload-icon i {
        font-size: 2rem !important;
    }
}

/* Status Cards */
.td-instructor-approved,
.td-instructor-pending,
.td-instructor-rejected {
    text-align: center;
    padding: 40px 20px;
    border-radius: 12px;
    margin: 20px 0;
}

.td-instructor-approved {
    background: linear-gradient(135deg, #d4fc79 0%, #96e6a1 100%);
    color: #065f46;
}

.td-instructor-pending {
    background: linear-gradient(135deg, #ffeaa7 0%, #fdcb6e 100%);
    color: #92400e;
}

.td-instructor-rejected {
    background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%);
    color: #991b1b;
}

.td-instructor-approved i,
.td-instructor-pending i,
.td-instructor-rejected i {
    font-size: 3rem;
    margin-bottom: 15px;
    display: block;
}

/* Video Selected State */
.td-video-selected {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 30px;
    text-align: center;
    background: #f0f9ff;
    border: 2px dashed #3b82f6;
    border-radius: 12px;
    min-height: 200px;
}

.td-video-preview {
    margin-bottom: 15px;
}

.td-video-preview i {
    color: #3b82f6;
}

.td-video-info {
    width: 100%;
}

.td-video-info p {
    font-size: 14px;
}

.td-video-info #filename_1,
.td-video-info #filename_2 {
    font-size: 13px;
    word-break: break-all;
    color: #64748b;
    background: #ffffff;
    padding: 8px 12px;
    border-radius: 6px;
    border: 1px solid #e2e8f0;
}

.td-remove-selected-video {
    margin-top: 10px;
}

/* Modal Styles */
#td-view-modal .modal-header {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
    border-bottom: none;
}

#td-view-modal .modal-title {
    font-weight: 600;
    font-size: 1.25rem;
}

#td-view-modal .btn-close {
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 50%;
    width: 35px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 1;
    transition: all 0.3s ease;
}

#td-view-modal .btn-close:hover {
    background: rgba(255, 255, 255, 0.3);
    transform: scale(1.1);
}

#td-view-modal .btn-close span {
    font-size: 18px;
    font-weight: bold;
    color: white;
}

#td-view-modal .modal-footer {
    background: #f8f9fa;
    border-top: 1px solid #dee2e6;
}

#td-view-modal .modal-footer .btn {
    min-width: 120px;
}

/* Card Styles in Modal */
.td-request-details .card {
    border: none;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.td-request-details .card:hover {
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    transform: translateY(-2px);
}

.td-request-details .card-header {
    border: none;
    font-weight: 600;
    padding: 15px 20px;
}

/* Modal Header Style - سفید با z-index بالا */
.td-modal-header {
    background-color: #ffffff !important;
    color: #495057 !important;
    border-bottom: 1px solid #e9ecef !important;
    font-weight: 600;
    padding: 15px 20px;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.td-modal-header h5 {
    color: #495057 !important;
    font-weight: 600;
    margin: 0;
}

.td-modal-header i {
    color: #6c757d;
    margin-left: 8px;
}

.td-request-details .card-body {
    padding: 20px;
}

.td-request-details .bg-light {
    background-color: #f8f9fa !important;
    border: 1px solid #e9ecef;
}

/* Video Styles */
.td-request-details video {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
    border: 2px solid #dee2e6;
}

.td-request-details video:hover {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
    transform: scale(1.02);
}

/* Video Title Styling */
.td-request-details .text-primary {
    font-weight: 600;
    margin-bottom: 10px;
    color: #007bff !important;
}

/* Video Container Side by Side */
.td-request-details .video-container {
    width: 100%;
    margin-bottom: 20px;
}

.td-request-details .video-container video {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

/* Video Row Styling */
.td-request-details .row .col-md-6 {
    padding: 0 10px;
}

.td-request-details .row .col-md-6:first-child {
    padding-left: 0;
}

.td-request-details .row .col-md-6:last-child {
    padding-right: 0;
}

/* Admin Review Section Full Width */
.td-request-details .admin-review-section {
    width: 100%;
    margin-top: 20px;
}

.td-request-details .admin-review-section .card {
    width: 100%;
}

/* Button Styles */
.td-request-details .btn-lg {
    padding: 12px 24px;
    font-weight: 600;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.td-request-details .btn-lg:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

/* Grid Layout for Modal Cards */
.td-request-details .row {
    margin-left: -10px;
    margin-right: -10px;
}

.td-request-details .row > [class*="col-"] {
    padding-left: 10px;
    padding-right: 10px;
}

.td-request-details .card.h-100 {
    display: flex;
    flex-direction: column;
}

.td-request-details .card.h-100 .card-body {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.td-request-details .card.h-100 .bg-light {
    flex: 1;
    overflow-y: auto;
}

/* Modal Body Styling */
.td-request-details .modal-body {
    padding: 20px;
    max-height: 80vh;
    overflow-y: auto;
}

/* Video and Admin Review Full Width */
.td-request-details .video-container,
.td-request-details .admin-review-section {
    width: 100%;
    margin: 0;
}

.td-request-details .video-container .mb-4 {
    width: 100%;
}

.td-request-details .admin-review-section .card {
    width: 100%;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .td-request-details .row > [class*="col-"] {
        margin-bottom: 15px;
    }
    
    .td-request-details .row .col-md-6 {
        padding: 0 5px;
        margin-bottom: 15px;
    }
    
    .td-request-details .row .col-md-6:first-child {
        padding-left: 0;
    }
    
    .td-request-details .row .col-md-6:last-child {
        padding-right: 0;
    }
}

/* Become Instructor Button Widget */
.td-become-instructor-wrapper {
    display: inline-block;
}

.td-become-instructor-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 15px 40px;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: #ffffff;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 16px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.3);
}

.td-become-instructor-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(102, 126, 234, 0.5);
    color: #ffffff;
    text-decoration: none;
}

.td-become-instructor-btn .btn-icon {
    font-size: 18px;
}

/* Responsive */
@media (max-width: 768px) {
    .td-become-instructor-btn {
        padding: 12px 30px;
        font-size: 14px;
    }
}

/* Teacher Courses Panel Styles */
.td-teacher-courses-panel {
    margin: 0;
}

.td-teacher-courses-panel .td-teacher-panel-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

.td-course-card {
    transition: all 0.3s ease;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.td-course-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
}

.td-course-card-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.75rem;
    line-height: 1.4;
}

.td-course-card-date {
    font-size: 0.875rem;
    color: #6c757d;
    margin-bottom: 1rem;
}

.td-course-card .btn {
    border-radius: 8px;
    font-weight: 500;
    transition: all 0.3s ease;
}

.td-course-card .btn-primary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.td-course-card .btn-primary:hover {
    background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

.td-course-card .btn-outline-secondary {
    border: 2px solid #6c757d;
    color: #6c757d;
    background: transparent;
}

.td-course-card .btn-outline-secondary:hover {
    background: #6c757d;
    border-color: #6c757d;
    color: #ffffff;
    transform: translateY(-1px);
}

/* Responsive adjustments for teacher courses panel */
@media (max-width: 768px) {
    .td-teacher-courses-panel .row > [class*="col-"] {
        margin-bottom: 15px;
    }
    
    .td-course-card-title {
        font-size: 1rem;
    }
    
    .td-course-card-date {
        font-size: 0.8rem;
    }
}

/* Course Creation Modal Styles */
#td-create-course-modal .modal-dialog {
    max-width: 95%;
    margin: 1.75rem auto;
}

#td-create-course-modal .modal-body {
    max-height: 80vh;
    overflow-y: auto;
    padding: 2rem;
}

#td-create-course-modal .form-label {
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

#td-create-course-modal .td-label-bullet {
    display: inline-block;
    width: 8px;
    height: 8px;
    background: #ff6b35;
    border-radius: 50%;
    margin-left: 8px;
    vertical-align: middle;
}

#td-create-course-modal .form-control,
#td-create-course-modal .form-select {
    border: 2px solid #e9ecef;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 14px;
    transition: all 0.3s ease;
}

#td-create-course-modal .form-control:focus,
#td-create-course-modal .form-select:focus {
    border-color: #667eea;
    box-shadow: 0 0 0 0.2rem rgba(102, 126, 234, 0.25);
}

#td-create-course-modal .form-control-lg {
    font-size: 16px;
    padding: 16px 20px;
}

#td-create-course-modal .invalid-feedback {
    display: block;
    color: #dc3545;
    font-size: 12px;
    margin-top: 4px;
}

#td-create-course-modal .form-text {
    font-size: 12px;
    color: #6c757d;
    margin-top: 4px;
}

#td-create-course-modal .btn {
    border-radius: 8px;
    font-weight: 500;
    padding: 12px 24px;
    transition: all 0.3s ease;
}

#td-create-course-modal .btn-primary {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: none;
    box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

#td-create-course-modal .btn-primary:hover {
    background: linear-gradient(135deg, #5a6fd8 0%, #6a4190 100%);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(102, 126, 234, 0.4);
}

#td-create-course-modal .btn-secondary {
    background: #6c757d;
    border: none;
}

#td-create-course-modal .btn-secondary:hover {
    background: #5a6268;
    transform: translateY(-1px);
}

#td-create-course-modal .alert {
    border-radius: 8px;
    border: none;
    font-weight: 500;
}

#td-create-course-modal .alert-success {
    background: linear-gradient(135deg, #28a745 0%, #20c997 100%);
    color: white;
}

#td-create-course-modal .alert-danger {
    background: linear-gradient(135deg, #dc3545 0%, #fd7e14 100%);
    color: white;
}

/* Responsive adjustments for modal */
@media (max-width: 768px) {
    #td-create-course-modal .modal-dialog {
        max-width: 95%;
        margin: 1rem auto;
    }
    
    #td-create-course-modal .modal-body {
        padding: 1rem;
        max-height: 70vh;
    }
    
    #td-create-course-modal .form-control,
    #td-create-course-modal .form-select {
        padding: 10px 12px;
        font-size: 14px;
    }
    
    #td-create-course-modal .btn {
        padding: 10px 20px;
        font-size: 14px;
    }
}

/* Course Management Styles */
.td-chapter-item,
.td-lesson-item,
.td-quiz-item {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 8px;
    transition: all 0.3s ease;
}

.td-chapter-item:hover,
.td-lesson-item:hover,
.td-quiz-item:hover {
    background: #e9ecef;
    border-color: #adb5bd;
}

.td-chapter-item .btn-danger,
.td-lesson-item .btn-danger,
.td-quiz-item .btn-danger {
    background: #dc3545;
    border: none;
    border-radius: 6px;
    padding: 8px 12px;
    font-size: 12px;
    transition: all 0.3s ease;
}

.td-chapter-item .btn-danger:hover,
.td-lesson-item .btn-danger:hover,
.td-quiz-item .btn-danger:hover {
    background: #c82333;
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(220, 53, 69, 0.3);
}

#td-add-chapter,
#td-add-lesson,
#td-add-quiz {
    background: #007bff;
    border: none;
    border-radius: 8px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.3s ease;
}

#td-add-chapter:hover,
#td-add-lesson:hover,
#td-add-quiz:hover {
    background: #0056b3;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
}

/* Responsive adjustments for course management */
@media (max-width: 768px) {
    .td-chapter-item .row > [class*="col-"],
    .td-lesson-item .row > [class*="col-"],
    .td-quiz-item .row > [class*="col-"] {
        margin-bottom: 10px;
    }
    
    .td-chapter-item .btn-danger,
    .td-lesson-item .btn-danger,
    .td-quiz-item .btn-danger {
        width: 100%;
        margin-top: 10px;
    }
}

/* Readonly field styles */
#td-create-course-modal input[readonly] {
    background-color: #f8f9fa;
    border-color: #dee2e6;
    color: #6c757d;
    cursor: not-allowed;
}

#td-create-course-modal input[readonly]:focus {
    box-shadow: none;
    border-color: #dee2e6;
}

/* Image upload box styles */
.td-image-upload-box {
    transition: all 0.3s ease;
    border-style: dashed !important;
}

.td-image-upload-box:hover {
    border-color: #007bff !important;
    background-color: #e3f2fd !important;
    transform: translateY(-2px);
}

.td-image-upload-box:hover i {
    color: #007bff !important;
}

.td-image-preview-box {
    background-color: #f8f9fa;
    border-color: #dee2e6 !important;
}

.td-image-preview-box img {
    border: 2px solid #dee2e6;
}

#td-instructor-image-remove:hover {
    background-color: #dc3545;
    color: white;
    border-color: #dc3545;
}

/* Video upload box styles */
.td-video-upload-box {
    transition: all 0.3s ease;
    border-style: dashed !important;
}

.td-video-upload-box:hover {
    border-color: #28a745 !important;
    background-color: #e8f5e8 !important;
    transform: translateY(-2px);
}

.td-video-upload-box:hover i {
    color: #28a745 !important;
}

.td-video-preview-box {
    background-color: #f8f9fa;
    border-color: #dee2e6 !important;
}

.td-video-thumbnail {
    border: 2px solid #dee2e6;
    transition: all 0.3s ease;
}

.td-video-thumbnail:hover {
    border-color: #007bff;
    transform: scale(1.05);
}

.td-video-duration {
    font-family: 'Courier New', monospace;
    font-weight: bold;
}

#td-course-intro-video-remove:hover {
    background-color: #dc3545;
    color: white;
    border-color: #dc3545;
}

/* Modal close button styles */
.btn-close {
    background: none;
    border: none;
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: 0.5;
    cursor: pointer;
}

.btn-close:hover {
    color: #000;
    text-decoration: none;
    opacity: 0.75;
}

.btn-close:focus {
    outline: none;
    box-shadow: none;
}

.btn-close span {
    display: block;
    width: 100%;
    height: 100%;
}

/* Chapter, Lesson and Quiz buttons styles */
#td-add-chapter,
#td-add-lesson,
#td-add-quiz {
    color: white !important;
    background-color: #007bff;
    border-color: #007bff;
    font-weight: 500;
    transition: all 0.3s ease;
}

#td-add-chapter:hover,
#td-add-lesson:hover,
#td-add-quiz:hover {
    background-color: #0056b3;
    border-color: #0056b3;
    color: white !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 123, 255, 0.3);
}

#td-add-chapter:focus,
#td-add-lesson:focus,
#td-add-quiz:focus {
    color: white !important;
    background-color: #007bff;
    border-color: #007bff;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* Download app buttons */
.td-download-section {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: center;
    align-items: stretch;
    padding: 18px;
    margin: 25px auto;
    border: 1px dashed #dfe3ed;
    border-radius: 18px;
    background: linear-gradient(135deg, #fdfdff 0%, #f3f6fb 100%);
}

.td-download-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 220px;
    padding: 14px 28px;
    border-radius: 14px;
    border: 1px solid #e1e6f0;
    background: #ffffff;
    color: #1f2a44;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08);
    transition: all 0.25s ease;
}

.td-download-button i {
    font-size: 1.4rem;
    color: #0056b3;
}

.td-download-button .td-download-text {
    white-space: nowrap;
}

.td-download-button:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 35px rgba(15, 23, 42, 0.12);
    color: #0b1f3a;
    text-decoration: none;
}

.td-download-button-android {
    border-color: #38c172;
    background: linear-gradient(135deg, #e6fff3 0%, #f4fff9 100%);
}

.td-download-button-android i {
    color: #1a9f5b;
}

@media (max-width: 576px) {
    .td-download-section {
        flex-direction: column;
        padding: 16px;
    }
    
    .td-download-button {
        width: 100%;
    }
}

/* CSS for TD Purchased Courses Widget */
.td-purchased-courses-container {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border: 2px dashed #6c757d;
    border-radius: 16px;
    padding: 25px;
    margin: 20px 0;
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.td-courses-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px solid #e9ecef;
}

.td-courses-title {
    color: #6c757d;
    font-size: 16px;
    font-weight: 600;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.td-courses-title .dashicons {
    font-size: 20px;
    color: #007cba;
}

.td-view-all-btn {
    background: #007cba;
    color: white;
    padding: 8px 16px;
    border-radius: 6px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 500;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.td-view-all-btn:hover {
    background: #005a87;
    color: white;
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0,124,186,0.3);
}

.td-courses-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
}

.td-course-item {
    background: white;
    border-radius: 12px;
    padding: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 15px;
    text-decoration: none;
    color: inherit;
}

.td-course-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.15);
    text-decoration: none;
    color: inherit;
}

.td-course-image {
    width: 120px;
    height: 80px;
    border-radius: 8px;
    overflow: hidden;
    flex-shrink: 0;
}

.td-course-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.td-course-content {
    flex: 1;
}

.td-course-title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin: 0 0 8px 0;
    line-height: 1.4;
}

.td-course-instructor {
    font-size: 12px;
    color: #6c757d;
    margin: 0 0 5px 0;
    display: flex;
    align-items: center;
    gap: 5px;
}

.td-course-duration {
    font-size: 11px;
    color: #28a745;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}

@media (max-width: 768px) {
    .td-courses-grid {
        grid-template-columns: 1fr;
    }
    
    .td-course-item {
        flex-direction: column;
        text-align: center;
    }
    
    .td-course-image {
        width: 100%;
        height: 120px;
    }
}

a,a{
    text-decoration: none!important;
}

/* Spinner for user profile save button */
.change_user_info_submit {
    position: relative;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 80px;
}

.change_user_info_submit .fa-spinner {
    animation: spin 1s linear infinite;
    font-size: 16px;
}

/* Spinner for change password button */
.change_pass_submit {
    position: relative;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 80px;
}

.change_pass_submit .fa-spinner {
    animation: spin 1s linear infinite;
    font-size: 16px;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
 .paa_log_inp{
    border: none!important;
    display: flex;
    width: 100%;
    text-align: center;
    font-size: .9rem!important;
}

/* Author Questions Widget Styles */
.td-author-questions-widget {
    --primary-color: #ff6b35;
    --secondary-color: #4a90e2;
    --background-color: #ffffff;
    background: var(--background-color);
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    overflow: hidden;
}

.td-widget-header {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    padding: 20px 25px;
    color: white;
}

.td-widget-title {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
    color: white;
}

.td-questions-table-container {
    padding: 0;
}

.td-questions-table-wrapper {
    overflow-x: auto;
}

.td-questions-table {
    width: 100%;
    border-collapse: collapse;
    margin: 0;
}

.td-questions-table th {
    background: #f8f9fa;
    color: #495057;
    font-weight: 600;
    padding: 15px 12px;
    text-align: right;
    border-bottom: 2px solid #e9ecef;
    font-size: 14px;
}

.td-questions-table td {
    padding: 15px 12px;
    border-bottom: 1px solid #f1f3f4;
    vertical-align: middle;
    font-size: 14px;
}

.td-questions-table tbody tr:hover {
    background: #f8f9fa;
}

.td-status {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    display: inline-block;
    min-width: 80px;
}

.td-status-answered {
    background: #d4edda;
    color: #155724;
}

.td-status-pending {
    background: #fff3cd;
    color: #856404;
}

.td-btn {
    padding: 12px 16px;
    border: none;
    border-radius: 6px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    display: inline-block;
}

.td-btn-primary {
    background: var(--primary-color);
    color: white;
}

.td-btn-primary:hover {
    background: #e55a2b;
    color: white;
}

.td-no-access,
.td-no-posts {
    text-align: center;
    padding: 40px 20px;
    color: #6c757d;
    font-size: 16px;
    background: #f8f9fa;
    border-radius: 8px;
    margin: 20px;
}

/* Modal Styles */
.td-modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
}

.td-modal-content {
    background: white;
    margin: 5% auto;
    padding: 0;
    border-radius: 12px;
    width: 90%;
    max-width: 600px;
    max-height: 80vh;
    overflow-y: auto;
    box-shadow: 0 10px 40px rgba(0,0,0,0.2);
}

.td-modal-header {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    color: white;
    padding: 20px 25px;
    border-radius: 12px 12px 0 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.td-modal-title {
    margin: 0;
    font-size: 18px;
    font-weight: 600;
}

.td-modal-close {
    font-size: 24px;
    cursor: pointer;
    line-height: 1;
}

.td-modal-body {
    padding: 25px;
}

.td-question-detail {
    margin-bottom: 20px;
}

.td-question-meta {
    display: flex;
    gap: 15px;
    margin-bottom: 15px;
    font-size: 14px;
    color: #6c757d;
}

.td-question-text {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 8px;
    border-left: 4px solid var(--primary-color);
    font-size: 15px;
    line-height: 1.6;
}

.td-question-answer {
    margin-top: 25px;
}

.td-question-answer h5 {
    margin: 0 0 15px 0;
    color: #495057;
    font-size: 16px;
}

.td-question-answer textarea {
    width: 100%;
    min-height: 120px;
    padding: 12px;
    border: 2px solid #e9ecef;
    border-radius: 8px;
    font-size: 14px;
    resize: vertical;
    font-family: inherit;
}

.td-question-answer textarea:focus {
    outline: none;
    border-color: var(--primary-color);
}

.td-question-replies {
    margin-top: 20px;
}

.td-reply-item {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 8px;
    margin-bottom: 10px;
    border-left: 4px solid var(--secondary-color);
}

.td-reply-meta {
    font-size: 12px;
    color: #6c757d;
    margin-bottom: 8px;
}

.td-reply-text {
    font-size: 14px;
    line-height: 1.5;
}

/* Responsive */
@media (max-width: 768px) {
    .td-modal-content {
        width: 95%;
        margin: 10% auto;
    }
    
    .td-questions-table {
        font-size: 13px;
    }
    
    .td-questions-table th,
    .td-questions-table td {
        padding: 10px 8px;
    }
}
.post,
.page {
	margin: 0;
}