/* Список городов - современный стиль */
.sbAllRegions {
    font-size: 18px; /* Увеличиваем размер шрифта */
    line-height: 1.6; /* Увеличиваем межстрочный интервал */
    margin-left: 200px; /* Уменьшаем отступ слева */
    color: #333; /* Темно-серый цвет текста */
}

.sbAllRegions a {
    text-decoration: none; /* Убираем подчеркивание */
    color: #0066cc; /* Синий цвет ссылок */
    transition: color 0.2s ease, background-color 0.2s ease; /* Плавные переходы */
    padding: 3px 5px; /* Добавляем отступы вокруг ссылок */
    border-radius: 3px; /* Скругляем углы */
}

.sbAllRegions a:hover {
    color: #333; /* Темный цвет текста при наведении */
    background-color: #ffeb3b; /* Желтый фон при наведении */
    text-decoration: none; /* Убедимся, что подчеркивания нет */
}

.sbIsRegionalCity {
    font-weight: bold;
    color: #004080; /* Более темный синий для областных центров */
}

/* Дерево городов - современный стиль */
ul.ul-treefree { 
    padding-left: 20px; 
}

ul.ul-treefree ul { 
    margin: 8px 0; /* Увеличиваем отступы между группами */
    padding-left: 15px; 
}

ul.ul-treefree li { 
    position: relative; 
    list-style: none outside none; 
    border-left: solid 2px #ddd; /* Более светлая и толстая линия */
    margin: 5px 0; /* Увеличиваем отступы между пунктами */
    padding: 0 0 0 25px; /* Увеличиваем отступ слева */
}

ul.ul-treefree li:before { 
    content: ''; 
    display: block; 
    border-bottom: solid 2px #ddd; /* Более светлая и толстая линия */
    position: absolute; 
    width: 20px; 
    height: 15px; 
    left: 0; 
    top: 0; 
}

ul.ul-treefree li:last-child { 
    border-left: 0 none; 
}

ul.ul-treefree li:last-child:before { 
    border-left: solid 2px #ddd; /* Более светлая и толстая линия */
}

/* Иконка раскрытия/закрытия */
ul.ul-dropfree div.drop {
    width: 16px;
    height: 16px;
    position: absolute;
    z-index: 10;
    top: 6px;
    left: -8px;
    background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTE2LjU5IDguNTlMMTIgMTMuMTcgNy40MSA4LjU5IDYgMTBsNiA2IDYtNnoiIGZpbGw9IiMwMDY2Y2MiLz48L3N2Zz4=');
    background-size: contain;
    background-repeat: no-repeat;
    cursor: pointer;
    transition: transform 0.2s ease;
}

ul.ul-dropfree div.drop:hover {
    opacity: 0.8;
}

/* Стиль для открытого состояния */
ul.ul-dropfree ul.show {
    display: block;
}

/* Адаптивность для мобильных устройств */
@media (max-width: 768px) {
    .sbAllRegions {
        margin-left: 20px;
    }
    
    ul.ul-treefree li {
        padding-left: 20px;
    }
}