/**
 * RTL (Right-to-Left) Support for AI Chat Application
 * Comprehensive support for Arabic, Hebrew, and other RTL languages
 */

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

/* App Container RTL */
[dir="rtl"] .app-container {
  direction: rtl;
}

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

[dir="rtl"] .sidebar-toggle {
  transform: scaleX(-1);
}

/* Search Icon RTL */
[dir="rtl"] .search-icon {
  right: auto;
  left: var(--spacing-6);
}

[dir="rtl"] .search-input {
  padding: var(--spacing-3) var(--spacing-4) var(--spacing-3) var(--spacing-10);
}

/* Conversation Items RTL */
[dir="rtl"] .conversation-item.active {
  border-left: none;
  border-right: 3px solid var(--color-primary);
}

[dir="rtl"] .conversation-actions {
  right: auto;
  left: var(--spacing-2);
}

/* Messages RTL */
[dir="rtl"] .message {
  direction: rtl;
}

[dir="rtl"] .message.user {
  flex-direction: row;
}

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

[dir="rtl"] .message-header {
  direction: rtl;
}

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

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

/* Message Actions RTL */
[dir="rtl"] .message-actions {
  right: auto;
  left: var(--spacing-2);
}

/* Input Container RTL */
[dir="rtl"] .input-wrapper {
  direction: rtl;
}

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

/* File Upload RTL */
[dir="rtl"] .uploaded-file-remove {
  margin-right: var(--spacing-2);
  margin-left: 0;
}

/* Code Blocks RTL */
[dir="rtl"] .code-header {
  direction: rtl;
}

[dir="rtl"] .code-copy-btn {
  left: var(--spacing-3);
  right: auto;
}

[dir="rtl"] .code-language {
  text-align: left;
  margin-right: auto;
  margin-left: 0;
}

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

[dir="rtl"] .toast-close {
  left: var(--spacing-2);
  right: auto;
}

/* Modal RTL */
[dir="rtl"] .modal-header {
  direction: rtl;
}

[dir="rtl"] .close-btn {
  left: var(--spacing-4);
  right: auto;
}

/* Settings RTL */
[dir="rtl"] .settings-section {
  direction: rtl;
}

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

[dir="rtl"] .settings-control {
  direction: rtl;
}

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

[dir="rtl"] .dropdown-item {
  text-align: right;
  padding-right: var(--spacing-4);
  padding-left: var(--spacing-8);
}

[dir="rtl"] .dropdown-item-icon {
  margin-right: 0;
  margin-left: var(--spacing-2);
}

/* Progress Bar RTL */
[dir="rtl"] .progress-text {
  text-align: left;
}

/* Welcome Message RTL */
[dir="rtl"] .welcome-message {
  direction: rtl;
  text-align: center;
}

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

/* Mobile RTL Adjustments */
@media (max-width: 640px) {
  [dir="rtl"] .sidebar {
    right: 0;
    left: auto;
    transform: translateX(100%);
  }

  [dir="rtl"] .sidebar.open {
    transform: translateX(0);
  }

  [dir="rtl"] .chat-header {
    direction: rtl;
  }

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

/* Arabic Font Optimizations */
[dir="rtl"][lang="ar"],
[dir="rtl"][lang="ar-SA"],
[dir="rtl"][lang="ar-EG"] {
  font-family: 'Noto Sans Arabic', 'Arabic UI Text', 'SF Arabic', 'Segoe UI Arabic', 'Tahoma', sans-serif;
  line-height: 1.6;
}

/* Hebrew Font Optimizations */
[dir="rtl"][lang="he"],
[dir="rtl"][lang="he-IL"] {
  font-family: 'Noto Sans Hebrew', 'Hebrew UI Text', 'SF Hebrew', 'Segoe UI Hebrew', 'Tahoma', sans-serif;
  line-height: 1.5;
}

/* Persian/Farsi Font Optimizations */
[dir="rtl"][lang="fa"],
[dir="rtl"][lang="fa-IR"] {
  font-family: 'Noto Sans Persian', 'Persian UI Text', 'SF Persian', 'Segoe UI Persian', 'Tahoma', sans-serif;
  line-height: 1.6;
}

/* Urdu Font Optimizations */
[dir="rtl"][lang="ur"],
[dir="rtl"][lang="ur-PK"] {
  font-family: 'Noto Sans Urdu', 'Urdu UI Text', 'SF Urdu', 'Segoe UI Urdu', 'Tahoma', sans-serif;
  line-height: 1.7;
}

/* RTL Text Direction for Mixed Content */
[dir="rtl"] .message-text {
  direction: rtl;
  text-align: right;
  unicode-bidi: plaintext;
}

[dir="rtl"] .code-content {
  direction: ltr;
  text-align: left;
  unicode-bidi: bidi-override;
}

[dir="rtl"] .message-text code {
  direction: ltr;
  unicode-bidi: bidi-override;
}

[dir="rtl"] .message-text pre {
  direction: ltr;
  text-align: left;
  unicode-bidi: bidi-override;
}

/* RTL Number and Date Formatting */
[dir="rtl"] .message-time,
[dir="rtl"] .conversation-time {
  direction: ltr;
  unicode-bidi: bidi-override;
}

[dir="rtl"] .progress-text {
  direction: ltr;
  unicode-bidi: bidi-override;
}

/* RTL Icon Adjustments */
[dir="rtl"] .icon-arrow-right {
  transform: scaleX(-1);
}

[dir="rtl"] .icon-arrow-left {
  transform: scaleX(-1);
}

[dir="rtl"] .icon-chevron-right {
  transform: scaleX(-1);
}

[dir="rtl"] .icon-chevron-left {
  transform: scaleX(-1);
}

/* RTL Animation Adjustments */
[dir="rtl"] .slide-in-left {
  animation-name: slideInRight;
}

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

@keyframes slideInRightRTL {
  from { transform: translateX(100%); }
  to { transform: translateX(0); }
}

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

/* RTL Scrollbar */
[dir="rtl"] .messages-list,
[dir="rtl"] .conversations-list {
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}

[dir="rtl"] .messages-list::-webkit-scrollbar,
[dir="rtl"] .conversations-list::-webkit-scrollbar {
  width: var(--scrollbar-width);
}

/* RTL Form Controls */
[dir="rtl"] input[type="text"],
[dir="rtl"] input[type="search"],
[dir="rtl"] textarea,
[dir="rtl"] select {
  text-align: right;
  direction: rtl;
}

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

/* RTL Checkbox and Radio */
[dir="rtl"] input[type="checkbox"],
[dir="rtl"] input[type="radio"] {
  margin-left: var(--spacing-2);
  margin-right: 0;
}

[dir="rtl"] .checkbox-label,
[dir="rtl"] .radio-label {
  padding-right: var(--spacing-6);
  padding-left: 0;
}

/* RTL Table Styles */
[dir="rtl"] table {
  direction: rtl;
}

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

[dir="rtl"] th:first-child,
[dir="rtl"] td:first-child {
  border-right: none;
  border-left: 1px solid var(--color-border);
}

[dir="rtl"] th:last-child,
[dir="rtl"] td:last-child {
  border-left: none;
  border-right: 1px solid var(--color-border);
}

/* RTL List Styles */
[dir="rtl"] ul,
[dir="rtl"] ol {
  padding-right: var(--spacing-6);
  padding-left: 0;
}

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

/* RTL Markdown Styles */
[dir="rtl"] .markdown-content {
  direction: rtl;
  text-align: right;
}

[dir="rtl"] .markdown-content h1,
[dir="rtl"] .markdown-content h2,
[dir="rtl"] .markdown-content h3,
[dir="rtl"] .markdown-content h4,
[dir="rtl"] .markdown-content h5,
[dir="rtl"] .markdown-content h6 {
  text-align: right;
}

[dir="rtl"] .markdown-content blockquote {
  border-right: 4px solid var(--color-border);
  border-left: none;
  padding-right: var(--spacing-4);
  padding-left: 0;
  margin-right: 0;
  margin-left: var(--spacing-4);
}

[dir="rtl"] .markdown-content ul,
[dir="rtl"] .markdown-content ol {
  padding-right: var(--spacing-6);
  padding-left: 0;
}

/* RTL Accessibility */
[dir="rtl"] .sr-only {
  direction: rtl;
}

/* RTL Print Styles */
@media print {
  [dir="rtl"] .message {
    direction: rtl;
    text-align: right;
  }

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

/* RTL High Contrast Mode */
@media (prefers-contrast: high) {
  [dir="rtl"] .message-text {
    font-weight: var(--font-weight-medium);
  }

  [dir="rtl"] .conversation-title {
    font-weight: var(--font-weight-semibold);
  }
}

/* RTL Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  [dir="rtl"] .slide-in-left,
  [dir="rtl"] .slide-in-right {
    animation: none;
  }
}

/* RTL Container Queries */
@supports (container-type: inline-size) {
  [dir="rtl"] .messages-container {
    container-type: inline-size;
  }

  @container (max-width: 400px) {
    [dir="rtl"] .message {
      direction: rtl;
    }

    [dir="rtl"] .message-actions {
      left: var(--spacing-1);
      right: auto;
    }
  }
}
