.promo_popup_content {
    --popup-height: 1024px;
}
.promo_img_desktop {
    display: block;
}
.promo_img_mobile {
    display: none !important;
}

.promo_popup_content div#swal2-content {
    color: #000;
    text-align: initial;
    margin: 0;
}

.promo_popup_content .swal2-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 1.8em;
}

.promo_popup_content .swal2-close {
    padding: 1px;
    border-radius: 100px;
    display: block !important;
    width: 28px;
    height: 28px;
    text-align: center;
    text-indent: 1px;
    outline: none;
    box-shadow: none;
    margin: 15px 0;
    position: relative;
}

.promo_popup_content .swal2-header {
    width: 100%;
    justify-content: end;
    align-items: end;
    position: absolute;
    top: -10px;
    right: -22px;
    z-index: 5;
}

.promo_popup_content .swal2-content {
    padding-left: 0;
    padding-right: 0;
    max-height: var(--popup-height);
    overflow: auto;
}

.promo_popup_content:has(.style-borderless) .swal2-modal {
    overflow: hidden;
    padding: 0px;
    padding-top: 0 !important;
}

.promo_popup_content:has(.style-borderless) .swal2-content {
    padding: 0;
    margin: 0;
}

.promo_popup_content .promo_buttons {
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 1em 0 0;
    gap: 15px;
}
.promo_popup_content:has(.style-borderless) .promo_buttons {
    padding: 1em 0 1em;
}
.promo_popup_content .promo_buttons a {
    transition: all 0.3s ease;
    text-decoration: none;
}
.promo_popup_content .promo_buttons a:hover {
    filter: brightness(1.05);
}

.promo_popup_content .swal2-popup {
    padding-top: 1em !important;
}
.promo_popup_content:has(.promo_content) .promo_image {
    margin-bottom: 2em;
    max-height: calc(var(--popup-height) / 2);
}
.promo_popup_content:has(.promo_content) .promo_image > div, .promo_popup_content:has(.promo_content) .promo_image > div * {
    max-height: calc(var(--popup-height) / 2);
}
.promo_popup_content:has(.promo_content) .promo_image img {
    height: 100%;
    width: 100%;
    object-fit: contain;
}
.promo_popup_content:not(:has(.promo_content)) .promo_image img {
    max-height: var(--popup-height);
}
.promo_popup_content:has(.style-borderless) .promo_content {
    padding-left: 1em;
    padding-right: 1em;
}

@media (max-width: 540px) {
    .promo_img_desktop {
        display: none;
    }
    .promo_img_mobile {
        display: block !important;
    }
    .promo_popup_content {
        --popup-height: auto;
    }
    .promo_popup_content:has(.promo_content) .promo_image {
        margin-bottom: 1.5em;
    }
}