/* NEW MAP STYLES - LIGHT THEME */
.section-map-wsb {
    color: #333333;
    min-height: 600px;
    margin-bottom: 100px;
}

.section-map-wsb .sidebar {
    width: 100%;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    height: 600px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    overflow: hidden;
    border: 1px solid #e0e0e0;
}

.section-map-wsb .map-container {
    height: 600px;
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.section-map-wsb .map {
    width: 100%;
    height: 100%;
}

/* TABS - LIGHT THEME */
.section-map-wsb .tabs {
    display: flex;
    background: #ffffff;
    border-bottom: 1px solid #e0e0e0;
}

.section-map-wsb .tab {
    flex: 1;
    padding: 15px;
    text-align: center;
    cursor: pointer;
    background: #ffffff;
    border: none;
    font-size: 14px;
    color: #666666;
    transition: all 0.3s ease;
}

.section-map-wsb .tab:hover {
    background: #f0f2f5;
    color: #333333;
}

.section-map-wsb .tab.active {
    background: #5A7FFF;
    color: white;
}

.section-map-wsb .tab-content {
    flex: 1;
    padding: 20px;
    overflow-y: scroll;
    display: none;
    background: #F8F8F8;
}

.section-map-wsb .tab-content.active {
    display: block;
}

/* INTERACTIVE CATEGORY HEADERS - LIGHT THEME */
.section-map-wsb .category-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    margin-bottom: 8px;
    background: #f8f9fa;
    border-radius: 8px;
    cursor: pointer;
    border: 1px solid #e0e0e0;
    transition: all 0.3s ease;
}

.section-map-wsb .category-header:hover {
    background: #e9ecef;
    border-color: #4CAF50;
}

.section-map-wsb .category-header.active {
    background: #e8f5e8;
    border-color: #4CAF50;
}

.section-map-wsb .category-title {
    font-weight: 600;
    font-size: 16px;
    color: #333333;
}

/* Кнопка закрытия (крестик) */
.section-map-wsb .category-close-btn {
    cursor: pointer;
    font-size: 18px;
    color: #999;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s ease;
}

.section-map-wsb .category-close-btn:hover {
    background-color: #e0e0e0;
    color: #333;
}

/* SUBCATEGORIES - LIGHT THEME */
.section-map-wsb .subcategory {
    margin-left: 20px;
    margin-bottom: 12px;
}

.section-map-wsb .subcategory-title {
    font-weight: 600;
    margin-bottom: 8px;
    color: #555555;
    font-size: 14px;
    padding-left: 12px;
    border-left: 3px solid #4CAF50;
}

/* PLACE ITEMS - LIGHT THEME */
.section-map-wsb .place-item {
    background: #ffffff;
    padding: 16px;
    margin-bottom: 8px;
    border-radius: 8px;
    cursor: pointer;
    border: 1px solid #e0e0e0;
    border-left: 4px solid #4CAF50; /* Вертикальная полоска */
    transition: all 0.3s ease;
    font-size: 14px;
    position: relative;
}

.section-map-wsb .place-item:hover {
    background: #f0f7ff;
    transform: translateX(4px);
    border-color: #4CAF50;
}

.section-map-wsb .place-item.hidden {
    display: none;
}

.section-map-wsb .place-name {
    font-weight: 600;
    margin-bottom: 6px;
    color: #333333;
    font-size: 14px;
}

.section-map-wsb .place-address {
    color: #666666;
    font-size: 12px;
    margin-bottom: 6px;
}

.section-map-wsb .place-phone {
    color: #666666;
    font-size: 12px;
    margin-bottom: 6px;
}

.section-map-wsb .place-phone a {
    color: #007bff;
    text-decoration: none;
}

.section-map-wsb .place-phone a:hover {
    text-decoration: underline;
}

.section-map-wsb .place-property {
    font-size: 11px;
    margin-bottom: 4px;
}

.section-map-wsb .place-accessibility {
    color: #4CAF50;
}

.section-map-wsb .place-free_entry {
    color: #2196F3;
}

.section-map-wsb .place-outdoor {
    color: #FF9800;
}

.section-map-wsb .place-wifi {
    color: #9C27B0;
}

.section-map-wsb .route-button {
    background: #4CAF50;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    margin-top: 8px;
    font-size: 12px;
    width: 100%;
    transition: background 0.3s ease;
}

.section-map-wsb .route-button:hover {
    background: #45a049;
}

/* FILTERS - LIGHT THEME */
.section-map-wsb .filter-group {
    background: #FFF;
    padding: 16px;
    margin-bottom: 16px;
    border-radius: 4px;
}

.section-map-wsb .filter-title {
    font-weight: 600;
    margin-bottom: 12px;
    color: #333333;
    font-size: 16px;
}

/* Основной стиль для пунктов фильтра (без выделения фона) */
.section-map-wsb .filter-option {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    border-radius: 6px;
    transition: background 0.3s ease;
    border: 1px solid transparent; /* Прозрачная граница по умолчанию */
    cursor: pointer;
    user-select: none; /* Запрет выделения текста */
}

/* Стиль для главных категорий */
.section-map-wsb .filter-main-cat {
    font-weight: 600;
    font-size: 16px;
    line-height: 130%;
}

/* Стилизация чекбоксов */
.section-map-wsb input[type="checkbox"] {
    display: none;
}

.section-map-wsb input[type="checkbox"] + label::before {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-right: 10px;
    vertical-align: middle;
    position: relative;
    top: -1px;
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='16' height='16' rx='3' fill='white'/%3E%3Crect x='1' y='1' width='16' height='16' rx='3' stroke='%23A2C1FF' stroke-width='2'/%3E%3C/svg%3E");
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
}

.section-map-wsb input[type="checkbox"]:checked + label::before {
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='16' height='16' rx='3' fill='%236993FF'/%3E%3Crect x='1' y='1' width='16' height='16' rx='3' stroke='%236993FF' stroke-width='2'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M13.7092 7.57761C13.8002 7.49296 13.8727 7.39171 13.9227 7.27976C13.9726 7.16781 13.9989 7.0474 14 6.92557C14.0011 6.80373 13.977 6.6829 13.9291 6.57013C13.8812 6.45736 13.8104 6.35491 13.721 6.26876C13.6316 6.1826 13.5252 6.11447 13.4081 6.06833C13.2911 6.02219 13.1656 5.99898 13.0392 6.00003C12.9127 6.00109 12.7877 6.02641 12.6715 6.0745C12.5553 6.12259 12.4501 6.19249 12.3623 6.28013L7.64708 10.8222L5.62669 8.876C5.53825 8.79075 5.43325 8.72311 5.31767 8.67695C5.20209 8.63079 5.07821 8.607 4.95309 8.60696C4.70041 8.60688 4.45803 8.70349 4.27929 8.87554C4.10055 9.0476 4.00009 9.28101 4 9.52442C3.99991 9.76783 4.1002 10.0013 4.27882 10.1735L6.90599 12.7042C7.00329 12.798 7.11883 12.8724 7.24598 12.9231C7.37314 12.9739 7.50944 13 7.64708 13C7.78472 13 7.92102 12.9739 8.04818 12.9231C8.17534 12.8724 8.29087 12.798 8.38818 12.7042L13.7092 7.57761Z' fill='white'/%3E%3C/svg%3E");
}

/* Стиль для главного чекбокса с частичным выбором */
.section-map-wsb .filter-main-cat input[type="checkbox"]:indeterminate + label::before {
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1' y='1' width='16' height='16' rx='3' fill='%236993FF'/%3E%3Crect x='1' y='1' width='16' height='16' rx='3' stroke='%236993FF' stroke-width='2'/%3E%3Crect x='5' y='8' width='8' height='2' rx='1' fill='white'/%3E%3C/svg%3E");
}

.section-map-wsb .filter-main-cat input[type="checkbox"] + label::before {
    margin-right: 10px;
}

/* SVG иконка стрелки для главной категории в фильтрах */
.section-map-wsb .filter-expand-icon {
    margin-left: auto;
    cursor: pointer;
    transition: transform 0.3s ease;
    padding: 0 4px;
    width: 20px;
    pointer-events: none;
}

/* Убираем счетчики */
.section-map-wsb .category-count,
.section-map-wsb .filter-count {
    display: none;
}

.section-map-wsb .filter-sub-container.collapsed {
    display: none;
}

.section-map-wsb .filter-suboption {
    margin-left: 24px;
    padding: 6px 12px;
    border-radius: 6px;
    transition: background 0.3s ease;
    border: 1px solid transparent;
    cursor: pointer;
    user-select: none; /* Запрет выделения текста */
    font-weight: 400;
    font-size: 14px;
    line-height: 130%;
}

/* BALLOON STYLES */
.section-map-wsb .balloon-content-wrapper {
    font-family: "Raleway", Helvetica;
    padding: 6px 0px 0px 16px;
    width: 250px;
    height: 100%;
    position: relative;
}

.section-map-wsb .balloon-content-card {
    /*width: calc(100% + 20px);*/
    height: 100%;
    overflow: hidden;
}

.section-map-wsb .balloon-image-wrapper {
    width: 100%;
    height: 130px;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 12px;
    position: relative;
}

.section-map-wsb .balloon-image {
    width: 100%;
    display: block;
}

.section-map-wsb .balloon-title {
    margin: 0 0 8px 0;
    color: #2d3748;
    font-weight: 700;
    font-size: 14px;
    line-height: 130%;
}

.section-map-wsb .balloon-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 8px;
}

.section-map-wsb .balloon-icon {
    margin-right: 8px;
    color: #4a5568;
    font-size: 14px;
    flex-shrink: 0;
}

.section-map-wsb svg.balloon-phone-icon{
    position: relative;
    top: 2px;
}
.section-map-wsb svg.balloon-location-icon{
    position: relative;
    top: 1px;
}
.section-map-wsb svg.balloon-check-icon{
    position: relative;
    top: -2px;
}

.section-map-wsb .balloon-text {
    font-weight: 500;
    color: #4a5568;
    font-size: 14px;
    line-height: 1.4;
    flex: 1;
}

.section-map-wsb .balloon-link {
    color: #2d3748;
    text-decoration: none;
}

.section-map-wsb .balloon-link:hover {
    text-decoration: underline;
}

.section-map-wsb .balloon-button-wrapper {
    margin-top: 16px;
    text-align: center;
}

.section-map-wsb .balloon-route-button {
    background: #4CAF50;
    color: white;
    border: none;
    padding: 8px 16px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
}

.section-map-wsb .balloon-route-button:hover {
    background: #45a049;
}

/* MESSAGES */
.section-map-wsb .no-results {
    text-align: center;
    padding: 40px;
    color: #999999;
    font-style: italic;
    background: #f8f9fa;
    border-radius: 8px;
    margin: 20px 0;
    border: 1px solid #e0e0e0;
}

.section-map-wsb .no-places {
    text-align: center;
    padding: 40px;
    color: #999999;
    font-style: italic;
    background: #f8f9fa;
    border-radius: 8px;
    margin: 20px 0;
    border: 1px solid #e0e0e0;
}

/* SCROLLBAR STYLING */
.section-map-wsb .tab-content::-webkit-scrollbar {
    width: 6px;
}

.section-map-wsb .tab-content::-webkit-scrollbar-track {
    background: #f0f2f5;
    border-radius: 3px;
}

.section-map-wsb .tab-content::-webkit-scrollbar-thumb {
    background: #4CAF50;
    border-radius: 3px;
}

.section-map-wsb .tab-content::-webkit-scrollbar-thumb:hover {
    background: #45a049;
}