.sep-popup{position:fixed;inset:0;z-index:99999;display:none;padding:20px;box-sizing:border-box;pointer-events:none}
.sep-popup.is-visible{display:flex}
.sep-pos-center{align-items:center;justify-content:center}
.sep-pos-top{align-items:flex-start;justify-content:center}
.sep-pos-bottom{align-items:flex-end;justify-content:center}
.sep-pos-bottom-right{align-items:flex-end;justify-content:flex-end}
.sep-pos-bottom-left{align-items:flex-end;justify-content:flex-start}
.sep-pos-top,.sep-pos-bottom{padding:0}

.sep-overlay{position:absolute;inset:0;background:var(--sep-overlay,rgba(0,0,0,.6));opacity:0;transition:opacity .25s ease;pointer-events:auto}
.sep-popup.is-open .sep-overlay{opacity:1}

.sep-box{position:relative;box-sizing:border-box;width:100%;max-width:var(--sep-width,600px);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--sep-bg,#fff);border-radius:var(--sep-radius,8px);box-shadow:0 20px 60px rgba(0,0,0,.25);pointer-events:auto;outline:none;opacity:0;transition:opacity .25s ease,transform .25s ease}
.sep-pos-top .sep-box,.sep-pos-bottom .sep-box{max-height:100vh;max-height:100dvh}
.sep-anim-zoom .sep-box{transform:scale(.92)}
.sep-anim-slide .sep-box{transform:translateY(30px)}
.sep-pos-top.sep-anim-slide .sep-box{transform:translateY(-30px)}
.sep-popup.is-open .sep-box{opacity:1;transform:none}

.sep-popup .sep-close{position:absolute;top:8px;right:8px;z-index:20;display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.08);color:#222;box-shadow:none;cursor:pointer;line-height:1;transition:background .15s ease}
.sep-popup .sep-close:hover,.sep-popup .sep-close:focus-visible{background:rgba(0,0,0,.16);color:#000}
.sep-popup .sep-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.sep-content>.elementor{width:100%}

[data-sep-trigger],[class*="open-popup-"]{cursor:pointer}
[data-sep-trigger]:focus-visible{outline:2px solid currentColor;outline-offset:3px}

html.sep-locked,html.sep-locked body{overflow:hidden}

@media (prefers-reduced-motion:reduce){
  .sep-overlay,.sep-box{transition:none}
  .sep-anim-zoom .sep-box,.sep-anim-slide .sep-box{transform:none}
}
