:root {
    --map-void: #37494F;
    --glass: rgba(15, 23, 42, 0.9);
}

body, html { 
    margin: 0; padding: 0; height: 100%; 
    background: var(--map-void); 
    overflow: hidden;
}

/* --- ИСПРАВЛЕНИЕ ПЛАВНОСТИ КАРТЫ --- */
/* Отключаем глобальные переходы для слоев Leaflet, чтобы убрать "дерганье" */
.leaflet-container *, 
.leaflet-zoom-animated, 
.leaflet-pane, 
.leaflet-layer {
    transition: none !important;
}

/* Оставляем анимацию только для появления и ховера маркеров */
.custom-marker {
    transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* --- КНОПКА НАЗАД (КАК В НОВОСТЯХ) --- */
.back-btn {
    position: absolute;
    left: 30px; 
    top: 15px;
    color: #fff;
    text-decoration: none;
    font-size: 0.7rem;
    border: 1px solid var(--accent-blue);
    padding: 10px 20px;
    border-radius: 5px;
    font-weight: 700;
    text-transform: uppercase;
    transition: 0.3s !important;
    background: rgba(0,0,0,0.5);
    z-index: 2000; /* Поверх всего */
    backdrop-filter: blur(5px);
}

.back-btn:hover { 
    background: var(--accent-blue); 
    box-shadow: 0 0 20px rgba(37, 99, 235, 0.4); 
    transform: translateY(-2px);
}

/* --- ОСТАЛЬНЫЕ СТИЛИ --- */
#mobile-lock {
    display: none;
    position: fixed;
    top: 0; left: 0; width: 100%; height: 100%;
    background: #060b16;
    z-index: 9999;
    flex-direction: column;
    align-items: center; justify-content: center;
    text-align: center; padding: 20px;
}

@media (max-width: 768px) {
    #mobile-lock { display: flex; }
}

.map-nav {
    position: absolute;
    top: 0; left: 0; width: 100%; height: 60px;
    background: var(--glass);
    backdrop-filter: blur(10px);
    display: flex; align-items: center; justify-content: center;
    z-index: 1000; border-bottom: 1px solid rgba(255,255,255,0.1);
}

.nav-title { font-family: 'Orbitron'; letter-spacing: 2px; font-size: 1rem; color: white; }

#map { width: 100%; height: 100vh; background: var(--map-void); }

.map-menu {
    position: absolute; top: 80px; left: 20px; z-index: 1000;
    background: var(--glass); padding: 20px; border-radius: 15px;
    border: 1px solid rgba(255,255,255,0.1); backdrop-filter: blur(15px); width: 230px;
}

.menu-section { margin-bottom: 15px; }
.menu-title { font-family: 'Orbitron'; font-size: 0.65rem; color: var(--light-blue); margin-bottom: 10px; display: block; }
.layer-item { display: flex; align-items: center; margin-bottom: 8px; cursor: pointer; font-size: 0.85rem; color: var(--silver); }
.layer-item input { margin-right: 10px; }

.custom-marker { 
    display: flex; align-items: center; justify-content: center; 
}

.leaflet-popup-content-wrapper { background: #111827; color: white; border-radius: 10px; border: 1px solid var(--accent-blue); }

