/* RTL Overrides for Frontend */
body {
    direction: rtl;
    text-align: right;
}

/* Logical Properties Shim (Since standard Bootstrap is used) */
[dir="rtl"] .ms-auto {
    margin-right: auto !important;
    margin-left: 0 !important;
}

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

.p.text-muted.mb-0.small {
    font-size: 16px;
}

[dir="rtl"] .me-1 {
    margin-right: 0 !important;
    margin-left: .25rem !important;
}

[dir="rtl"] .me-2 {
    margin-right: 0 !important;
    margin-left: .5rem !important;
}

img.slider__thumbnail--img__style5.w-100.hero-slider-img {
    padding-top: 3rem;
}

[dir="rtl"] .me-3 {
    margin-right: 0 !important;
    margin-left: 1rem !important;
}

[dir="rtl"] .me-4 {
    margin-right: 0 !important;
    margin-left: 1.5rem !important;
}

[dir="rtl"] .me-5 {
    margin-right: 0 !important;
    margin-left: 3rem !important;
}

[dir="rtl"] .ms-1 {
    margin-left: 0 !important;
    margin-right: .25rem !important;
}

[dir="rtl"] .ms-2 {
    margin-left: 0 !important;
    margin-right: .5rem !important;
}

[dir="rtl"] .ms-3 {
    margin-left: 0 !important;
    margin-right: 1rem !important;
}

[dir="rtl"] .ms-4 {
    margin-left: 0 !important;
    margin-right: 1.5rem !important;
}

[dir="rtl"] .ms-5 {
    margin-left: 0 !important;
    margin-right: 3rem !important;
}

[dir="rtl"] .pe-1 {
    padding-left: .25rem !important;
}

[dir="rtl"] .pe-2 {
    padding-left: .5rem !important;
}

[dir="rtl"] .pe-3 {
    padding-left: 1rem !important;
}

[dir="rtl"] .pe-4 {
    padding-left: 1.5rem !important;
}

[dir="rtl"] .pe-5 {
    padding-left: 3rem !important;
}

[dir="rtl"] .ps-1 {
    padding-right: .25rem !important;
}

[dir="rtl"] .ps-2 {
    padding-right: .5rem !important;
}

[dir="rtl"] .ps-3 {
    padding-right: 1rem !important;
}

[dir="rtl"] .ps-4 {
    padding-right: 1.5rem !important;
}

[dir="rtl"] .ps-5 {
    padding-right: 3rem !important;
}

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

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

/* Header Adjustments */
[dir="rtl"] .header__topbar--left {
    text-align: right;
}

[dir="rtl"] .header__topbar--right {
    justify-content: flex-start !important;
}

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

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

/* Navigation */
[dir="rtl"] .header__menu--wrapper {
    padding-right: 0;
    padding-left: 0;
    flex-direction: row !important;
}

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

/* Sidebar/Mobile Menu if any */
[dir="rtl"] .offcanvas-end {
    right: auto;
    left: 0;
    transform: translateX(-100%);
}

/* Icons that need flipping */
[dir="rtl"] .fa-chevron-right,
[dir="rtl"] .fa-arrow-right,
[dir="rtl"] .fa-angle-right,
[dir="rtl"] .fa-long-arrow-right {
    transform: scaleX(-1);
}

[dir="rtl"] .fa-chevron-left,
[dir="rtl"] .fa-arrow-left,
[dir="rtl"] .fa-angle-left,
[dir="rtl"] .fa-long-arrow-left {
    transform: scaleX(-1);
}

/* Footer */
[dir="rtl"] .footer__widget--title::before {
    left: auto !important;
    right: 0 !important;
}

[dir="rtl"] .image-section-title {
    text-align: right !important;

    padding-right: 20px !important;
}

[dir="rtl"] .image-section-title::before {
    left: auto !important;
    right: 0 !important;
}

/* Search Box */
[dir="rtl"] .search__categories {
    border-left: none !important;
    border-right: 1px solid #eee !important;
    margin-right: 0 !important;
    margin-left: 0.5rem !important;
}

[dir="rtl"] .search__box--inner button {
    border-radius: 4px 0 0 4px !important;
}

/* Product Badge */
[dir="rtl"] .square-badge {
    right: auto !important;
    left: 15px !important;
}

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

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

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

/* Font Adjustments - Arabic font is usually larger visually */
[dir="rtl"] body {
    font-size: 15px;
    /* Scale down slightly from 16px */
}

[dir="rtl"] h1,
[dir="rtl"] .h1 {
    font-size: 2.2rem;
}

[dir="rtl"] h2,
[dir="rtl"] .h2 {
    font-size: 1.8rem;
}

[dir="rtl"] h3,
[dir="rtl"] .h3 {
    font-size: 1.5rem;
}

[dir="rtl"] h4,
[dir="rtl"] .h4 {
    font-size: 1.3rem;
    !important;
}

[dir="rtl"] h5,
[dir="rtl"] .h5 {
    font-size: 1.1rem;
}

[dir="rtl"] h6,
[dir="rtl"] .h6 {
    font-size: 0.95rem;
}

/* Desktop Specific Fixes */
@media (min-width: 992px) {
    [dir="rtl"] .header__switchers {
        padding-left: 7rem !important;
        margin-left: auto;
        margin-right: 0;
    }

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

    [dir="rtl"] .ms-dropdown-menu::before {
        right: auto !important;
        left: 20px !important;
    }
}

/* Correcting position relative/absolute elements */
[dir="rtl"] .position-absolute.top-0.start-100 {
    left: auto !important;
    right: 100% !important;
    transform: translate(50%, -50%) !important;
}



[dir="rtl"] .newsletter__subscribe--form input {
    padding-right: 1.5rem !important;
    padding-left: 140px !important;
}

/* Fix Global Alignment and Spacing for Desktop */
[dir="rtl"] .row {
    flex-direction: row-reverse !important;
}

/* Undo flex-direction for rows that are already RTL-friendly (Bootstrap 5 is mostly LTR-first) */
[dir="rtl"] .row>* {
    text-align: right;
}

/* Specific component fixes */
[dir="rtl"] .header__account--wrapper {}



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

/* Fix for icons and badges positioning */
[dir="rtl"] .badge.rounded-circle.text-white {
    right: auto !important;
    left: 100% !important;
    transform: translate(-50%, -50%) !important;
}

/* Flip search icons */
[dir="rtl"] .main_search_form .fa-search {
    margin-right: 0 !important;
    margin-left: 10px !important;
}

/* Fix for top bar close button */
[dir="rtl"] .top-header-bar .close-top-bar {
    right: auto !important;
    left: 15px !important;
}

/* Footer widget alignment */
[dir="rtl"] .footer__widget {
    text-align: right;
}

[dir="rtl"] .footer__social {
    justify-content: flex-start !important;
}

/* Fix for common flex alignment classes */
[dir="rtl"] .justify-content-end {
    justify-content: flex-start !important;
}

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

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

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

/* Fix for product list/grid view alignment */
[dir="rtl"] .shop__product--wrapper .row {
    flex-direction: row !important;
    /* Bootstrap rows inside dir="rtl" might not need reverse if items are already aligned */
}

/* Fix for contact info icons */
[dir="rtl"] .contact-info-card i {
    margin-right: 0 !important;
    margin-left: 10px !important;
}

/* Responsive tweaks */
@media (max-width: 991px) {
    [dir="rtl"] .offcanvas-start {
        right: auto !important;
        left: 0 !important;
        transform: translateX(-100%) !important;
    }

    [dir="rtl"] .offcanvas-start.show {
        transform: none !important;
    }
}

/* Fix for Category List in Sidebar */
[dir="rtl"] .widget-categories ul li a {
    text-align: right;

    padding-right: 15px !important;
}

[dir="rtl"] .widget-categories ul li a span {
    left: 0 !important;
    right: auto !important;
}

/* Fix for product list/grid view alignment */
[dir="rtl"] .shop__product--wrapper .row {
    flex-direction: row !important;
}

/* Desktop alignment fix for main container */
[dir="rtl"] .container {
    text-align: right;
}

/* Fix for sliders (Swiper usually handles RTL but needs dir="rtl" on parent) */
[dir="rtl"] .swiper-container,
[dir="rtl"] .swiper {
    direction: ltr !important;
    /* Swiper logic works better in LTR even for RTL layouts sometimes, or use swiper's rtl property */
}

[dir="rtl"] .swiper-slide {
    direction: rtl !important;
}


/* Fix for contact info in footer */
[dir="rtl"] .footer__widget--inner ul li {

    padding-right: 30px !important;
    position: relative;
}

[dir="rtl"] .footer__widget--inner ul li i {
    position: absolute;
    right: 0;
    top: 5px;
}

/* Fix for mobile navigation trigger */
[dir="rtl"] .header__account--btn i.fa-bars {
    margin-right: 0 !important;
    margin-left: 10px !important;
}

/* Fix for cart/wishlist badges */
[dir="rtl"] .header__account--btn .badge {
    left: auto !important;
    right: 0 !important;
    transform: translate(50%, -50%) !important;
}

/* Fix for breadcrumbs */
[dir="rtl"] .breadcrumb-item+.breadcrumb-item::before {
    float: right !important;
    padding-left: .5rem !important;

}

/* Fix for product card pricing */
[dir="rtl"] .product__price {
    text-align: right;
}

/* Fix for product card title */
[dir="rtl"] .product__title {
    text-align: right;
}

/* Fix for search suggestions image */
[dir="rtl"] .suggestion-list-item .item-image {
    margin-inline-start: 0 !important;
    margin-inline-end: 15px !important;
}

/* Fix for search suggestions header */
[dir="rtl"] .suggestion-header {
    text-align: right;
}

/* Fix for view all button in search suggestions */
[dir="rtl"] .search-view-all-btn {
    text-align: center;
}

/* Specific Page Overrides - Product Details (lux- classes) */
[dir="rtl"] .lux-breadcrumb .breadcrumb-item+.breadcrumb-item::before {
    float: right !important;
}

[dir="rtl"] .lux-category-tag {
    margin-right: 0 !important;
    margin-left: 15px !important;
}

[dir="rtl"] .lux-price-container {
    flex-direction: row-reverse;
    justify-content: flex-end;
}

[dir="rtl"] .lux-discount-badge {
    margin-left: 0 !important;
    margin-right: 10px !important;
}

[dir="rtl"] .lux-viewer-count {
    flex-direction: row-reverse;
    justify-content: flex-end;
}

[dir="rtl"] .var-group-label {
    flex-direction: row-reverse;
}

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

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

/* Checkout Page Overrides */
[dir="rtl"] .checkout-steps {
    flex-direction: row-reverse;
}

[dir="rtl"] .step-connector {
    left: auto !important;
    right: 60% !important;
    background: linear-gradient(-90deg, var(--brand-primary), #e9ecef) !important;
}

[dir="rtl"] .form-section h6 i {
    margin-right: 0 !important;
    margin-left: 10px !important;
}

[dir="rtl"] .custom-control.custom-checkbox {
    border-left: none !important;
    border-right: 4px solid var(--brand-primary) !important;

    padding-right: 3rem !important;
}

[dir="rtl"] .custom-control-input {
    right: 1rem !important;
    left: auto !important;
}

[dir="rtl"] .custom-control-label::before,
[dir="rtl"] .custom-control-label::after {
    right: -1.4rem !important;
    left: auto !important;
}

[dir="rtl"] .btn i.fa-arrow-left {
    margin-right: 0 !important;
    margin-left: 10px !important;
    transform: scaleX(-1);
}

[dir="rtl"] .btn i.fa-arrow-right {
    margin-left: 0 !important;
    margin-right: 10px !important;
    transform: scaleX(-1);
}

/* General Margin/Padding Overrides for LTR-coded themes */
[dir="rtl"] .mr-1 {
    margin-right: 0 !important;
    margin-left: .25rem !important;
}

[dir="rtl"] .mr-2 {
    margin-right: 0 !important;
    margin-left: .5rem !important;
}

[dir="rtl"] .mr-3 {
    margin-right: 0 !important;
    margin-left: 1rem !important;
}

[dir="rtl"] .mr-4 {
    margin-right: 0 !important;
    margin-left: 1.5rem !important;
}

[dir="rtl"] .mr-5 {
    margin-right: 0 !important;
    margin-left: 3rem !important;
}

[dir="rtl"] .ml-1 {
    margin-left: 0 !important;
    margin-right: .25rem !important;
}

[dir="rtl"] .ml-2 {
    margin-left: 0 !important;
    margin-right: .5rem !important;
}

[dir="rtl"] .ml-3 {
    margin-left: 0 !important;
    margin-right: 1rem !important;
}

[dir="rtl"] .ml-4 {
    margin-left: 0 !important;
    margin-right: 1.5rem !important;
}

[dir="rtl"] .ml-5 {
    margin-left: 0 !important;
    margin-right: 3rem !important;
}

/* Fix for icons in lists/buttons */
[dir="rtl"] i.mr-2,
[dir="rtl"] i.mr-3 {
    margin-right: 0 !important;
    margin-left: 0.5rem !important;
}

[dir="rtl"] i.ml-2,
[dir="rtl"] i.ml-3 {
    margin-left: 0 !important;
    margin-right: 0.5rem !important;
}

/* Fix for absolute positioned decorative elements */
[dir="rtl"] .page-title .position-absolute[style*="left: 10%"] {
    left: auto !important;
    right: 10% !important;
}

[dir="rtl"] .page-title .position-absolute[style*="right: 15%"] {
    right: auto !important;
    left: 15% !important;
}

/* Fix for Swiper Navigation Buttons */
[dir="rtl"] .swiper-button-next {
    right: auto !important;
    left: 10px !important;
    transform: rotate(180deg);
}

[dir="rtl"] .swiper-button-prev {
    left: auto !important;
    right: 10px !important;
    transform: rotate(180deg);
}

/* Fix for Search Suggestions Container */
[dir="rtl"] .search-suggestions-container {
    border-radius: 0 0 8px 8px !important;
    text-align: right;
}

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

/* Fix for Product Card in Catalog */
[dir="rtl"] .precision-product-card .product-thumb {
    text-align: center;
}

[dir="rtl"] .precision-product-card .product-title {
    text-align: right !important;
}

[dir="rtl"] .precision-product-card .product-price {
    text-align: right !important;
}

/* Fix for Modals */
[dir="rtl"] .modal-header {
    flex-direction: row-reverse;
}

[dir="rtl"] .modal-header .btn-close {
    margin: 0 !important;
    margin-right: auto !important;
}

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

/* Fix for Alert close button */
[dir="rtl"] .alert .btn-close {
    right: auto !important;
    left: 0 !important;
}

/* Fix for Tooltips */
[dir="rtl"] .tooltip {
    font-family: var(--font-arabic) !important;
}

/* Fix for Pagination Icons */
[dir="rtl"] .pagination .page-item:first-child .page-link,
[dir="rtl"] .pagination .page-item:last-child .page-link {
    transform: scaleX(-1);
}

/* Fix for Input Groups (Prepend/Append) */
[dir="rtl"] .input-group> :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    margin-right: -1px;
    margin-left: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-top-left-radius: 12px;
    /* Matching custom border radius */
    border-bottom-left-radius: 12px;
}

[dir="rtl"] .input-group> :not(:last-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

/* Fix for Back to Top Button */
[dir="rtl"] #scroll__top {
    right: auto !important;
    left: 30px !important;
}

/* Fix for Mobile Search Icons */
[dir="rtl"] .main_search_form i.fa-magnifying-glass {
    margin-right: 0 !important;
    margin-left: 10px !important;
}

[dir="rtl"] .main_search_form i.fa-times-circle {
    margin-left: 0 !important;
    margin-right: 10px !important;
}

/* Final Global Fix for any left-to-right float/alignments */
[dir="rtl"] .float-start {
    float: right !important;
}

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

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

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

[dir="rtl"] .ms-0 {
    margin-right: 0 !important;
}

[dir="rtl"] .me-0 {
    margin-left: 0 !important;
}