
.divina-popup-overlay{
    position:fixed;
    inset:0;
    z-index:999999;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    background:var(--divina-popup-overlay, rgba(0,0,0,.82));
    backdrop-filter:blur(1px);
    -webkit-backdrop-filter:blur(1px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .28s ease, visibility .28s ease;
}
.divina-popup-overlay.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.divina-popup-shell{
    position:relative;
    width:min(var(--divina-popup-desktop-width,720px), calc(100vw - 40px));
    max-height:calc(100vh - 40px);
    transform:translateY(12px) scale(.96);
    opacity:0;
    transition:transform .34s cubic-bezier(.2,.75,.25,1), opacity .3s ease;
    filter:drop-shadow(var(--divina-popup-shadow, 0 24px 70px rgba(0,0,0,.60)));
}
.divina-popup-overlay.is-open .divina-popup-shell{
    transform:translateY(0) scale(1);
    opacity:1;
}
.divina-popup-image{
    display:block;
    width:100%;
    height:auto;
    max-height:calc(100vh - 40px);
    object-fit:contain;
    border-radius:14px;
}
.divina-popup-link{
    display:block;
}
.divina-popup-close{
    position:absolute;
    top:-14px;
    right:-14px;
    z-index:3;
    width:42px;
    height:42px;
    border:1px solid rgba(255,255,255,.45);
    border-radius:999px;
    background:rgba(10,10,10,.94);
    color:#fff;
    font:300 30px/1 Arial,sans-serif;
    cursor:pointer;
    display:grid;
    place-items:center;
    box-shadow:0 8px 24px rgba(0,0,0,.35);
    transition:transform .2s ease, background .2s ease;
}
.divina-popup-close:hover{
    transform:scale(1.06);
    background:#000;
}
body.divina-popup-lock{
    overflow:hidden !important;
}
@media (max-width: 767px){
    .divina-popup-overlay{
        padding:12px;
        align-items:center;
    }
    .divina-popup-shell{
        width:min(var(--divina-popup-mobile-width,94vw), calc(100vw - 18px));
        max-height:calc(100svh - 24px);
    }
    .divina-popup-image{
        max-height:calc(100svh - 24px);
        border-radius:11px;
    }
    .divina-popup-close{
        top:-10px;
        right:-6px;
        width:38px;
        height:38px;
        font-size:27px;
    }
}
@media (prefers-reduced-motion: reduce){
    .divina-popup-overlay,
    .divina-popup-shell,
    .divina-popup-close{transition:none !important;}
}
