newsletter-popup {
    display: none;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9998;
    background: transparent;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    padding: 36px;
    transition: opacity .2s ease;
    opacity: 0;
}

.newsletter-popup-container {
    position: relative;
    filter: drop-shadow(0px 10px 30px var(--text-color-20));
    border: 1px solid var(--text-color-40);
    text-align: center;
    background-color: var(--background-color);
    padding: 68px 76px;
}

.newsletter-popup-container-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    max-width: 500px;
}

.newsletter-popup-container h2 {
    font-size: 48px;
    margin-bottom: 10px;
}

newsletter-popup .subscribe-form {
    width: 100%;
    max-width: 90%;
    margin-top: 20px;
}

p.smaller {
    font-size: 16px;
    opacity: 0.8;
    font-style: italic;
    margin-top: 12px;
}

.newsletter-popup-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    position: absolute;
    top: 19px;
    right: 19px;
}

/* Styles for large desktop */
@media (min-width: 1439px) {  
    .newsletter-popup-container {
        filter: drop-shadow(0px calc(0.7vw * var(--scale)) calc(2.1vw * var(--scale)) var(--text-color-20));
        padding: calc(4.72vw * var(--scale)) calc(5.27vw * var(--scale));
    }

    .newsletter-popup-container-inner {
        max-width: calc(34.72vw * var(--scale));
    }

    .newsletter-popup-container h2 {
        font-size: calc(3.33vw * var(--scale));
        margin-bottom: calc(0.69vw * var(--scale));
    }

    newsletter-popup .subscribe-form {
        margin-top: calc(1.39vw * var(--scale));
    }

    p.smaller {
        font-size: calc(1.11vw * var(--scale));
        margin-top: calc(0.83vw * var(--scale));
    }

    .newsletter-popup-close {
        width: calc(1.67vw * var(--scale));
        height: calc(1.67vw * var(--scale));
        top: calc(1.32vw * var(--scale));
        right: calc(1.32vw * var(--scale));
    } 
}

/* Styles for mobile */
@media (max-width: 767px) {
    newsletter-popup {
        padding: 18px;
    }

    .newsletter-popup-container {
        filter: drop-shadow(0px 10px 30px var(--text-color-20));
        padding: 48px 16px;
    }

    .newsletter-popup-container h2 {
        font-size: 32px;
        margin-bottom: 6px;
    }

    newsletter-popup .subscribe-form {
        margin-top: 14px;
    }

    p.smaller {
        font-size: 14px;
        opacity: 0.8;
        font-style: italic;
        margin-top: 8px;
    }

    .newsletter-popup-close {
        top: 14px;
        right: 14px;
    }
} 