/* RTL Fixes for Spike Template */

/* Fix body-wrapper margin for RTL */
[dir="rtl"] #main-wrapper[data-layout="vertical"][data-sidebartype="full"] .body-wrapper {
    margin-left: 0 !important;
    margin-right: 270px !important;
}

/* Fix sidebar positioning for RTL */
[dir="rtl"] .left-sidebar {
    left: auto !important;
    right: 0 !important;
}

/* Remove top positioning for fixed sidebar in RTL */
[dir="rtl"] #main-wrapper[data-layout="vertical"][data-sidebar-position="fixed"] .left-sidebar {
    top: 0 !important;
}

/* Remove padding-top from body-wrapper containers in RTL */
[dir="rtl"] .body-wrapper .container-fluid,
[dir="rtl"] .body-wrapper .container-sm,
[dir="rtl"] .body-wrapper .container-md,
[dir="rtl"] .body-wrapper .container-lg,
[dir="rtl"] .body-wrapper .container-xl,
[dir="rtl"] .body-wrapper .container-xxl {
    padding-top: 1.5rem !important;
}

/* Remove padding-top for responsive breakpoints in RTL */
@media (max-width: 991.98px) {
    [dir="rtl"] .body-wrapper .container-fluid,
    [dir="rtl"] .body-wrapper .container-sm,
    [dir="rtl"] .body-wrapper .container-md,
    [dir="rtl"] .body-wrapper .container-lg,
    [dir="rtl"] .body-wrapper .container-xl,
    [dir="rtl"] .body-wrapper .container-xxl {
        padding-top: 1.5rem !important;
    }
}

@media (max-width: 575.98px) {
    [dir="rtl"] .body-wrapper .container-fluid,
    [dir="rtl"] .body-wrapper .container-sm,
    [dir="rtl"] .body-wrapper .container-md,
    [dir="rtl"] .body-wrapper .container-lg,
    [dir="rtl"] .body-wrapper .container-xl,
    [dir="rtl"] .body-wrapper .container-xxl {
        padding-top: 1.5rem !important;
    }
}

/* Fix sidebar when hidden on mobile for RTL */
@media (max-width: 1199px) {
    [dir="rtl"] #main-wrapper[data-layout="vertical"][data-sidebartype="full"] .left-sidebar,
    [dir="rtl"] #main-wrapper[data-layout="vertical"][data-sidebartype="mini-sidebar"] .left-sidebar {
        left: auto !important;
        right: -270px !important;
    }
    
    [dir="rtl"] #main-wrapper[data-layout="vertical"].show-sidebar .left-sidebar {
        left: auto !important;
        right: 0 !important;
    }
}

/* Fix primary-hover-bg pseudo element for RTL */
[dir="rtl"] .primary-hover-bg::before {
    left: auto !important;
    right: -16px !important;
    border-radius: 24px 0px 0px 24px !important;
}

/* Fix sidebar arrow positioning for RTL */
[dir="rtl"] .sidebar-nav .has-arrow::after {
    right: auto !important;
    left: 16px !important;
    margin-left: 0 !important;
    margin-right: 10px !important;
    transform: rotate(45deg) translate(0, -50%) !important;
}

/* Fix sidebar active state arrow for RTL */
[dir="rtl"] .sidebar-nav li.active > .has-arrow::after,
[dir="rtl"] .sidebar-nav li > .has-arrow.active::after,
[dir="rtl"] .sidebar-nav .has-arrow[aria-expanded="true"]::after {
    right: auto !important;
    left: 16px !important;
}

/* Fix dropdown menu positioning for RTL */
[dir="rtl"] .dropdown-menu-end {
    right: auto !important;
    left: 0 !important;
}

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

/* Fix navbar alignment for RTL */
[dir="rtl"] .navbar-nav {
    padding-right: 0;
}

/* Fix close button positioning for RTL */
[dir="rtl"] .close-btn {
    left: auto !important;
    right: 16px !important;
}

/* Fix brand logo positioning for RTL */
[dir="rtl"] .brand-logo {
    padding-right: 16px;
    padding-left: 16px;
}

/* Fix app header for RTL */
[dir="rtl"] .app-header {
    right: 0;
    left: auto;
}

/* Fix container padding for RTL */
[dir="rtl"] .body-wrapper .container-fluid {
    padding-right: 1.5rem;
    padding-left: 1.5rem;
}

/* Fix text alignment utilities for RTL */
[dir="rtl"] .text-start {
    text-align: right !important;
}

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

/* Fix float utilities for RTL */
[dir="rtl"] .float-start {
    float: right !important;
}

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

/* Fix margin and padding utilities for RTL */
[dir="rtl"] .me-1 { margin-left: 0.25rem !important; margin-right: 0 !important; }
[dir="rtl"] .me-2 { margin-left: 0.5rem !important; margin-right: 0 !important; }
[dir="rtl"] .me-3 { margin-left: 1rem !important; margin-right: 0 !important; }
[dir="rtl"] .me-4 { margin-left: 1.5rem !important; margin-right: 0 !important; }
[dir="rtl"] .me-5 { margin-left: 3rem !important; margin-right: 0 !important; }

[dir="rtl"] .ms-1 { margin-right: 0.25rem !important; margin-left: 0 !important; }
[dir="rtl"] .ms-2 { margin-right: 0.5rem !important; margin-left: 0 !important; }
[dir="rtl"] .ms-3 { margin-right: 1rem !important; margin-left: 0 !important; }
[dir="rtl"] .ms-4 { margin-right: 1.5rem !important; margin-left: 0 !important; }
[dir="rtl"] .ms-5 { margin-right: 3rem !important; margin-left: 0 !important; }
[dir="rtl"] .ms-auto { margin-right: auto !important; margin-left: 0 !important; }

[dir="rtl"] .ps-1 { padding-left: 0.25rem !important; padding-right: 0 !important; }
[dir="rtl"] .ps-2 { padding-left: 0.5rem !important; padding-right: 0 !important; }
[dir="rtl"] .ps-3 { padding-left: 1rem !important; padding-right: 0 !important; }
[dir="rtl"] .ps-4 { padding-left: 1.5rem !important; padding-right: 0 !important; }
[dir="rtl"] .ps-5 { padding-left: 3rem !important; padding-right: 0 !important; }

[dir="rtl"] .pe-1 { padding-right: 0.25rem !important; padding-left: 0 !important; }
[dir="rtl"] .pe-2 { padding-right: 0.5rem !important; padding-left: 0 !important; }
[dir="rtl"] .pe-3 { padding-right: 1rem !important; padding-left: 0 !important; }
[dir="rtl"] .pe-4 { padding-right: 1.5rem !important; padding-left: 0 !important; }
[dir="rtl"] .pe-5 { padding-right: 3rem !important; padding-left: 0 !important; }

/* Fix border utilities for RTL */
[dir="rtl"] .border-start {
    border-left: none !important;
    border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

[dir="rtl"] .border-end {
    border-right: none !important;
    border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
}

/* Fix gap utilities for RTL */
[dir="rtl"] .gap-2 { gap: 0.5rem !important; }
[dir="rtl"] .gap-3 { gap: 1rem !important; }
[dir="rtl"] .gap-4 { gap: 1.5rem !important; }

/* Fix form controls for RTL */
[dir="rtl"] .form-control,
[dir="rtl"] .form-select {
    text-align: right;
}

/* Fix input groups for RTL */
[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-radius: var(--bs-border-radius) 0 0 var(--bs-border-radius);
}

[dir="rtl"] .input-group > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating) {
    border-radius: 0 var(--bs-border-radius) var(--bs-border-radius) 0;
}

/* Fix buttons alignment for RTL */
[dir="rtl"] .btn-group > .btn:not(:first-child),
[dir="rtl"] .btn-group > .btn-group:not(:first-child) {
    margin-right: -1px;
    margin-left: 0;
}

/* Fix card header alignment for RTL */
[dir="rtl"] .card-header {
    text-align: right;
}

/* Fix table alignment for RTL */
[dir="rtl"] .table {
    text-align: right;
}

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

/* Fix pagination for RTL */
[dir="rtl"] .pagination {
    padding-right: 0;
}

[dir="rtl"] .page-link {
    margin-right: 0;
    margin-left: -1px;
}

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

/* Fix modal for RTL */
[dir="rtl"] .modal-header .btn-close {
    margin: -0.5rem auto -0.5rem -0.5rem;
}

/* Fix badge positioning for RTL */
[dir="rtl"] .badge {
    margin-right: 0.25rem;
    margin-left: 0;
}

/* Fix list items for RTL */
[dir="rtl"] .list-unstyled {
    padding-right: 0;
    padding-left: 0;
}

/* Fix icon alignment for RTL */
[dir="rtl"] iconify-icon {
    display: inline-flex;
}

/* Fix flex utilities for RTL - only when needed */
[dir="rtl"] .d-flex.justify-content-between.align-items-center {
    /* Keep flex-direction as row, just adjust margins */
}

/* Fix navbar toggler for RTL */
[dir="rtl"] .navbar-toggler {
    margin-right: 0;
    margin-left: 0.5rem;
}

/* Fix app topstrip for RTL */
[dir="rtl"] .app-topstrip {
    direction: rtl;
}

/* Fix navbar nav for RTL */
[dir="rtl"] .navbar-nav {
    flex-direction: row-reverse;
}

/* Fix dropdown toggle arrow for RTL */
[dir="rtl"] .dropdown-toggle::after {
    margin-right: 0.255em;
    margin-left: 0;
}

/* Fix breadcrumb for RTL */
[dir="rtl"] .breadcrumb-item + .breadcrumb-item::before {
    float: right;
    padding-right: 0;
    padding-left: var(--bs-breadcrumb-item-padding-x);
    content: var(--bs-breadcrumb-divider, "/");
}

/* Fix carousel controls for RTL */
[dir="rtl"] .carousel-control-prev {
    right: 0;
    left: auto;
}

[dir="rtl"] .carousel-control-next {
    left: 0;
    right: auto;
}

/* Fix tooltip and popover for RTL */
[dir="rtl"] .tooltip {
    direction: rtl;
}

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

/* Fix offcanvas for RTL */
[dir="rtl"] .offcanvas-start {
    top: 0;
    right: 0;
    left: auto;
    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    border-left: 0;
    transform: translateX(100%);
}

[dir="rtl"] .offcanvas-end {
    top: 0;
    left: 0;
    right: auto;
    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
    border-right: 0;
    transform: translateX(-100%);
}

/* Fix toast positioning for RTL */
[dir="rtl"] .toast-container {
    padding-right: var(--bs-toast-padding-x);
    padding-left: var(--bs-toast-padding-x);
}

/* Fix spinner alignment for RTL */
[dir="rtl"] .spinner-border,
[dir="rtl"] .spinner-grow {
    margin-right: 0;
    margin-left: auto;
}

/* Fix form check and radio for RTL */
[dir="rtl"] .form-check-input {
    margin-right: 0;
    margin-left: 0.5em;
    float: right;
}

[dir="rtl"] .form-check-label {
    padding-right: 0;
    padding-left: 0.5em;
}

/* Fix input group text for RTL */
[dir="rtl"] .input-group-text {
    border-radius: 0;
}

/* Fix switch toggle for RTL */
[dir="rtl"] .form-switch .form-check-input {
    margin-right: 0;
    margin-left: 2.5em;
}

/* Fix range input for RTL */
[dir="rtl"] .form-range {
    direction: ltr; /* Keep range slider LTR for usability */
}

/* Fix progress bar for RTL */
[dir="rtl"] .progress {
    direction: ltr; /* Keep progress bar LTR for visual consistency */
}

/* Fix accordion for RTL */
[dir="rtl"] .accordion-button::after {
    margin-right: auto;
    margin-left: 0;
}

/* Fix nav tabs for RTL */
[dir="rtl"] .nav-tabs .nav-link {
    border-radius: var(--bs-border-radius) var(--bs-border-radius) 0 0;
}

/* Fix nav pills for RTL */
[dir="rtl"] .nav-pills .nav-link {
    margin-right: 0.5rem;
    margin-left: 0;
}

/* Fix card image overlay for RTL */
[dir="rtl"] .card-img-overlay {
    text-align: right;
}

/* Fix figure caption for RTL */
[dir="rtl"] .figure-caption {
    text-align: right;
}

/* Fix code block for RTL */
[dir="rtl"] code,
[dir="rtl"] kbd,
[dir="rtl"] pre,
[dir="rtl"] samp {
    direction: ltr; /* Keep code LTR */
    text-align: left;
    unicode-bidi: embed;
}

/* Fix blockquote for RTL */
[dir="rtl"] .blockquote {
    border-right: 0.25rem solid var(--bs-border-color);
    border-left: 0;
    padding-right: 1rem;
    padding-left: 0;
}

[dir="rtl"] .blockquote-footer::before {
    content: "\2014\00A0";
}

/* Fix list group for RTL */
[dir="rtl"] .list-group-item {
    text-align: right;
}

/* Fix close button for RTL */
[dir="rtl"] .btn-close {
    background-position: left center;
    margin-right: auto;
    margin-left: -0.5em;
}

/* Additional fixes for specific template elements */
[dir="rtl"] .sidebar-link {
    text-align: right;
}

[dir="rtl"] .sidebar-item {
    direction: rtl;
}

/* Fix notification badge for RTL */
[dir="rtl"] .notification {
    right: auto;
    left: 0;
}

/* Fix user dropdown for RTL */
[dir="rtl"] .navbar-nav .dropdown-menu {
    right: auto;
    left: 0;
}

/* Fix message body for RTL */
[dir="rtl"] .message-body {
    text-align: right;
}

/* Fix logo positioning for RTL */
[dir="rtl"] .logo-img {
    text-align: right;
}

/* Fix scroll sidebar for RTL */
[dir="rtl"] .scroll-sidebar {
    direction: rtl;
}

/* Fix sidebar nav for RTL */
[dir="rtl"] .sidebar-nav {
    direction: rtl;
}

/* Fix icon alignment in sidebar for RTL */
[dir="rtl"] .sidebar-link iconify-icon {
    margin-right: 0;
    margin-left: 12px;
}

/* Fix hide-menu class for RTL */
[dir="rtl"] .hide-menu {
    margin-right: 0;
    margin-left: 0;
}

/* Fix nav small cap for RTL */
[dir="rtl"] .nav-small-cap {
    text-align: right;
}

/* Fix card title and subtitle for RTL */
[dir="rtl"] .card-title,
[dir="rtl"] .card-subtitle {
    text-align: right;
}

/* Fix d-flex alignments for RTL */
[dir="rtl"] .d-flex.align-items-center {
    direction: rtl;
}

/* Fix gap utilities that might need adjustment */
[dir="rtl"] .gap-6 { gap: 1.5rem !important; }
[dir="rtl"] .gap-8 { gap: 2rem !important; }
[dir="rtl"] .gap-9 { gap: 2.25rem !important; }

/* Fix border start/end for specific elements */
[dir="rtl"] .border-start.border-white {
    border-right: 1px solid rgba(255, 255, 255, 0.25) !important;
    border-left: none !important;
}

/* Fix position utilities for RTL */
[dir="rtl"] .position-absolute.end-0 {
    right: auto !important;
    left: 0 !important;
}

[dir="rtl"] .position-absolute.start-0 {
    left: auto !important;
    right: 0 !important;
}

/* Fix transform for RTL dropdown animations */
[dir="rtl"] .dropdown-menu-animate-up {
    transform-origin: top right;
}
