/* RTL (Right-to-Left) Styles for Persian (fa) and Arabic (ar) */

/* Reset Bootstrap RTL-specific utilities */
body[dir="rtl"] {
    text-align: right;
}

/* Navbar RTL adjustments */
body[dir="rtl"] .navbar-brand {
    margin-left: 1rem;
    margin-right: 0;
}

body[dir="rtl"] .navbar-nav {
    padding-right: 0;
}

body[dir="rtl"] .navbar-toggler {
    margin-left: 0;
    margin-right: auto;
}

/* Dropdown menu alignment */
body[dir="rtl"] .dropdown-menu {
    left: 0;
    right: auto;
    text-align: right;
}

body[dir="rtl"] .dropdown-menu-end {
    left: auto;
    right: 0;
}

/* Icons spacing in RTL */
body[dir="rtl"] .me-1,
body[dir="rtl"] .me-2 {
    margin-right: 0 !important;
    margin-left: 0.25rem;
}

body[dir="rtl"] .me-2 {
    margin-left: 0.5rem;
}

body[dir="rtl"] .ms-1 {
    margin-left: 0 !important;
    margin-right: 0.25rem;
}

body[dir="rtl"] .ms-2 {
    margin-left: 0 !important;
    margin-right: 0.5rem;
}

/* Form controls */
body[dir="rtl"] .form-control,
body[dir="rtl"] .form-select {
    text-align: right;
}

body[dir="rtl"] .form-check {
    padding-right: 1.5em;
    padding-left: 0;
}

body[dir="rtl"] .form-check-input {
    float: right;
    margin-right: -1.5em;
    margin-left: 0;
}

body[dir="rtl"] .form-floating > label {
    right: 0;
    left: auto;
    transform-origin: 100% 0;
}

/* Buttons and button groups */
body[dir="rtl"] .btn-group {
    flex-direction: row-reverse;
}

body[dir="rtl"] .btn-group > .btn:first-child:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: var(--bs-btn-border-radius);
    border-bottom-left-radius: var(--bs-btn-border-radius);
}

body[dir="rtl"] .btn-group > .btn:last-child:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: var(--bs-btn-border-radius);
    border-bottom-right-radius: var(--bs-btn-border-radius);
}

/* Cards */
body[dir="rtl"] .card-body {
    text-align: right;
}

body[dir="rtl"] .card-title,
body[dir="rtl"] .card-text {
    text-align: right;
}

/* Lists */
body[dir="rtl"] ul,
body[dir="rtl"] ol {
    padding-right: 2rem;
    padding-left: 0;
}

body[dir="rtl"] .list-group {
    padding-right: 0;
}

/* Breadcrumbs */
body[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
    float: right;
    padding-left: 0.5rem;
    padding-right: 0;
    content: "/";
}

/* Alerts */
body[dir="rtl"] .alert {
    text-align: right;
}

body[dir="rtl"] .alert-dismissible .btn-close {
    left: 0;
    right: auto;
}

/* Modals */
body[dir="rtl"] .modal-header .btn-close {
    margin: -0.5rem auto -0.5rem -0.5rem;
}

body[dir="rtl"] .modal-footer > * {
    margin: 0.25rem 0.25rem 0.25rem 0;
}

/* Tables */
body[dir="rtl"] .table {
    text-align: right;
}

body[dir="rtl"] th {
    text-align: right;
}

/* Pagination */
body[dir="rtl"] .pagination {
    flex-direction: row-reverse;
}

/* Toast */
body[dir="rtl"] .toast {
    text-align: right;
}

body[dir="rtl"] .toast-header .btn-close {
    margin-left: -0.375rem;
    margin-right: auto;
}

/* Input groups */
body[dir="rtl"] .input-group {
    flex-direction: row-reverse;
}

body[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;
}

body[dir="rtl"] .input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* Navbar collapse */
body[dir="rtl"] .navbar-collapse {
    text-align: right;
}

/* Fix for navbar menu items alignment */
body[dir="rtl"] .navbar-nav {
    flex-direction: row;
}

@media (max-width: 991.98px) {
    body[dir="rtl"] .navbar-nav {
        flex-direction: column;
        align-items: flex-end;
    }
}

/* Footer */
body[dir="rtl"] footer {
    text-align: right;
}

/* Dashboard cards */
body[dir="rtl"] .dashboard-card .card-body {
    text-align: right;
}

body[dir="rtl"] .dashboard-card h5 {
    text-align: right;
}

/* Custom spacing utilities for RTL */
body[dir="rtl"] .pe-1 {
    padding-right: 0 !important;
    padding-left: 0.25rem !important;
}

body[dir="rtl"] .pe-2 {
    padding-right: 0 !important;
    padding-left: 0.5rem !important;
}

body[dir="rtl"] .pe-3 {
    padding-right: 0 !important;
    padding-left: 1rem !important;
}

body[dir="rtl"] .ps-1 {
    padding-left: 0 !important;
    padding-right: 0.25rem !important;
}

body[dir="rtl"] .ps-2 {
    padding-left: 0 !important;
    padding-right: 0.5rem !important;
}

body[dir="rtl"] .ps-3 {
    padding-left: 0 !important;
    padding-right: 1rem !important;
}

/* Text alignment utilities */
body[dir="rtl"] .text-start {
    text-align: right !important;
}

body[dir="rtl"] .text-end {
    text-align: left !important;
}

/* Float utilities */
body[dir="rtl"] .float-start {
    float: right !important;
}

body[dir="rtl"] .float-end {
    float: left !important;
}

/* Persian/Arabic specific font improvements */
body[dir="rtl"] {
    font-family: 'Segoe UI', Tahoma, Arial, 'Vazir', 'Noto Sans Arabic', sans-serif;
}

body[dir="rtl"] input,
body[dir="rtl"] textarea,
body[dir="rtl"] select {
    font-family: inherit;
}

/* Ensure proper number display in RTL (numbers should stay LTR) */
body[dir="rtl"] .ltr-numbers {
    direction: ltr;
    display: inline-block;
}
