

/* Start:/local/components/spll/interact.map/templates/default-b2b/style.css?178483217534686*/
/* Индикатор загрузки */
.loading-indicator {
    position: absolute;
    top: 10px;
    right: 10px;
    background: var(--bg-page);
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
    z-index: 1000;
    min-width: 250px;
    max-width: 300px;
}

.loading-indicator h4 {
    margin: 0 0 10px 0;
    font-size: 14px;
    color: var(--t-color-3);
    font-weight: 600;
}

.loading-progress-container {
    width: 100%;
    height: 10px;
    background: #f0f0f0;
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 8px;
}

.loading-progress-bar {
    height: 100%;
    background: linear-gradient(90deg, #1E98FF, #4CAF50);
    transition: width 0.5s ease;
}

.loading-stats {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    color: #666;
}

.loading-stats span {
    font-weight: 600;
    color: #333;
}

.map-sidebar-shell {
    z-index: 3 !important;
}

/* Карусель в балуне кластера */
.ymaps-2-1-79-balloon {
    background: var(--bg-page);
    border: 1px solid var(--border-color-2);
    border-radius: 16px;
    max-width: 440px;
    padding: 16px !important;
    overflow: hidden;

    .ymaps-2-1-79-balloon__content>ymaps {
        width: 100% !important;
    }

    .ymaps-2-1-79-balloon__tail {
        display: none;
    }
}

.ymaps-2-1-79-balloon__content {
    padding: 0 !important;
}

/* Стили для балуна */
.ymaps-2-1-79-balloon__close-button {
    width: 12px !important;
    height: 12px !important;
    top: 16px !important;
    right: 16px !important;
    padding: 0 !important;
    opacity: 1;
    transition: opacity 0.2s;
    background: none !important;
}

.ymaps-2-1-79-balloon__close-button::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    background: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0.800656 10.4L10.4 0.800049M0.800049 0.800079L10.3994 10.4' stroke='%230A1A3E' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") center/12px 12px no-repeat !important;
}

.ymaps-2-1-79-balloon__close-button::after,
.ymaps-2-1-79-balloon__close-button svg,
.ymaps-2-1-79-balloon__close-button path,
.ymaps-2-1-79-balloon__close-button img {
    display: none !important;
}

.ymaps-2-1-79-balloon__close-button:hover {
    opacity: 0.75;
}


/* Общий контейнер */
.interact-map-wrapper {
    position: relative;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}


/* Чекбоксы в стиле Quasar */
.q-checkbox {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    position: relative;
    user-select: none;
    /* Убираем space-between и reverse, чтобы было как на референсе (слева чекбокс, потом текст) */
    justify-content: space-between;
    gap: var(--space-8);
    width: 100%;
}

.q-checkbox__inner {
    width: 18px;
    height: 18px;
    border: 1px solid var(--q-primary);
    border-radius: 4px !important;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s, border-color 0.2s;
    position: relative;
    flex-shrink: 0;
}

/* Скрытый нативный чекбокс */
.q-checkbox__native {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

/* SVG галочка */
.q-checkbox__svg {
    width: 100% !important;
    height: 100% !important;
    color: #fff;
    opacity: 0;
    transform: scale(0);
    transition: opacity 0.2s, transform 0.2s;
    stroke: currentColor;
    stroke-width: 2px;
}

/* Состояние checked */
.q-checkbox__native:checked+.q-checkbox__bg .q-checkbox__svg {
    opacity: 1;
    transform: scale(1);
}

.q-checkbox__native:checked+.q-checkbox__bg {
    background: var(--q-primary);
    border-color: var(--q-primary);
}

.q-checkbox__bg {
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0 !important;
    left: 0 !important;
}

/* Center the SVG and show stroke on the path element. Ensure border and radius on bg so checkbox looks correct. */
.q-checkbox__bg {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border-radius: 4px;
    border: 1px solid var(--q-primary);
    background: transparent;
}

.q-checkbox__svg .q-checkbox__truthy {
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    fill: none;
}

/* Ensure any SVG markup (filled or stroked) inside the checkbox uses currentColor
   so both filled paths (like the 10x8 check) and stroked paths become visible. */
.q-checkbox__svg path {
    fill: currentColor !important;
    stroke: currentColor;
    stroke-width: 2;
}

.q-checkbox__label {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.bx-yandex-view-layout {
    margin-top: 0;
    transition: margin-top .3s linear;
    flex-grow: 1;
    display: flex;
    position: relative;
    width: 100%;
    height: 100%;
}

.bx-yandex-view-map {
    width: 100%;
    height: 100%;
}

.interact-map-wrapper {
    min-height: calc(100dvh - 60px);
}

.interact-map-wrapper .bx-yandex-map {
    height: calc(100dvh - 60px) !important;
    min-height: 500px;
}

.map-sidebar-shell {
    position: absolute;
    top: 16px;
    left: 14px;
    bottom: 20px;
    width: calc(100% - 28px);
    max-width: 435px;
    z-index: 1;
}

.map-sidebar.filter {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    max-width: none;
    width: 100%;
    height: 100%;
    z-index: 1;
    flex-shrink: 0;
    box-sizing: border-box;
    border-radius: 24px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.map-export-btn {
    position: absolute;
    bottom: 0;
    left: calc(100% + 18px);
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 12px 24px;
    border-radius: 14px;
    border: none;
    background: #FFFFFF;
    color: var(--b2b-primary);
    font-size: 16px;
    font-weight: 500;
    white-space: nowrap;
    cursor: pointer;
    transition: color 0.3s ease-in-out;
}

.map-export-btn:hover {
    color: #FFFFFF;
    background: var(--b2b-primary);
}

.map-export-btn:disabled {
    opacity: 0.6;
    cursor: default;
    transform: none;
    box-shadow: 0 10px 24px rgba(10, 26, 62, 0.12);
}

.filter .filter__title {
    font-size: 20px;
    font-weight: 700;
    line-height: 120%;
    margin-bottom: 20px;
}

.filter .filter__checkboxes {
    height: 100%;
    overflow-y: auto;
    background-color: #fff;
    padding: 24px 16px;
    padding-right: 12px;
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    position: relative;
    box-sizing: border-box;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: #D9EFFF transparent;
}

.q-checkbox .t-3 {
    font-size: 14px;
    font-weight: 500;
}

#multi-fetch-progress {
    display: none;
    position: absolute;
    top: 10px;
    right: 10px;
    background: white;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    min-width: 290px;
    z-index: 1000;
}

#multi-fetch-progress .title {
    margin-bottom: 12px;
    font-weight: 600;
    font-size: 14px;
    color: #333;
}

#multi-fetch-progress .progress-item {
    margin-bottom: 12px;
}

.progress-item .wrapper-title {
    display: flex;
    justify-content: space-between;
    margin-bottom: 4px;
    font-size: 12px;
}

.progress-item .progress-bar-container {
    background: #f0f0f0;
    height: 6px;
    border-radius: 3px;
    overflow: hidden;
}

.progress-item .progress-bar-fill {
    width: 0%;
    height: 100%;
    background: #32D3FF;
    transition: width 0.3s;
}

.company-title,
.promTourism-title,
.investmentProject-title,
.investmentPlatform-title,
.industrialPark-title {
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--b2b-accent);
}

.map-sidebar .b2b-select__value {
    color: #969696;
}

/* Адаптивные стили для интерактивной карты */

/* Для мобильных устройств */
@media (max-width: 768px) {
    .interact-map-wrapper {
        gap: var(--space-3);
    }

    .map-sidebar.filter {
        padding: 16px;
        border-radius: 12px;
    }

    .filter .filter__title {
        font-size: 18px;
        margin-bottom: 16px;
    }

    /* Чекбоксы столбиком */
    .filter .filter__checkboxes {
        flex-direction: column;
        gap: 12px;
        margin-bottom: 16px;
    }

    .filter .filter__checkboxes .q-checkbox {
        width: 100%;
    }

    .q-checkbox .t-3 {
        font-size: 16px;
    }

    /* Адаптация прогресс-бара */
    #multi-fetch-progress {
        top: auto;
        bottom: 10px;
        right: 10px;
        left: 10px;
        max-width: none;
        min-width: auto;
    }

    .loading-indicator {
        top: auto;
        bottom: 10px;
        right: 10px;
        left: 10px;
        max-width: none;
        min-width: auto;
    }

    /* Адаптация балуна для мобильных */
    .ymaps-2-1-79-balloon {
        max-width: calc(100vw - 20px) !important;
        padding: 16px 12px 16px 16px !important;
    }

    .ymaps-2-1-79-balloon__content {
        padding: 0 !important;
        font-size: 14px;
    }
}

/* Для очень маленьких экранов */
@media (max-width: 480px) {
    .map-sidebar.filter {
        padding: 12px;
    }

    .filter .filter__title {
        font-size: 16px;
        margin-bottom: 12px;
    }

    /* Чекбоксы столбиком */
    .filter .filter__checkboxes {
        gap: 10px;
    }

    .q-checkbox {
        gap: var(--space-4);
    }

    .q-checkbox .t-3 {
        font-size: 12px;
    }

    .q-checkbox__inner {
        width: 16px;
        height: 16px;
    }

    .loading-stats {
        flex-direction: column;
        gap: 4px;
    }

    .progress-item .wrapper-title {
        font-size: 11px;
    }
}

/* Для экранов с высокой плотностью пикселей */
@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
    .loading-progress-bar {
        background: linear-gradient(90deg, #1E98FF, #4CAF50);
    }
}

/* Опционально: поддержка landscape-ориентации на мобильных */
@media (max-width: 768px) and (orientation: landscape) {
    .interact-map-wrapper {
        padding-bottom: 20px;
    }

    .map-sidebar.filter {
        max-height: 200px;
        overflow-y: auto;
    }

    /* В landscape тоже столбиком, но компактнее */
    .filter .filter__checkboxes {
        gap: 8px;
    }
}

/* Стили для группы фильтров */
.filter-group {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-top: 0 !important;
    margin-top: 0 !important
}

.filter-model__item {
    display: flex;
    flex-direction: column;
    gap: 4px !important;
}

.filter-model__item .q-checkbox__inner {
    order: -1;
}

.filter-model__item .q-checkbox {
    justify-content: flex-start;
    gap: 10px;
}

.filter-model__title {
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1F2937 !important;
    line-height: 1.4 !important;
}

.filter-model__item:has(.b2b-select--disabled) .filter-model__title {
    color: #B9B9B9 !important;
}

.filter-model__title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.region-toggle-all {
    flex-shrink: 0;
    padding: 0;
    border: none;
    background: none;
    color: #2F8EED;
    font-size: 13px;
    line-height: 1.4;
    white-space: nowrap;
    cursor: pointer;
}

.region-toggle-all:hover {
    text-decoration: underline;
}

/* Стили для выпадающих списков */
.input-wrapper {
    width: 100%;
}

.filter-select {
    width: 100%;
    padding: 10px 12px;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 14px;
    color: #1F2937;
    background-color: #FFFFFF;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: inherit;
}

.filter-select:hover {
    border-color: #9CA3AF;
}

.filter-select:focus {
    outline: none;
    border-color: var(--b2b-accent);
    box-shadow: 0 0 0 3px rgba(50, 211, 255, 0.1);
}

/* Адаптивные стили для мобильных устройств */
@media (max-width: 768px) {
    .filter-model__title {
        font-size: 13px;
    }

    .filter-select {
        padding: 8px 10px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .filter-group {
        gap: 12px;
    }

    .filter-model__item {
        gap: 6px;
    }
}

.filter-select,
.visit-type-input,
.visit-type-label {
    transition: all 0.2s ease;
}

/* Стили для скролла в фильтре */
.filter .filter__checkboxes::-webkit-scrollbar {
    width: 8px;
}

.filter .filter__checkboxes::-webkit-scrollbar-track {
    background: transparent;
    border-radius: 4px;
}

.filter .filter__checkboxes::-webkit-scrollbar-thumb {
    background: #D9EFFF;
    border-radius: 4px;
    border: 0;
}

.filter .filter__checkboxes::-webkit-scrollbar-thumb:hover {
    background: #D9EFFF;
}

/* Стили для кнопок-переключателей вида посещения */
.checkbox-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.checkbox-btn {
    position: relative;
    cursor: pointer;
    user-select: none;
}

.checkbox-btn input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.checkbox-btn-text {
    display: inline-block;
    padding: 8px 20px;
    background: #fff;
    border: 1px solid #2f8eed;
    border-radius: 32px;
    font-size: 14px;
    font-weight: 500;
    color: #2f8eed;
    transition: all 0.2s ease;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.2;
}

.checkbox-btn:hover .checkbox-btn-text,
.checkbox-btn input:checked+.checkbox-btn-text {
    background: #2f8eed;
    border-color: #2f8eed;
    color: #FFFFFF;
}

/* Адаптив для мобильных */
@media (max-width: 768px) {
    .checkbox-buttons {
        gap: 8px;
    }

    .checkbox-btn-text {
        padding: 6px 16px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .checkbox-buttons {
        gap: 8px;
    }

    .checkbox-btn-text {
        padding: 8px 16px;
        font-size: 13px;
        white-space: normal;
    }
}

.toggle-regions {
    background: transparent;
    color: #2f8eed;
    padding: 0;
    min-height: 0;
    border-radius: 0;
    width: fit-content;
    cursor: pointer;
    z-index: 2;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    line-height: 130%;
    font-weight: 500;
}

/* Стили для поля поиска */
.search-group {
    margin-bottom: 0;
    padding-bottom: 16px;
}

.search-input-wrapper {
    position: relative;
    width: 100%;
}

.map-search-input {
    width: 100%;
    padding: 13px 8px;
    border: 1px solid var(--b2b-accent);
    border-radius: 12px;
    font-size: 15px;
    color: #1F2937;
    background-color: #F9FAFB;
    transition: all 0.2s ease;
    font-family: inherit;
    outline: none;
}

.map-search-input:hover {
    border-color: #D1D5DB;
    background-color: #FFFFFF;
}

.map-search-input:focus {
    border-color: var(--b2b-accent);
    background-color: #FFFFFF;
    box-shadow: 0 0 0 3px rgba(50, 211, 255, 0.1);
}

.map-search-input::placeholder {
    color: #9CA3AF;
    font-weight: 400;
}

.search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.search-icon svg {
    width: 20px;
    height: 20px;
    color: var(--b2b-accent);
    transition: color 0.2s ease;
}

.map-search-input:focus+.search-icon svg {
    color: var(--b2b-accent);
}

/* Адаптивные стили для поиска */
@media (max-width: 768px) {
    .map-search-input {
        padding: 13px 8px;
        font-size: 14px;
    }

    .search-icon {
        left: 14px;
    }

    .search-icon svg {
        width: 18px;
        height: 18px;
    }
}

@media (max-width: 480px) {
    .search-group {
        padding-bottom: 12px;
    }

    .map-search-input {
        padding: 13px 8px;
        font-size: 13px;
        border-radius: 10px;
    }

    .search-icon {
        left: 12px;
    }

    .search-icon svg {
        width: 16px;
        height: 16px;
    }

    .mob-filter-list__header {
        gap: 0;
        justify-content: space-between;
    }
}

.filter-group.hidden {
    display: none !important;
    opacity: 0;
    visibility: hidden;
}

.cluster-balloon {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 15px;
}

.cluster-balloon-item,
.obj-balloon {
    width: 362px;
}

.obj-balloon {
    box-sizing: border-box;
    padding-right: 28px;
    position: relative;
}

.cluster-balloon-item a,
.obj-balloon a {
    text-decoration: none
}

.obj-balloon__close {
    align-items: center;
    background: transparent;
    border: 0;
    color: #0A1A3E;
    cursor: pointer;
    display: inline-flex;
    height: 12px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 12px;
}

.obj-balloon__close svg {
    display: block;
    height: 12px;
    width: 12px;
}

.obj-balloon .obj-img-wrapper {
    background-size: cover;
    overflow: hidden;
    height: 267px;
    align-items: center;
    border-radius: 16px;
    display: flex;
    justify-content: center;
    position: relative;
    width: 100%;
    background-position: 50%;
    background-repeat: no-repeat;
}

.obj-balloon .obj-img-wrapper img {
    height: 100%;
    width: 100%;
}

.obj-visit-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 212px;
    min-height: 30px;
    padding: 5px 12px;
    background: #1B6BED;
    color: #fff;
    border-radius: 32px;
    font-family: "Raleway", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 140%;
    letter-spacing: 0;
    margin-bottom: 16px;
    white-space: nowrap;
}

.obj-balloon .obj-titles {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    margin-top: 0;
}

.obj-balloon h3 {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;

    font-family: "Raleway", sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: #0A1A3E;
    line-height: 115%;
    letter-spacing: 0.01em;
    margin: 0;
}

.obj-balloon .obj-description {
    margin-top: 4px;
    font-family: "Raleway", sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #0A1A3E;
    line-height: 130%;
    letter-spacing: 0.01em;
}

.obj-balloon .obj-address {
    margin-top: 4px;
    font-family: "Raleway", sans-serif;
    font-size: 14px;
    font-weight: 400;
    color: #123670;
    line-height: 130%;
    letter-spacing: 0.01em;
}

.obj-balloon .obj-branch {
    margin: 12px 0 0;
    font-family: "Raleway", sans-serif;
    font-size: 16px;
    font-weight: 600;
    color: #0A1A3E;
    line-height: 130%;
    letter-spacing: 0.01em;
}

.obj-balloon .obj-audience {
    margin-top: 4px;
    font-family: "Raleway", sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #123670;
    line-height: 130%;
    letter-spacing: 0.01em;
}

.obj-balloon__link {
    display: inline-block;
    margin-top: 8px;
    font-family: "Raleway", sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #2F8EED;
    line-height: 140%;
    letter-spacing: 0;
    text-decoration: none;
}

.obj-balloon__link:hover {
    text-decoration: underline;
}

.cluster-balloon-item h4 {
    display: -webkit-box;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;

    font-size: 16px;
    font-weight: 600;
    color: #152138;
    line-height: 22px;
}

.cluster-balloon-item h4 span {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: inline-block;
}

.cluster-balloon-item .obj-address {
    font-size: 14px;
    font-weight: 400;
    color: #59647a;
    line-height: 20px;
}

.input-wrapper {
    position: relative;
    width: 100%;
}

.filter-select {
    width: 100%;
    padding: 10px 32px 10px 12px;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    font-size: 14px;
    color: #1F2937;
    background-color: #FFFFFF;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.interact-map-wrapper .input-prefix {
    border: none !important;
}

.interact-map-wrapper .checkbox-btn-text {
    padding: 5px 8px !important;
}

.interact-map-wrapper .b2b-select__trigger {
    padding: 12px 8px !important;
    max-height: 44px !important;
}

.mobile-head {
    display: none;
    gap: 16px;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px;
}

.mobile-filter-btn {
    cursor: pointer;
}

.search-text {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background-color: var(--b2b-accent);
    color: #FFF;
    padding: 13px 16px;
    border-radius: 0 10px 10px 0;
    max-height: 43px;
    cursor: pointer;
}

.mobile-filter-header {
    display: none;
}

.mob-filter-list,
.mob-filter-actions {
    display: none;
}

.promTourism-visit-type .checkbox-buttons .checkbox-btn-text {
    background: #1B6BED !important;
    border-color: #1B6BED !important;
}

.map-mobile-actions {
    display: none;
}

@media (max-width: 920px) {
    .map-mobile-actions {
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        z-index: 10;
        pointer-events: none;
    }

    .filter-model__title {
        display: none !important;
    }

    .ymaps-2-1-79-balloon {
        display: none !important;
    }

    .map-mobile-popup {
        pointer-events: auto;
        background: #fff;
        border-radius: 16px;
        box-shadow: 0 -4px 24px rgba(10, 26, 62, 0.12);
        padding: 16px;
        margin: 0 20px 70px;
        position: relative;
        animation: slideUpPopup 0.2s ease-out;
    }

    .map-mobile-popup[hidden] {
        display: none !important;
    }

    .filter-group {
        margin: 8px 0 !important;
    }

    @keyframes slideUpPopup {
        from {
            opacity: 0;
            transform: translateY(20px);
        }

        to {
            opacity: 1;
            transform: translateY(0);
        }
    }

    .map-mobile-popup__close {
        position: absolute;
        top: 16px;
        right: 16px;
        width: 12px;
        height: 12px;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 0;
        pointer-events: auto;
    }

    .map-mobile-popup__close svg {
        display: block;
        width: 12px;
        height: 12px;
    }

    .map-mobile-popup .obj-balloon--mobile .obj-visit-chip {
        margin-bottom: 16px;
    }

    .map-mobile-popup .obj-balloon--mobile h3 {
        font-size: 22px;
        margin: 0;
    }

    .map-mobile-popup .obj-balloon--mobile .obj-description {
        font-size: 18px;
    }

    .map-mobile-popup .obj-balloon--mobile .obj-branch {
        font-size: 16px;
    }

    .map-mobile-popup .obj-balloon--mobile .obj-audience {
        font-size: 16px;
    }

    .map-mobile-popup .obj-balloon--mobile .obj-address {
        font-size: 14px;
        color: #123670;
    }

    .map-mobile-popup .obj-balloon--mobile .obj-balloon__link {
        margin-top: 8px;
    }

    .map-mobile-popup .cluster-balloon--mobile {
        display: flex;
        flex-direction: column;
        gap: 12px;
        max-height: 300px;
        overflow-y: auto;
    }

    .map-mobile-popup .cluster-balloon--mobile .cluster-balloon-item {
        width: 100%;
    }

    .map-mobile-popup .cluster-balloon--mobile .cluster-balloon-item h4 {
        font-size: 14px;
        line-height: 1.4;
    }

    .map-mobile-popup .cluster-balloon--mobile .cluster-balloon-item .obj-address {
        font-size: 13px;
    }

    .map-export-btn--mobile {
        pointer-events: auto;
    }

    .map-sidebar-shell {
        position: static;
        bottom: auto;
        width: auto;
        max-width: none;
    }

    .map-sidebar.filter {
        display: none;
    }

    .map-export-btn {
        left: 20px;
        bottom: 15px;
    }

    .section-with-description .map {
        display: none;
    }

    .mobile-head {
        display: flex;
    }

    .filter-group.search-group {
        display: none;
    }

    .map-sidebar.filter.is-open {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 80px;
        left: 0;
        right: 0;
        bottom: 0;
        max-width: 100%;
        width: 100%;
        z-index: 9999;
        background: #fff;
        border-radius: 0;
        overflow: hidden;
    }

    .map-sidebar.filter.is-open .filter__checkboxes {
        flex: 1;
        overflow-y: auto;
        border-radius: 0;
        padding: 0 20px;
    }

    .mobile-filter-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 32px 20px;
        flex-shrink: 0;
    }

    .mobile-filter-title {
        font-size: 18px;
        font-weight: 600;
        color: #0A1A3E;
    }

    .mobile-filter-close {
        padding: 0 !important;
        background: transparent;
        border: none;
        font-size: 15px;
        font-weight: 500;
        color: #2f8eed;
        cursor: pointer;
        font-family: inherit;
    }

    body.mobile-filter-open {
        overflow: hidden;
    }

    /* --- Mobile filter lists --- */
    .desktop-only-filter {
        display: none !important;
    }

    .mob-filter-list {
        display: block;
        margin-top: 8px;
    }

    .mob-filter-list--hidden {
        display: none;
    }

    .mob-filter-list__header {
        display: flex;
        align-items: center;
        gap: 99px;
        margin-bottom: 10px;
    }

    .mob-filter-list__title {
        font-size: 16px;
        font-weight: 600;
        color: #0A1A3E;
    }

    .mob-filter-list__all-btn {
        display: flex;
        align-items: center;
        gap: 6px;
        background: transparent;
        border: none;
        font-size: 16px;
        font-weight: 500;
        color: var(--b2b-accent);
        cursor: pointer;
        font-family: inherit;
        padding: 0;
    }

    .mob-filter-list__items {
        display: flex;
        flex-direction: column;
        gap: 0;
    }

    .mob-filter-list__item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-direction: row;
        font-weight: 500;
        padding: 16px 0;
        cursor: pointer;
        font-size: 16px;
        color: var(--b2b-accent);
    }

    .mob-filter-list__item>span:first-child {
        order: 0;
        flex: 1;
    }

    .mob-filter-list__item>.q-checkbox__inner {
        order: 1;
        flex-shrink: 0;
        margin-left: 12px;
    }

    .mob-filter-list__item:last-child {
        border-bottom: none;
    }

    .mob-filter-list__item.mob-hidden {
        display: none;
    }

    .mob-filter-list__items.mob-expanded .mob-filter-list__item.mob-hidden {
        display: flex;
    }

    .mob-filter-list__item .q-checkbox__inner {
        flex-shrink: 0;
    }

    .mob-check-round {
        position: relative;
        flex-shrink: 0;
        width: 24px;
        height: 24px;
    }

    .mob-check-round input[type="checkbox"] {
        position: absolute;
        opacity: 0;
        width: 0;
        height: 0;
    }

    .mob-check-round__mark {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        border: 2px solid #2f8eed;
        background: #fff;
        transition: border-color .15s, background .15s;
        box-sizing: border-box;
    }

    .mob-check-round__mark svg {
        opacity: 0;
        transform: scale(0);
        transition: opacity .15s, transform .15s;
    }

    .mob-check-round input[type="checkbox"]:checked~.mob-check-round__mark {
        border-color: #2f8eed;
        background: #2f8eed;
    }

    .mob-check-round input[type="checkbox"]:checked~.mob-check-round__mark svg {
        opacity: 1;
        transform: scale(1);
    }

    .mob-filter-list.mob-all-open {
        position: fixed;
        top: 80px;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10000;
        background: #fff;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
    }

    .mob-filter-list.mob-all-open .mob-filter-list__header {
        padding: 16px 20px;
        border-bottom: 1px solid #E5E7EB;
        margin-bottom: 0;
        flex-shrink: 0;
    }

    .mob-filter-list.mob-all-open .mob-filter-list__all-btn span {
        display: none;
    }

    .mob-filter-list.mob-all-open .mob-filter-list__all-btn svg {
        transform: rotate(180deg);
    }

    .mob-filter-list__all-btn svg path {
        stroke: var(--b2b-accent) !important;
    }

    .mob-filter-list.mob-all-open .mob-filter-list__items {
        flex: 1;
        overflow-y: auto;
        padding: 0 20px;
    }

    .mob-filter-list.mob-all-open .mob-filter-list__item.mob-hidden {
        display: flex;
    }

    .mob-filter-actions {
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding: 16px 20px;
        padding-bottom: 60px !important;
        flex-shrink: 0;
        position: sticky;
        bottom: 0;
        background: #fff;
        z-index: 1;
    }

    .mob-filter-actions__apply,
    .mob-filter-actions__clear {
        flex: 1;
        padding: 12px 0;
        border-radius: 10px;
        font-size: 15px;
        font-weight: 600;
        font-family: inherit;
        cursor: pointer;
        border: none;
    }

    .mob-filter-actions__apply {
        background: var(--b2b-accent);
        color: #fff;
    }

    .mob-filter-actions__clear {
        background: transparent;
        color: #2f8eed;
        border: 1px solid #2f8eed;
    }
}

@media (max-width: 468px) {
    .search-text {
        font-size: 14px;
    }

    .map-export-btn {
        bottom: 36px;
    }

    .map-mobile-popup {
        margin: 0 20px 90px !important;
    }
}

/* ──────────────────────────────────────────────────────────────────────────
   Полноэкранная карта (десктоп, ≥921px)
   ---------------------------------------------------------------------------
   Обёртка карты лежит в центрированном .page-container (max-width 1320px +
   padding 20px). Из-за этого карта была ограничена по ширине. Обнуляем
   контейнер, и карта растягивается на всю ширину контентной области — от
   левого «рельса» навигации (постоянная колонка сайта, 56px, aside.left-plate)
   до правого края окна.

   • Под рельс карту НЕ уводим: он непрозрачный и лежит поверх (z-index 6) —
     иначе он перекрыл бы левый край карты и сам блок фильтра.
   • Селектор :has(> .interact-map-wrapper) обнуляет контейнер ТОЛЬКО на этой
     странице; оба класса — чтобы по специфичности обойти
     .page-container[data-v-23243403] (max-width/margin) из standard.css.
   • Файл грузится лишь шаблоном карты (default-b2b) — другие страницы он не
     затрагивает; вдобавок :has() ограничивает область действия этой страницей.
   • Блок фильтра (.map-sidebar-shell) остаётся абсолютно спозиционированным
     у левого края карты (left:14px) — т.е. фиксированно прижат к левому краю.
   • Если браузер не поддерживает :has() — правило игнорируется, карта остаётся
     в прежних границах (без поломок).
   ────────────────────────────────────────────────────────────────────────── */
@media (min-width: 921px) {
    .page-container.page-container--with-padding:has(> .interact-map-wrapper) {
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
    }

    /* Заголовок «Интерактивная карта» лежит в том же (теперь полноширинном)
       контейнере, что и карта. Возвращаем ему обычные рамки страницы —
       повторяем ограничения .page-container (max-width 1320 + padding 20),
       чтобы тайтл был выровнен как на других страницах (крошки уже в своём
       контейнере и не затронуты). Только на странице карты: файл грузится
       лишь её шаблоном. */
    .support-page .section-with-description {
        max-width: 1320px;
        margin-left: auto;
        margin-right: auto;
        padding-left: 20px;
        padding-right: 20px;
        box-sizing: border-box;
    }
}

/* End */


/* Start:/local/components/b2b/ui.select/templates/.default/style.css?178480837613873*/
/* Основной контейнер */
.b2b-select {
    width: 100%;
    font-family: inherit;
    position: relative;
}

/* Заголовок поля */
.b2b-select__label {
    margin-bottom: 8px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.2;
    color: #333;
}

/* Звёздочка обязательного поля — та же иконка, что и в b2b:form.input
   (см. local/components/b2b/form.input/templates/.default/style.css) */
.b2b-select__label-required {
    display: inline-block;
    flex: 0 0 auto;
    align-self: flex-start;
    width: 6px;
    height: 6px;
    margin-left: 2px;
    vertical-align: top;
    font-size: 0;
    line-height: 0;
    color: transparent;
    background: url(/local/templates/main_b2b/assets/icons/asterisk.svg) no-repeat center center;
    background-size: 6px 6px;
}

/* Внутренний контейнер */
.b2b-select__inner {
    position: relative;
    width: 100%;
}

/* Контрол */

.b2b-select__control {
    position: relative;
    width: 100%;
    min-height: 48px;
    background-color: #F9FCFF;
    border-radius: 10px;
    transition: all 0.3s ease;
    /* z-index: 2; */
}


.b2b-select__control:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid var(--b2b-accent) !important;
    border-radius: 10px;
    pointer-events: none;
    transition: border-color 0.3s;
    z-index: 2;
    background: #F9FCFF;
}

.b2b-select__control:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1.5px solid transparent;
    border-radius: 10px;
    pointer-events: none;
    transition: border-color 0.3s;
}

/* Триггер */
.b2b-select__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 48px;
    padding: 12px 14px;
    cursor: pointer;
    user-select: none;
    position: relative;
    z-index: 3;
}

.b2b-select__value {
    flex: 1;
    font-size: 16px;
    line-height: 1.3;
    color: #333;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.b2b-select__arrow {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    color: #0a1a3e;
    transition: transform 0.3s ease;
}

/* Открытое состояние */
.b2b-select.open .b2b-select__arrow {
    transform: rotate(180deg);
}


.b2b-select.open .b2b-select__control:after {
    border-color: #0a1a3e;
}

.b2b-select.open:not(.b2b-select--drop-up) .b2b-select__dropdown {
    border: 1px solid var(--b2b-primary);
    border-top: none !important;
}

/* Убираем нижний border-radius и border у селекта при открытии вниз */
.b2b-select.open:not(.b2b-select--drop-up) .b2b-select__control,
.b2b-select.open:not(.b2b-select--drop-up) .b2b-select__control:before {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    border-bottom: none !important;
}

/* Открытие вверх: зеркальная стыковка рамок — список смыкается с верхом контрола */
.b2b-select.open.b2b-select--drop-up .b2b-select__dropdown {
    border: 1px solid var(--b2b-primary);
    border-bottom: none !important;
    border-radius: 10px 10px 0 0;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
}

.b2b-select.open.b2b-select--drop-up .b2b-select__control,
.b2b-select.open.b2b-select--drop-up .b2b-select__control:before {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-top: none !important;
}

/* Поиск */
.b2b-select__search {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 10;
    background: #fff;
    border: 1px solid #d0d5dd;
    border-top: none;
    border-radius: 0 0 8px 8px;
    padding: 8px;
}

.b2b-select__search-input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #d0d5dd;
    border-radius: 6px;
    font-size: 14px;
    outline: none;
}

.b2b-select__search-input:focus {
    border-color: #0a1a3e;
}

/* Выпадающий список */

.b2b-select__dropdown {
    flex-direction: column;
    gap: 8px;
    padding: 14px;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    max-height: 250px;
    overflow-y: auto;
    background: #F9FCFF;
    border: 1px solid #d0d5dd;
    border-top: none;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    display: none;
}


.b2b-select.open .b2b-select__dropdown {
    display: flex;
}


.b2b-select.open .b2b-select__search {
    display: block;
}

/* Опции */
.b2b-select__option {
    cursor: pointer;
    transition: background-color 0.2s;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    color: #919191;
}

.b2b-select__option:hover {
    background-color: #f5f5f5;
}

.b2b-select__option.selected {
    color: #0a1a3e;
    font-weight: 500;
    position: relative;
}

/* Пустой список */
.b2b-select__empty {
    padding: 20px;
    text-align: center;
    color: #999;
    font-size: 14px;
}

/* Ошибка. Двойной класс .b2b-select--error.b2b-select--color-*, чтобы перебить
   цветовые схемы (grey-light и т.п.), которые задают серую рамку с той же
   специфичностью и !important, но объявлены ниже по файлу. */
.b2b-select--error .b2b-select__control:before,
.b2b-select--error .b2b-select__control:after,
.b2b-select--error.b2b-select--color-grey-light .b2b-select__control:before,
.b2b-select--error.b2b-select--color-white .b2b-select__control:before,
.b2b-select--error.b2b-select--color-blue-light .b2b-select__control:before,
.b2b-select--error.b2b-select--color-grey .b2b-select__control:before {
    border-color: #ff3535 !important;
}


.b2b-select__search {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 10;
    background: #F9FCFF;
    border: 1px solid #d0d5dd;
    border-top: none;
    border-radius: 0 0 8px 8px;
    padding: 8px;
}

.b2b-select--disabled .b2b-select__value {
    color: #B9B9B9 !important;
}

.b2b-select--disabled .b2b-select__arrow {
    color: #B9B9B9 !important;
}

.b2b-select--disabled .b2b-select__trigger {
    cursor: not-allowed;
}

/* Выбрано значение — подсвечиваем акцентом */
.b2b-select.b2b-select--has-value .b2b-select__value {
    color: var(--b2b-accent);
}

/* Цветовые схемы */
.b2b-select--color-grey-light .b2b-select__control:before {
    border-color: #d0d5dd !important;
}

.b2b-select--color-white .b2b-select__control:before {
    border-color: #fff !important;
}

.b2b-select--color-blue-light .b2b-select__control:before {
    border-color: #e3f2fd !important;
}

.b2b-select--color-grey .b2b-select__control:before {
    border-color: #e5e5e5 !important;
}

.b2b-select--color-grey-dark {
    .b2b-select__control:before {
        border-color: #E8EFF5 !important;
        background-color: #E8EFF5 !important;
    }
}
.b2b-select--color-grey-dark.open .b2b-select__dropdown {
    border-color: #E8EFF5 !important;
    background-color: #E8EFF5 !important;
    box-shadow: none;
}

/* Множественный выбор */
.b2b-select--multiple .b2b-select__value {
    white-space: normal;
    max-height: 60px;
    overflow-y: auto;
}


/* Адаптивность */
@media (max-width: 768px) {
    .b2b-select__dropdown {
        max-height: 200px;
    }
}

/* Анимации */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.b2b-select__dropdown {
    animation: fadeIn 0.2s ease;
}


/* Контейнер чекбокса */
.b2b-select__checkbox {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

/* Скрываем нативный чекбокс */
.b2b-select__checkbox input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 16px;
    height: 16px;
}

/* Кастомный квадрат */
.b2b-select__checkbox span {
    position: relative;
    padding-left: 28px;
    font-weight: 500;
    font-size: 16px !important;
    color: var(--b2b-accent);
    text-align: center;
}

.b2b-select__checkbox span::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 16px;
    height: 16px;
    border: 1px solid var(--b2b-primary);
    border-radius: 3px;
    background: #fff;
    transition: all 0.2s ease;
}

.b2b-select__checkbox span::after {
    content: '';
    position: absolute;
    left: 3px;
    top: 3px;
    width: 10px;
    height: 10px;
    background-image: url("data:image/svg+xml,%3Csvg width='10' height='10' viewBox='0 0 10 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.70669 1.72205L9.38931 2.40466C9.4352 2.45056 9.43813 2.53064 9.39224 2.57654L3.68911 8.27966C3.64321 8.32556 3.56411 8.32263 3.51821 8.27576L0.621728 5.38123C0.57583 5.33533 0.5729 5.25818 0.619775 5.2113L1.30239 4.52869C1.34829 4.48279 1.42446 4.48572 1.47036 4.53259L3.59829 6.66052L8.53774 1.72107C8.58364 1.67615 8.66079 1.67615 8.70669 1.72205Z' fill='white'/%3E%3Cpath d='M8.63443 1.79194C8.85122 2.00873 9.069 2.22651 9.28579 2.44331C9.30728 2.46479 9.33462 2.48334 9.31802 2.50776C9.31411 2.51362 9.30825 2.51752 9.30337 2.52241C9.27212 2.55366 9.23989 2.58588 9.20864 2.61713C9.06997 2.75581 8.9313 2.89448 8.7936 3.03217C8.57681 3.24897 8.36001 3.46577 8.14224 3.68354C7.87271 3.95307 7.60415 4.22163 7.33462 4.49116C7.0397 4.78608 6.74478 5.081 6.44986 5.37592C6.15493 5.67084 5.86099 5.96479 5.56607 6.25971C5.29849 6.52729 5.03091 6.79487 4.76333 7.06245C4.54849 7.27729 4.33462 7.49116 4.11978 7.706C3.98501 7.84077 3.85025 7.97553 3.71646 8.10932C3.68716 8.13862 3.65786 8.16889 3.62759 8.19819C3.62466 8.20112 3.61978 8.20698 3.61587 8.20991C3.59634 8.22065 3.58364 8.20698 3.56997 8.19331C3.42837 8.0517 3.28677 7.9101 3.14419 7.76752C2.87661 7.49995 2.60904 7.23237 2.34146 6.96479C2.05044 6.67377 1.75943 6.38276 1.46743 6.09077C1.25454 5.87788 1.04263 5.66596 0.829738 5.45307C0.784816 5.40815 0.737941 5.36518 0.694973 5.31831C0.682277 5.30463 0.673488 5.29487 0.68716 5.27631C0.714504 5.23725 0.759426 5.20405 0.792629 5.17084C0.930324 5.03315 1.06802 4.89545 1.20571 4.75776L1.34927 4.6142C1.36685 4.59663 1.37661 4.58491 1.39907 4.60444C1.45083 4.64838 1.49771 4.70307 1.54556 4.75092C1.65103 4.85639 1.7565 4.96186 1.86196 5.06733C2.14907 5.35444 2.43618 5.64155 2.72329 5.92866C2.95474 6.1601 3.18618 6.39155 3.41665 6.62202C3.45279 6.65815 3.48794 6.69331 3.52407 6.72944C3.56118 6.76655 3.62466 6.76655 3.66177 6.72944L3.79556 6.59565C3.91665 6.47456 4.03775 6.35346 4.15982 6.23139C4.3395 6.0517 4.51821 5.87299 4.6979 5.69331L5.35318 5.03803L6.06997 4.32123C6.31021 4.081 6.55044 3.84077 6.79165 3.59956C7.01529 3.37592 7.23794 3.15327 7.46157 2.92963C7.64907 2.74213 7.83657 2.55463 8.0231 2.36811C8.15591 2.2353 8.28775 2.10346 8.42056 1.97065C8.47818 1.91303 8.53384 1.8437 8.59732 1.79389C8.61001 1.78706 8.62075 1.78022 8.63443 1.79194C8.72818 1.87495 8.86685 1.73725 8.77212 1.65424C8.67251 1.56635 8.54068 1.57709 8.44985 1.66791C8.42446 1.69331 8.3981 1.71967 8.37271 1.74506C8.26138 1.85639 8.15103 1.96674 8.0397 2.07807C7.86685 2.25092 7.694 2.42377 7.52114 2.59663C7.30435 2.81342 7.08755 3.03022 6.87075 3.24702C6.6315 3.48627 6.39224 3.72553 6.15298 3.96479C5.90982 4.20795 5.66568 4.45209 5.42251 4.69526C5.19302 4.92475 4.96353 5.15424 4.73404 5.38373C4.54068 5.57709 4.34634 5.77143 4.15298 5.96479C4.01333 6.10444 3.87368 6.24409 3.73306 6.38471C3.66665 6.45112 3.59536 6.51459 3.53286 6.58491C3.52993 6.58784 3.527 6.59077 3.52407 6.5937H3.66177C3.52114 6.45307 3.37954 6.31147 3.23892 6.17084C2.94888 5.88081 2.65884 5.59077 2.3688 5.30073C2.12954 5.06147 1.89029 4.82221 1.65103 4.58295C1.61196 4.54389 1.57388 4.50288 1.53384 4.46577C1.43618 4.37592 1.30435 4.38569 1.21255 4.47651C1.16568 4.52338 1.1188 4.57026 1.07193 4.61713C0.930324 4.75873 0.788723 4.90034 0.647121 5.04194C0.612941 5.07612 0.577785 5.10834 0.545558 5.1435C0.461574 5.23432 0.46548 5.36518 0.548488 5.45405C0.668605 5.58295 0.798488 5.70405 0.922512 5.82807C1.18716 6.09272 1.45181 6.35737 1.71646 6.62202L2.61196 7.51752L3.28189 8.18745C3.33169 8.23725 3.38052 8.28706 3.43032 8.33588C3.5231 8.42768 3.65982 8.44038 3.75747 8.34663C3.83853 8.2685 3.91665 8.18745 3.99575 8.10834C4.17251 7.93159 4.34927 7.75483 4.52603 7.57807L5.26821 6.83588L6.13345 5.97065L7.04458 5.05952C7.33462 4.76948 7.62564 4.47846 7.91568 4.18842C8.16372 3.94038 8.41177 3.69233 8.65982 3.44428L9.19986 2.90424C9.28286 2.82123 9.36685 2.7392 9.44888 2.65522C9.47818 2.62495 9.50064 2.59077 9.51138 2.54975C9.53677 2.45209 9.48892 2.37202 9.42349 2.30756C9.29556 2.17963 9.1686 2.05268 9.04068 1.92475C8.95083 1.83491 8.86099 1.74506 8.77114 1.65522C8.68325 1.5644 8.54458 1.70307 8.63443 1.79194Z' fill='white'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    transform: scale(0);
    transform-origin: center;
    transition: transform 0.15s ease-in-out;
}

/* Checked */
.b2b-select__checkbox input:checked+span::before {
    background: var(--b2b-primary);
    border-color: var(--b2b-primary);
}

/* Галочка показывается при checked */
.b2b-select__checkbox input:checked+span::after {
    transform: scale(1);
}

/* Hover */
.b2b-select__checkbox:hover span::before {
    border-color: var(--b2b-primary);
}

.b2b-select__clear-option {
    color: var(--b2b-primary);
    cursor: pointer;
}


.b2b-select__clear-option.disabled {
    cursor: not-allowed;
    pointer-events: none;
    color: #919191;
}
/* End */


/* Start:/local/components/b2c/ui.form/templates/input-range/style.css?17768485282408*/
.range-inputs {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.range-input-wrapper {
    flex: 1;
    display: flex;
    align-items: center;
    background: #FFFFFF;
    border: 1px solid #D1D5DB;
    border-radius: 8px;
    transition: all 0.2s ease;
    overflow: hidden;
}

.range-input-wrapper:focus-within {
    border-color: var(--b2b-accent);
    box-shadow: 0 0 0 3px rgba(50, 211, 255, 0.1);
}

.input-prefix {
    padding: 8px 0 8px 12px;
    font-size: 14px;
    color: #6B7280;
    background: #F9FAFB;
    border-right: 1px solid #E5E7EB;
    font-weight: 500;
}

.input-suffix {
    padding: 8px 12px 8px 0;
    font-size: 14px;
    color: #6B7280;
    background: #F9FAFB;
    border-left: 1px solid #E5E7EB;
    font-weight: 500;
}

.range-input-wrapper input {
    flex: 1;
    padding: 8px 8px;
    border: none;
    outline: none;
    font-size: 14px;
    font-weight: 500;
    color: #1F2937;
    background: transparent;
    text-align: left;
    font-family: inherit;
    width: 100%;
    min-width: 0;
}

.range-input-wrapper input::placeholder {
    color: #9CA3AF;
    font-weight: 400;
}

/* Стили для группы фильтров, чтобы сохранить единообразие */
.filter-group {
    padding-top: 16px;
    margin-top: 8px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.filter-model__item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.range-input-title {
    font-size: 14px;
    font-weight: 500;
    color: #1F2937;
    line-height: 1.4;
}

/* Адаптивные стили для мобильных устройств */
@media (max-width: 768px) {
    .range-inputs {
        gap: 8px;
    }

    .input-prefix,
    .input-suffix {
        padding: 6px 0 6px 10px;
        font-size: 13px;
    }

    .input-suffix {
        padding: 6px 10px 6px 0;
    }

    .range-input-wrapper input {
        padding: 6px 6px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .range-inputs {
        flex-direction: column;
        gap: 10px;
    }

    .range-input-wrapper {
        width: 100%;
    }

    .input-prefix,
    .input-suffix {
        padding: 8px 0 8px 12px;
        font-size: 13px;
    }

    .input-suffix {
        padding: 8px 12px 8px 0;
    }

    .range-input-wrapper input {
        padding: 8px 8px;
        font-size: 13px;
    }
}
/* End */


/* Start:/local/templates/main_b2b/components/bitrix/map.yandex.system/company_map/style.css?1776848529666*/
div.bx-yandex-map {color: black; font-size: 11px;}
div.bx-yandex-map div.YMaps-b-balloon-content {color: black; font-size: 11px;}
div.bx-popup-form div.bx-yandex-map div.YMaps-b-balloon-point div.YMaps-b-balloon div.YMaps-b-balloon-wrap table.YMaps-b-balloon-frame td {
	padding: 0px !important;
}


div.bx-popup-form div.bx-yandex-map div.YMaps-b-balloon-point div.YMaps-b-balloon div.YMaps-b-balloon-wrap table.YMaps-b-balloon-frame td textarea{
	font-size: 11px;
}


div.bx-popup-form div.bx-yandex-map div.YMaps-b-balloon-point div.YMaps-b-balloon div.YMaps-b-balloon-wrap table.YMaps-b-balloon-frame td.YMaps-b-balloon-b {
	background-image: none !important;
}

/* End */


/* Start:/local/components/b2b/notification/templates/.default/style.css?17850059875175*/
.notification-container {
    position: fixed;
    z-index: 9999;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-width: 400px;
    width: 100%;
    padding: 16px;
}

/* Позиции */
.notification-container--top-right {
    top: 0;
    right: 0;
}

.notification-container--top-left {
    top: 0;
    left: 0;
}

.notification-container--bottom-right {
    bottom: 0;
    right: 0;
}

.notification-container--bottom-left {
    bottom: 0;
    left: 0;
}

.notification-container--top-center {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.notification-container--bottom-center {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

/* Уведомление */
.notification {
    /* Базовый цвет — фирменный, per-site: --q-primary (B2B #2f8eed / B2C #8654cc),
       фолбэк на --b2b-primary и хардкод. Семантика для success/warning/error. */
    --n-primary: var(--q-primary, var(--b2b-primary, #2f8eed));
    --n-success: #23a26d;
    --n-warning: #ff9800;
    --n-error: #e53935;

    position: relative;
    padding: 16px 20px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    display: flex;
    align-items: flex-start;
    gap: 12px;
    pointer-events: auto;
    overflow: hidden;
    min-width: 300px;
    width: 100%;
    /* Базовая (info/дефолт) подсветка — фирменный цвет */
    border-left: 4px solid var(--n-primary);
    transition: all 0.3s ease;
}

.notification--error {
    border-left-color: var(--n-error);
}

.notification--success {
    border-left-color: var(--n-success);
}

.notification--warning {
    border-left-color: var(--n-warning);
}

.notification--info {
    border-left-color: var(--n-primary);
}

.notification__icon {
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    /* Дефолт — фирменный цвет */
    color: var(--n-primary);
    background: color-mix(in srgb, var(--n-primary) 12%, transparent);
}

.notification--error .notification__icon {
    color: var(--n-error);
    background: color-mix(in srgb, var(--n-error) 12%, transparent);
}

.notification--success .notification__icon {
    color: var(--n-success);
    background: color-mix(in srgb, var(--n-success) 12%, transparent);
}

.notification--warning .notification__icon {
    color: var(--n-warning);
    background: color-mix(in srgb, var(--n-warning) 12%, transparent);
}

.notification--info .notification__icon {
    color: var(--n-primary);
    background: color-mix(in srgb, var(--n-primary) 12%, transparent);
}

.notification__content {
    flex: 1;
    font-size: 14px;
    line-height: 1.5;
    color: #333;
    word-break: break-word;
}

.notification__close {
    background: none;
    border: none;
    font-size: 24px;
    line-height: 1;
    color: #999;
    cursor: pointer;
    padding: 0 5px;
    transition: all 0.2s;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
}

.notification__close:hover {
    color: #333;
    background: rgba(0, 0, 0, 0.05);
}

.notification__timer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: rgba(0, 0, 0, 0.08);
}

.notification__timer-bar {
    height: 100%;
    width: 0;
    background: rgba(0, 0, 0, 0.15);
    animation: timer linear forwards;
}

/* Анимации */
@keyframes slideIn {
    from {
        transform: translateX(100%);
        opacity: 0;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideOut {
    from {
        transform: translateX(0);
        opacity: 1;
    }
    to {
        transform: translateX(100%);
        opacity: 0;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes scaleIn {
    from {
        transform: scale(0.8);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes scaleOut {
    from {
        transform: scale(1);
        opacity: 1;
    }
    to {
        transform: scale(0.8);
        opacity: 0;
    }
}

@keyframes timer {
    from {
        width: 100%;
    }
    to {
        width: 0%;
    }
}

.notification--slide {
    animation: slideIn 0.3s ease forwards;
}

.notification--fade {
    animation: fadeIn 0.3s ease forwards;
}

.notification--scale {
    animation: scaleIn 0.3s ease forwards;
}

/* Адаптивность */
@media (max-width: 768px) {
    .notification-container {
        padding: 10px;
        max-width: 100%;
    }

    .notification {
        min-width: auto;
        padding: 12px 16px;
    }

    .notification-container--top-center,
    .notification-container--bottom-center {
        width: 100%;
    }
}
/* End */
/* /local/components/spll/interact.map/templates/default-b2b/style.css?178483217534686 */
/* /local/components/b2b/ui.select/templates/.default/style.css?178480837613873 */
/* /local/components/b2c/ui.form/templates/input-range/style.css?17768485282408 */
/* /local/templates/main_b2b/components/bitrix/map.yandex.system/company_map/style.css?1776848529666 */
/* /local/components/b2b/notification/templates/.default/style.css?17850059875175 */
