#ep-overlay {
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.55);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:999999;
}
#ep-overlay.ep-visible { display:flex; }

#ep-popup {
    max-width:600px;
    width:100%;
    background:#fff;
    padding:32px;
    border-radius:16px;
    box-shadow:0 20px 40px rgba(0,0,0,.3);
    position:relative;
    text-align:center;
    box-sizing:border-box;
}

#ep-close {
    position:absolute;
    right:16px;
    top:16px;
    font-size:22px;
    cursor:pointer;
}

.ep-img img {
    max-width:220px;
    margin-bottom:20px;
}

.ep-text {
    margin:20px 0;
    font-size:16px;
}

.ep-btn {
    display:inline-block;
    padding:14px 26px;
    background:#0a8f40;
    border-radius:40px;
    color:#fff;
    text-decoration:none;
    font-size:17px;
}

/* animations */
.ep-anim-fadeInUp { animation:fadeUp .6s ease both; }
.ep-anim-zoomIn   { animation:zoomIn .6s ease both; }
.ep-anim-fadeIn   { animation:fadeIn .5s ease both; }
.ep-anim-bounceIn { animation:bounceIn .7s ease both; }

@keyframes fadeUp {
    from{opacity:0;transform:translateY(25px)}
    to{opacity:1;transform:translateY(0)}
}
@keyframes zoomIn {
    from{opacity:0;transform:scale(.8)}
    to{opacity:1;transform:scale(1)}
}
@keyframes fadeIn {
    from{opacity:0}
    to{opacity:1}
}
@keyframes bounceIn {
    0%{opacity:0;transform:scale(.3)}
    50%{opacity:1;transform:scale(1.05)}
    70%{transform:scale(.97)}
    100%{transform:scale(1)}
}
