.genplanWrapper {
    position: relative;
    width: 100%;
    height: 100vh; /* всегда во всю высоту окна */
    overflow-x: auto; /* при ширине > экрана — горизонтальный скролл */
    overflow-y: hidden;
    margin: 0;
    padding: 0;
    -webkit-overflow-scrolling: touch;
}

.genplanWrapper iframe {
    display: block;
    height: 100%; /* подгон по высоте */
    width: auto; /* ширина пропорциональна */
    min-width: 100%; /* не меньше ширины окна */
    border: 0;
}

.genplanWrapper::-webkit-scrollbar {
    height: 3px;
}

.genplanWrapper::-webkit-scrollbar-track {
    background-color: rgba(0, 0, 0, 0.08);
    border-radius: 999px;
    -webkit-border-radius: 999px;
    -moz-border-radius: 999px;
    -ms-border-radius: 999px;
    -o-border-radius: 999px;
}
.genplanWrapper::-webkit-scrollbar-thumb {
    border-radius: 999px;
    -webkit-border-radius: 999px;
    -moz-border-radius: 999px;
    -ms-border-radius: 999px;
    -o-border-radius: 999px;
}

/* Мобильная адаптация ТОЛЬКО с горизонтальным скроллом */
@media (max-width: 768px) {
    .genplanWrapper {
        height: 80vh; /* 65% высоты экрана */
        min-height: 400px;
        /* max-height: 600px; */
        overflow-x: auto; /* Только горизонтальный скролл */
        overflow-y: hidden; /* Запрещаем вертикальный */
        white-space: nowrap; /* Запрещаем переносы */
        padding-bottom: 10px;
    }

    .genplanWrapper img {
        width: auto; /* Отменяем 100% ширину */
        height: 100%; /* Занимает всю высоту контейнера */
        min-width: 800px; /* Минимальная ширина для читаемости */
        max-width: none;
        display: inline-block; /* Для горизонтального потока */
        vertical-align: top;
    }
}

/* Для очень маленьких экранов */
@media (max-width: 480px) {
    .genplanWrapper {
        height: 80vh;
        min-height: 350px;
        /* max-height: 500px; */
    }

    .genplanWrapper img {
        min-width: 700px;
    }
}
