/**
 * استایل‌های ریسپانسیو — موبایل و تبلت
 * دسکتاپ/تبلت (≥768px): سایدبار ثابت سمت راست
 * موبایل (<768px): سایدبار کشویی
 */

/* ── دسکتاپ و تبلت: سایدبار ثابت RTL ── */
@media (min-width: 768px) {
    .main-sidebar,
    .main-sidebar::before {
        transform: none !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        right: 0 !important;
        left: auto !important;
        width: 250px !important;
        z-index: 1038 !important;
    }

    body.sidebar-collapse .main-sidebar,
    body.sidebar-mini.sidebar-collapse .main-sidebar {
        width: 4.6rem !important;
        margin-left: 0 !important;
    }

    #sidebar-overlay {
        display: none !important;
        pointer-events: none !important;
    }

    .content-wrapper,
    .main-header,
    .main-footer {
        margin-right: 250px !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        width: auto !important;
    }

    body.sidebar-collapse .content-wrapper,
    body.sidebar-collapse .main-header,
    body.sidebar-collapse .main-footer,
    body.sidebar-mini.sidebar-collapse .content-wrapper,
    body.sidebar-mini.sidebar-collapse .main-header,
    body.sidebar-mini.sidebar-collapse .main-footer {
        margin-right: 4.6rem !important;
        margin-left: 0 !important;
    }
}

/* ── موبایل: سایدبار کشویی ── */
@media (max-width: 767.98px) {
    .main-sidebar,
    .main-sidebar::before {
        margin-left: 0 !important;
        left: auto !important;
        right: 0 !important;
        transform: translateX(100%);
        transition: transform 0.3s ease-in-out;
        width: 250px !important;
        z-index: 1045 !important;
        pointer-events: auto;
    }

    body.sidebar-open .main-sidebar {
        transform: translateX(0) !important;
    }

    #sidebar-overlay {
        z-index: 1040 !important;
    }

    .main-sidebar .nav-sidebar,
    .main-sidebar .nav-sidebar .nav-link {
        position: relative;
        z-index: 1;
        pointer-events: auto;
    }

    .content-wrapper,
    .main-header,
    .main-footer {
        margin-right: 0 !important;
        margin-left: 0 !important;
        padding-right: 0 !important;
        padding-left: 0 !important;
        width: 100% !important;
    }
}

@media (max-width: 767.98px) {
    body.layout-fixed .content-wrapper {
        overflow-x: hidden;
    }

    .content-wrapper,
    .main-header,
    .main-footer {
        margin-left: 0 !important;
    }

    .container-fluid {
        padding-right: 12px;
        padding-left: 12px;
    }

    /* هدر صفحات */
    .content-header {
        padding: 12px 0 0;
    }

    .content-header h1 {
        font-size: 1.2rem;
        margin-bottom: 0.5rem;
    }

    .content-header .row > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .content-header .d-flex {
        flex-wrap: wrap;
        justify-content: flex-start !important;
        gap: 8px !important;
    }

    .content-header .btn {
        font-size: 0.82rem;
        white-space: nowrap;
    }

    /* کارت‌ها */
    .card {
        margin-bottom: 1rem;
    }

    .card-header {
        padding: 0.75rem 1rem;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.5rem;
    }

    .card-header .card-title {
        font-size: 1rem;
        margin-bottom: 0;
        flex: 1 1 auto;
    }

    .card-header .card-tools {
        float: none;
        margin: 0;
    }

    .card-body {
        padding: 0.75rem;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    /* جداول */
    .table {
        font-size: 0.85rem;
    }

    .table th,
    .table td {
        padding: 0.45rem 0.5rem;
        vertical-align: middle;
    }

    .table .btn-sm {
        padding: 0.2rem 0.45rem;
        font-size: 0.78rem;
        margin-bottom: 2px;
    }

    /* فرم‌های فیلتر */
    .card .card-body form.row > [class*="col-"] {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .card .card-body form .btn {
        margin-bottom: 0.35rem;
        margin-left: 0.25rem;
    }

    /* نوار بالا */
    .main-header .navbar-nav .nav-link {
        padding: 6px 10px;
        font-size: 0.9rem;
    }

    .main-header .btn-link.nav-link {
        padding: 6px 10px !important;
    }

    /* مودال‌ها */
    .modal-dialog {
        margin: 0.5rem auto;
        max-width: calc(100% - 1rem) !important;
    }

    #createModal .modal-body {
        padding: 1rem;
        max-height: 88vh;
    }

    #createModal .modal-header {
        padding: 1rem 1.25rem;
    }

    #createModal .modal-title {
        font-size: 1.05rem;
    }

    /* رسانه */
    video,
    img,
    iframe,
    embed {
        max-width: 100%;
        height: auto;
    }

    /* صفحه‌بندی */
    .pagination {
        flex-wrap: wrap;
        font-size: 0.85rem;
    }

    /* اطلاعات کاربر سایدبار */
    .user-info-sidebar {
        padding: 12px;
    }

    .user-info-sidebar .user-avatar {
        width: 42px;
        height: 42px;
        font-size: 16px;
        margin-left: 10px;
    }

    /* فوتر */
    .main-footer {
        padding: 10px 12px !important;
        font-size: 0.8rem;
        text-align: center !important;
    }

    /* دکمه‌های گروهی */
    .btn-group {
        flex-wrap: wrap;
    }

    /* فرم‌های عمومی داخل محتوا */
    .content .row > [class*="col-md-"],
    .content .row > [class*="col-lg-"],
    .content .row > [class*="col-sm-"] {
        margin-bottom: 0.5rem;
    }
}

/* ── موبایل خیلی کوچک ── */
@media (max-width: 575.98px) {
    .content-header h1 {
        font-size: 1.05rem;
    }

    .content-header .btn {
        width: 100%;
        text-align: center;
    }

    .content-header .d-flex .btn {
        width: auto;
        flex: 1 1 auto;
    }

    .table {
        font-size: 0.8rem;
    }

    .alert {
        font-size: 0.9rem;
        padding: 0.65rem 0.85rem;
    }
}

/* ── صفحات ثبت‌نام عمومی ── */
@media (max-width: 767.98px) {
    body.public-form-page,
    body.register-page {
        display: block !important;
        padding: 12px !important;
        min-height: 100vh;
    }

    .form-container,
    .register-container {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .register-card {
        width: 100% !important;
        padding: 18px !important;
        border-radius: 12px;
        box-sizing: border-box;
    }

    .register-card .row > [class*="col-"],
    .form-container .row > [class*="col-"] {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .form-header {
        margin-bottom: 20px;
        padding-bottom: 15px;
    }

    .form-header h2,
    .register-title {
        font-size: 1.15rem !important;
    }

    .form-section {
        padding: 14px !important;
        margin-bottom: 18px !important;
    }

    .form-section-title {
        font-size: 1rem !important;
    }

    .dynamic-table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        padding: 10px !important;
    }

    .dynamic-table table {
        min-width: 480px;
        font-size: 0.85rem;
    }

    .btn-submit {
        width: 100%;
        padding: 12px 20px !important;
    }

    .btn-back {
        width: 100%;
        margin: 8px 0 0 !important;
    }

    .teaching-style-options .form-check {
        margin-bottom: 0.5rem;
    }
}

/* ── صفحه ورود ── */
@media (max-width: 575.98px) {
    .login-box,
    .login-box .card {
        width: 100% !important;
        margin: 0 12px;
    }

    .login-logo {
        font-size: 1rem;
        margin-bottom: 1rem;
    }

    .login-logo b {
        font-size: 0.95rem;
        line-height: 1.5;
    }

    .login-card-body {
        padding: 1.25rem;
    }
}
