/* ============================================
   NS-POPUP PRO — NewSupport + Despega Pymes
   Versión optimizada desktop + smartphone
   ============================================ */

.ns-popup-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:clamp(14px,2.4vw,28px);
  background:rgba(2,6,18,.78);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.ns-popup-overlay.show{display:flex;}

.ns-popup,
.ns-popup.ns-popup-pro,
.ns-popup.ns-popup-separated{
  position:relative;
  width:min(1120px,calc(100vw - 36px));
  max-width:1120px;
  max-height:calc(100dvh - 36px);
  overflow:hidden;
  padding:0;
  border-radius:30px;
  border:1px solid rgba(41,171,226,.34);
  background:
    radial-gradient(circle at 8% 10%,rgba(41,171,226,.26),transparent 32%),
    radial-gradient(circle at 88% 10%,rgba(49,255,155,.16),transparent 30%),
    linear-gradient(135deg,#050815 0%,#0b1b43 48%,#06101f 100%);
  box-shadow:0 34px 110px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.045) inset;
  animation:nsPopupIn .38s ease both;
}
.ns-popup::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(41,171,226,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(41,171,226,.055) 1px,transparent 1px);
  background-size:36px 36px;
  opacity:.52;
  pointer-events:none;
}
.ns-popup::after{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  right:-150px;
  bottom:-160px;
  background:radial-gradient(circle,rgba(49,255,155,.20),transparent 70%);
  pointer-events:none;
}

.ns-popup-close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:5;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.09);
  color:#fff;
  font-size:1.35rem;
  line-height:1;
  cursor:pointer;
  transition:transform .2s,background .2s,border-color .2s;
}
.ns-popup-close:hover{transform:rotate(90deg);background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.38);}

.ns-popup-content,
.ns-popup-layout,
.ns-popup-two-brands{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);
  gap:0;
  align-items:stretch;
}

.ns-popup-main{
  padding:clamp(28px,4.4vw,54px);
  min-width:0;
}
.ns-popup-main-logo,
.ns-popup-ns-logo{
  display:block;
  width:min(190px,44vw);
  height:auto;
  margin:0 0 18px;
  padding:7px;
  border-radius:18px;
  background:rgba(3,6,18,.52);
  box-shadow:0 18px 42px rgba(0,0,0,.42),0 0 0 1px rgba(41,171,226,.20);
}
.ns-popup-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:fit-content;
  margin:0 0 16px;
  padding:7px 14px;
  border-radius:999px;
  background:rgba(41,171,226,.13);
  border:1px solid rgba(41,171,226,.38);
  color:#29abe2;
  font-family:'Exo 2',sans-serif;
  font-size:.70rem;
  font-weight:900;
  letter-spacing:1.9px;
  text-transform:uppercase;
}
.ns-popup-badge::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#31ff9b;
  box-shadow:0 0 14px rgba(49,255,155,.8);
}
.ns-popup h3,
.ns-popup-title{
  max-width:660px;
  margin:0 0 16px;
  color:#fff;
  font-family:'Exo 2',sans-serif;
  font-weight:900;
  font-size:clamp(2.15rem,4.1vw,4rem);
  line-height:.98;
  letter-spacing:-1.45px;
}
.ns-popup h3 span,
.ns-popup-title span{color:#ffb74d;text-shadow:0 0 26px rgba(255,183,77,.14);}
.ns-popup p,
.ns-popup-copy{
  max-width:650px;
  margin:0 0 22px;
  color:rgba(255,255,255,.76);
  font-size:1.04rem;
  line-height:1.58;
}
.ns-popup-copy strong{color:#31ff9b;font-weight:800;}

.ns-popup-list,
.ns-popup-service-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:0 0 26px;
}
.ns-popup-service-list>div{
  min-width:0;
  padding:13px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.065);
  border:1px solid rgba(255,255,255,.10);
  color:rgba(255,255,255,.78);
}
.ns-popup-service-list strong{
  display:block;
  margin-bottom:3px;
  color:#fff;
  font-family:'Exo 2',sans-serif;
  font-size:.96rem;
}
.ns-popup-service-list strong::before{content:"✓";color:#31ff9b;margin-right:7px;}
.ns-popup-service-list small{display:block;color:rgba(255,255,255,.58);font-size:.79rem;line-height:1.35;}

.ns-popup-actions{display:flex;gap:12px;flex-wrap:wrap;}
.ns-popup-btn-primary,
.ns-popup-btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:14px 20px;
  border-radius:13px;
  text-decoration:none;
  font-family:'Exo 2',sans-serif;
  font-size:.84rem;
  font-weight:900;
  letter-spacing:.7px;
  text-transform:uppercase;
  transition:transform .22s,box-shadow .25s,border-color .25s,background .25s,color .25s;
}
.ns-popup-btn-primary{background:linear-gradient(135deg,#f57c00,#ffb74d);color:#fff;box-shadow:0 12px 30px rgba(245,124,0,.32);}
.ns-popup-btn-secondary{border:1px solid rgba(41,171,226,.56);color:#29abe2;background:rgba(41,171,226,.08);}
.ns-popup-btn-primary:hover,.ns-popup-btn-secondary:hover{transform:translateY(-2px);}
.ns-popup-btn-primary:hover{box-shadow:0 18px 42px rgba(245,124,0,.42);}
.ns-popup-btn-secondary:hover{border-color:rgba(49,255,155,.48);color:#31ff9b;}

.ns-popup-dp-side,
.ns-popup-brand-side{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:15px;
  min-width:0;
  padding:clamp(26px,3.5vw,44px) clamp(24px,3.4vw,40px);
  border-left:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
  position:relative;
}
.ns-popup-dp-side::before,
.ns-popup-brand-side::before{
  content:"";
  position:absolute;
  left:-1px;
  top:30px;
  bottom:30px;
  width:1px;
  background:linear-gradient(180deg,transparent,rgba(49,255,155,.55),rgba(41,171,226,.35),transparent);
}
.ns-popup-dp-label{
  display:inline-flex;
  width:fit-content;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(49,255,155,.10);
  border:1px solid rgba(49,255,155,.24);
  color:#31ff9b;
  font-family:'Exo 2',sans-serif;
  font-size:.64rem;
  font-weight:900;
  letter-spacing:1.45px;
  text-transform:uppercase;
}
.ns-popup-dp-card{
  display:block;
  padding:16px;
  border-radius:24px;
  background:radial-gradient(circle at 20% 18%,rgba(49,255,155,.20),transparent 38%),linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 22px 60px rgba(0,0,0,.32),0 0 50px rgba(41,171,226,.08);
  transition:transform .25s,border-color .25s,box-shadow .25s;
}
a.ns-popup-dp-card{text-decoration:none;}
.ns-popup-dp-card:hover{transform:translateY(-3px);border-color:rgba(49,255,155,.36);box-shadow:0 26px 70px rgba(0,0,0,.38),0 0 58px rgba(49,255,155,.12);}
.ns-popup-dp-card img{display:block;width:100%;height:auto;border-radius:18px;filter:drop-shadow(0 18px 26px rgba(0,0,0,.35));}
.ns-popup-brand-note,
.ns-popup-dp-note{
  padding:16px;
  border-radius:18px;
  background:rgba(3,8,22,.60);
  border:1px solid rgba(49,255,155,.20);
}
.ns-popup-brand-note strong,.ns-popup-dp-note strong{display:block;margin-bottom:6px;color:#31ff9b;font-family:'Exo 2',sans-serif;font-size:1rem;letter-spacing:.75px;text-transform:uppercase;}
.ns-popup-brand-note span,.ns-popup-dp-note span{display:block;color:rgba(255,255,255,.68);font-size:.88rem;line-height:1.45;}
.ns-popup-dp-button{width:100%;border-color:rgba(49,255,155,.38);color:#31ff9b;background:rgba(49,255,155,.08);}
.ns-popup-dp-button:hover{color:#071022;background:linear-gradient(135deg,#29abe2,#31ff9b);border-color:transparent;}

@keyframes nsPopupIn{from{opacity:0;transform:translateY(22px) scale(.97);}to{opacity:1;transform:translateY(0) scale(1);}}

@media (max-width:900px){
  .ns-popup-overlay{align-items:flex-start;padding:16px;padding-top:18px;overflow-y:auto;}
  .ns-popup,.ns-popup.ns-popup-pro,.ns-popup.ns-popup-separated{width:100%;max-height:none;overflow:visible;border-radius:24px;}
  .ns-popup-content,.ns-popup-layout,.ns-popup-two-brands{grid-template-columns:1fr;}
  .ns-popup-main{padding:26px 20px 22px;}
  .ns-popup-dp-side,.ns-popup-brand-side{padding:20px;border-left:0;border-top:1px solid rgba(255,255,255,.10);}
  .ns-popup-dp-side::before,.ns-popup-brand-side::before{left:20px;right:20px;top:-1px;bottom:auto;width:auto;height:1px;background:linear-gradient(90deg,transparent,rgba(49,255,155,.55),rgba(41,171,226,.35),transparent);}
  .ns-popup-main-logo,.ns-popup-ns-logo{width:150px;margin-bottom:14px;}
  .ns-popup-dp-card{max-width:330px;margin:0 auto;width:100%;}
  .ns-popup-title,.ns-popup h3{font-size:clamp(2rem,8vw,3.1rem);}
  .ns-popup p,.ns-popup-copy{font-size:1rem;line-height:1.55;}
}

@media (max-width:560px){
  .ns-popup-overlay{padding:12px;padding-top:14px;}
  .ns-popup,.ns-popup.ns-popup-pro,.ns-popup.ns-popup-separated{border-radius:22px;}
  .ns-popup-close{top:12px;right:12px;width:36px;height:36px;}
  .ns-popup-main{padding:24px 18px 20px;}
  .ns-popup-main-logo,.ns-popup-ns-logo{width:128px;}
  .ns-popup-badge{font-size:.58rem;letter-spacing:1.35px;padding:6px 11px;margin-bottom:13px;}
  .ns-popup-title,.ns-popup h3{font-size:clamp(1.85rem,10vw,2.55rem);letter-spacing:-.8px;margin-bottom:12px;}
  .ns-popup-list,.ns-popup-service-list{grid-template-columns:1fr;gap:9px;margin-bottom:18px;}
  .ns-popup-service-list>div{padding:11px 12px;border-radius:14px;}
  .ns-popup-actions{display:grid;grid-template-columns:1fr;gap:10px;}
  .ns-popup-actions a,.ns-popup-btn-primary,.ns-popup-btn-secondary{width:100%;text-align:center;}
  .ns-popup-dp-side,.ns-popup-brand-side{padding:18px;gap:12px;}
  .ns-popup-dp-card{max-width:260px;padding:12px;border-radius:20px;}
  .ns-popup-dp-card img{border-radius:15px;}
  .ns-popup-brand-note,.ns-popup-dp-note{padding:14px;}
  .ns-popup-brand-note span,.ns-popup-dp-note span{font-size:.84rem;}
}

@media (max-width:380px){
  .ns-popup-main{padding:22px 15px 18px;}
  .ns-popup-title,.ns-popup h3{font-size:1.72rem;}
  .ns-popup p,.ns-popup-copy{font-size:.94rem;}
  .ns-popup-dp-card{max-width:230px;}
}
