/**
 * RTL (Right-to-Left) Support for Arabic Language
 * Yali Institute LMS
 */

/* General RTL adjustments */
[dir="rtl"] {
    text-align: right;
    direction: rtl;
}

[dir="rtl"] body {
    text-align: right;
}

/* Bootstrap RTL overrides */
[dir="rtl"] .text-start {
    text-align: right !important;
}

[dir="rtl"] .text-end {
    text-align: left !important;
}

/* Margins and Paddings */
[dir="rtl"] .ms-1, [dir="rtl"] .ms-2, [dir="rtl"] .ms-3, [dir="rtl"] .ms-4, [dir="rtl"] .ms-5 {
    margin-right: var(--bs-gutter-x) !important;
    margin-left: 0 !important;
}

[dir="rtl"] .me-1, [dir="rtl"] .me-2, [dir="rtl"] .me-3, [dir="rtl"] .me-4, [dir="rtl"] .me-5 {
    margin-left: var(--bs-gutter-x) !important;
    margin-right: 0 !important;
}

[dir="rtl"] .ps-1, [dir="rtl"] .ps-2, [dir="rtl"] .ps-3, [dir="rtl"] .ps-4, [dir="rtl"] .ps-5 {
    padding-right: var(--bs-gutter-x) !important;
    padding-left: 0 !important;
}

[dir="rtl"] .pe-1, [dir="rtl"] .pe-2, [dir="rtl"] .pe-3, [dir="rtl"] .pe-4, [dir="rtl"] .pe-5 {
    padding-left: var(--bs-gutter-x) !important;
    padding-right: 0 !important;
}

/* Float adjustments */
[dir="rtl"] .float-start {
    float: right !important;
}

[dir="rtl"] .float-end {
    float: left !important;
}

/* Border adjustments */
[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;
}

/* Dropdown adjustments */
[dir="rtl"] .dropdown-menu {
    text-align: right;
    right: auto;
    left: 0;
}

[dir="rtl"] .dropdown-menu-end {
    right: 0 !important;
    left: auto !important;
}

[dir="rtl"] .dropdown-toggle::after {
    margin-right: 0;
    margin-left: 0.255em;
}

/* Form adjustments */
[dir="rtl"] .form-check {
    padding-right: 1.25rem;
    padding-left: 0;
}

[dir="rtl"] .form-check-input {
    margin-right: -1.25rem;
    margin-left: 0;
    float: right;
}

[dir="rtl"] .form-check-label {
    padding-right: 0.5rem;
}

[dir="rtl"] .form-select {
    background-position: left 0.75rem center;
    padding-right: 0.75rem;
    padding-left: 2.25rem;
}

[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-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(:last-child):not(.dropdown-toggle):not(.dropdown-menu) {
    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);
}

/* Table adjustments */
[dir="rtl"] table {
    text-align: right;
}

[dir="rtl"] th {
    text-align: right;
}

/* List adjustments */
[dir="rtl"] ul, [dir="rtl"] ol {
    padding-right: 2rem;
    padding-left: 0;
}

[dir="rtl"] .list-unstyled {
    padding-right: 0;
}

/* Breadcrumb adjustments */
[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
    float: right;
    padding-left: 0.5rem;
    padding-right: 0;
    content: "/";
}

/* Pagination adjustments */
[dir="rtl"] .page-item:first-child .page-link {
    border-top-right-radius: var(--bs-border-radius);
    border-bottom-right-radius: var(--bs-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-border-radius);
    border-bottom-left-radius: var(--bs-border-radius);
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* Modal adjustments */
[dir="rtl"] .modal-header .btn-close {
    margin: -0.5rem auto -0.5rem -0.5rem;
}

/* Alert adjustments */
[dir="rtl"] .alert-dismissible {
    padding-left: 1rem;
    padding-right: 3rem;
}

[dir="rtl"] .alert-dismissible .btn-close {
    left: 0;
    right: auto;
}

/* Card adjustments */
[dir="rtl"] .card {
    text-align: right;
}

/* Badge adjustments */
[dir="rtl"] .position-absolute.top-0.start-100 {
    right: 100% !important;
    left: auto !important;
}

[dir="rtl"] .position-absolute.top-0.end-0 {
    left: 0 !important;
    right: auto !important;
}

/* Navigation */
[dir="rtl"] .navbar-nav {
    padding-right: 0;
    padding-left: 0;
}

[dir="rtl"] .navbar-brand {
    margin-left: 1rem;
    margin-right: 0;
}

[dir="rtl"] .navbar-toggler {
    margin-right: 0;
    margin-left: 0.5rem;
}

[dir="rtl"] .nav-link {
    text-align: right;
}

/* Button adjustments */
[dir="rtl"] .btn i {
    margin-left: 0.25rem;
    margin-right: 0;
}

[dir="rtl"] .btn-toolbar {
    justify-content: flex-start;
}

[dir="rtl"] .btn-group {
    direction: ltr;
}

[dir="rtl"] .btn-group .btn {
    direction: rtl;
}

/* Sidebar adjustments */
[dir="rtl"] .sidebar {
    right: 0;
    left: auto;
    border-left: 1px solid #dee2e6;
    border-right: none;
}

[dir="rtl"] .sidebar .nav-link {
    padding-right: 1rem;
    padding-left: 0;
}

[dir="rtl"] .sidebar .nav-link i {
    margin-left: 0.5rem;
    margin-right: 0;
}

/* Icons adjustments */
[dir="rtl"] i.fas, [dir="rtl"] i.far, [dir="rtl"] i.fab {
    margin-left: 0.5rem;
    margin-right: 0;
}

[dir="rtl"] .btn i {
    margin-left: 0.5rem;
    margin-right: 0;
}

/* Custom scrollbar for RTL */
[dir="rtl"] ::-webkit-scrollbar {
    width: 10px;
}

[dir="rtl"] ::-webkit-scrollbar-track {
    background: #f1f1f1;
}

[dir="rtl"] ::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 5px;
}

[dir="rtl"] ::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Language switcher */
.language-switcher {
    position: fixed;
    z-index: 1050;
}

[dir="rtl"] .language-switcher {
    right: auto;
    left: 20px;
}

/* Tooltips */
[dir="rtl"] .tooltip {
    text-align: right;
}

/* Progress bars */
[dir="rtl"] .progress {
    direction: ltr;
}

/* Offcanvas */
[dir="rtl"] .offcanvas-start {
    right: 0;
    left: auto;
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    border-right: 0;
}

[dir="rtl"] .offcanvas-end {
    left: 0;
    right: auto;
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    border-left: 0;
}

/* Arabic font improvements */
[dir="rtl"] body {
    font-family: 'Segoe UI', 'Tahoma', 'Arial', sans-serif;
    letter-spacing: 0;
}

[dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3, 
[dir="rtl"] h4, [dir="rtl"] h5, [dir="rtl"] h6 {
    font-family: 'Segoe UI', 'Tahoma', 'Arial', sans-serif;
    font-weight: 600;
}

/* Fix for Arabic numerals */
[dir="rtl"] .number {
    direction: ltr;
    display: inline-block;
}

/* Responsive adjustments for RTL */
@media (max-width: 768px) {
    [dir="rtl"] .navbar-collapse {
        text-align: right;
    }
    
    [dir="rtl"] .dropdown-menu {
        text-align: right;
    }
}
