/* ============================================================
   Балун Яндекс.Карт
   Тёмная тема: графит #1a1a1a + золото #aa9974 (unionsk.ru)
   ============================================================ */

/* Принудительный тёмный балун: перекрываем светлые стили Яндекса.
   Высокая специфичность + !important на ключевых свойствах. */
.aps-balloon {
    font-size: 13px;
    line-height: 1.5;
    max-width: 280px;
    background: var(--surface-3);
    color: #e0e0e0;
    padding: 2px;
}

.aps-balloon h4 {
    margin-bottom: 6px;
    color: #ffffff;
}

.aps-balloon .field {
    margin: 2px 0;
    color: #cfcfcf;
}

.aps-balloon .field b {
    color: #e0e0e0;
}

.aps-balloon .priority-badge {
    display: inline-block;
    padding: 2px 8px;
    border-radius: 0;
    color: #1a1a1a;
    font-size: 12px;
    font-weight: 600;
}

/* Семантические цвета приоритетов сохраняем (не перекрашиваем) */
.priority-high   { background: #ff1900; }
.priority-medium { background: #f15a0f; }
.priority-low    { background: #fbff00; color: #1a1a1a; }

.aps-balloon .tasks {
    margin-top: 8px;
    border-top: 1px solid var(--border);
    padding-top: 6px;
    color: #cfcfcf;
}

.aps-balloon .tasks ul {
    margin: 4px 0 0 16px;
    color: #cfcfcf;
}

.aps-balloon .tasks li {
    margin-bottom: 2px;
}

.aps-balloon .no-tasks {
    color: var(--text-secondary);
    font-style: italic;
}

/* Кнопка «Открыть карточку» в балуне */
.aps-balloon .balloon-actions {
    margin-top: 10px;
    border-top: 1px solid var(--border);
    padding-top: 8px;
}

.aps-balloon .btn-balloon {
    width: 100%;
    padding: 8px 12px;
    font-size: 13px;
    background: var(--brand);
    color: #1a1a1a;
    border: none;
    border-radius: 0;
    cursor: pointer;
    font-weight: 600;
}

.aps-balloon .btn-balloon:hover {
    background: var(--brand-hover);
}

/* Дополнительно: тёмный фон контейнера балуна Яндекса, если он
   попадает в наш DOM (не iframe). Не влияет на функциональность. */
.balloon__layout,
.balloon-view__container {
    background-color: transparent !important;
    border: none !important;
}

/* Белый контейнер Яндекс.Карт вокруг нашего балуна — полностью
   прозрачный. Селекторы с [class*=] перекрывают версионированные
   классы Яндекса вида .ymaps-2-1-79-balloon-view__container. */
div[class*="balloon-view__container"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

div[class*="balloon__layout"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

div[class*="balloon__tail"] {
    display: none !important;
}

/* Цельный тёмный вид балуна: обнуляем отступы стандартного
   контейнера, чтобы наш .aps-balloon прилегал вплотную. */
div[class*="balloon__content"],
div[class*="balloon-view__content"],
div[class*="balloon-view__body"],
div[class*="balloon__header"],
div[class*="balloon-view__header"],
div[class*="balloon-view__main"],
div[class*="balloon__main"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* --- Агрессивная маскировка белого балуна Яндекса ---
   Яндекс пересоздаёт DOM балуна асинхронно (например, после анимированного
   setCenter), поэтому JS-зачистки (balloon.js) может не хватать. Эти правила
   работают всегда, пока элементы находятся в DOM карты (#map).
   Используем ТОЛЬКО версионированные селекторы Яндекса с двойным
   подчёркиванием (balloon-view__..., balloon__...): наш .aps-balloon и его
   подклассы (.balloon-actions — кнопка «Открыть карточку») используют
   одиночный дефис и НЕ матчатся, поэтому их оформление не пострадает. */
#map div[class*="balloon-view"],
#map div[class*="balloon__"] {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Псевдо-элементы Яндекса (хвост, рамка, градиент) могут рисовать белый
   фон/хвост вокруг нашего балуна — скрываем их. У .aps-balloon своих
   псевдо-элементов нет (хвоста нет), поэтому правило безопасно. */
#map div[class*="balloon-view"]::before,
#map div[class*="balloon-view"]::after,
#map div[class*="balloon__"]::before,
#map div[class*="balloon__"]::after {
    display: none !important;
}
