/**
 * RTL (Right-to-Left) Support for Arabic and Urdu Languages
 * This CSS file handles RTL layout adjustments
 */

/* Apply RTL direction to the entire document */
[dir="rtl"] {
    direction: rtl;
    text-align: right;
}

[dir="rtl"] body {
    direction: rtl;
}

/* General RTL adjustments */
[dir="rtl"] .text-start {
    text-align: right !important;
}

[dir="rtl"] .text-end {
    text-align: left !important;
}

[dir="rtl"] .float-start {
    float: right !important;
}

[dir="rtl"] .float-end {
    float: left !important;
}

/* Margin and Padding RTL adjustments */
[dir="rtl"] .ms-* {
    margin-left: 0 !important;
    margin-right: var(--bs-margin-size, 1rem) !important;
}

[dir="rtl"] .me-* {
    margin-right: 0 !important;
    margin-left: var(--bs-margin-size, 1rem) !important;
}

[dir="rtl"] .ps-* {
    padding-left: 0 !important;
    padding-right: var(--bs-padding-size, 1rem) !important;
}

[dir="rtl"] .pe-* {
    padding-right: 0 !important;
    padding-left: var(--bs-padding-size, 1rem) !important;
}

/* Navigation RTL */
[dir="rtl"] .navbar {
    direction: rtl;
}

[dir="rtl"] .navbar-nav {
    flex-direction: row-reverse;
}

[dir="rtl"] .navbar-nav .nav-link {
    padding-left: 0;
    padding-right: 1rem;
}

/* Sidebar RTL */
[dir="rtl"] .sidebar {
    right: 0;
    left: auto;
    border-right: none;
    border-left: 1px solid #e9ecef;
}

[dir="rtl"] .main-content {
    margin-left: 0;
    margin-right: var(--sidebar-width, 250px);
}

/* Forms RTL */
[dir="rtl"] .form-group label {
    text-align: right;
}

[dir="rtl"] .input-group {
    flex-direction: row-reverse;
}

[dir="rtl"] .input-group > .form-control,
[dir="rtl"] .input-group > .form-select {
    border-right: none;
    border-left: 1px solid #dee2e6;
}

/* Buttons RTL */
[dir="rtl"] .btn {
    text-align: right;
}

[dir="rtl"] .btn .btn-icon {
    margin-left: 0.5rem;
    margin-right: 0;
}

/* Alerts RTL */
[dir="rtl"] .alert {
    text-align: right;
}

[dir="rtl"] .alert-icon {
    float: left;
    margin-right: 0;
    margin-left: 1rem;
}

/* Dropdowns RTL */
[dir="rtl"] .dropdown-menu {
    text-align: right;
    right: 0 !important;
    left: auto !important;
}

[dir="rtl"] .dropdown-menu-start {
    right: 0 !important;
    left: auto !important;
}

[dir="rtl"] .dropdown-menu-end {
    left: 0 !important;
    right: auto !important;
}

[dir="rtl"] .dropdown-item {
    padding-left: 1.5rem;
    padding-right: 0;
}

/* Modals RTL */
[dir="rtl"] .modal-header {
    flex-direction: row-reverse;
}

[dir="rtl"] .btn-close {
    left: 0;
    right: auto;
}

/* Tables RTL */
[dir="rtl"] table {
    text-align: right;
}

[dir="rtl"] th,
[dir="rtl"] td {
    text-align: right;
}

/* Pagination RTL */
[dir="rtl"] .pagination {
    flex-direction: row-reverse;
}

[dir="rtl"] .page-link {
    margin-left: 0.25rem;
    margin-right: 0;
}

/* Breadcrumbs RTL */
[dir="rtl"] .breadcrumb {
    flex-direction: row-reverse;
}

[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
    margin-left: 0.5rem;
    margin-right: 0;
}

/* Cards RTL */
[dir="rtl"] .card {
    text-align: right;
}

[dir="rtl"] .card-header {
    text-align: right;
}

/* Spinners and Loading RTL */
[dir="rtl"] .spinner-border {
    animation: spinner-border 0.75s linear infinite reverse;
}

/* Lists RTL */
[dir="rtl"] ul,
[dir="rtl"] ol {
    padding-left: 0;
    padding-right: 2rem;
}

/* Badges RTL */
[dir="rtl"] .badge {
    margin-left: 0.25rem;
    margin-right: 0;
}

/* Tooltips RTL */
[dir="rtl"] .tooltip {
    text-align: right;
}

/* Custom spacing adjustments for RTL */
[dir="rtl"] .gap-* {
    --bs-gap: var(--bs-gap-size, 1rem) !important;
}

/* Icon alignment for RTL */
[dir="rtl"] .icon-left {
    margin-left: 0;
    margin-right: 0.5rem;
}

[dir="rtl"] .icon-right {
    margin-right: 0;
    margin-left: 0.5rem;
}

/* Language-specific font adjustments */
[lang="ar"],
[lang="ur"] {
    font-family: 'Segoe UI', 'Tahoma', 'Arabic Typesetting', 'Traditional Arabic', sans-serif;
}

[lang="hi"] {
    font-family: 'Segoe UI', 'Devanagari', 'Noto Sans Devanagari', sans-serif;
}

/* Ensure proper text rendering for RTL languages */
[dir="rtl"] {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Fix for Bootstrap RTL utilities not covering all cases */
[dir="rtl"] [class*="start"] {
    inset-inline-start: 0;
}

[dir="rtl"] [class*="end"] {
    inset-inline-end: 0;
}

/* Animation direction for RTL */
[dir="rtl"] .fade-in-left {
    animation: fadeInLeftRTL 0.5s ease-in;
}

@keyframes fadeInLeftRTL {
    from {
        opacity: 0;
        transform: translateX(2rem);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

[dir="rtl"] .fade-in-right {
    animation: fadeInRightRTL 0.5s ease-in;
}

@keyframes fadeInRightRTL {
    from {
        opacity: 0;
        transform: translateX(-2rem);
    }
    to {
        opacity: 1;
        transform: translateX(0);
    }
}
