/* Estilos base (puedes sobrescribir por popup con "CSS personalizado") */
.vm-popup{position:fixed;inset:0;display:none;z-index:99999}
.vm-popup.is-open{display:block}
.vm-popup__overlay{position:absolute;inset:0;background:var(--vm-popup-overlay, rgba(0,0,0,.6))}
.vm-popup__content{
  position:relative;
  margin:auto;
  top:50%; transform:translateY(-50%);
  width:var(--vm-popup-width, 640px);
  max-width:var(--vm-popup-max-width, 95vw);
  background:#fff; border-radius:16px; box-shadow:0 15px 45px rgba(0,0,0,.25);
  overflow:hidden;
}
.vm-popup__inner{padding:24px}
.vm-popup__close{
  position:absolute; right:8px; top:4px;
  background:transparent; border:none; font-size:28px; line-height:1; cursor:pointer;
}
@media (max-width:640px){
  .vm-popup__inner{padding:18px}
}
.vm-popup__inner.vm-animating{animation-fill-mode:both}
.vm-popup__inner.vm-anim-fade{animation:vmPopupFade .35s ease-out}
.vm-popup__inner.vm-anim-slide-up{animation:vmPopupSlideUp .45s cubic-bezier(0.34,1.56,0.64,1)}
.vm-popup__inner.vm-anim-zoom-in{animation:vmPopupZoomIn .4s cubic-bezier(0.34,1.56,0.64,1)}
.vm-popup__inner.vm-anim-drop-in{animation:vmPopupDropIn .5s cubic-bezier(0.23,1,0.32,1)}

@keyframes vmPopupFade{
  from{opacity:0}
  to{opacity:1}
}
@keyframes vmPopupSlideUp{
  from{opacity:0;transform:translateY(28px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes vmPopupZoomIn{
  from{opacity:0;transform:scale(0.9)}
  to{opacity:1;transform:scale(1)}
}
@keyframes vmPopupDropIn{
  0%{opacity:0;transform:translateY(-24px)}
  60%{opacity:1;transform:translateY(8px)}
  100%{transform:translateY(0)}
}
