/* RTL/LTR Direction Support - EXCLUDES HEADER AND SLIDERS */

/* === IMPORTANT: Header is EXCLUDED from direction changes === */
/* #header, .fixed-top, .navbar, and all header components keep their original styling */
/* === SLIDERS: Swipers, carousels, and all slider libraries are EXCLUDED === */

/* Base Direction */
html[dir="ltr"] body {
    direction: ltr;
    text-align: left;
}

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

/* === MAIN CONTENT ONLY === */
/* Exclude header and sliders from all direction changes */
html[dir="ltr"] main:not(.swiper-container):not(.carousel):not([class*="slider"]):not([class*="swiper"]),
html[dir="ltr"] .main:not(.swiper-container):not(.carousel):not([class*="slider"]):not([class*="swiper"]),
html[dir="ltr"] section:not(#header):not(.swiper-container):not(.carousel):not([class*="slider"]):not([class*="swiper"]),
html[dir="ltr"] footer:not(.swiper-container):not(.carousel):not([class*="slider"]):not([class*="swiper"]) {
    direction: ltr;
    text-align: left;
}

html[dir="rtl"] main:not(.swiper-container):not(.carousel):not([class*="slider"]):not([class*="swiper"]),
html[dir="rtl"] .main:not(.swiper-container):not(.carousel):not([class*="slider"]):not([class*="swiper"]),
html[dir="rtl"] section:not(#header):not(.swiper-container):not(.carousel):not([class*="slider"]):not([class*="swiper"]),
html[dir="rtl"] footer:not(.swiper-container):not(.carousel):not([class*="slider"]):not([class*="swiper"]) {
    direction: rtl;
    text-align: right;
}

/* Sliders - Keep Original Style */
.swiper-container,
.carousel,
[class*="slider"],
[class*="swiper"],
.owl-carousel,
.slick-slider {
    direction: ltr !important;
}

.swiper-slide,
.carousel-item,
[class*="slide"] {
    direction: ltr !important;
}

/* Text Alignment - Exclude Header */
html[dir="ltr"] .text-start:not(.navbar *):not(#header *) {
    text-align: left !important;
}

html[dir="rtl"] .text-start:not(.navbar *):not(#header *) {
    text-align: right !important;
}

html[dir="ltr"] .text-end:not(.navbar *):not(#header *) {
    text-align: right !important;
}

html[dir="rtl"] .text-end:not(.navbar *):not(#header *) {
    text-align: left !important;
}

/* Margin Auto - Exclude Header */
html[dir="ltr"] .mx-auto:not(.navbar *):not(#header *) {
    margin-left: auto !important;
    margin-right: 0 !important;
}

html[dir="rtl"] .mx-auto:not(.navbar *):not(#header *) {
    margin-left: 0 !important;
    margin-right: auto !important;
}

html[dir="ltr"] .ms-auto:not(.navbar *):not(#header *) {
    margin-left: auto !important;
    margin-right: 0 !important;
}

html[dir="rtl"] .ms-auto:not(.navbar *):not(#header *) {
    margin-left: 0 !important;
    margin-right: auto !important;
}

html[dir="ltr"] .me-auto:not(.navbar *):not(#header *) {
    margin-right: auto !important;
    margin-left: 0 !important;
}

html[dir="rtl"] .me-auto:not(.navbar *):not(#header *) {
    margin-right: 0 !important;
    margin-left: auto !important;
}

/* Margin Sides - Exclude Header */
html[dir="ltr"] .ms-1:not(.navbar *):not(#header *) { margin-left: 0.25rem !important; margin-right: 0 !important; }
html[dir="rtl"] .ms-1:not(.navbar *):not(#header *) { margin-left: 0 !important; margin-right: 0.25rem !important; }

html[dir="ltr"] .ms-2:not(.navbar *):not(#header *) { margin-left: 0.5rem !important; margin-right: 0 !important; }
html[dir="rtl"] .ms-2:not(.navbar *):not(#header *) { margin-left: 0 !important; margin-right: 0.5rem !important; }

html[dir="ltr"] .ms-3:not(.navbar *):not(#header *) { margin-left: 1rem !important; margin-right: 0 !important; }
html[dir="rtl"] .ms-3:not(.navbar *):not(#header *) { margin-left: 0 !important; margin-right: 1rem !important; }

html[dir="ltr"] .ms-4:not(.navbar *):not(#header *) { margin-left: 1.5rem !important; margin-right: 0 !important; }
html[dir="rtl"] .ms-4:not(.navbar *):not(#header *) { margin-left: 0 !important; margin-right: 1.5rem !important; }

html[dir="ltr"] .me-1:not(.navbar *):not(#header *) { margin-right: 0.25rem !important; margin-left: 0 !important; }
html[dir="rtl"] .me-1:not(.navbar *):not(#header *) { margin-right: 0 !important; margin-left: 0.25rem !important; }

html[dir="ltr"] .me-2:not(.navbar *):not(#header *) { margin-right: 0.5rem !important; margin-left: 0 !important; }
html[dir="rtl"] .me-2:not(.navbar *):not(#header *) { margin-right: 0 !important; margin-left: 0.5rem !important; }

html[dir="ltr"] .me-3:not(.navbar *):not(#header *) { margin-right: 1rem !important; margin-left: 0 !important; }
html[dir="rtl"] .me-3:not(.navbar *):not(#header *) { margin-right: 0 !important; margin-left: 1rem !important; }

html[dir="ltr"] .me-4:not(.navbar *):not(#header *) { margin-right: 1.5rem !important; margin-left: 0 !important; }
html[dir="rtl"] .me-4:not(.navbar *):not(#header *) { margin-right: 0 !important; margin-left: 1.5rem !important; }

/* Padding Sides - Exclude Header */
html[dir="ltr"] .ps-1:not(.navbar *):not(#header *) { padding-left: 0.25rem !important; padding-right: 0 !important; }
html[dir="rtl"] .ps-1:not(.navbar *):not(#header *) { padding-left: 0 !important; padding-right: 0.25rem !important; }

html[dir="ltr"] .ps-2:not(.navbar *):not(#header *) { padding-left: 0.5rem !important; padding-right: 0 !important; }
html[dir="rtl"] .ps-2:not(.navbar *):not(#header *) { padding-left: 0 !important; padding-right: 0.5rem !important; }

html[dir="ltr"] .ps-3:not(.navbar *):not(#header *) { padding-left: 1rem !important; padding-right: 0 !important; }
html[dir="rtl"] .ps-3:not(.navbar *):not(#header *) { padding-left: 0 !important; padding-right: 1rem !important; }

html[dir="ltr"] .pe-1:not(.navbar *):not(#header *) { padding-right: 0.25rem !important; padding-left: 0 !important; }
html[dir="rtl"] .pe-1:not(.navbar *):not(#header *) { padding-right: 0 !important; padding-left: 0.25rem !important; }

html[dir="ltr"] .pe-2:not(.navbar *):not(#header *) { padding-right: 0.5rem !important; padding-left: 0 !important; }
html[dir="rtl"] .pe-2:not(.navbar *):not(#header *) { padding-right: 0 !important; padding-left: 0.5rem !important; }

html[dir="ltr"] .pe-3:not(.navbar *):not(#header *) { padding-right: 1rem !important; padding-left: 0 !important; }
html[dir="rtl"] .pe-3:not(.navbar *):not(#header *) { padding-right: 0 !important; padding-left: 1rem !important; }

/* Icons Spacing - Exclude Header */
html[dir="ltr"] main i.fas,
html[dir="ltr"] main i.far,
html[dir="ltr"] main i.fab,
html[dir="ltr"] section i.fas,
html[dir="ltr"] section i.far,
html[dir="ltr"] section i.fab,
html[dir="ltr"] footer i.fas,
html[dir="ltr"] footer i.far,
html[dir="ltr"] footer i.fab {
    margin-left: 0 !important;
    margin-right: 0.5rem !important;
}

html[dir="rtl"] main i.fas,
html[dir="rtl"] main i.far,
html[dir="rtl"] main i.fab,
html[dir="rtl"] section i.fas,
html[dir="rtl"] section i.far,
html[dir="rtl"] section i.fab,
html[dir="rtl"] footer i.fas,
html[dir="rtl"] footer i.far,
html[dir="rtl"] footer i.fab {
    margin-left: 0.5rem !important;
    margin-right: 0 !important;
}

/* Form Elements */
html[dir="ltr"] main input,
html[dir="ltr"] main textarea,
html[dir="ltr"] main select,
html[dir="ltr"] main form input,
html[dir="ltr"] main form textarea,
html[dir="ltr"] main form select {
    direction: ltr;
    text-align: left;
}

html[dir="rtl"] main input,
html[dir="rtl"] main textarea,
html[dir="rtl"] main select,
html[dir="rtl"] main form input,
html[dir="rtl"] main form textarea,
html[dir="rtl"] main form select {
    direction: rtl;
    text-align: right;
}

/* Dropdowns */
html[dir="ltr"] .dropdown-menu:not(.navbar *):not(#header *) {
    left: 0 !important;
    right: auto !important;
    text-align: left;
}

html[dir="rtl"] .dropdown-menu:not(.navbar *):not(#header *) {
    right: 0 !important;
    left: auto !important;
    text-align: right;
}

/* Tables */
html[dir="ltr"] table:not(.navbar *):not(#header *) {
    direction: ltr;
    text-align: left;
}

html[dir="rtl"] table:not(.navbar *):not(#header *) {
    direction: rtl;
    text-align: right;
}

html[dir="ltr"] th:not(.navbar *):not(#header *),
html[dir="ltr"] td:not(.navbar *):not(#header *) {
    text-align: left;
}

html[dir="rtl"] th:not(.navbar *):not(#header *),
html[dir="rtl"] td:not(.navbar *):not(#header *) {
    text-align: right;
}

/* Cards */
html[dir="ltr"] .card:not(.navbar *):not(#header *) {
    direction: ltr;
    text-align: left;
}

html[dir="rtl"] .card:not(.navbar *):not(#header *) {
    direction: rtl;
    text-align: right;
}

/* Lists */
html[dir="ltr"] ul:not(.navbar *):not(#header *),
html[dir="ltr"] ol:not(.navbar *):not(#header *) {
    padding-left: 2rem;
    padding-right: 0;
}

html[dir="rtl"] ul:not(.navbar *):not(#header *),
html[dir="rtl"] ol:not(.navbar *):not(#header *) {
    padding-right: 2rem;
    padding-left: 0;
}

/* Flexbox */
html[dir="ltr"] .flex-row-reverse:not(.navbar *):not(#header *) {
    flex-direction: row-reverse !important;
}

html[dir="rtl"] .flex-row-reverse:not(.navbar *):not(#header *) {
    flex-direction: row !important;
}

/* Floats */
html[dir="ltr"] .float-start:not(.navbar *):not(#header *) {
    float: left !important;
}

html[dir="rtl"] .float-start:not(.navbar *):not(#header *) {
    float: right !important;
}

html[dir="ltr"] .float-end:not(.navbar *):not(#header *) {
    float: right !important;
}

html[dir="rtl"] .float-end:not(.navbar *):not(#header *) {
    float: left !important;
}

/* Buttons in main content */
html[dir="ltr"] main .btn:not(.navbar .btn):not(#header .btn) {
    text-align: center;
}

html[dir="rtl"] main .btn:not(.navbar .btn):not(#header .btn) {
    text-align: center;
}

/* Modals */
html[dir="ltr"] .modal:not(.navbar *):not(#header *) {
    direction: ltr;
    text-align: left;
}

html[dir="rtl"] .modal:not(.navbar *):not(#header *) {
    direction: rtl;
    text-align: right;
}

/* Alerts */
html[dir="ltr"] .alert:not(.navbar *):not(#header *) {
    direction: ltr;
    text-align: left;
}

html[dir="rtl"] .alert:not(.navbar *):not(#header *) {
    direction: rtl;
    text-align: right;
}

/* Breadcrumb */
html[dir="ltr"] .breadcrumb:not(.navbar *):not(#header *) {
    direction: ltr;
}

html[dir="rtl"] .breadcrumb:not(.navbar *):not(#header *) {
    direction: rtl;
}

/* Pagination */
html[dir="ltr"] .pagination:not(.navbar *):not(#header *) {
    flex-direction: row;
}

html[dir="rtl"] .pagination:not(.navbar *):not(#header *) {
    flex-direction: row-reverse;
}

/* Sidebar */
html[dir="ltr"] .sidebar:not(.navbar *):not(#header *) {
    border-left: 1px solid #e0e0e0;
    border-right: none;
}

html[dir="rtl"] .sidebar:not(.navbar *):not(#header *) {
    border-right: 1px solid #e0e0e0;
    border-left: none;
}

/* === SLIDERS & CAROUSELS - ALWAYS LTR === */
/* Swiper.js */
.swiper,
.swiper-wrapper,
.swiper-slide,
.swiper-container,
.swiper-slide-active,
.swiper-button-next,
.swiper-button-prev,
.swiper-pagination,
.swiper-scrollbar {
    direction: ltr !important;
}

/* Bootstrap Carousel */
.carousel,
.carousel-item,
.carousel-inner,
.carousel-control-prev,
.carousel-control-next {
    direction: ltr !important;
}

/* Owl Carousel */
.owl-carousel,
.owl-item,
.owl-stage-outer,
.owl-nav {
    direction: ltr !important;
}

/* Slick Carousel */
.slick-slider,
.slick-slide,
.slick-list,
.slick-track {
    direction: ltr !important;
}

/* Generic slider/carousel classes */
[class*="slider"],
[class*="swiper"],
[class*="carousel"],
[class*="gallery"],
.testimonial-slider,
.hero-slider,
.product-slider,
.blog-slider {
    direction: ltr !important;
}

/* Slider buttons and navigation */
.slider-btn,
.slider-nav,
.carousel-nav,
.swiper-nav,
.slide-control {
    direction: ltr !important;
}

/* Slider indicators */
.slider-dots,
.carousel-indicators,
.swiper-pagination-bullet,
.dot-indicators {
    direction: ltr !important;
}

/* Force LTR for all children of sliders */
.swiper *,
.carousel *,
.owl-carousel *,
.slick-slider *,
[class*="slider"] *,
[class*="swiper"] * {
    direction: ltr !important;
}
