/* RTL (Right-to-Left) Styles for Arabic and other RTL languages */

/* Text direction and alignment */
body[dir="rtl"] {
  direction: rtl;
  text-align: right;
}

body[dir="rtl"] h1,
body[dir="rtl"] h2,
body[dir="rtl"] h3,
body[dir="rtl"] h4,
body[dir="rtl"] h5,
body[dir="rtl"] h6,
body[dir="rtl"] p,
body[dir="rtl"] span,
body[dir="rtl"] a,
body[dir="rtl"] li {
  direction: rtl;
  text-align: right;
}

/* Lists */
body[dir="rtl"] ul,
body[dir="rtl"] ol {
  padding-right: 40px;
  padding-left: 0;
  margin-right: 0;
}

body[dir="rtl"] li {
  margin-right: 0;
  margin-left: 0;
}

/* Navigation and menus */
body[dir="rtl"] nav {
  text-align: right;
}

body[dir="rtl"] nav ul {
  flex-direction: row-reverse;
  padding-right: 0;
}

body[dir="rtl"] nav li {
  margin-right: 20px;
  margin-left: 0;
}

/* Flexbox adjustments */
body[dir="rtl"] .flex-container,
body[dir="rtl"] .flex,
body[dir="rtl"] .row {
  flex-direction: row-reverse;
}

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

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

/* Margins and padding adjustments */
body[dir="rtl"] .ml-auto {
  margin-left: auto;
  margin-right: 0;
}

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

body[dir="rtl"] .pl-*,
body[dir="rtl"] [class*="pl-"] {
  padding-left: 0;
  padding-right: var(--padding-value, inherit);
}

body[dir="rtl"] .pr-*,
body[dir="rtl"] [class*="pr-"] {
  padding-right: 0;
  padding-left: var(--padding-value, inherit);
}

/* Borders and positioning */
body[dir="rtl"] .border-left {
  border-left: none;
  border-right: 1px solid inherit;
}

body[dir="rtl"] .border-right {
  border-right: none;
  border-left: 1px solid inherit;
}

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

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

/* Language switcher in RTL */
body[dir="rtl"] .language-switcher {
  margin-left: 10px;
  margin-right: 0;
}

body[dir="rtl"] .language-switcher-select {
  padding-left: 12px;
  padding-right: 36px;
  background-position: left 8px center;
}

/* Tables */
body[dir="rtl"] table {
  text-align: right;
}

body[dir="rtl"] th,
body[dir="rtl"] td {
  text-align: right;
  padding-left: 0;
  padding-right: 10px;
}

/* Buttons */
body[dir="rtl"] button,
body[dir="rtl"] .btn {
  text-align: center;
  direction: rtl;
}

body[dir="rtl"] button.icon-button::before,
body[dir="rtl"] .btn.icon-button::before {
  margin-right: auto;
  margin-left: 8px;
}

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

body[dir="rtl"] label {
  text-align: right;
  display: block;
}

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

/* Breadcrumbs */
body[dir="rtl"] .breadcrumb {
  flex-direction: row-reverse;
}

body[dir="rtl"] .breadcrumb-separator::before {
  content: '‹';
}

body[dir="rtl"] .breadcrumb-separator::after {
  content: none;
}

/* Headers and footers */
body[dir="rtl"] header {
  text-align: right;
}

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

/* Sidebars */
body[dir="rtl"] .sidebar-left {
  float: right;
}

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

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

body[dir="rtl"] .card-img-left {
  float: right;
  margin-right: 15px;
  margin-left: 0;
}

body[dir="rtl"] .card-img-right {
  float: left;
  margin-left: 15px;
  margin-right: 0;
}

/* Modals and dropdowns */
body[dir="rtl"] .dropdown-menu {
  left: auto;
  right: 0;
}

body[dir="rtl"] .popover {
  left: auto;
  right: 0;
}

/* Animations for RTL */
body[dir="rtl"] .slide-in-left {
  animation-name: slide-in-right;
}

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

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

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

/* Pseudo-elements adjustments */
body[dir="rtl"] .container::before,
body[dir="rtl"] .container::after {
  content: normal;
}

/* Icon adjustments for RTL */
body[dir="rtl"] .icon-right::after {
  margin-left: 0;
  margin-right: 8px;
}

body[dir="rtl"] .icon-left::before {
  margin-right: 0;
  margin-left: 8px;
}

/* RTL Modal Styles */
body[dir="rtl"] .language-redirect-modal-buttons {
  flex-direction: row-reverse;
}

body[dir="rtl"] .language-redirect-modal-content {
  direction: rtl;
  text-align: right;
}

/* Mobile RTL Adjustments */
@media (max-width: 768px) {
  body[dir="rtl"] .language-switcher-select {
    padding-left: 8px;
    padding-right: 28px;
  }

  body[dir="rtl"] .language-redirect-modal-buttons {
    flex-direction: column-reverse;
  }
}

/* Extra small screens RTL */
@media (max-width: 480px) {
  body[dir="rtl"] .language-switcher-inline {
    left: 8px !important;
    right: auto !important;
  }

  body[dir="rtl"] .language-redirect-modal-content {
    padding: 20px;
  }

  body[dir="rtl"] .language-redirect-modal-btn {
    width: 100%;
    text-align: center;
  }
}
