/**
 * RTL Layout Fixes
 * 
 * This CSS file provides fixes for right-to-left (RTL) layout issues
 * identified during internationalization testing.
 */

/* General RTL Layout */
[dir="rtl"] {
    /* Text alignment */
    text-align: right;
    
    /* Flip padding and margins */
    --padding-start: var(--padding-end, 0);
    --padding-end: var(--padding-start, 0);
    --margin-start: var(--margin-end, 0);
    --margin-end: var(--margin-start, 0);
}

/* Fix for overflow issues */
[dir="rtl"] .overflow-container {
    overflow-x: hidden;
}

/* Navigation Fixes */
[dir="rtl"] .navbar .nav-item {
    float: right;
}

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

[dir="rtl"] .navbar .nav-link i {
    margin-right: 0;
    margin-left: 5px;
}

/* Table Fixes */
[dir="rtl"] table.dataTable thead th,
[dir="rtl"] table.dataTable tbody td {
    text-align: right;
}

[dir="rtl"] table.dataTable .action-buttons {
    text-align: left;
}

/* Fix for action buttons */
[dir="rtl"] .action-buttons .btn i {
    margin-right: 0;
    margin-left: 5px;
}

/* Form Fixes */
[dir="rtl"] .form-group label {
    text-align: right;
}

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

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

/* Input group fixes */
[dir="rtl"] .input-group > .input-group-prepend > .btn,
[dir="rtl"] .input-group > .input-group-prepend > .input-group-text,
[dir="rtl"] .input-group > .input-group-append:not(:last-child) > .btn,
[dir="rtl"] .input-group > .input-group-append:not(:last-child) > .input-group-text,
[dir="rtl"] .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
[dir="rtl"] .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
    border-radius: 0 .25rem .25rem 0;
}

[dir="rtl"] .input-group > .input-group-append > .btn,
[dir="rtl"] .input-group > .input-group-append > .input-group-text,
[dir="rtl"] .input-group > .input-group-prepend:not(:first-child) > .btn,
[dir="rtl"] .input-group > .input-group-prepend:not(:first-child) > .input-group-text,
[dir="rtl"] .input-group > .input-group-prepend:first-child > .btn:not(:first-child),
[dir="rtl"] .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
    border-radius: .25rem 0 0 .25rem;
}

/* Card Fixes */
[dir="rtl"] .card-header .card-tools {
    float: left;
}

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

/* Calendar Fixes */
[dir="rtl"] .fc-toolbar .fc-left {
    float: right;
}

[dir="rtl"] .fc-toolbar .fc-right {
    float: left;
}

/* Fix for date picker */
[dir="rtl"] .datepicker {
    direction: rtl;
}

/* Progress bar direction */
[dir="rtl"] .progress-bar {
    float: right;
}

/* Fix for lists */
[dir="rtl"] .list-group {
    padding-right: 0;
}

[dir="rtl"] .list-group-item {
    text-align: right;
}

/* Badge positioning */
[dir="rtl"] .badge {
    margin-right: 0;
    margin-left: 0.5rem;
}

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

[dir="rtl"] .dropdown-item {
    text-align: right;
}

/* Alert dismiss button */
[dir="rtl"] .alert-dismissible {
    padding-right: 1.25rem;
    padding-left: 4rem;
}

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

/* Breadcrumb */
[dir="rtl"] .breadcrumb-item {
    float: right;
}

[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
    padding-right: 0;
    padding-left: 0.5rem;
}

[dir="rtl"] .breadcrumb-item + .breadcrumb-item {
    padding-right: 0.5rem;
    padding-left: 0;
}

/* Fix for pagination */
[dir="rtl"] .pagination {
    padding-right: 0;
}

[dir="rtl"] .page-item:first-child .page-link {
    border-radius: 0 .25rem .25rem 0;
    margin-left: -1px;
}

[dir="rtl"] .page-item:last-child .page-link {
    border-radius: .25rem 0 0 .25rem;
}

/* Fix for tabs */
[dir="rtl"] .nav-tabs {
    padding-right: 0;
}

/* Fix for checkboxes and radios */
[dir="rtl"] .custom-control {
    padding-right: 1.5rem;
    padding-left: 0;
}

[dir="rtl"] .custom-control-label::before,
[dir="rtl"] .custom-control-label::after {
    right: -1.5rem;
    left: auto;
}

/* Fix for input groups */
[dir="rtl"] .input-group > .form-control:not(:last-child),
[dir="rtl"] .input-group > .custom-select:not(:last-child) {
    border-radius: 0 .25rem .25rem 0;
}

[dir="rtl"] .input-group > .form-control:not(:first-child),
[dir="rtl"] .input-group > .custom-select:not(:first-child) {
    border-radius: .25rem 0 0 .25rem;
}

/* Fix for button groups */
[dir="rtl"] .btn-group > .btn:not(:last-child):not(.dropdown-toggle),
[dir="rtl"] .btn-group > .btn-group:not(:last-child) > .btn {
    border-radius: 0 .25rem .25rem 0;
}

[dir="rtl"] .btn-group > .btn:not(:first-child),
[dir="rtl"] .btn-group > .btn-group:not(:first-child) > .btn {
    border-radius: .25rem 0 0 .25rem;
}

/* Fix for dashboard stats */
[dir="rtl"] .small-box .icon {
    right: auto;
    left: 10px;
}

/* Fix for sidebar menus */
[dir="rtl"] .sidebar-menu li > a > .pull-right-container {
    left: 10px;
    right: auto;
}

/* Fix for select2 */
[dir="rtl"] .select2-container--default .select2-selection--single .select2-selection__arrow {
    left: 1px;
    right: auto;
}

/* Fix for date inputs */
[dir="rtl"] input[type="date"].form-control,
[dir="rtl"] input[type="time"].form-control,
[dir="rtl"] input[type="datetime-local"].form-control,
[dir="rtl"] input[type="month"].form-control {
    direction: ltr;
    text-align: right;
}

/* Fix for numbers */
[dir="rtl"] input[type="number"] {
    direction: ltr;
    text-align: right;
}