.popup-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.75);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:9999;
    padding:20px;
}

.popup-overlay.show{
    display:flex;
}

.popup-container{
    position:relative;
    width:100%;
    max-width:450px;
    animation:popupFade .35s ease;
}

.popup-image{
    width:100%;
    display:block;
    border-radius:16px;
    box-shadow:0 15px 40px rgba(0,0,0,.4);
}

.popup-close{
    position:absolute;
    top:-12px;
    right:-12px;
    width:36px;
    height:36px;
    border:none;
    border-radius:50%;
    background:#fff;
    color:#000;
    font-size:24px;
    cursor:pointer;
    font-weight:bold;
    box-shadow:0 5px 15px rgba(0,0,0,.25);
}

@keyframes popupFade{
    from{
        opacity:0;
        transform:scale(.9);
    }
    to{
        opacity:1;
        transform:scale(1);
    }
}

@media(max-width:768px){

    .popup-container{
        max-width:95%;
    }

    .popup-close{
        top:-8px;
        right:-8px;
    }

}