#cityCategories .btn-orange { position: relative; }

#cityCategories .btn-orange > span {
    position: absolute;
    left: 50%;
    bottom: -18px;
    border-bottom: 10px solid transparent;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid #f37334;
    z-index: 1;
    margin-left: -10px;
}

#cityCategories .btn-orange:hover > span { border-top: 10px solid #e2652b; }

#cityCategories .btn-orange:active > span { border-top: 10px solid #d45c23; }

/* Активная вкладка отображается фирменным цветом без градиента и тени */
#cityCategories .btn-disactive {
    cursor: default !important;
    background-color: #f37334 !important;
    background-image: none !important;
    border-color: #f37334 !important;
    filter: none !important;
    box-shadow: none;
    text-shadow: none;
    outline: none !important;
}

#cityCategories .btn-disactive > span { border-top: 10px solid #f37334 !important; }

/* Расположение подписки рядом с переключателем разделов города */
#cityCategories.cityCategoriesWithSubscription {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    flex-wrap: nowrap;
}

#cityCategories.cityCategoriesWithSubscription > .btn { flex: 0 0 auto; }

#cityCategories.cityCategoriesWithSubscription .cityCategoriesSubscriptionBlock {
    display: block;
    flex: 1 1 0;
    margin-left: auto;
    min-width: 0;
}

#cityCategories.cityCategoriesWithSubscription .subscription-block {
    margin-top: 0;
}

#cityCategories.cityCategoriesWithSubscription .subscription-block__content {
    margin-bottom: 0;
    flex-wrap: nowrap;
    justify-content: flex-end;
}

#cityCategories.cityCategoriesWithSubscription .subscription-block__content > * {
    flex: 0 0 auto;
}

/* Скрываем текст кнопок только после проверки фактического переполнения строки */
#cityCategories.cityCategoriesSubscriptionVkTextHidden .vkMailingSubscriptionUrl .subscription-block__label,
#cityCategories.cityCategoriesSubscriptionMaxTextHidden .maxBotUrl .subscription-block__label {
    display: none;
}

/* Скрываем пояснение только когда строка не помещается даже с кнопками без текста */
#cityCategories.cityCategoriesSubscriptionPromptHidden .subscription-block__prompt {
    display: none;
}

@media (max-width: 767.999px) {
    /* Переключатель разделов сохраняет одну строку и прокручивается только при фактической нехватке места */
    #cityCategories {
        max-width: 100%;
        padding-bottom: 20px;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    #cityCategories::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    #cityCategories.cityCategoriesWithSubscription {
        min-width: 100%;
    }

    /* Убираем старый внешний отступ списка после уже зарезервированного места под стрелку вкладки */
    #cityCategories + #elems-list {
        margin-top: 0;
    }

    /* Результат начинается сразу после места для стрелки активной кнопки */
    #cityCategories + #elems-list > .elem:first-child {
        padding-top: 0;
    }
}
