/*
 * Главный баннер «Эталон». Подключать ПОСЛЕ style.css и screen.css.
 * Только геометрия главного слайдера: без изменений шрифтов и цветов.
 * Снять исправление: отключить этот файл.
 */

.hero-index-slider {
    /* Отступ под существующую шапку, минимальная высота по ширине макета. */
    --hero-top-space: clamp(160px, 11.4vw, 220px);
    --hero-min-height: clamp(720px, 47.4vw, 960px);
    --hero-content-bottom: 56px;
    --hero-controls-space: 44px;
    height: auto;
}

.hero-index-slider .glide__track,
.hero-index-slider .glide__slides {
    height: auto;
}

/* Flex-строка Glide выравнивает слайды по самому высокому содержимому. */
.hero-index-slider .glide__slides {
    align-items: stretch;
}

.hero-index-slider .glide__slide {
    display: flex;
    height: auto;
}

.hero-index-slider section.hero {
    box-sizing: border-box;
    width: 100%;
    height: auto;
    min-height: var(--hero-min-height);
    max-height: none;
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* Текст участвует в расчёте высоты, под ним всегда остаётся место кнопкам. */
.hero-index-slider section.hero > .page-container {
    height: auto;
    min-height: 0;
    flex: 1 0 auto;
    justify-content: center;
    align-items: stretch;
    padding-top: var(--hero-top-space);
    padding-bottom: var(--hero-content-bottom);
}

.hero-index-slider .hero__links {
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 0;
}

.hero-index-slider .hero__links--buttons {
    min-width: 0;
    max-width: 100%;
    flex-wrap: wrap;
}

.hero-index-slider .hero__links--buttons > .button {
    max-width: 100%;
}

/* В исходном screen.css этот блок поднимается на 90px поверх описания. */
.hero-index-slider .hero__links > li.exp {
    margin-top: 0;
}

/* Преимущества идут после контента, а не поверх него position:absolute. */
.hero-index-slider .hero__bottom {
    position: relative;
    inset: auto;
    width: 100%;
    flex: 0 0 auto;
    padding-bottom: 0;
}

.hero-index-slider .hero__bottom > .page-container {
    height: auto;
}

.hero-index-slider .hero__points > li {
    min-width: 0;
    height: auto;
}

/* Для нескольких слайдов резервируем полосу точек под преимуществами.
 * Количество слайдов определяется уже существующей разметкой — JS не нужен.
 */
.hero-index-slider:has(> .glide-controls) .hero__bottom {
    padding-bottom: var(--hero-controls-space);
}

.hero-index-slider > .glide-controls {
    top: auto;
    right: 0;
    bottom: 16px;
    left: 0;
    width: 100%;
    z-index: 2;
}

@media (max-width: 1024px) {
    .hero-index-slider {
        --hero-top-space: 150px;
        --hero-min-height: 680px;
        --hero-content-bottom: 40px;
    }
}

@media (max-width: 560px) {
    .hero-index-slider {
        --hero-top-space: 100px;
        --hero-min-height: 0px;
        --hero-content-bottom: 36px;
    }

    .hero-index-slider .hero__points {
        align-items: stretch;
    }

    /* Сетка 2 × 2 остаётся существующей; 132px теперь минимум, а не обрезка. */
    .hero-index-slider .hero__points > li {
        min-height: 132px;
    }
}

@media (max-width: 800px) and (orientation: landscape) {
    .hero-index-slider {
        --hero-top-space: 110px;
        --hero-min-height: 0px;
    }
}

/* Старые браузеры без :has(): оставляем место под существующий контрол. */
@supports not selector(:has(*)) {
    .hero-index-slider .hero__bottom {
        padding-bottom: var(--hero-controls-space);
    }
}
/* Коррекция: точки над преимуществами, исходные стили сайта не меняются. */
.hero-index-slider { --hero-content-bottom: 80px; }
.hero-index-slider .hero__bottom,
.hero-index-slider:has(> .glide-controls) .hero__bottom { padding-bottom: 0; }
.hero-index-slider > .glide-controls { bottom: 240px; }
@media (max-width: 1024px) {
    .hero-index-slider { --hero-content-bottom: 100px; }
    .hero-index-slider > .glide-controls { bottom: 180px; }
}
@media (max-width: 560px) {
    .hero-index-slider { --hero-content-bottom: 80px; }
    .hero-index-slider > .glide-controls { bottom: 300px; }
}

