.page_home {
    background: #f2f0ef;
    list-style: none;                   /* убираем точки у списка */

    max-width: 1400px;     /* ограничение ширины */
    margin: 0 auto;        /* центрирование */
    padding: 0 0px;       /* отступы слева/справа */
    box-sizing: border-box;
    margin-top: 20px;
}

.banner {
    width: 100%;               /* контейнер на всю ширину страницы */
    max-width: 1200px;         /* максимум ширины на десктопе */
    margin: 20px auto;          /* сверху и снизу 20px, по центру */
    padding: 30px;             /* внутренние отступы сверху/снизу/слева/справа */
    box-sizing: border-box;    /* чтобы padding не увеличивал ширину */
}

.banner img {
    width: 100%;               /* картинка растягивается под контейнер */
    height: auto;              /* сохраняем пропорции */
    border-radius: 20px;       /* скругление */
    object-fit: cover;         /* обрезка по размеру контейнера */
    display: block;            /* убираем лишние пробелы под img */
}

@media (max-width: 640px) {
    .banner {
        padding: 0 10px;     /* меньше отступы на мобильных */
        margin-bottom: 12px;
    }

    .banner img {
        border-radius: 12px; /* скругление меньше на маленьких экранах */
    }
}


.banner_gallery {
    --gap: 16px;
    flex: 0 0 auto;
    display: flex;
    flex-wrap: nowrap;
    gap: var(--gap);
    overflow-x: auto;
    overflow-y: hidden;

    scroll-snap-type: x mandatory;           /* обязательно mandatory для жёсткого прилипания */
    scroll-behavior: smooth;                 /* плавный скролл (очень важно для ощущения) */
    scroll-padding: 0 calc(50% - 210px);     /* центрирует активное фото */

    padding: 0 0 0px 0;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    border: 1px solid #ddd;

}

/* Ключевые изменения здесь */
.banner_gallery-img {
    flex: 0 0 100%;                      /* ← 100% ширины контейнера = видно ровно одно фото */
    width: 100%;
    max-width: none;                     /* убираем ограничение */
    height: auto;
    aspect-ratio: 3 / 3 ;                 /* или 3/2, 16/9 — под твои фото */
    object-fit: cover;
    border-radius: 12px 12px 0 0;
    box-shadow: 0 4px 16px rgba(0,0,0,0.12);

    scroll-snap-stop: always;            /* браузер не пропустит этот элемент */
}

/* Скрываем скроллбар полностью, если не нужен */
.banner_gallery::-webkit-scrollbar {
    display: none;                       /* Chrome, Safari, Edge */
}
.banner_gallery {
    -ms-overflow-style: none;            /* IE и Edge */
    scrollbar-width: none;               /* Firefox */
    border-radius: 20px;
}

/* Опционально: небольшие края соседних фото для намёка (эффект peek) */
.banner_gallery {
    scroll-padding-left: 32px;
    scroll-padding-right: 32px;
}

/* Если хочешь, чтобы на мобильных было чуть меньше отступов */
@media (max-width: 640px) {
    .banner_gallery {
        scroll-padding: 0 16px;
    }
}

