/**
 * Z-Index Hierarchy Management
 * Centralized z-index values to prevent conflicts
 */

:root {
    /* Base z-index values */
    --z-base: 1;
    --z-dropdown: 100;
    --z-sticky: 200;
    --z-fixed: 300;
    --z-modal-backdrop: 400;
    --z-modal: 500;
    --z-popover: 600;
    --z-tooltip: 700;
    --z-toast: 800;
    --z-loading: 900;
    --z-maximum: 999;
    
    /* Component specific z-index values */
    --z-header: var(--z-fixed);
    --z-mobile-menu: calc(var(--z-header) + 1);
    --z-user-dropdown: var(--z-dropdown);
    --z-search-results: var(--z-dropdown);
    --z-mobile-overlay: calc(var(--z-modal-backdrop) - 50);
    --z-tour-overlay: var(--z-loading);
}

/* Apply z-index hierarchy */
.navbar,
.modern-header {
    z-index: var(--z-header) !important;
}

.mobile-menu,
.navbar-collapse.show {
    z-index: var(--z-mobile-menu) !important;
}

.mobile-overlay {
    z-index: var(--z-mobile-overlay) !important;
}

.user-dropdown,
.dropdown-menu {
    z-index: var(--z-user-dropdown) !important;
}

.autocomplete-container,
.search-results {
    z-index: var(--z-search-results) !important;
}

.modal {
    z-index: var(--z-modal) !important;
}

.modal-backdrop {
    z-index: var(--z-modal-backdrop) !important;
}

.toast-container {
    z-index: var(--z-toast) !important;
}

.loading-overlay,
#tourLoadingOverlay {
    z-index: var(--z-loading) !important;
}

/* Utility classes for z-index management */
.z-base { z-index: var(--z-base); }
.z-dropdown { z-index: var(--z-dropdown); }
.z-sticky { z-index: var(--z-sticky); }
.z-fixed { z-index: var(--z-fixed); }
.z-modal { z-index: var(--z-modal); }
.z-maximum { z-index: var(--z-maximum); }

/* Override conflicting z-index values */
.mobile-toggle {
    z-index: var(--z-mobile-menu) !important;
}

.full-width-navbar {
    z-index: var(--z-header) !important;
}

.full-width-navbar .dropdown-menu {
    z-index: calc(var(--z-header) + 10) !important;
}