/* ==========================================================================
   Equity Legal Group - RTL (Right-to-Left) Stylesheet for Arabic
   ========================================================================== */

/* ==========================================================================
   RTL Base Styles
   ========================================================================== */

/* Apply RTL direction to HTML when Arabic language is active */
html[lang="ar"],
html[dir="rtl"] {
  direction: rtl;
}

body[dir="rtl"] {
  text-align: right;
  font-family: 'Noto Sans Arabic', 'Cairo', 'Arial Unicode MS', Tahoma, sans-serif;
  font-feature-settings: "kern" 1, "liga" 1;
}

/* ==========================================================================
   RTL Typography
   ========================================================================== */

[dir="rtl"] h1,
[dir="rtl"] h2,
[dir="rtl"] h3,
[dir="rtl"] h4,
[dir="rtl"] h5,
[dir="rtl"] h6 {
  text-align: right;
  font-family: 'Noto Sans Arabic', 'Cairo', sans-serif;
  font-weight: 600;
  line-height: 1.4;
  font-feature-settings: "kern" 1, "liga" 1;
}

[dir="rtl"] p,
[dir="rtl"] li,
[dir="rtl"] td,
[dir="rtl"] th {
  text-align: right;
}

/* ==========================================================================
   RTL Layout Adjustments
   ========================================================================== */

/* Container and spacing adjustments */
[dir="rtl"] .container {
  padding-left: var(--container-padding);
  padding-right: var(--container-padding);
}

/* Flexbox direction adjustments */
[dir="rtl"] .d-flex {
  flex-direction: row-reverse;
}

[dir="rtl"] .justify-between {
  flex-direction: row-reverse;
}

/* ==========================================================================
   RTL Navigation
   ========================================================================== */

/* Header RTL adjustments */
[dir="rtl"] .header-content {
  flex-direction: row;
}

[dir="rtl"] .nav {
  flex: 1;
  flex-direction: row;
  justify-content: space-between;
}

[dir="rtl"] .logo-img {
  margin-right: 0;
  margin-left: var(--spacing-medium);
}

[dir="rtl"] .logo-text {
  text-align: right;
}

/* Navigation menu RTL adjustments */
[dir="rtl"] .nav-list {
  flex-direction: row;
  justify-content: flex-start;
  direction: rtl;
}

[dir="rtl"] .nav-link {
  text-align: right;
}

/* Dropdown arrow RTL */
[dir="rtl"] .dropdown-arrow {
  margin-right: var(--spacing-micro);
  margin-left: 0;
}

/* Dropdown menu adjustments */
[dir="rtl"] .nav-dropdown-menu {
  left: auto;
  right: 0;
  text-align: right;
}

[dir="rtl"] .nav-dropdown-link {
  text-align: right;
}

/* Language switcher RTL */
[dir="rtl"] .language-switcher {
  margin-right: var(--spacing-medium);
  margin-left: 0;
}

/* Mobile menu RTL adjustments */
[dir="rtl"] .mobile-menu-toggle {
  order: -1;
}

@media (max-width: 767px) {
  [dir="rtl"] .nav {
    right: auto;
    left: -100%;
    border-right: 1px solid var(--color-light-gray);
    border-left: none;
    box-shadow: 4px 0 12px rgba(0, 0, 0, 0.15);
  }
  
  [dir="rtl"] .nav.nav-open {
    left: 0;
  }
  
  [dir="rtl"] .nav-list {
    flex-direction: column;
  }
  
  [dir="rtl"] .nav-link {
    text-align: right;
  }
  
  [dir="rtl"] .nav-dropdown-menu {
    text-align: right;
  }
  
  [dir="rtl"] .nav-dropdown-link {
    text-align: right;
    padding-right: var(--spacing-large);
    padding-left: var(--spacing-small);
  }
}

/* ==========================================================================
   RTL Form Elements
   ========================================================================== */

[dir="rtl"] input,
[dir="rtl"] textarea,
[dir="rtl"] select {
  text-align: right;
  padding-left: var(--spacing-medium);
  padding-right: var(--spacing-small);
}

[dir="rtl"] label {
  text-align: right;
  display: block;
}

/* Checkbox and radio button adjustments */
[dir="rtl"] input[type="checkbox"],
[dir="rtl"] input[type="radio"] {
  margin-left: var(--spacing-small);
  margin-right: 0;
}

/* ==========================================================================
   RTL Button and Link Styles
   ========================================================================== */

[dir="rtl"] .btn {
  text-align: center;
}

/* Icon positioning in RTL */
[dir="rtl"] .btn-icon-left {
  flex-direction: row-reverse;
}

[dir="rtl"] .btn-icon-left .icon {
  margin-left: var(--spacing-small);
  margin-right: 0;
}

[dir="rtl"] .btn-icon-right .icon {
  margin-right: var(--spacing-small);
  margin-left: 0;
}

/* ==========================================================================
   RTL Grid and Card Layouts
   ========================================================================== */

/* Grid adjustments for RTL */
[dir="rtl"] .grid {
  direction: rtl;
}

[dir="rtl"] .grid-item {
  text-align: right;
}

/* Card component RTL adjustments */
[dir="rtl"] .card {
  text-align: right;
}

[dir="rtl"] .card-header,
[dir="rtl"] .card-body,
[dir="rtl"] .card-footer {
  text-align: right;
}

/* ==========================================================================
   RTL Table Styles
   ========================================================================== */

[dir="rtl"] table {
  direction: rtl;
}

[dir="rtl"] th,
[dir="rtl"] td {
  text-align: right;
  padding-left: var(--spacing-medium);
  padding-right: var(--spacing-small);
}

[dir="rtl"] th:first-child,
[dir="rtl"] td:first-child {
  padding-right: var(--spacing-medium);
}

[dir="rtl"] th:last-child,
[dir="rtl"] td:last-child {
  padding-left: var(--spacing-medium);
}

/* ==========================================================================
   RTL Utility Classes
   ========================================================================== */

/* Text alignment utilities for RTL */
[dir="rtl"] .text-left { text-align: right; }
[dir="rtl"] .text-right { text-align: left; }
[dir="rtl"] .text-center { text-align: center; }

/* Margin and padding adjustments */
[dir="rtl"] .ml-1 { margin-right: var(--spacing-small); margin-left: 0; }
[dir="rtl"] .ml-2 { margin-right: var(--spacing-medium); margin-left: 0; }
[dir="rtl"] .ml-3 { margin-right: var(--spacing-large); margin-left: 0; }

[dir="rtl"] .mr-1 { margin-left: var(--spacing-small); margin-right: 0; }
[dir="rtl"] .mr-2 { margin-left: var(--spacing-medium); margin-right: 0; }
[dir="rtl"] .mr-3 { margin-left: var(--spacing-large); margin-right: 0; }

[dir="rtl"] .pl-1 { padding-right: var(--spacing-small); padding-left: 0; }
[dir="rtl"] .pl-2 { padding-right: var(--spacing-medium); padding-left: 0; }
[dir="rtl"] .pl-3 { padding-right: var(--spacing-large); padding-left: 0; }

[dir="rtl"] .pr-1 { padding-left: var(--spacing-small); padding-right: 0; }
[dir="rtl"] .pr-2 { padding-left: var(--spacing-medium); padding-right: 0; }
[dir="rtl"] .pr-3 { padding-left: var(--spacing-large); padding-right: 0; }

/* ==========================================================================
   RTL Responsive Adjustments
   ========================================================================== */

/* Mobile RTL adjustments */
@media (max-width: 767px) {
  [dir="rtl"] .container {
    padding-left: var(--spacing-medium);
    padding-right: var(--spacing-medium);
  }
  
  /* Mobile navigation RTL */
  [dir="rtl"] .mobile-menu {
    right: auto;
    left: 0;
    text-align: right;
  }
  
  [dir="rtl"] .mobile-menu-toggle {
    float: left;
  }
  
  /* Mobile Arabic typography adjustments */
  [dir="rtl"] body {
    font-size: 1rem;
    line-height: 1.8; /* Increased line height for Arabic on mobile */
  }
  
  [dir="rtl"] h1,
  [dir="rtl"] h2,
  [dir="rtl"] h3,
  [dir="rtl"] h4,
  [dir="rtl"] h5,
  [dir="rtl"] h6 {
    line-height: 1.4;
  }
}

/* Tablet RTL adjustments */
@media (min-width: 768px) and (max-width: 1023px) {
  [dir="rtl"] .container {
    padding-left: var(--spacing-large);
    padding-right: var(--spacing-large);
  }
}

/* Desktop RTL adjustments */
@media (min-width: 1024px) {
  [dir="rtl"] .container {
    padding-left: var(--spacing-xl);
    padding-right: var(--spacing-xl);
  }
}

/* ==========================================================================
   RTL Specific Component Adjustments
   ========================================================================== */

/* Logo adjustments */
[dir="rtl"] .logo-img {
  margin-right: 0;
  margin-left: var(--spacing-medium);
}

/* Footer RTL adjustments */
[dir="rtl"] .footer-content {
  text-align: right !important;
}

[dir="rtl"] .footer-contact {
  text-align: right !important;
}

[dir="rtl"] .footer-contact .contact-info {
  text-align: right !important;
}

[dir="rtl"] .footer-contact .contact-item {
  text-align: right !important;
}

[dir="rtl"] .footer-contact .contact-item strong {
  text-align: right !important;
}

[dir="rtl"] .footer-contact .contact-item p {
  text-align: right !important;
}

[dir="rtl"] .footer-links {
  text-align: right !important;
}

[dir="rtl"] .footer-nav {
  text-align: right !important;
}

[dir="rtl"] .footer-nav li {
  text-align: right !important;
}

[dir="rtl"] .footer-nav a {
  text-align: right !important;
}

[dir="rtl"] .footer-bottom {
  text-align: right !important;
  flex-direction: row-reverse;
}

[dir="rtl"] .copyright {
  text-align: right !important;
}

/* Additional specific RTL rules for footer */
footer[dir="rtl"] .footer-content {
  text-align: right !important;
}

footer[dir="rtl"] .footer-contact {
  text-align: right !important;
}

footer[dir="rtl"] .footer-contact .contact-info {
  text-align: right !important;
}

footer[dir="rtl"] .footer-contact .contact-item {
  text-align: right !important;
}

footer[dir="rtl"] .footer-contact .contact-item strong {
  text-align: right !important;
}

footer[dir="rtl"] .footer-contact .contact-item p {
  text-align: right !important;
}

footer[dir="rtl"] .footer-links {
  text-align: right !important;
}

footer[dir="rtl"] .footer-nav {
  text-align: right !important;
}

footer[dir="rtl"] .footer-nav li {
  text-align: right !important;
}

footer[dir="rtl"] .footer-nav a {
  text-align: right !important;
}

footer[dir="rtl"] .footer-bottom {
  text-align: right !important;
}

footer[dir="rtl"] .copyright {
  text-align: right !important;
}

/* Arabic number and contact formatting */
[dir="rtl"] .contact-item,
footer[dir="rtl"] .contact-item {
  direction: rtl;
  unicode-bidi: embed;
}

/* Keep phone numbers, fax, and email in LTR direction */
[dir="rtl"] .contact-item .phone-number,
[dir="rtl"] .contact-item .fax-number,
[dir="rtl"] .contact-item .email-address,
footer[dir="rtl"] .contact-item .phone-number,
footer[dir="rtl"] .contact-item .fax-number,
footer[dir="rtl"] .contact-item .email-address {
  direction: ltr;
  unicode-bidi: embed;
  display: inline-block;
}

/* Ensure Western numerals are used for phone/fax numbers */
[dir="rtl"] .contact-item,
footer[dir="rtl"] .contact-item {
  font-variant-numeric: lining-nums;
  font-feature-settings: "lnum" 1;
}

/* Hero section adjustments */
[dir="rtl"] .hero-content {
  margin-right: auto;
  margin-left: auto;
}

/* Team content adjustments */
[dir="rtl"] .team-bio {
  text-align: right;
}

/* News date positioning */
[dir="rtl"] .news-date-badge {
  right: 6px;
  left: auto;
}

/* About content padding */
[dir="rtl"] .about-content {
  padding-left: var(--spacing-large);
  padding-right: 0;
}

/* Project underline positioning */
[dir="rtl"] .project-underline {
  right: 0;
  left: auto;
}

/* Tab content underline */
[dir="rtl"] .tab-content-underline {
  right: 0;
  left: auto;
}

/* Breadcrumb separators */
[dir="rtl"] .breadcrumb-item:not(:last-child)::after {
  margin-right: var(--spacing-small);
  margin-left: 0;
}

/* Mobile navigation positioning */
@media (max-width: 767px) {
  [dir="rtl"] .nav {
    left: -100%;
    right: auto;
    border-left: 1px solid var(--color-light-gray);
    border-right: none;
    box-shadow: 4px 0 12px rgba(0, 0, 0, 0.15);
  }
  
  [dir="rtl"] .nav.nav-open {
    left: 0;
    right: auto;
  }
  
  [dir="rtl"] .mobile-menu-toggle {
    float: right;
  }
  
  [dir="rtl"] .language-switcher {
    margin-right: 0;
    margin-left: 0;
  }
}

/* ==========================================================================
   RTL Print Styles
   ========================================================================== */

@media print {
  [dir="rtl"] * {
    direction: rtl;
    text-align: right;
  }
  
  [dir="rtl"] .container {
    padding-left: 0;
    padding-right: 0;
  }
}
