/* Enhanced map styling */
#map, .map-container { 
    height: 400px; 
    width: 100%; 
    background-color: #f2f2f2;
    position: relative;
    border-radius: 0.5rem;
    overflow: hidden;
    z-index: 1;
}

.dark #map, .dark .map-container {
    background-color: #1e293b;
    border: 1px solid #334155;
}

/* Version banner styling */
#version-banner {
    z-index: 100;
    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    backdrop-filter: blur(8px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

#version-banner.show {
    transform: translateY(0) !important;
}

/* Ensure navigation stays below the banner */
.main-navbar {
    z-index: 50;
}

/* Adjust body padding when banner is shown */
body.banner-visible {
    transition: padding-top 0.5s ease;
}

/* Fix for iOS 100vh issue */
@supports (-webkit-touch-callout: none) {
    .h-screen, .min-h-screen {
        height: -webkit-fill-available;
    }
}

/* Fix for leaflet tiles on mobile */
.leaflet-tile-container img {
    width: 256px !important;
    height: 256px !important;
}

/* Enhanced navbar styling */
.main-navbar {
    padding: 0.5rem 0;
    /* Background colors now handled by Tailwind classes in template */
}

.dark .main-navbar {
    /* Background colors now handled by Tailwind classes in template */
    border-bottom: 1px solid #334155;
}

/* Development navbar styling - orange theme */
.main-navbar.dev-navbar {
    /* Background colors now handled by Tailwind classes in template */
}

.dark .main-navbar.dev-navbar {
    /* Background colors now handled by Tailwind classes in template */
    border-bottom: 1px solid #f97316;
}

.main-navbar .nav-item {
    margin: 0 0.25rem;
    padding: 0.5rem 0.75rem;
    border-radius: 0.375rem;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.main-navbar .nav-item:hover {
    background-color: rgba(255, 255, 255, 0.1);
    transform: translateY(-1px);
}

.dark .main-navbar .nav-item:hover {
    background-color: rgba(255, 255, 255, 0.05);
    color: #cbd5e1;
}

/* Development navbar nav-item hover states */
.main-navbar.dev-navbar .nav-item:hover {
    background-color: rgba(0, 0, 0, 0.1);
    transform: translateY(-1px);
}

.dark .main-navbar.dev-navbar .nav-item:hover {
    background-color: rgba(0, 0, 0, 0.05);
    color: #374151;
}

/* Enhanced dropdown styling */
.user-dropdown {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;
    margin-top: 0.5rem;
    width: 12rem;
    background: white;
    border-radius: 0.5rem;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
    z-index: 50;
    border: 1px solid rgba(0,0,0,0.05);
    overflow: hidden;
}

.dark .user-dropdown {
    background: #1e293b;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.5), 0 4px 6px -4px rgba(0,0,0,0.3);
    border: 1px solid #334155;
}

.user-dropdown.show {
    display: block;
}

.user-dropdown a {
    transition: all 0.15s ease;
}

.user-dropdown a:hover {
    background-color: #f3f4f6;
}

.dark .user-dropdown a:hover {
    background-color: #334155;
}

/* Enhanced theme dropdown styling */
.theme-dropdown {
    position: absolute;
    right: 0;
    top: 100%;
    margin-top: 0.5rem;
    min-width: 10rem;
    background: white;
    border-radius: 0.5rem;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
    z-index: 1000;
    border: 1px solid rgba(0,0,0,0.05);
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 0.2s ease-out, transform 0.2s ease-out, visibility 0.2s ease-out;
    overflow: hidden;
}

.theme-dropdown.hidden {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    pointer-events: none;
}

.dark .theme-dropdown {
    background: #1e293b;
    box-shadow: 0 10px 25px -5px rgba(0,0,0,0.5), 0 4px 6px -4px rgba(0,0,0,0.3);
    border: 1px solid #334155;
}

.theme-dropdown a {
    transition: all 0.15s ease;
}

.theme-dropdown a:hover {
    background-color: #f3f4f6;
}

.dark .theme-dropdown a:hover {
    background-color: #334155;
}

/* Enhanced theme toggle button styling */
#themeToggle, #mobileThemeToggle {
    cursor: pointer;
    z-index: 1001;
    position: relative;
    pointer-events: auto;
    transition: all 0.2s ease;
}

#themeToggle:hover, #mobileThemeToggle:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    transform: scale(1.05);
}

.dark #themeToggle:hover, .dark #mobileThemeToggle:hover {
    background-color: rgba(255, 255, 255, 0.05) !important;
}

/* Ensure the theme toggle container has proper context */
.relative:has(#themeToggle) {
    z-index: 1000;
    position: relative;
}

/* Enhanced mobile menu styling */
#mobileMenu {
    /* Background colors now handled by Tailwind classes in template */
    backdrop-filter: blur(10px);
}

.dark #mobileMenu {
    /* Background colors now handled by Tailwind classes in template */
    backdrop-filter: blur(10px);
    border-top: 1px solid #334155;
}

/* Development mobile menu styling */
#mobileMenu.dev-mobile {
    /* Background colors now handled by Tailwind classes in template */
    backdrop-filter: blur(10px);
}

.dark #mobileMenu.dev-mobile {
    /* Background colors now handled by Tailwind classes in template */
    backdrop-filter: blur(10px);
    border-top: 1px solid #f97316;
}

/* Scrollbar styling for dark mode */
.dark ::-webkit-scrollbar {
    width: 8px;
}

.dark ::-webkit-scrollbar-track {
    background: #1e293b;
}

.dark ::-webkit-scrollbar-thumb {
    background: #475569;
    border-radius: 4px;
}

.dark ::-webkit-scrollbar-thumb:hover {
    background: #64748b;
} 