    /* Оверлей: всегда во весь экран, position: fixed — не зависит от
       родительских трансформаций, т.к. JS переносит узел в <body> */
    .banner-fly-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 99999;
        display: none;
        align-items: center;
        justify-content: center;
        -webkit-backdrop-filter: blur(1px);
        backdrop-filter: blur(1px);
    }
    .banner-fly-overlay.is-open {
        display: flex;
    }

    /* Контейнер: белые поля 10px, скругление 5px, по центру экрана */
    .banner-fly-box {
        position: relative;
        background: #fff;
        border-radius: 5px;
        padding: 10px;
        max-width: calc(100vw - 20px);
        max-height: calc(100vh - 20px);
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Содержимое: скругление под внутреннюю границу рамки */
    .banner-fly-body {
        border-radius: 2px;
        overflow: hidden;
        line-height: 0;
    }
    .banner-fly-body img {
        display: block;
        max-width: 100%;
        height: auto;
    }

    /* Кнопка закрытия — сбоку справа, ВНЕ баннера */
    .banner-fly-close {
        position: absolute;
        top: 0;
        right: -48px;
        z-index: 2;
        width: 36px;
        height: 36px;
        padding: 0;
        background: rgba(255, 255, 255, 0.85);
        border: none;
        border-radius: 50%;
        cursor: pointer;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 22px;
        line-height: 1;
        color: #333;
    }
    .banner-fly-close:hover,
    .banner-fly-close:focus {
        background: #fff;
        color: #000;
        outline: none;
    }

    /* На узких экранах сбоку нет места — поднимаем кнопку над баннером */
    @media (max-width: 767.98px) {
        .banner-fly-close {
            right: 0;
            top: -48px;
        }
        /* чтобы над баннером помещалась кнопка, сдвигаем box вниз */
        .banner-fly-box {
            margin-top: 60px;
        }
    }