

/* Start:/local/components/spll/interact.map/templates/default-b2b/style.css?178792403539578*/
/* Индикатор загрузки */
.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;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    /* Оболочка занимает всю высоту карты, но в свёрнутом состоянии видна только
       кнопка — остальная её площадь не должна перехватывать перетаскивание
       карты. Клики принимают сами элементы (см. правило ниже). */
    pointer-events: none;
}

.map-sidebar-shell .map-sidebar.filter,
.map-sidebar-shell .map-filter-toggle,
.map-sidebar-shell .map-export-btn {
    pointer-events: auto;
}

.map-sidebar.filter {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    max-width: none;
    width: 100%;
    /* Высоту даёт flex-оболочка: над панелью лежит кнопка сворачивания,
       height: 100% вылезал бы за нижний край карты на её высоту. */
    height: auto;
    flex: 1 1 auto;
    min-height: 0;
    z-index: 1;
    box-sizing: border-box;
    border-radius: 24px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

/* Кнопка показа/скрытия панели фильтра (десктоп) */
.map-filter-toggle {
    align-self: flex-start;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    padding: 10px 18px;
    border: none;
    border-radius: 14px;
    background: #FFFFFF;
    color: var(--b2b-primary);
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(10, 26, 62, 0.12);
    transition: color 0.3s ease-in-out, background 0.3s ease-in-out;
}

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

.map-filter-toggle svg {
    display: block;
    flex-shrink: 0;
}

/* Свёрнутое состояние — только десктоп. На мобильной вёрстке панелью
   управляет .is-open, и класс .is-collapsed (мог остаться после сворачивания
   на широком экране) не должен мешать её открывать. */
@media (min-width: 921px) {
    .map-sidebar-shell.is-collapsed .map-sidebar.filter {
        display: none;
    }

    /* Панели рядом больше нет — кнопка выгрузки уезжает к левому краю карты */
    .map-sidebar-shell.is-collapsed .map-export-btn {
        left: 0;
    }
}

.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%;
    min-height: 0;
    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;
    }

    /* Карточка объекта свёрстана под десктопный балун Яндекс-карт и жёстко
       задана в 362px (.obj-balloon выше). В мобильном попапе доступно
       ~303px (экран 375 - поля 2x20 - паддинги 2x16), поэтому длинный адрес
       уезжал за правый край карточки. Тянем карточку по ширине попапа;
       padding-right: 28px из базового правила оставляем - он держит текст
       заголовка из-под кнопки закрытия. */
    .map-mobile-popup .obj-balloon--mobile {
        width: 100%;
        max-width: 100%;
    }

    /* Адрес или название одним длинным словом (или ссылкой) шире колонки
       всё равно не должны выпирать наружу. */
    .map-mobile-popup .obj-balloon--mobile h3,
    .map-mobile-popup .obj-balloon--mobile .obj-description,
    .map-mobile-popup .obj-balloon--mobile .obj-address,
    .map-mobile-popup .obj-balloon--mobile .obj-branch,
    .map-mobile-popup .obj-balloon--mobile .obj-audience,
    .map-mobile-popup .cluster-balloon--mobile .cluster-balloon-item h4,
    .map-mobile-popup .cluster-balloon--mobile .cluster-balloon-item .obj-address {
        overflow-wrap: anywhere;
    }

    .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;
        display: block;
        pointer-events: auto;
    }

    /* На мобильной вёрстке фильтр скрывается кнопкой в .mobile-head */
    .map-filter-toggle {
        display: 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-shell, а тот — флекс-элемент
       .interact-map-wrapper с собственным z-index, то есть отдельный контекст
       наложения. Свой z-index панель тратит внутри него, а оболочка остаётся на
       третьем слое и уходит под плавающие кнопки связи (.main-page__btns,
       z-index: 10) и баннер cookie. Поднимаем саму оболочку — но только пока
       фильтр раскрыт, чтобы в остальное время кнопки связи оставались доступны. */
    body.mobile-filter-open .map-sidebar-shell {
        z-index: 10000 !important;
    }

    .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?178792403539578 */
/* /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 */
