/* Оверлей (фон) */
.popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5); /* Серый полупрозрачный фон */
    z-index: 9999;
}

/* Основной контейнер попапа */
.custom-popup {
    display: none;
    background: #fff;
    position: fixed; /* Возвращаем fixed, но с прокруткой через overflow */
    top: 1%; /* Начальный отступ сверху 15% */
    left: 50%;
    transform: translateX(-50%); /* Центрирование по горизонтали */
    width: auto; /* Ширина определяется содержимым */
    min-width: 300px; /* Минимальная ширина как раньше */
    max-width: 90%; /* Ограничиваем максимальную ширину */
    padding: 20px;
    z-index: 10000 !important;
    opacity: 1;
    visibility: visible;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); /* Тень */
    border: none; /* Без рамки */
    height: auto; /* Высота определяется содержимым */
    max-height: calc(110vh - 134px); /* Максимальная высота: от низа окна до отступа 15% минус padding */
    overflow-y: auto; /* Включаем прокрутку внутри попапа */
}

/* Скрываем скроллбар в Webkit-браузерах (Chrome, Safari) */
.custom-popup::-webkit-scrollbar {
    display: none;
}
.custom-popup {
    scrollbar-width: none; /* Скрываем скроллбар в Firefox */
    -ms-overflow-style: none; /* Скрываем скроллбар в IE/Edge */
}

/* Внутренние элементы попапа */
.custom-popup .vc_row {
    margin: 0 !important;
    width: 100% !important;
}
.custom-popup .wpb_wrapper {
    width: 100%;
}

/* Кнопка закрытия */
.popup-close {
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    position: sticky;
    top: 0;
    right: 0;
}

/* Поведение body при открытии попапа */
body.popup-open {
    overflow: hidden; /* Блокируем прокрутку фона */
    height: 100vh;
}
body.popup-open .custom-popup {
    display: block;
}
body.popup-open .popup-overlay {
    display: block;
}

/* Убеждаемся, что html и body занимают всю высоту */
html, body {
    height: 100%;
}