/* Tariffs (Figma 1:8339 / 69:25255) — заголовок + подзаголовок + Tabs + карусель тарифов */
/* Карусель тарифов скроллится внутри трека; секция обрезает горизонтальный вылет
   слайдов, иначе появляется лишний горизонтальный скролл всей страницы.
   overflow-x: clip (не hidden) — не режет по вертикали и не создаёт лишний контейнер. */
.tariffs {
    overflow-x: clip;
}

.tariffs__head {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.tariffs__title {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    font-weight: var(--fw-medium);
    font-size: var(--font-h2-size);
    line-height: var(--font-h2-lh);
    margin: 0;
}

.tariffs__title .Button--blue {
    padding: 0 4px;
}

/* кнопка города в стиле заголовка: H2 32/40 (десктоп), 24/32 (mobile) */
.tariffs__city {
    font-size: var(--font-h2-size);
    line-height: var(--font-h2-lh);
}

.tariffs__subhead {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 4px 8px;
}

.tariffs__address {
    white-space: nowrap;
    flex: 0 0 auto;
    padding: 0;
}

.tariffs__subtitle {
    margin: 0;
    font-size: 20px;
    line-height: 28px;
    color: var(--text-secondary);
}

/* Tabs */
.tariffs__tabs {
    gap: 8px;
    margin-bottom: 24px;
}

.tariffs__tabs .Tab__icon {
    width: 144px;
}

/* Панели/карусель */
.tariffs__panel[hidden] {
    display: none;
}

.tariffs__empty {
    padding: 40px 0;
    color: var(--text-secondary);
    font-size: 16px;
    line-height: 24px;
}

.carousel {
    position: relative;
}

.carousel__track {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    /* внутренние отступы — чтобы тень крайних карточек не обрезалась скролл-контейнером;
       отрицательные поля компенсируют, оставляя карточки на месте по краям контейнера */
    padding: 8px 10px 12px;
    margin: -8px -10px 0;
    /* без scroll-padding snap «съедал» левый padding: тень левой карточки резалась,
       а справа выглядывала 4-я карточка */
    scroll-padding-inline: 10px;
}

.carousel__track::-webkit-scrollbar {
    display: none;
}

/* Слайд тянется по содержимому; ширина задаётся брейкпоинтами ниже (плавный адаптив) */
.carousel__slide {
    flex: 0 0 calc((100% - 32px) / 3);
    scroll-snap-align: start;
    display: flex;
}

.carousel__slide .TariffCard {
    width: 100%;
}

.carousel__arrow {
    position: absolute;
    top: calc(50% - 18px);
    z-index: 2;
    color: var(--text-tertiary);
    opacity: 1;
}

.carousel__arrow.is-disabled,
.carousel__arrow:disabled {
    color: var(--text-tertiary);
    opacity: .6;
}

.carousel__arrow--prev {
    left: -52px;
}

.carousel__arrow--next {
    right: -52px;
}

.CarouselIndicator {
    display: flex;
    justify-content: center;
    gap: 8px;
}

@media (max-width: 1199px) {
    .carousel__slide {
        flex-basis: calc((100% - 32px) / 3);
    }
}

@media (min-width: 800px) and (max-width: 1199px) {
    .carousel__track {
        margin-right: 0;
        margin-left: 0;
        padding-right: 0;
        padding-left: 0;
        scroll-padding-inline: 0;
    }

    .carousel__arrow--prev {
        left: -40px;
    }

    .carousel__arrow--next {
        right: -40px;
    }
}

@media (max-width: 799px) {
    .carousel__arrow {
        display: none;
    }
}

/* < 800px: показываем 2 карточки, край третьей выглядывает (подсказка о скролле) */
@media (max-width: 800px) {
    .tariffs__city {
        font-size: 24px;
        line-height: 32px;
    }

    .tariffs__subhead {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .tariffs__tabs {
        overflow-x: auto;
        scrollbar-width: none;
        flex-wrap: nowrap;
    }

    .tariffs__tabs::-webkit-scrollbar {
        display: none;
    }

    .tariffs__tabs .Tab__icon,
    .tariffs__tabs .Tab__label {
        width: 104px;
    }

    .carousel__slide {
        flex-basis: calc((100% - 16px) / 2.2);
    }

    .tariffs__title,
    .tariffs__title .Button--blue {
        font-size: var(--font-h3-size);
        line-height: var(--font-h3-lh);
    }

    .tariffs__subtitle {
        font-size: 16px;
        line-height: 24px;
    }
}

/* <= 480px (включая 360): 1 карточка, край следующей выглядывает */
@media (max-width: 480px) {
    .carousel__slide {
        flex-basis: 320px;
    }
}
