.popup-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0,0.5);
    z-index: 99996;
    display: none;
    justify-content: center;
    align-items: flex-start;
}

.popup {
    position: relative;
    z-index: 99997;
    width: var(--tpl-popup-width);
    margin-inline: auto;
    display: flex;
    flex-direction: column;
    background-color: var(--tpl-popup-background-color);
    border-radius: var(--tpl-popup-border-radius);
    transform: translateY(-100%);
    transition: transform 0.6s ease;
    box-shadow: var(--tpl-content-box-shadow);
}

.popup.show {
    transform: translateY(25%);
}

.popup-container-image {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    overflow: hidden;
    border-radius: var(--tpl-popup-border-radius);
}

.popup-image img {
    width: 100%;
    height: auto;
    border-radius: var(--tpl-popup-border-radius) var(--tpl-popup-border-radius) 0 0;
}

.popup-container-text{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 2em;
    min-width: 50%;
    color: var(--tpl-popup-font-color-text);
}

.popup-heading {
    font-weight: bold;
    color: var(--tpl-popup-font-color-heading);
    font-size: var(--tpl-heading-font-size);
}

.popup-button {
    width: 75%;
    height: 3em;
    border: none;
    cursor: pointer;
    border-radius: var(--tpl-popup-border-radius) !important;
    background-color: var(--tpl-popup-background-color-button) !important;
    color: var(--tpl-popup-font-color-button) !important;
    margin-bottom: 0 !important;
}

.popup-button:hover {
    background-color: var(--tpl-popup-hover-color-button) !important;
}

/*----------------------*/
/*--- Media Querries ---*/
/*----------------------*/

@media (max-width: 1600px) {
    .popup {
        width: 40%;
    }
}

@media (max-width: 1200px) {
    .popup {
        width: 45%;
    }

    .popup-container-image {
        display: none !important;
    }
}

@media (max-width: 992px) {
    .popup {
        width: 50%;
    }

    .popup-container-text {
        font-size: var(--tpl-mobile-text-font-size);
    }

    .popup-heading {
        font-size: var(--tpl-mobile-heading-font-size);
    }

    .popup-button {
        width: 80%;
        font-size: var(--tpl-mobile-text-font-size);
    }
}

@media (max-width: 600px) {
    .popup {
        width: 65%;
    }

    .popup-heading {
        font-size: var(--tpl-mobile-heading-font-size);
    }
}

@media (max-width: 400px) {
    .popup {
        margin-bottom: 20vh;
    }
}