/* ==========================================================================
   LEAFLET DARK THEME - Темная тема для Leaflet карты
   ========================================================================== */

/* ==========================================================================
   ОСНОВНЫЕ СТИЛИ КАРТЫ - Map Base Styles
   ========================================================================== */

.theme-dark .leaflet-container {
  background-color: var(--bg) !important;
  color: var(--text) !important;
}

.theme-dark .leaflet-tile {
  filter: brightness(0.6) invert(1) contrast(3) hue-rotate(200deg) saturate(0.3) brightness(0.7);
}

/* ==========================================================================
   КОНТРОЛЫ КАРТЫ - Map Controls
   ========================================================================== */

.theme-dark .leaflet-control-zoom {
  background-color: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
}

.theme-dark .leaflet-control-zoom a {
  background-color: var(--surface) !important;
  color: var(--text) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  transition: var(--transition) !important;
}

.theme-dark .leaflet-control-zoom a:hover {
  background-color: var(--surface-hover) !important;
  color: var(--accent) !important;
}

.theme-dark .leaflet-control-zoom a:active {
  background-color: var(--surface-active) !important;
}

/* ==========================================================================
   АТРИБУЦИЯ - Attribution
   ========================================================================== */

.theme-dark .leaflet-control-attribution {
  display: none !important;
  visibility: hidden !important;
}

/* ссылки атрибуции не отображаем */

/* Hide any flag icons (e.g., Ukraine flag) inside attribution globally */
.theme-dark .leaflet-control-attribution img[alt*="flag"],
.theme-dark .leaflet-control-attribution img[alt*="Flag"],
.theme-dark .leaflet-control-attribution img[alt*="UA"],
.theme-dark .leaflet-control-attribution img[alt*="Ukraine"],
.theme-dark .leaflet-control-attribution .leaflet-attribution-flag,
.leaflet-control-attribution img[alt*="flag"],
.leaflet-control-attribution img[alt*="Flag"],
.leaflet-control-attribution img[alt*="UA"],
.leaflet-control-attribution img[alt*="Ukraine"],
.leaflet-control-attribution .leaflet-attribution-flag {
  display: none !important;
  visibility: hidden !important;
}

/* ==========================================================================
   ПОПАПЫ - Popups
   ========================================================================== */

.theme-dark .leaflet-popup-content-wrapper {
  background-color: var(--surface) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-lg) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: var(--space) !important;
}

.theme-dark .leaflet-popup-tip {
  background-color: var(--surface) !important;
  border: 1px solid var(--border) !important;
}

.theme-dark .leaflet-popup-close-button {
  color: var(--text-muted) !important;
  font-size: var(--font-size-lg) !important;
  font-weight: var(--font-weight-bold) !important;
  padding: var(--space-sm) !important;
  transition: var(--transition) !important;
}

.theme-dark .leaflet-popup-close-button:hover {
  color: var(--accent) !important;
  background-color: var(--surface-hover) !important;
  border-radius: var(--radius-sm) !important;
}

/* ==========================================================================
   МАРКЕРЫ - Markers
   ========================================================================== */

.theme-dark .leaflet-marker-icon {
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));
}

/* ==========================================================================
   ЛЕГЕНДА - Legend
   ========================================================================== */

.theme-dark .leaflet-control-layers {
  background-color: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
}

.theme-dark .leaflet-control-layers-toggle {
  background-color: var(--surface) !important;
  color: var(--text) !important;
  border: none !important;
  border-radius: var(--radius-sm) !important;
  transition: var(--transition) !important;
}

.theme-dark .leaflet-control-layers-toggle:hover {
  background-color: var(--surface-hover) !important;
  color: var(--accent) !important;
}

.theme-dark .leaflet-control-layers-expanded {
  background-color: var(--surface) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
  padding: var(--space) !important;
}

.theme-dark .leaflet-control-layers label {
  color: var(--text) !important;
  font-weight: var(--font-weight-medium) !important;
}

.theme-dark .leaflet-control-layers input[type="radio"],
.theme-dark .leaflet-control-layers input[type="checkbox"] {
  accent-color: var(--accent) !important;
}

/* ==========================================================================
   МАСШТАБ - Scale
   ========================================================================== */

.theme-dark .leaflet-control-scale {
  background-color: var(--surface) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-sm) !important;
}

.theme-dark .leaflet-control-scale-line {
  background-color: var(--surface) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
}

/* ==========================================================================
   ПОИСК - Search
   ========================================================================== */

.theme-dark .leaflet-control-search {
  background-color: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow) !important;
}

.theme-dark .leaflet-control-search input {
  background-color: var(--input-bg) !important;
  color: var(--input-text) !important;
  border: 1px solid var(--input-border) !important;
  border-radius: var(--radius) !important;
  padding: var(--space-sm) var(--space) !important;
  font-size: var(--font-size-sm) !important;
}

.theme-dark .leaflet-control-search input:focus {
  border-color: var(--input-focus) !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1) !important;
  outline: none !important;
}

.theme-dark .leaflet-control-search .search-button {
  background-color: var(--accent) !important;
  color: var(--accent-contrast) !important;
  border: none !important;
  border-radius: var(--radius) !important;
  padding: var(--space-sm) var(--space) !important;
  transition: var(--transition) !important;
}

.theme-dark .leaflet-control-search .search-button:hover {
  background-color: var(--accent-hover) !important;
}

/* ==========================================================================
   КОНТЕКСТНОЕ МЕНЮ - Context Menu
   ========================================================================== */

.theme-dark .leaflet-contextmenu {
  background-color: var(--surface) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius) !important;
  box-shadow: var(--shadow-lg) !important;
  padding: var(--space-xs) 0 !important;
}

.theme-dark .leaflet-contextmenu-item {
  color: var(--text) !important;
  padding: var(--space-sm) var(--space) !important;
  transition: var(--transition) !important;
  border-radius: var(--radius-sm) !important;
  margin: var(--space-xs) !important;
}

.theme-dark .leaflet-contextmenu-item:hover {
  background-color: var(--surface-hover) !important;
  color: var(--accent) !important;
}

.theme-dark .leaflet-contextmenu-separator {
  border-top: 1px solid var(--border) !important;
  margin: var(--space-xs) 0 !important;
}

/* ==========================================================================
   АДАПТИВНОСТЬ - Responsive
   ========================================================================== */

@media (max-width: 768px) {
  .theme-dark .leaflet-control-zoom {
    margin: var(--space-sm) !important;
  }
  
  .theme-dark .leaflet-control-attribution {
    font-size: var(--font-size-xs) !important;
    padding: var(--space-xs) var(--space-sm) !important;
  }
  
  .theme-dark .leaflet-popup-content-wrapper {
    padding: var(--space-sm) !important;
  }
}

@media (max-width: 576px) {
  .theme-dark .leaflet-control-zoom a {
    width: 32px !important;
    height: 32px !important;
    line-height: 30px !important;
    font-size: var(--font-size-sm) !important;
  }
  
  .theme-dark .leaflet-control-attribution {
    font-size: 10px !important;
    padding: 2px var(--space-xs) !important;
  }
}
