:root{
  --nl-bg:#EFF2F7;
  --nl-text:#111;
  --nl-muted:#777;
  --nl-border:#EFF2F7;
  --nl-shadow:0 14px 40px rgba(0,0,0,.18);
  --nl-radius:5px;
  --nl-font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}

.nl-overlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.35);
  z-index:99998;
}

.nl-popup{
  position:fixed;
  right:22px;
  bottom:22px;
  width:min(560px, calc(100vw - 44px));
  background:var(--nl-bg);
  color:var(--nl-text);
  border:1px solid var(--nl-border);
  border-radius:var(--nl-radius);
  box-shadow:var(--nl-shadow);
  z-index:99999;
  padding:26px 26px 18px;
  font-family:var(--nl-font);
}

.nl-title{
  margin:0 0px 0px 0;
  font-size:28px;
  font-weight:500;
  letter-spacing:.2px;
}

.nl-subtitle{
  margin:0 0 0 0;
  font-size:18px;
  line-height:1.4;
  color:var(--nl-muted);
}

.nl-close{
  position:absolute;
  top:5px;
  right:14px;
  width:38px;
  height:38px;
  border:0;
  background:transparent;
  color:#111;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

.nl-close:hover{opacity:.7;}
.nl-close:focus-visible{
  outline:2px solid #111;
  outline-offset:2px;
  border-radius:10px;
}

.nl-frameWrap{
  border-top:0px solid var(--nl-border);
  padding-top:0px;
}

.nl-frameWrap iframe{
  display:block;
  width:100%;
  border:0;
}

/* Extra safety: hide on small screens even if server-side detection fails */
@media (max-width: 767px), (pointer: coarse){
  .nl-overlay, .nl-popup{ display:none !important; }
}
