/* 
 * RTL (Right-to-Left) Styles for Arabic Language Support
 * This file contains direction-specific overrides for RTL languages
 */

/* Base RTL direction */
html[dir="rtl"] body {
    text-align: right;
}

/* Flex direction overrides */
html[dir="rtl"] .flex-row {
    flex-direction: row-reverse;
}

html[dir="rtl"] .space-x-2 > :not([hidden]) ~ :not([hidden]),
html[dir="rtl"] .space-x-3 > :not([hidden]) ~ :not([hidden]),
html[dir="rtl"] .space-x-4 > :not([hidden]) ~ :not([hidden]),
html[dir="rtl"] .space-x-6 > :not([hidden]) ~ :not([hidden]),
html[dir="rtl"] .space-x-8 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 1;
}

/* Margin and padding direction swaps */
html[dir="rtl"] .ml-2 { margin-left: 0; margin-right: 0.5rem; }
html[dir="rtl"] .ml-3 { margin-left: 0; margin-right: 0.75rem; }
html[dir="rtl"] .ml-4 { margin-left: 0; margin-right: 1rem; }
html[dir="rtl"] .ml-6 { margin-left: 0; margin-right: 1.5rem; }
html[dir="rtl"] .ml-8 { margin-left: 0; margin-right: 2rem; }
html[dir="rtl"] .ml-auto { margin-left: initial; margin-right: auto; }

html[dir="rtl"] .mr-2 { margin-right: 0; margin-left: 0.5rem; }
html[dir="rtl"] .mr-3 { margin-right: 0; margin-left: 0.75rem; }
html[dir="rtl"] .mr-4 { margin-right: 0; margin-left: 1rem; }
html[dir="rtl"] .mr-6 { margin-right: 0; margin-left: 1.5rem; }
html[dir="rtl"] .mr-8 { margin-right: 0; margin-left: 2rem; }
html[dir="rtl"] .mr-auto { margin-right: initial; margin-left: auto; }

html[dir="rtl"] .pl-2 { padding-left: 0; padding-right: 0.5rem; }
html[dir="rtl"] .pl-4 { padding-left: 0; padding-right: 1rem; }
html[dir="rtl"] .pl-6 { padding-left: 0; padding-right: 1.5rem; }
html[dir="rtl"] .pl-8 { padding-left: 0; padding-right: 2rem; }

html[dir="rtl"] .pr-2 { padding-right: 0; padding-left: 0.5rem; }
html[dir="rtl"] .pr-4 { padding-right: 0; padding-left: 1rem; }
html[dir="rtl"] .pr-6 { padding-right: 0; padding-left: 1.5rem; }
html[dir="rtl"] .pr-8 { padding-right: 0; padding-left: 2rem; }

/* Border direction swaps */
html[dir="rtl"] .border-l { border-left: 0; border-right-width: 1px; }
html[dir="rtl"] .border-r { border-right: 0; border-left-width: 1px; }
html[dir="rtl"] .border-l-2 { border-left: 0; border-right-width: 2px; }
html[dir="rtl"] .border-r-2 { border-right: 0; border-left-width: 2px; }
html[dir="rtl"] .border-l-4 { border-left: 0; border-right-width: 4px; }
html[dir="rtl"] .border-r-4 { border-right: 0; border-left-width: 4px; }

/* Left/Right positioning swaps */
html[dir="rtl"] .left-0 { left: auto; right: 0; }
html[dir="rtl"] .left-4 { left: auto; right: 1rem; }
html[dir="rtl"] .left-6 { left: auto; right: 1.5rem; }
html[dir="rtl"] .left-8 { left: auto; right: 2rem; }
html[dir="rtl"] .right-0 { right: auto; left: 0; }
html[dir="rtl"] .right-4 { right: auto; left: 1rem; }
html[dir="rtl"] .right-6 { right: auto; left: 1.5rem; }
html[dir="rtl"] .right-8 { right: auto; left: 2rem; }
html[dir="rtl"] .right-12 { right: auto; left: 3rem; }
html[dir="rtl"] .-right-4 { right: auto; left: -1rem; }
html[dir="rtl"] .-left-4 { left: auto; right: -1rem; }

/* Text alignment */
html[dir="rtl"] .text-left { text-align: right; }
html[dir="rtl"] .text-right { text-align: left; }

/* Rounded corners swap for RTL */
html[dir="rtl"] .rounded-l { border-radius: 0 0.25rem 0.25rem 0; }
html[dir="rtl"] .rounded-r { border-radius: 0.25rem 0 0 0.25rem; }
html[dir="rtl"] .rounded-l-lg { border-radius: 0 0.5rem 0.5rem 0; }
html[dir="rtl"] .rounded-r-lg { border-radius: 0.5rem 0 0 0.5rem; }
html[dir="rtl"] .rounded-l-xl { border-radius: 0 0.75rem 0.75rem 0; }
html[dir="rtl"] .rounded-r-xl { border-radius: 0.75rem 0 0 0.75rem; }

/* Icon rotations for directional icons */
html[dir="rtl"] .rtl-flip {
    transform: scaleX(-1);
}

/* Arabic font stack */
html[dir="rtl"] body {
    font-family: 'Cairo', 'Noto Sans Arabic', 'Segoe UI', Tahoma, sans-serif;
}

/* Gap/space utilities - these work automatically with RTL */
html[dir="rtl"] .gap-2 { gap: 0.5rem; }
html[dir="rtl"] .gap-4 { gap: 1rem; }

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

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

/* Form inputs */
html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select {
    text-align: right;
}

html[dir="rtl"] input::placeholder,
html[dir="rtl"] textarea::placeholder {
    text-align: right;
}

/* Premium Component specific RTL fixes */
html[dir="rtl"] .btn-primary svg,
html[dir="rtl"] .btn-secondary svg,
html[dir="rtl"] .btn-danger svg,
html[dir="rtl"] .btn-ghost svg {
    margin-left: 0.5rem;
    margin-right: 0;
}

html[dir="rtl"] .input-standard {
    padding-right: 1.25rem;
    padding-left: 1.25rem;
}

html[dir="rtl"] .input-standard[class*="pl-"] {
    padding-left: 1.25rem;
    padding-right: 3rem; /* Swap padding for icons */
}

/* Notification container position swap */
html[dir="rtl"] #notification-container {
    right: auto;
    left: 1rem;
}

@media (min-width: 768px) {
    html[dir="rtl"] #notification-container {
        left: 3rem;
    }
}

/* Sidebar nav items */
html[dir="rtl"] .sidebar-item {
    padding-left: 0;
    padding-right: 1rem;
}

/* Lists */
html[dir="rtl"] ul,
html[dir="rtl"] ol {
    padding-left: 0;
    padding-right: 1.5rem;
}

/* Progress bars */
html[dir="rtl"] .progress-bar {
    transform-origin: right;
}

/* Checkboxes and radio labels */
html[dir="rtl"] input[type="checkbox"] + label,
html[dir="rtl"] input[type="radio"] + label {
    margin-left: 0;
    margin-right: 0.5rem;
}

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

/* Modal transitions */
html[dir="rtl"] .slide-in-left {
    animation-name: slide-in-right;
}

html[dir="rtl"] .slide-in-right {
    animation-name: slide-in-left;
}

@keyframes slide-in-left {
    from { transform: translateX(-100%); }
    to { transform: translateX(0); }
}

@keyframes slide-in-right {
    from { transform: translateX(100%); }
    to { transform: translateX(0); }
}

/* Tailwind flex-row-reverse in RTL becomes normal row */
html[dir="rtl"] .rtl\:flex-row {
    flex-direction: row;
}

/* Fix for icons next to text */
html[dir="rtl"] .inline-flex.items-center svg {
    margin-left: 0.5rem;
    margin-right: 0;
}

html[dir="rtl"] .inline-flex.items-center svg:first-child {
    margin-left: 0.5rem;
    margin-right: 0;
}

html[dir="rtl"] .inline-flex.items-center svg:last-child {
    margin-right: 0.5rem;
    margin-left: 0;
}
