/* RTL Support CSS */

/* Base RTL Styles */
[dir="rtl"] {
    text-align: right;
}

[dir="rtl"] .text-left {
    text-align: right !important;
}

[dir="rtl"] .text-right {
    text-align: left !important;
}

[dir="rtl"] .float-left {
    float: right !important;
}

[dir="rtl"] .float-right {
    float: left !important;
}

/* Margin and Padding RTL */
[dir="rtl"] .ml-1 { margin-left: 0 !important; margin-right: 0.25rem !important; }
[dir="rtl"] .ml-2 { margin-left: 0 !important; margin-right: 0.5rem !important; }
[dir="rtl"] .ml-3 { margin-left: 0 !important; margin-right: 0.75rem !important; }
[dir="rtl"] .ml-4 { margin-left: 0 !important; margin-right: 1rem !important; }
[dir="rtl"] .ml-5 { margin-left: 0 !important; margin-right: 1.25rem !important; }
[dir="rtl"] .ml-6 { margin-left: 0 !important; margin-right: 1.5rem !important; }

[dir="rtl"] .mr-1 { margin-right: 0 !important; margin-left: 0.25rem !important; }
[dir="rtl"] .mr-2 { margin-right: 0 !important; margin-left: 0.5rem !important; }
[dir="rtl"] .mr-3 { margin-right: 0 !important; margin-left: 0.75rem !important; }
[dir="rtl"] .mr-4 { margin-right: 0 !important; margin-left: 1rem !important; }
[dir="rtl"] .mr-5 { margin-right: 0 !important; margin-left: 1.25rem !important; }
[dir="rtl"] .mr-6 { margin-right: 0 !important; margin-left: 1.5rem !important; }

[dir="rtl"] .pl-1 { padding-left: 0 !important; padding-right: 0.25rem !important; }
[dir="rtl"] .pl-2 { padding-left: 0 !important; padding-right: 0.5rem !important; }
[dir="rtl"] .pl-3 { padding-left: 0 !important; padding-right: 0.75rem !important; }
[dir="rtl"] .pl-4 { padding-left: 0 !important; padding-right: 1rem !important; }
[dir="rtl"] .pl-5 { padding-left: 0 !important; padding-right: 1.25rem !important; }
[dir="rtl"] .pl-6 { padding-left: 0 !important; padding-right: 1.5rem !important; }

[dir="rtl"] .pr-1 { padding-right: 0 !important; padding-left: 0.25rem !important; }
[dir="rtl"] .pr-2 { padding-right: 0 !important; padding-left: 0.5rem !important; }
[dir="rtl"] .pr-3 { padding-right: 0 !important; padding-left: 0.75rem !important; }
[dir="rtl"] .pr-4 { padding-right: 0 !important; padding-left: 1rem !important; }
[dir="rtl"] .pr-5 { padding-right: 0 !important; padding-left: 1.25rem !important; }
[dir="rtl"] .pr-6 { padding-right: 0 !important; padding-left: 1.5rem !important; }

/* Border RTL */
[dir="rtl"] .border-l { border-left: none !important; border-right: 1px solid #e5e7eb !important; }
[dir="rtl"] .border-r { border-right: none !important; border-left: 1px solid #e5e7eb !important; }

[dir="rtl"] .border-l-2 { border-left: none !important; border-right: 2px solid #e5e7eb !important; }
[dir="rtl"] .border-r-2 { border-right: none !important; border-left: 2px solid #e5e7eb !important; }

[dir="rtl"] .border-l-4 { border-left: none !important; border-right: 4px solid #e5e7eb !important; }
[dir="rtl"] .border-r-4 { border-right: none !important; border-left: 4px solid #e5e7eb !important; }

/* Position RTL */
[dir="rtl"] .left-0 { left: auto !important; right: 0 !important; }
[dir="rtl"] .right-0 { right: auto !important; left: 0 !important; }

[dir="rtl"] .left-1 { left: auto !important; right: 0.25rem !important; }
[dir="rtl"] .right-1 { right: auto !important; left: 0.25rem !important; }

[dir="rtl"] .left-2 { left: auto !important; right: 0.5rem !important; }
[dir="rtl"] .right-2 { right: auto !important; left: 0.5rem !important; }

[dir="rtl"] .left-3 { left: auto !important; right: 0.75rem !important; }
[dir="rtl"] .right-3 { right: auto !important; left: 0.75rem !important; }

[dir="rtl"] .left-4 { left: auto !important; right: 1rem !important; }
[dir="rtl"] .right-4 { right: auto !important; left: 1rem !important; }

/* Transform RTL */
[dir="rtl"] .transform {
    transform: scaleX(-1);
}

[dir="rtl"] .transform-none {
    transform: none;
}

/* Icons RTL */
[dir="rtl"] .icon-arrow-left::before {
    content: "→";
}

[dir="rtl"] .icon-arrow-right::before {
    content: "←";
}

[dir="rtl"] .icon-chevron-left::before {
    content: "›";
}

[dir="rtl"] .icon-chevron-right::before {
    content: "‹";
}

/* Navigation RTL */
[dir="rtl"] .nav-item {
    text-align: right;
}

[dir="rtl"] .nav-link {
    padding-left: 0;
    padding-right: 1rem;
}

[dir="rtl"] .dropdown-menu {
    right: 0;
    left: auto;
    text-align: right;
}

[dir="rtl"] .dropdown-item {
    text-align: right;
}

/* Form RTL */
[dir="rtl"] .form-control {
    text-align: right;
}

[dir="rtl"] .form-label {
    text-align: right;
}

[dir="rtl"] .input-group {
    flex-direction: row-reverse;
}

[dir="rtl"] .input-group-text {
    border-left: 1px solid #d1d5db;
    border-right: none;
}

[dir="rtl"] .input-group .form-control {
    border-right: 1px solid #d1d5db;
    border-left: none;
}

/* Button RTL */
[dir="rtl"] .btn-group {
    flex-direction: row-reverse;
}

[dir="rtl"] .btn-group .btn:not(:last-child) {
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

[dir="rtl"] .btn-group .btn:not(:first-child) {
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

/* Card RTL */
[dir="rtl"] .card-header {
    text-align: right;
}

[dir="rtl"] .card-body {
    text-align: right;
}

[dir="rtl"] .card-footer {
    text-align: right;
}

/* Table RTL */
[dir="rtl"] .table {
    text-align: right;
}

[dir="rtl"] .table th {
    text-align: right;
}

[dir="rtl"] .table td {
    text-align: right;
}

/* Modal RTL */
[dir="rtl"] .modal-header {
    text-align: right;
}

[dir="rtl"] .modal-body {
    text-align: right;
}

[dir="rtl"] .modal-footer {
    text-align: right;
}

/* Alert RTL */
[dir="rtl"] .alert {
    text-align: right;
}

/* Badge RTL */
[dir="rtl"] .badge {
    margin-left: 0.25rem;
    margin-right: 0;
}

/* Breadcrumb RTL */
[dir="rtl"] .breadcrumb {
    flex-direction: row-reverse;
}

[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
    content: "‹";
    margin-left: 0.5rem;
    margin-right: 0;
}

/* Pagination RTL */
[dir="rtl"] .pagination {
    flex-direction: row-reverse;
}

[dir="rtl"] .page-item:first-child .page-link {
    border-top-right-radius: 0.375rem;
    border-bottom-right-radius: 0.375rem;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

[dir="rtl"] .page-item:last-child .page-link {
    border-top-left-radius: 0.375rem;
    border-bottom-left-radius: 0.375rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* List RTL */
[dir="rtl"] .list-group {
    text-align: right;
}

[dir="rtl"] .list-group-item {
    text-align: right;
}

/* Progress RTL */
[dir="rtl"] .progress {
    direction: rtl;
}

/* Spinner RTL */
[dir="rtl"] .spinner-border {
    animation: spinner-border-rtl 0.75s linear infinite;
}

@keyframes spinner-border-rtl {
    to {
        transform: rotate(-360deg);
    }
}

/* Custom RTL Classes */
.rtl-flip {
    transform: scaleX(-1);
}

.rtl-text-right {
    text-align: right;
}

.rtl-text-left {
    text-align: left;
}

.rtl-float-right {
    float: right;
}

.rtl-float-left {
    float: left;
}

.rtl-margin-start {
    margin-inline-start: 1rem;
}

.rtl-margin-end {
    margin-inline-end: 1rem;
}

.rtl-padding-start {
    padding-inline-start: 1rem;
}

.rtl-padding-end {
    padding-inline-end: 1rem;
}

/* Number and Code RTL */
[dir="rtl"] .number,
[dir="rtl"] .code,
[dir="rtl"] .sku,
[dir="rtl"] .price {
    direction: ltr;
    text-align: left;
    display: inline-block;
}

/* Currency RTL */
[dir="rtl"] .currency {
    direction: ltr;
    text-align: left;
}

/* Date and Time RTL */
[dir="rtl"] .date,
[dir="rtl"] .time {
    direction: ltr;
    text-align: left;
}

/* Email and URL RTL */
[dir="rtl"] .email,
[dir="rtl"] .url {
    direction: ltr;
    text-align: left;
}

/* Phone Number RTL */
[dir="rtl"] .phone {
    direction: ltr;
    text-align: left;
}

/* Mixed Content RTL */
[dir="rtl"] .mixed-content {
    unicode-bidi: bidi-override;
}

/* Print RTL */
@media print {
    [dir="rtl"] {
        direction: rtl;
        text-align: right;
    }
    
    [dir="rtl"] .no-print-rtl {
        display: none;
    }
}
