/* Comprehensive RTL/LTR Support */

/* ===== Base Direction Settings ===== */

/* English = LTR */
html[lang="en"],
html[dir="ltr"],
[dir="ltr"] {
  direction: ltr;
  text-align: left;
}

/* Arabic = RTL */
html[lang="ar"],
html[dir="rtl"],
[dir="rtl"] {
  direction: rtl;
  text-align: right;
}

/* ===== Body Direction ===== */
body[dir="ltr"] {
  direction: ltr;
  text-align: left;
}

body[dir="rtl"] {
  direction: rtl;
  text-align: right;
}

/* ===== RTL Specific Adjustments ===== */

/* Flip margins and paddings for RTL */
[dir="rtl"] .MuiGrid-container {
  direction: rtl;
}

/* Fix text alignment in RTL */
[dir="rtl"] .MuiTypography-root {
  text-align: inherit;
}

[dir="rtl"] .MuiTypography-alignLeft {
  text-align: right;
}

[dir="rtl"] .MuiTypography-alignRight {
  text-align: left;
}

/* Fix button icons in RTL */
[dir="rtl"] .MuiButton-startIcon {
  margin-left: 8px;
  margin-right: -4px;
}

[dir="rtl"] .MuiButton-endIcon {
  margin-right: 8px;
  margin-left: -4px;
}

/* Fix list items in RTL */
[dir="rtl"] .MuiListItem-root {
  text-align: right;
}

[dir="rtl"] .MuiListItemIcon-root {
  min-width: auto;
  margin-left: 16px;
  margin-right: 0;
}

[dir="rtl"] .MuiListItemText-root {
  text-align: right;
}

/* Fix input fields in RTL */
[dir="rtl"] .MuiInputBase-root {
  direction: rtl;
}

[dir="rtl"] .MuiInputBase-input {
  text-align: right;
}

[dir="rtl"] .MuiInputAdornment-positionStart {
  margin-left: 8px;
  margin-right: 0;
}

[dir="rtl"] .MuiInputAdornment-positionEnd {
  margin-right: 8px;
  margin-left: 0;
}

/* Fix select dropdown in RTL */
[dir="rtl"] .MuiSelect-select {
  text-align: right;
  padding-right: 14px !important;
  padding-left: 32px !important;
}

[dir="rtl"] .MuiSelect-icon {
  right: auto;
  left: 7px;
}

/* Fix form labels in RTL */
[dir="rtl"] .MuiFormLabel-root {
  transform-origin: top right;
  right: 0;
  left: auto;
}

[dir="rtl"] .MuiInputLabel-outlined {
  transform: translate(-14px, 16px) scale(1);
}

[dir="rtl"] .MuiInputLabel-outlined.MuiInputLabel-shrink {
  transform: translate(-14px, -6px) scale(0.75);
}

/* Fix checkboxes and radios in RTL */
[dir="rtl"] .MuiFormControlLabel-root {
  margin-left: 16px;
  margin-right: -11px;
}

[dir="rtl"] .MuiFormControlLabel-labelPlacementStart {
  margin-left: -11px;
  margin-right: 16px;
}

/* Fix tabs in RTL */
[dir="rtl"] .MuiTabs-flexContainer {
  flex-direction: row-reverse;
}

/* Fix cards in RTL */
[dir="rtl"] .MuiCardHeader-root {
  text-align: right;
}

[dir="rtl"] .MuiCardHeader-avatar {
  margin-right: 0;
  margin-left: 16px;
}

[dir="rtl"] .MuiCardHeader-action {
  margin-right: auto;
  margin-left: -8px;
}

/* Fix dialogs in RTL */
[dir="rtl"] .MuiDialogTitle-root {
  text-align: right;
}

[dir="rtl"] .MuiDialogContent-root {
  text-align: right;
}

[dir="rtl"] .MuiDialogActions-root {
  justify-content: flex-start;
}

/* Fix navigation arrows - keep them pointing correct direction */
[dir="rtl"] .slick-prev,
[dir="rtl"] .slick-next {
  transform: none !important;
}

[dir="rtl"] .slick-prev {
  right: auto;
  left: -25px;
}

[dir="rtl"] .slick-next {
  left: auto;
  right: -25px;
}

/* Fix breadcrumbs in RTL */
[dir="rtl"] .MuiBreadcrumbs-separator {
  margin-left: 8px;
  margin-right: 8px;
  transform: scaleX(-1);
}

/* Fix stepper in RTL */
[dir="rtl"] .MuiStepConnector-root {
  left: auto;
  right: calc(-50% + 20px);
}

/* Fix tooltips in RTL */
[dir="rtl"] .MuiTooltip-tooltip {
  text-align: right;
}

/* Fix snackbars in RTL */
[dir="rtl"] .MuiSnackbar-anchorOriginBottomLeft {
  left: auto;
  right: 24px;
}

[dir="rtl"] .MuiSnackbar-anchorOriginBottomRight {
  right: auto;
  left: 24px;
}

/* ===== LTR Specific Adjustments ===== */

/* Ensure LTR elements stay LTR */
[dir="ltr"] .MuiGrid-container {
  direction: ltr;
}

[dir="ltr"] .MuiTypography-root {
  text-align: inherit;
}

/* ===== Phone Numbers - Always LTR ===== */
.phone-number,
[dir="rtl"] .phone-number,
a[href^="tel:"],
[dir="rtl"] a[href^="tel:"] {
  direction: ltr !important;
  unicode-bidi: embed;
  text-align: left !important;
}

/* ===== Email Addresses - Always LTR ===== */
.email-address,
[dir="rtl"] .email-address,
a[href^="mailto:"],
[dir="rtl"] a[href^="mailto:"] {
  direction: ltr !important;
  unicode-bidi: embed;
}

/* ===== Numbers - Always LTR ===== */
.number,
[dir="rtl"] .number {
  direction: ltr !important;
  unicode-bidi: embed;
}

/* ===== Fix SVG Icons - Prevent unwanted flipping ===== */
[dir="rtl"] .MuiSvgIcon-root {
  /* Don't flip icons by default */
}

/* Icons that should flip in RTL */
[dir="rtl"] .MuiSvgIcon-root.flip-rtl {
  transform: scaleX(-1);
}

/* Navigation icons should NOT flip */
[dir="rtl"] .MuiSvgIcon-root[data-testid="ChevronRightIcon"],
[dir="rtl"] .MuiSvgIcon-root[data-testid="ChevronLeftIcon"],
[dir="rtl"] .MuiSvgIcon-root[data-testid="ArrowBackIcon"],
[dir="rtl"] .MuiSvgIcon-root[data-testid="ArrowForwardIcon"],
[dir="rtl"] .MuiSvgIcon-root[data-testid="KeyboardArrowLeftIcon"],
[dir="rtl"] .MuiSvgIcon-root[data-testid="KeyboardArrowRightIcon"] {
  transform: none !important;
}

/* ===== Animations - Adjust for RTL ===== */
[dir="rtl"] .animate__fadeInLeft {
  animation-name: fadeInRight;
}

[dir="rtl"] .animate__fadeInRight {
  animation-name: fadeInLeft;
}

[dir="rtl"] .animate__slideInLeft {
  animation-name: slideInRight;
}

[dir="rtl"] .animate__slideInRight {
  animation-name: slideInLeft;
}

/* ===== Custom Component Fixes ===== */

/* Header navigation */
[dir="rtl"] nav ul {
  padding-right: 0;
}

/* Footer */
[dir="rtl"] footer {
  text-align: right;
}

/* Cards */
[dir="rtl"] .card-content {
  text-align: right;
}

/* Forms */
[dir="rtl"] form {
  text-align: right;
}

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

/* Tables */
[dir="rtl"] table {
  direction: rtl;
}

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

/* ===== Scrollbar Position ===== */
[dir="rtl"] {
  scrollbar-gutter: stable;
}

/* ===== Print Styles ===== */
@media print {
  [dir="rtl"] {
    direction: rtl;
  }
  
  [dir="ltr"] {
    direction: ltr;
  }
}
