/* ===== МОБИЛЬНЫЙ DROPDOWN (МАКСИМАЛЬНО КОМПАКТНЫЙ) ===== */

.header-menu__dropdown-mob {
    position: absolute;
    left: 0; 
    width: 100%;
    background: #fff;
    box-shadow: 0 8px 20px rgba(0,0,0,0.12);
    display: none;
    z-index: 10000;
}

.header-menu__dropdown-mob.active { 
    display: block; 
}

.header-menu__grid-mob {
    display: flex;
    flex-direction: column;
    padding: 0 15px; /* Боковые отступы сохраняем */
    gap: 0; /* Убираем лишние зазоры между блоками */
}

/* Кнопка сброса */
.header-menu__reset-mob {
    padding: 10px 15px;
    border-bottom: 1px solid #f0f0f0;
    color: #167f2b;
    font-size: 14px;
    cursor: pointer;
    font-weight: 700;
}

/* Строки уровней с горизонтальной линией 1px */
.header-menu__col-mob {
    width: 100%;
    padding: 6px 0; /* Уменьшили с 12px до 6px */
    border-bottom: 1px solid #e0e0e0;
}

.header-menu__col-mob:last-child {
    border-bottom: none;
}

/* Видимость уровней */
.header-menu__col-mob:not(.header-menu__col--main-mob) {
    display: none;
}

.header-menu__col-mob.visible {
    display: block;
}

/* 1 УРОВЕНЬ: Название (17px bold, 1a1a1a) */
.header-menu__item-mob {
    font-size: 17px;
    font-weight: 700;
    color: #1a1a1a;
    line-height: 1.2; /* Ужали межстрочку */
}

/* ПОДЗАГОЛОВКИ УРОВНЕЙ (17px semibold, 1a1a1a) */
.header-menu__title-mob {
    font-size: 17px;
    font-weight: 600;
    color: #1a1a1a;
    margin-bottom: 3px; /* Уменьшили с 8px до 3px */
    line-height: 1.2;
}

/* СПИСКИ (Столбец) */
.header-menu__list-mob {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Прячем всё после 3-го элемента в ограниченном списке */
.header-menu__list-mob.limited div:nth-child(n+4) {
    display: none;
}

/* Когда список "открыт", показываем всё */
.header-menu__list-mob.opened div {
    display: block !important;
}

/* Кнопка Показать все / Скрыть */
.header-menu__toggle-mob {
    color: #167f2b;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 2px;
    text-decoration: underline;
}

/* ВАРИАНТЫ ТЕКСТА (16px) */
.header-menu__list-mob div {
    cursor: pointer;
    font-size: 16px;
    color: #333;
    padding: 10px 0; /* Минимальное расстояние между вариантами */
    width: 100%;
    transition: 0.2s;
    line-height: 1.2;
}

/* Активный выбранный элемент */
.header-menu__list-mob div.active {
    color: #167f2b;
    font-weight: 700;
}

/* Логика скрытия неактивных */
.header-menu__list-mob.has-selection div:not(.active) {
    display: none !important;
}

/* ФИНАЛЬНАЯ КНОПКА */
.header-menu__submit-wrap-mob {
    padding: 15px 15px; /* Уменьшили отступ сверху кнопки */
    text-align: center;
}

.header-menu__submit-btn-mob {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    background-color: #167f2b;
    color: #ffffff !important;
    font-size: 17px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 20px;
    width: 100%;
}

/* Скрываем кнопки Показать все, если в списке сделан выбор */
.header-menu__list-mob.has-selection + .header-menu__toggle-mob {
    display: none !important;
}

/* Скрытие элементов, которые не подходят под фильтр */
.header-menu__list-mob div.filtered-out {
    display: none !important;
}

/* 1. Добавляем ограничение по высоте и прокрутку для внутреннего контейнера */
.header-menu__dropdown-mob {
    /* ... ваши прошлые стили ... */
    max-height: 80vh; /* Ограничиваем меню по высоте (80% экрана) */
    overflow-y: auto; /* Включаем вертикальный скролл */
    scrollbar-width: thin; /* Для Firefox */
    scrollbar-color: #167f2b #f0f0f0; /* Для Firefox (бегунок и фон) */
}

