/* Popup giữ khách. Desktop: hộp giữa màn hình. Mobile: thanh trượt từ dưới, không phủ kín, không nền tối. */
.vae-xp[hidden]{display:none}
.vae-xp{position:fixed;inset:0;z-index:300;pointer-events:none}
.vae-xp__bd{position:absolute;inset:0;background:rgba(14,33,65,.35);opacity:0;transition:opacity .2s}
.vae-xp__box{position:absolute;pointer-events:auto;background:#fff;color:var(--vae-ink);border-radius:var(--vae-r-lg);box-shadow:var(--vae-sh-3);padding:var(--vae-6);outline:0;opacity:0;transition:opacity .2s,transform .2s}
.vae-xp.is-open .vae-xp__bd{opacity:1;pointer-events:auto}
.vae-xp.is-open .vae-xp__box{opacity:1;transform:none}
.vae-xp__x{position:absolute;top:6px;right:6px;width:44px;height:44px;border:0;background:transparent;color:var(--vae-ink-2);font-size:28px;line-height:1;cursor:pointer;border-radius:var(--vae-r-pill)}
.vae-xp__x:hover{background:var(--vae-bg-3)}
.vae-xp__x:focus-visible{outline:0;box-shadow:var(--vae-ring)}
.vae-xp__t{margin:0 var(--vae-8) var(--vae-2) 0;font-family:var(--vae-font-h);font-weight:700;font-size:var(--vae-t-lg);line-height:1.3;color:var(--vae-navy)}
.vae-xp__p{margin:0 0 var(--vae-3);font-size:var(--vae-t-sm);line-height:1.5;color:var(--vae-ink-2)}
.vae-xp__o{margin:0 0 var(--vae-3);padding:var(--vae-2) var(--vae-3);border-radius:var(--vae-r-sm);background:var(--vae-lime-050);font-size:var(--vae-t-sm);font-weight:600;color:var(--vae-navy)}
.vae-xp__a{display:grid;gap:var(--vae-2)}
.vae-xp__n{margin:var(--vae-3) 0 0;font-size:var(--vae-t-xs);color:var(--vae-ink-3)}

@media (min-width:768px){
  .vae-xp__box{left:50%;top:50%;width:min(440px,calc(100vw - 32px));transform:translate(-50%,-46%)}
  .vae-xp.is-open .vae-xp__box{transform:translate(-50%,-50%)}
}
@media (max-width:767px){
  .vae-xp__bd{display:none}
  .vae-xp__box{left:0;right:0;bottom:0;border-radius:var(--vae-r-lg) var(--vae-r-lg) 0 0;padding:var(--vae-5) var(--vae-4) calc(var(--vae-4) + env(safe-area-inset-bottom));max-height:45vh;overflow-y:auto;transform:translateY(24px)}
}
@media (prefers-reduced-motion:reduce){
  .vae-xp__bd,.vae-xp__box{transition:none}
}
