/* =========================================================
   ТОПО / Карта — светлая и тёмная тема интерфейса

   Слой относится только к /map/.
   Картографические подложки, точки и выбранный маркер
   здесь намеренно не меняются.
========================================================= */

/* Светлая карта: плотные тёплые панели поверх пёстрой подложки. */
.catalog-map-page{
    --map-panel-bg:rgba(255,250,242,.985);
    --map-panel-bg-soft:rgba(255,250,242,.96);
    --map-control-bg:rgba(255,255,255,.92);
    --map-control-hover:#f7faf7;
    --map-panel-border:rgba(73,66,57,.28);
    --map-inner-border:rgba(73,66,57,.18);
    --map-panel-text:#2f2a24;
    --map-panel-muted:#62594f;
    --map-panel-shadow:
        0 2px 6px rgba(43,35,27,.18),
        0 16px 36px rgba(43,35,27,.20);
    --map-control-shadow:
        0 2px 5px rgba(43,35,27,.14),
        0 8px 20px rgba(43,35,27,.16);
}

/* Тёмная карта использует существующую палитру фронта. */
html[data-theme="dark"] .catalog-map-page{
    --map-panel-bg:rgba(42,36,31,.97);
    --map-panel-bg-soft:rgba(38,33,29,.96);
    --map-control-bg:rgba(38,33,29,.94);
    --map-control-hover:var(--color-surface);
    --map-panel-border:rgba(255,255,255,.18);
    --map-inner-border:rgba(255,255,255,.12);
    --map-panel-text:var(--color-fg);
    --map-panel-muted:var(--color-muted);
    --map-panel-shadow:
        0 2px 8px rgba(0,0,0,.34),
        0 18px 42px rgba(0,0,0,.42);
    --map-control-shadow:
        0 2px 6px rgba(0,0,0,.28),
        0 10px 24px rgba(0,0,0,.34);
}

/* =========================================================
   Основные плавающие поверхности
========================================================= */

/*
 * .catalog-filter-panel и .object-preview — общие компоненты
 * с /catalog/, свою тему для них тут больше не заводим: тёмная тема
 * уже приходит для них общим правилом (theme_dark.css, теперь
 * подключён и на /map/). Остаётся только своя заглушка
 * «загружаем»/«ошибка» — у неё на каталоге аналога нет.
 */
.catalog-map-page .catalog-map-passport-panel__state{
    background:var(--map-panel-bg);
    border-color:var(--map-panel-border);
    color:var(--map-panel-text);
    box-shadow:var(--map-panel-shadow);
}

.catalog-map-page .catalog-map-search__field,
.catalog-map-page .catalog-map-search__results,
.catalog-map-page .catalog-map-basemap-switcher,
.catalog-map-page .catalog-map-loading{
    background:var(--map-panel-bg);
    border-color:var(--map-panel-border);
    color:var(--map-panel-text);
    box-shadow:var(--map-control-shadow);
}

/* =========================================================
   Поиск
========================================================= */

.catalog-map-page .catalog-map-search__input,
.catalog-map-page .catalog-map-search__option-name{
    color:var(--map-panel-text);
}

.catalog-map-page .catalog-map-search__input::placeholder,
.catalog-map-page .catalog-map-search__option-meta,
.catalog-map-page .catalog-map-search__more,
.catalog-map-page .catalog-map-search__empty{
    color:var(--map-panel-muted);
}

.catalog-map-page .catalog-map-search__clear{
    background:var(--map-control-bg);
    color:var(--map-panel-muted);
}

.catalog-map-page .catalog-map-search__clear:hover,
.catalog-map-page .catalog-map-search__option:hover,
.catalog-map-page .catalog-map-search__option.is-active,
.catalog-map-page .catalog-map-search__more{
    background:var(--map-control-hover);
    color:var(--map-panel-text);
}

.catalog-map-page .catalog-map-search__field:focus-within{
    border-color:#73a884;
    box-shadow:
        0 0 0 3px rgba(79,155,105,.20),
        var(--map-control-shadow);
}

/* =========================================================
   Переключатель подложек и масштаб
========================================================= */

.catalog-map-page .catalog-map-basemap-button,
.catalog-map-page .catalog-map-zoom-button{
    background:var(--map-control-bg);
    border-color:var(--map-inner-border);
    color:var(--map-panel-text);
}

.catalog-map-page .catalog-map-basemap-button:hover,
.catalog-map-page .catalog-map-zoom-button:hover{
    background:var(--map-control-hover);
    border-color:#8fb69b;
    color:var(--map-panel-text);
}

.catalog-map-page .catalog-map-basemap-button.is-active{
    background:#4f9b69;
    border-color:#4f9b69;
    color:#fff;
}

.catalog-map-page .catalog-map-basemap-switcher__row--tools{
    border-top-color:var(--map-inner-border);
}



/* =========================================================
   Фильтры карты
========================================================= */

.catalog-map-page .catalog-filter-chip,
.catalog-map-page .catalog-type-filter-group,
.catalog-map-page .catalog-type-filter-type{
    background:var(--map-panel-bg-soft);
    border-color:var(--map-inner-border);
    color:var(--map-panel-text);
}

.catalog-map-page .catalog-filter-chip:hover,
.catalog-map-page .catalog-type-filter-group__title:hover,
.catalog-map-page .catalog-type-filter-group.open,
.catalog-map-page .catalog-type-filter-group.open .catalog-type-filter-group__title,
.catalog-map-page .catalog-type-filter-group.open .catalog-type-filter-group__title:hover,
.catalog-map-page .catalog-type-filter-type:hover{
    background:var(--map-control-hover);
    border-color:var(--map-panel-border);
}

.catalog-map-page .catalog-filter-chip.active,
.catalog-map-page .catalog-filter-chip.is-active,
.catalog-map-page .catalog-type-filter-type.active,
.catalog-map-page .catalog-type-filter-type.active:hover{
    background:var(--color-primary);
    border-color:var(--color-primary);
    color:#fffaf4;
}

.catalog-map-page .catalog-filter-panel__head strong,
.catalog-map-page .catalog-filter-title,
.catalog-map-page .catalog-type-filter-group__title,
.catalog-map-page .catalog-type-filter-group__name,
.catalog-map-page .catalog-type-filter-type{
    color:var(--map-panel-text);
}

.catalog-map-page .catalog-filter-panel__status,
.catalog-map-page .catalog-type-filter__info,
.catalog-map-page .catalog-type-filter-group__meta,
.catalog-map-page .catalog-type-filter-group__arrow,
.catalog-map-page .catalog-type-filter-type em{
    color:var(--map-panel-muted);
}

.catalog-map-page .catalog-type-filter-type b{
    background:var(--map-control-bg);
}

/* =========================================================
   Паспорт выбранного объекта
========================================================= */

.catalog-map-page .object-preview__title,
.catalog-map-page .object-preview__base-value,
.catalog-map-page .object-preview-registry,
.catalog-map-page .object-facts__metric-value,
.catalog-map-page .object-facts__text,
.catalog-map-page .object-facts__value,
.catalog-map-page .object-facts__item-name,
.catalog-map-page .object-facts__source-title,
.catalog-map-page .object-facts__source-text,
.catalog-map-page .object-facts__share-value,
.catalog-map-page .object-toponymics__short-meaning-text,
.catalog-map-page .object-toponymics__relation{
    color:var(--map-panel-text);
}

/*
 * Тёплая подсветка блока «Топонимика» (.object-toponymics__short-meaning,
 * градиент + терракотовая полоса слева — object_toponymics.css) раньше
 * гасилась здесь до плоского --map-panel-bg-soft, тем же серым тоном,
 * что и у остальных плавающих панелей карты. На карте эта подсветка
 * важнее, чем в каталоге — паспорт и так меньше выделяется на пёстром
 * фоне, а без градиента «Топонимика» вообще перестаёт читаться как
 * отдельный акцентный блок. Ничего своего тут не задаём: и светлая
 * (object_toponymics.css), и тёмная (catalog/theme_dark.css) версия
 * уже готовы и специфичнее общих цветов --map-panel-*, срабатывают
 * сами, без переопределения.
 */

.catalog-map-page .object-preview__base-label,
.catalog-map-page .object-preview__body,
.catalog-map-page .object-preview-registry__muted,
.catalog-map-page .object-facts__metric-label,
.catalog-map-page .object-facts__title,
.catalog-map-page .object-facts__label,
.catalog-map-page .object-facts__text--muted,
.catalog-map-page .object-facts__source-meta,
.catalog-map-page .object-facts__empty,
.catalog-map-page .object-facts__share-label,
.catalog-map-page .object-toponymics__evidence,
.catalog-map-page .object-toponymics__empty-text,
.catalog-map-page .catalog-map-passport-panel__state{
    color:var(--map-panel-muted);
}

.catalog-map-page .object-facts--loading .object-facts__empty,
.catalog-map-page .object-facts--error .object-facts__empty,
.catalog-map-page .object-facts__item-km,
.catalog-map-page .geo-fact,
.catalog-map-page .geo-fact--district{
    background:var(--map-panel-bg-soft);
    border-color:var(--map-inner-border);
    color:var(--map-panel-text);
}

.catalog-map-page .object-facts__metrics,
.catalog-map-page .object-facts__metric:not(:last-child),
.catalog-map-page .object-facts__block,
.catalog-map-page .object-facts__row,
.catalog-map-page .object-facts__item,
.catalog-map-page .object-facts__shares,
.catalog-map-page .object-facts__source,
.catalog-map-page .object-preview-registry{
    border-color:var(--map-inner-border);
}

/* =========================================================
   Карточки и подсказки непосредственно на карте
========================================================= */

.catalog-map-page .catalog-map-card__name,
.catalog-map-page .catalog-map-tooltip{
    color:var(--map-panel-text);
}

.catalog-map-page .catalog-map-card__district,
.catalog-map-page .catalog-map-card__meta{
    color:var(--map-panel-muted);
}

.catalog-map-page .catalog-map-tooltip{
    background:var(--map-panel-bg);
    border-color:var(--map-panel-border);
    box-shadow:var(--map-control-shadow);
}

/* Рамка группы типов при наведении на её заголовок — как у чипов. */
.catalog-map-page .catalog-type-filter-group:has(> .catalog-type-filter-group__title:hover){
    border-color:var(--map-panel-border);
}
