/* RTL Overrides for SchoolNFC */
:root {
    --bs-body-font-family: 'Tajawal', 'Cairo', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
}

[dir="rtl"] {
    text-align: right;
}

[dir="rtl"] body {
    font-family: var(--bs-body-font-family);
}

[dir="rtl"] .container,
[dir="rtl"] .container-fluid,
[dir="rtl"] .container-sm,
[dir="rtl"] .container-md,
[dir="rtl"] .container-lg,
[dir="rtl"] .container-xl,
[dir="rtl"] .container-xxl {
    padding-right: 0.75rem;
    padding-left: 0.75rem;
}

[dir="rtl"] .ms-auto {
    margin-right: auto !important;
    margin-left: unset !important;
}

[dir="rtl"] .me-auto {
    margin-left: auto !important;
    margin-right: unset !important;
}

[dir="rtl"] .ms-0 { margin-right: 0 !important; margin-left: unset !important; }
[dir="rtl"] .me-0 { margin-left: 0 !important; margin-right: unset !important; }
[dir="rtl"] .ms-1 { margin-right: 0.25rem !important; margin-left: unset !important; }
[dir="rtl"] .me-1 { margin-left: 0.25rem !important; margin-right: unset !important; }
[dir="rtl"] .ms-2 { margin-right: 0.5rem !important; margin-left: unset !important; }
[dir="rtl"] .me-2 { margin-left: 0.5rem !important; margin-right: unset !important; }
[dir="rtl"] .ms-3 { margin-right: 1rem !important; margin-left: unset !important; }
[dir="rtl"] .me-3 { margin-left: 1rem !important; margin-right: unset !important; }

[dir="rtl"] .ps-0 { padding-right: 0 !important; padding-left: unset !important; }
[dir="rtl"] .pe-0 { padding-left: 0 !important; padding-right: unset !important; }

[dir="rtl"] .border-start {
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    border-left: 0 !important;
}

[dir="rtl"] .border-end {
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
    border-right: 0 !important;
}

[dir="rtl"] .border-start-0 {
    border-right: 0 !important;
    border-left: unset !important;
}

[dir="rtl"] .border-end-0 {
    border-left: 0 !important;
    border-right: unset !important;
}

/* Header & Sidebar */
[dir="rtl"] .header-left {
    float: right;
    border-right: 0;
    border-left: 1px solid #E9EDF4;
}

[dir="rtl"] .header .header-left .logo-normal {
    margin-left: 0;
    margin-right: 20px;
}

[dir="rtl"] .sidebar {
    left: auto;
    right: 0;
    border-right: 0;
    border-left: 1px solid #E9EDF4;
}

[dir="rtl"] .page-wrapper {
    margin-left: 0;
    margin-right: 260px;
}

[dir="rtl"] .mini-sidebar .page-wrapper {
    margin-right: 80px;
}

[dir="rtl"] .sidebar .sidebar-menu > ul > li svg,
[dir="rtl"] .sidebar .sidebar-menu > ul > li > a i {
    margin-right: 0;
    margin-left: 10px;
}

[dir="rtl"] .sidebar .sidebar-menu > ul > li ul li a {
    padding-left: 8px;
    padding-right: 40px;
    justify-content: flex-start;
}

[dir="rtl"] .sidebar .sidebar-menu > ul > li ul li a i {
    margin-left: 0;
    margin-right: 10px;
}

[dir="rtl"] .sidebar .sidebar-menu > ul > li ul li a span {
    margin-left: 0;
    margin-right: 10px;
}

/* Dropdowns & Menus */
[dir="rtl"] .header .dropdown-menu.dropdown-menu-end {
    right: auto !important;
    left: 0 !important;
}

[dir="rtl"] .header .dropdown-menu:not(.dropdown-menu-end) {
    right: 0 !important;
    left: auto !important;
}

[dir="rtl"] .header .dropdown-menu {
    max-width: calc(100vw - 32px);
    overflow-x: hidden;
}

[dir="rtl"] .dropdown-menu-end {
    right: auto !important;
    left: 0 !important;
}

[dir="rtl"] .dropdown-menu-start {
    left: auto !important;
    right: 0 !important;
}

[dir="rtl"] .mobile-user-menu {
    float: left;
    right: auto;
    left: 0;
    text-align: left;
}

/* Text & Tables */
[dir="rtl"] .text-end {
    text-align: left !important;
}

[dir="rtl"] .text-start {
    text-align: right !important;
}

[dir="rtl"] table th,
[dir="rtl"] table td {
    text-align: right;
}

/* Breadcrumb */
[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
    float: right;
    padding-left: 0.5rem;
    padding-right: 0;
    content: var(--bs-breadcrumb-divider, "/");
}

/* Float Fixes */
[dir="rtl"] .float-end {
    float: left !important;
}

[dir="rtl"] .float-start {
    float: right !important;
}

/* Modals */
[dir="rtl"] .modal-header .btn-close {
    margin: -0.5rem auto -0.5rem -0.5rem;
}
[dir="rtl"] .modal-footer > :not(:first-child) {
    margin-right: 0.25rem;
    margin-left: 0;
}

/* Offcanvas */
[dir="rtl"] .offcanvas.offcanvas-end {
    right: auto;
    left: 0;
    transform: translateX(-100%);
}
[dir="rtl"] .offcanvas.offcanvas-start {
    left: auto;
    right: 0;
    transform: translateX(100%);
}
[dir="rtl"] .offcanvas.show {
    transform: none;
}

/* Forms & Input Groups */
[dir="rtl"] .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
[dir="rtl"] .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
[dir="rtl"] .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
[dir="rtl"] .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: var(--bs-border-radius);
    border-bottom-right-radius: var(--bs-border-radius);
}
[dir="rtl"] .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-right: -1px;
    margin-left: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: var(--bs-border-radius);
    border-bottom-left-radius: var(--bs-border-radius);
}
[dir="rtl"] .form-check {
    padding-right: 1.5em;
    padding-left: 0;
}
[dir="rtl"] .form-check .form-check-input {
    float: right;
    margin-right: -1.5em;
    margin-left: 0;
}
[dir="rtl"] .form-switch {
    padding-right: 2.5em;
    padding-left: 0;
}
[dir="rtl"] .form-switch .form-check-input {
    margin-right: -2.5em;
    margin-left: 0;
    background-position: right center;
}

/* Pagination */
[dir="rtl"] .pagination {
    padding-right: 0;
}
[dir="rtl"] .page-item:not(:first-child) .page-link {
    margin-right: -1px;
    margin-left: 0;
}
[dir="rtl"] .page-item:first-child .page-link {
    border-top-right-radius: var(--bs-pagination-border-radius);
    border-bottom-right-radius: var(--bs-pagination-border-radius);
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
[dir="rtl"] .page-item:last-child .page-link {
    border-top-left-radius: var(--bs-pagination-border-radius);
    border-bottom-left-radius: var(--bs-pagination-border-radius);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* Icons Flipping */
[dir="rtl"] .ti-chevron-right::before {
    content: "\ea61"; /* ti-chevron-left */
}
[dir="rtl"] .ti-chevron-left::before {
    content: "\ea62"; /* ti-chevron-right */
}
[dir="rtl"] .ti-arrow-right::before {
    content: "\ea14"; /* ti-arrow-left */
}
[dir="rtl"] .ti-arrow-left::before {
    content: "\ea15"; /* ti-arrow-right */
}
[dir="rtl"] .ti-arrow-narrow-right::before {
    content: "\ea09"; /* ti-arrow-narrow-left */
}
[dir="rtl"] .ti-arrow-narrow-left::before {
    content: "\ea0a"; /* ti-arrow-narrow-right */
}
[dir="rtl"] .ti-player-play::before {
    transform: scaleX(-1);
    display: inline-block;
}

/* Page-specific fixes */
[dir="rtl"] .login-background {
    direction: rtl;
}

[dir="rtl"] .quick-login-card i:last-child {
    transform: scaleX(-1);
}

[dir="rtl"] .toast-container {
    right: auto;
    left: 0;
}

[dir="rtl"] .btn-close {
    background-position: center;
}

/* Alerts */
[dir="rtl"] .alert {
    border-left: 0 !important;
    border-right: 5px solid currentColor !important;
}

/* No-sidebar pages */
[dir="rtl"] body.no-sidebar .page-wrapper {
    margin-right: 0 !important;
    padding-top: 60px;
}

[dir="rtl"] body.no-sidebar .header {
    right: 0 !important;
    left: 0 !important;
}
