/* RTL (Right-to-Left) Support for Arabic */

:root {
    --direction: ltr;
    --margin-start: margin-left;
    --margin-end: margin-right;
    --padding-start: padding-left;
    --padding-end: padding-right;
    --float-start: left;
    --float-end: right;
    --text-align-start: left;
    --text-align-end: right;
    --border-start: border-left;
    --border-end: border-right;
    --border-radius-start: border-top-left-radius;
    --border-radius-end: border-top-right-radius;
}

html[dir="rtl"] {
    --direction: rtl;
    --margin-start: margin-right;
    --margin-end: margin-left;
    --padding-start: padding-right;
    --padding-end: padding-left;
    --float-start: right;
    --float-end: left;
    --text-align-start: right;
    --text-align-end: left;
    --border-start: border-right;
    --border-end: border-left;
    --border-radius-start: border-top-right-radius;
    --border-radius-end: border-top-left-radius;
}

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

html[dir="ltr"] {
    direction: ltr;
    text-align: left;
}

/* Sidebar adjustments for RTL */
html[dir="rtl"] aside {
    right: 0;
    left: auto;
}

html[dir="rtl"] .lg\:static {
    right: auto;
    left: auto;
}

/* Transform adjustments for RTL */
html[dir="rtl"] .-translate-x-full {
    --tw-translate-x: 100%;
}

html[dir="rtl"] .translate-x-0 {
    --tw-translate-x: 0;
}

/* Margin and Padding helpers for RTL */
html[dir="rtl"] .ml-auto {
    margin-right: auto;
    margin-left: unset;
}

html[dir="rtl"] .mr-auto {
    margin-left: auto;
    margin-right: unset;
}

html[dir="rtl"] .ml-0 {
    margin-right: 0;
    margin-left: unset;
}

html[dir="rtl"] .ml-2 {
    margin-right: 0.5rem;
    margin-left: unset;
}

html[dir="rtl"] .ml-3 {
    margin-right: 0.75rem;
    margin-left: unset;
}

html[dir="rtl"] .ml-4 {
    margin-right: 1rem;
    margin-left: unset;
}

html[dir="rtl"] .ml-8 {
    margin-right: 2rem;
    margin-left: unset;
}

html[dir="rtl"] .mr-0 {
    margin-left: 0;
    margin-right: unset;
}

html[dir="rtl"] .mr-2 {
    margin-left: 0.5rem;
    margin-right: unset;
}

html[dir="rtl"] .mr-3 {
    margin-left: 0.75rem;
    margin-right: unset;
}

html[dir="rtl"] .mr-4 {
    margin-left: 1rem;
    margin-right: unset;
}

html[dir="rtl"] .mr-8 {
    margin-left: 2rem;
    margin-right: unset;
}

/* Padding helpers for RTL */
html[dir="rtl"] .pl-0 {
    padding-right: 0;
    padding-left: unset;
}

html[dir="rtl"] .pl-2 {
    padding-right: 0.5rem;
    padding-left: unset;
}

html[dir="rtl"] .pl-3 {
    padding-right: 0.75rem;
    padding-left: unset;
}

html[dir="rtl"] .pl-4 {
    padding-right: 1rem;
    padding-left: unset;
}

html[dir="rtl"] .pl-6 {
    padding-right: 1.5rem;
    padding-left: unset;
}

html[dir="rtl"] .pl-8 {
    padding-right: 2rem;
    padding-left: unset;
}

html[dir="rtl"] .pr-0 {
    padding-left: 0;
    padding-right: unset;
}

html[dir="rtl"] .pr-2 {
    padding-left: 0.5rem;
    padding-right: unset;
}

html[dir="rtl"] .pr-3 {
    padding-left: 0.75rem;
    padding-right: unset;
}

html[dir="rtl"] .pr-4 {
    padding-left: 1rem;
    padding-right: unset;
}

html[dir="rtl"] .pr-6 {
    padding-left: 1.5rem;
    padding-right: unset;
}

html[dir="rtl"] .pr-8 {
    padding-left: 2rem;
    padding-right: unset;
}

/* Border helpers for RTL */
html[dir="rtl"] .border-l-0 {
    border-right: 0;
    border-left: unset;
}

html[dir="rtl"] .border-l-2 {
    border-right: 2px;
    border-left: unset;
}

html[dir="rtl"] .border-l-4 {
    border-right: 4px;
    border-left: unset;
}

html[dir="rtl"] .border-r-0 {
    border-left: 0;
    border-right: unset;
}

html[dir="rtl"] .border-r-2 {
    border-left: 2px;
    border-right: unset;
}

html[dir="rtl"] .border-r-4 {
    border-left: 4px;
    border-right: unset;
}

/* Float helpers for RTL */
html[dir="rtl"] .float-left {
    float: right;
}

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

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

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

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

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

/* Gap helpers for flex in RTL */
html[dir="rtl"] .gap-x-2 {
    column-gap: 0;
    margin-right: 0.5rem;
}

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

/* General utility classes for RTL */
html[dir="rtl"] .rtl-hidden {
    display: none;
}

html[dir="ltr"] .ltr-hidden {
    display: none;
}

/* Sidebar specific RTL adjustments */
html[dir="rtl"] aside.fixed.inset-y-0.left-0 {
    left: auto;
    right: 0;
}

html[dir="rtl"] .lg\:static {
    position: relative;
}

/* Transition support for RTL */
html[dir="rtl"] .-translate-x-full {
    transition-property: transform;
}
