/* RTL Support for Arabic */

@font-face {
    font-family: 'Cairo';
    src: url('../fonts/cairo-font.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

html[dir="rtl"] body {
    direction: rtl;
    text-align: right;
    font-family: 'Cairo', 'Tahoma', 'Arial', sans-serif;
}

html[dir="rtl"] h1,
html[dir="rtl"] h2,
html[dir="rtl"] h3,
html[dir="rtl"] h4,
html[dir="rtl"] h5,
html[dir="rtl"] h6,
html[dir="rtl"] .title,
html[dir="rtl"] .sub-title,
html[dir="rtl"] .btn,
html[dir="rtl"] .navigation li a {
    font-family: 'Cairo', sans-serif;
}

/* General Layout Flips */
html[dir="rtl"] .float-left {
    float: right !important;
}

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

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

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

/* Margin and Padding Flips */
html[dir="rtl"] .mr-auto {
    margin-left: auto !important;
    margin-right: 0 !important;
}

html[dir="rtl"] .ml-auto {
    margin-right: auto !important;
    margin-left: 0 !important;
}

/* Header & Navigation */
html[dir="rtl"] .header-top-left {
    float: right;
}

html[dir="rtl"] .header-top-right {
    float: left;
}

html[dir="rtl"] .main-menu ul li {
    float: right;
}

html[dir="rtl"] .main-menu ul li .submenu {
    left: auto;
    right: 0;
    text-align: right;
}

html[dir="rtl"] .main-menu ul li .submenu li a {
    text-align: right;
}

/* Language Switcher */
html[dir="rtl"] .language-switcher {
    margin-left: 0;
    margin-right: 15px;
}

html[dir="rtl"] .language-switcher .dropdown-menu {
    right: 0;
    left: auto;
    text-align: right;
    margin-top: 15px;
    border-radius: 10px;
}

html[dir="rtl"] .language-switcher .dropdown-item i {
    margin-right: 0;
    margin-left: 8px;
}

/* Forms */
html[dir="rtl"] input,
html[dir="rtl"] textarea,
html[dir="rtl"] select {
    text-align: right;
}

/* Footer */
html[dir="rtl"] .footer-widget .fw-title::before {
    left: auto;
    right: 0;
}

html[dir="rtl"] .footer-contact .list-wrap li i {
    margin-right: 0;
    margin-left: 10px;
}

/* Specific Component Overrides */
html[dir="rtl"] .section-title .sub-title::before {
    left: auto;
    right: 0;
}

html[dir="rtl"] .section-title .sub-title::after {
    right: auto;
    left: 0;
}

html[dir="rtl"] .about-content ul li i {
    margin-right: 0;
    margin-left: 10px;
}

html[dir="rtl"] .banner-content {
    text-align: right;
}

/* Bootstrap Overrides for RTL */
html[dir="rtl"] .row > * {
    padding-right: calc(var(--bs-gutter-x) * .5);
    padding-left: calc(var(--bs-gutter-x) * .5);
}

html[dir="rtl"] .col-lg-6,
html[dir="rtl"] .col-md-6 {
    float: right;
}

/* Font Awesome Icons */
html[dir="rtl"] .fa-angle-right:before {
    content: "\f104"; /* angle-left */
}

html[dir="rtl"] .fa-angle-left:before {
    content: "\f105"; /* angle-right */
}

html[dir="rtl"] .fa-arrow-right:before {
    content: "\f061"; /* arrow-left */
}

html[dir="rtl"] .fa-arrow-left:before {
    content: "\f060"; /* arrow-right */
}

/* Mobile Menu Fixes for RTL */
html[dir="rtl"] .mobile-menu {
    right: auto;
    left: 0;
    transform: translateX(-101%);
    -webkit-transform: translateX(-101%);
    -ms-transform: translateX(-101%);
    border-right: 1px solid #eee;
    display: none;
}

html[dir="rtl"] .mobile-menu-visible .mobile-menu {
    transform: translateX(0%);
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    display: block;
}

html[dir="rtl"] .mobile-menu .close-btn {
    right: auto;
    left: 15px;
}

html[dir="rtl"] .mobile-menu .nav-logo {
    text-align: right;
}

html[dir="rtl"] .mobile-menu .navigation li {
    text-align: right;
}

html[dir="rtl"] .mobile-menu .navigation li.menu-item-has-children .dropdown-btn {
    right: auto;
    left: 0;
}

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

/* Phone Number Fix */
html[dir="rtl"] .header-btn .btn,
html[dir="rtl"] a[href^="tel:"] {
    direction: ltr;
    unicode-bidi: embed;
    text-align: left; /* Ensure it aligns correctly if in a block */
    display: inline-block; /* Helps with direction isolation */
}

/* Header Action Fixes */
html[dir="rtl"] .header-action > ul {
    margin-left: 0;
    margin-right: 10px;
    padding-left: 0;
    padding-right: 30px;
}

html[dir="rtl"] .header-action > ul::after {
    left: auto;
    right: 3px;
}

html[dir="rtl"] .header-action > ul::before {
    left: auto;
    right: 0;
}

html[dir="rtl"] .header-action > ul li {
    margin-left: 0;
    margin-right: 25px;
}

html[dir="rtl"] .header-action ul li:first-child {
    margin-right: 0;
}
