/**
 * LUMAVINE.AI - RTL (Right-to-Left) LAYOUT SUPPORT
 * CSS for Arabic, Persian, and other RTL languages
 */

/* ===========================
   RTL BASE STYLES
   =========================== */

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

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

/* ===========================
   RTL TEXT ALIGNMENT
   =========================== */

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

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

[dir="rtl"] .text-center {
  text-align: center !important;
}

/* ===========================
   RTL FLEXBOX DIRECTION
   =========================== */

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

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

[dir="rtl"] .flex-col {
  flex-direction: column !important;
}

/* ===========================
   RTL MARGINS & PADDING
   =========================== */

/* Margin Left -> Margin Right */
[dir="rtl"] .ml-1 { margin-right: 0.25rem; margin-left: 0; }
[dir="rtl"] .ml-2 { margin-right: 0.5rem; margin-left: 0; }
[dir="rtl"] .ml-3 { margin-right: 0.75rem; margin-left: 0; }
[dir="rtl"] .ml-4 { margin-right: 1rem; margin-left: 0; }
[dir="rtl"] .ml-5 { margin-right: 1.25rem; margin-left: 0; }
[dir="rtl"] .ml-6 { margin-right: 1.5rem; margin-left: 0; }
[dir="rtl"] .ml-8 { margin-right: 2rem; margin-left: 0; }
[dir="rtl"] .ml-auto { margin-right: auto; margin-left: 0; }

/* Margin Right -> Margin Left */
[dir="rtl"] .mr-1 { margin-left: 0.25rem; margin-right: 0; }
[dir="rtl"] .mr-2 { margin-left: 0.5rem; margin-right: 0; }
[dir="rtl"] .mr-3 { margin-left: 0.75rem; margin-right: 0; }
[dir="rtl"] .mr-4 { margin-left: 1rem; margin-right: 0; }
[dir="rtl"] .mr-5 { margin-left: 1.25rem; margin-right: 0; }
[dir="rtl"] .mr-6 { margin-left: 1.5rem; margin-right: 0; }
[dir="rtl"] .mr-8 { margin-left: 2rem; margin-right: 0; }
[dir="rtl"] .mr-auto { margin-left: auto; margin-right: 0; }

/* Padding Left -> Padding Right */
[dir="rtl"] .pl-1 { padding-right: 0.25rem; padding-left: 0; }
[dir="rtl"] .pl-2 { padding-right: 0.5rem; padding-left: 0; }
[dir="rtl"] .pl-3 { padding-right: 0.75rem; padding-left: 0; }
[dir="rtl"] .pl-4 { padding-right: 1rem; padding-left: 0; }
[dir="rtl"] .pl-5 { padding-right: 1.25rem; padding-left: 0; }
[dir="rtl"] .pl-6 { padding-right: 1.5rem; padding-left: 0; }
[dir="rtl"] .pl-8 { padding-right: 2rem; padding-left: 0; }

/* Padding Right -> Padding Left */
[dir="rtl"] .pr-1 { padding-left: 0.25rem; padding-right: 0; }
[dir="rtl"] .pr-2 { padding-left: 0.5rem; padding-right: 0; }
[dir="rtl"] .pr-3 { padding-left: 0.75rem; padding-right: 0; }
[dir="rtl"] .pr-4 { padding-left: 1rem; padding-right: 0; }
[dir="rtl"] .pr-5 { padding-left: 1.25rem; padding-right: 0; }
[dir="rtl"] .pr-6 { padding-left: 1.5rem; padding-right: 0; }
[dir="rtl"] .pr-8 { padding-left: 2rem; padding-right: 0; }

/* ===========================
   RTL POSITIONING
   =========================== */

[dir="rtl"] .left-0 { right: 0; left: auto; }
[dir="rtl"] .right-0 { left: 0; right: auto; }
[dir="rtl"] .left-1 { right: 0.25rem; left: auto; }
[dir="rtl"] .right-1 { left: 0.25rem; right: auto; }
[dir="rtl"] .left-2 { right: 0.5rem; left: auto; }
[dir="rtl"] .right-2 { left: 0.5rem; right: auto; }
[dir="rtl"] .left-4 { right: 1rem; left: auto; }
[dir="rtl"] .right-4 { left: 1rem; right: auto; }

/* ===========================
   RTL BORDER RADIUS
   =========================== */

[dir="rtl"] .rounded-l { border-radius: 0 0.375rem 0.375rem 0; }
[dir="rtl"] .rounded-r { border-radius: 0.375rem 0 0 0.375rem; }
[dir="rtl"] .rounded-tl { border-radius: 0 0.375rem 0 0; }
[dir="rtl"] .rounded-tr { border-radius: 0.375rem 0 0 0; }
[dir="rtl"] .rounded-bl { border-radius: 0 0 0.375rem 0; }
[dir="rtl"] .rounded-br { border-radius: 0 0 0 0.375rem; }

/* ===========================
   RTL BORDER
   =========================== */

[dir="rtl"] .border-l { border-right-width: 1px; border-left-width: 0; }
[dir="rtl"] .border-r { border-left-width: 1px; border-right-width: 0; }
[dir="rtl"] .border-l-2 { border-right-width: 2px; border-left-width: 0; }
[dir="rtl"] .border-r-2 { border-left-width: 2px; border-right-width: 0; }

/* ===========================
   RTL TRANSFORM
   =========================== */

[dir="rtl"] .rotate-90 { transform: rotate(-90deg); }
[dir="rtl"] .rotate-180 { transform: rotate(180deg); }
[dir="rtl"] .rotate-270 { transform: rotate(90deg); }

/* ===========================
   RTL NAVIGATION
   =========================== */

[dir="rtl"] nav ul {
  padding-right: 0;
  padding-left: 0;
}

[dir="rtl"] nav li {
  float: right;
}

[dir="rtl"] .nav-item {
  margin-right: 0;
  margin-left: 1rem;
}

[dir="rtl"] .nav-item:last-child {
  margin-left: 0;
}

/* ===========================
   RTL DROPDOWN MENUS
   =========================== */

[dir="rtl"] .dropdown-menu {
  right: 0;
  left: auto;
}

[dir="rtl"] .dropdown-item {
  text-align: right;
}

/* ===========================
   RTL FORMS
   =========================== */

[dir="rtl"] input[type="text"],
[dir="rtl"] input[type="email"],
[dir="rtl"] input[type="password"],
[dir="rtl"] input[type="search"],
[dir="rtl"] textarea,
[dir="rtl"] select {
  text-align: right;
  direction: rtl;
}

[dir="rtl"] input[type="checkbox"],
[dir="rtl"] input[type="radio"] {
  margin-right: 0;
  margin-left: 0.5rem;
}

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

/* ===========================
   RTL BUTTONS
   =========================== */

[dir="rtl"] button .icon-left {
  margin-right: 0;
  margin-left: 0.5rem;
  order: 2;
}

[dir="rtl"] button .icon-right {
  margin-left: 0;
  margin-right: 0.5rem;
  order: 0;
}

/* ===========================
   RTL LISTS
   =========================== */

[dir="rtl"] ul,
[dir="rtl"] ol {
  padding-right: 2rem;
  padding-left: 0;
}

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

/* ===========================
   RTL TABLES
   =========================== */

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

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

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

/* ===========================
   RTL MODALS & DIALOGS
   =========================== */

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

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

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

/* ===========================
   RTL TOOLTIPS
   =========================== */

[dir="rtl"] .tooltip-left {
  transform: translateX(100%);
}

[dir="rtl"] .tooltip-right {
  transform: translateX(-100%);
}

/* ===========================
   RTL ICONS
   =========================== */

[dir="rtl"] .icon-chevron-left {
  transform: rotate(180deg);
}

[dir="rtl"] .icon-chevron-right {
  transform: rotate(180deg);
}

[dir="rtl"] .icon-arrow-left {
  transform: rotate(180deg);
}

[dir="rtl"] .icon-arrow-right {
  transform: rotate(180deg);
}

/* ===========================
   RTL CARDS
   =========================== */

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

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

/* ===========================
   RTL GRID SYSTEM
   =========================== */

[dir="rtl"] .grid {
  direction: rtl;
}

[dir="rtl"] .col {
  float: right;
}

/* ===========================
   RTL ANIMATIONS
   =========================== */

[dir="rtl"] @keyframes slideInLeft {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}

[dir="rtl"] @keyframes slideInRight {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}

[dir="rtl"] @keyframes slideOutLeft {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}

[dir="rtl"] @keyframes slideOutRight {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/* ===========================
   RTL CUSTOM SCROLLBAR
   =========================== */

[dir="rtl"] ::-webkit-scrollbar {
  left: 0;
  right: auto;
}

/* ===========================
   RTL SPECIFIC COMPONENTS
   =========================== */

/* Language Switcher RTL */
[dir="rtl"] .language-switcher {
  left: 20px;
  right: auto;
}

[dir="rtl"] .language-switcher .dropdown {
  text-align: right;
}

/* Sidebar RTL */
[dir="rtl"] .sidebar {
  right: 0;
  left: auto;
  border-right: none;
  border-left: 1px solid rgba(255, 255, 255, 0.1);
}

/* Hero Section RTL */
[dir="rtl"] .hero-content {
  text-align: right;
}

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

[dir="rtl"] .feature-icon {
  float: right;
  margin-left: 1rem;
  margin-right: 0;
}

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

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

/* ===========================
   RTL UTILITIES
   =========================== */

.rtl-only {
  display: none;
}

[dir="rtl"] .rtl-only {
  display: block;
}

[dir="rtl"] .ltr-only {
  display: none;
}

.ltr-only {
  display: block;
}

/* ===========================
   RTL ACCESSIBILITY
   =========================== */

[dir="rtl"] .skip-link {
  right: 0;
  left: auto;
}

[dir="rtl"] .sr-only {
  text-align: right;
}

/* ===========================
   RTL RESPONSIVE ADJUSTMENTS
   =========================== */

@media (max-width: 768px) {
  [dir="rtl"] .mobile-menu {
    right: 0;
    left: auto;
  }

  [dir="rtl"] .mobile-menu-toggle {
    left: 1rem;
    right: auto;
  }
}

@media (max-width: 480px) {
  [dir="rtl"] .container {
    padding-right: 1rem;
    padding-left: 1rem;
  }
}
