.popplate-popup,.popplate-popup .popplate-box,.popplate-popup .popplate-content{box-sizing:border-box}
.popplate-popup{display:none;position:fixed;inset:0;z-index:99999;overflow-x:hidden;overflow-y:auto;padding:20px;background:var(--popplate-overlay,rgba(0,0,0,.6));
-webkit-backdrop-filter:blur(var(--popplate-blur,0px));backdrop-filter:blur(var(--popplate-blur,0px));
}
.popplate-popup.is-open{display:flex}
.popplate-popup .popplate-box{position:relative;width:100%;max-width:var(--popplate-width,600px);margin:var(--popplate-margin,auto)}
.popplate-popup .popplate-content{border-radius:var(--popplate-radius,12px);overflow:var(--popplate-overflow,visible);padding:var(--popplate-pad,0);background:var(--popplate-bg,transparent);box-shadow:var(--popplate-shadow,0 12px 40px rgba(0,0,0,.35))}

/* Close button: !important is used on purpose so theme button styles cannot override it. */
.popplate-popup .popplate-box button.popplate-close{position:absolute;top:var(--popplate-close-t,-14px);right:var(--popplate-close-r,-14px);z-index:10;display:flex!important;align-items:center;justify-content:center;width:var(--popplate-close-size,40px)!important;height:var(--popplate-close-size,40px)!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:var(--popplate-close-radius,50%)!important;background:var(--popplate-close-bg,#fff)!important;color:var(--popplate-close-color,#000)!important;box-shadow:0 2px 8px rgba(0,0,0,.3)!important;line-height:1!important;text-transform:none!important;cursor:pointer;transition:background .15s ease,color .15s ease,opacity .15s ease}
.popplate-popup .popplate-box button.popplate-close:hover,.popplate-popup .popplate-box button.popplate-close:focus{background:var(--popplate-close-bg-h,var(--popplate-close-bg,#fff))!important;color:var(--popplate-close-color-h,var(--popplate-close-color,#000))!important;
}
.popplate-popup .popplate-box button.popplate-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.popplate-popup .popplate-box button.popplate-close svg{display:block;width:var(--popplate-close-icon,18px);height:var(--popplate-close-icon,18px);pointer-events:none;fill:none;stroke:currentColor}

/* Animations */
@keyframes popplateFade{from{opacity:0}to{opacity:1}}
.popplate-popup[data-anim="fade"].is-open{animation:popplateFade var(--popplate-dur,250ms) ease backwards}
@keyframes popplateZoom{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes popplateSlide{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.popplate-popup[data-anim="zoom"].is-open,.popplate-popup[data-anim="slide"].is-open{animation:popplateFade var(--popplate-dur,250ms) ease backwards}
.popplate-popup[data-anim="zoom"].is-open .popplate-box{animation:popplateZoom var(--popplate-dur,250ms) ease backwards}
.popplate-popup[data-anim="slide"].is-open .popplate-box{animation:popplateSlide var(--popplate-dur,250ms) ease backwards}
@media (prefers-reduced-motion:reduce){.popplate-popup.is-open,.popplate-popup.is-open .popplate-box{animation:none!important}}

body.popplate-lock{overflow:hidden}

@media (max-width:767px){
  .popplate-popup{padding:12px}
  .popplate-popup .popplate-content{padding:var(--popplate-pad-m,var(--popplate-pad,0))}
  .popplate-popup .popplate-box button.popplate-close{top:8px;right:8px}
}
