.nsp-banner,.nsp-box{--nsp-navy:#0b2a5b;--nsp-navy2:#143c80;box-sizing:border-box}
.nsp-banner *,.nsp-box *{box-sizing:border-box}
.nsp-banner p,.nsp-box p{margin:0 0 6px}

/* ---- slide-down banner ---- */
.nsp-banner{position:fixed;top:0;left:0;right:0;z-index:99999;background:var(--nsp-navy);color:#fff;box-shadow:0 6px 24px rgba(0,0,0,.28);padding:10px 16px;transform:translateY(-115%);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.nsp-banner[hidden]{display:none}
.nsp-banner.nsp-in{transform:translateY(0)}
body.admin-bar .nsp-banner{top:32px}
@media (max-width:782px){body.admin-bar .nsp-banner{top:46px}}
.nsp-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.nsp-ico{flex:0 0 38px;height:38px;border-radius:50%;background:#fff;color:var(--nsp-navy);display:flex;align-items:center;justify-content:center}
.nsp-cols{flex:1 1 380px;display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}
.nsp-col{font-size:14px}
.nsp-col strong{display:block;font-size:15px}
.nsp-col span{display:block;opacity:.92}
.nsp-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}

.nsp-btn{cursor:pointer;border:2px solid var(--nsp-navy);background:var(--nsp-navy);color:#fff;border-radius:8px;padding:5px 14px;min-height:44px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;transition:background .2s}
.nsp-btn:hover{background:var(--nsp-navy2)}
.nsp-btn[disabled]{opacity:.6;cursor:wait}
.nsp-btn span{display:block;text-align:center!important;line-height:1.5}
.nsp-banner .nsp-btn{border-color:#fff;background:transparent;color:#fff}
.nsp-banner .nsp-btn:hover{background:rgba(255,255,255,.16)}
.nsp-banner .nsp-allow,.nsp-banner .nsp-go{background:#fff;color:var(--nsp-navy)}
.nsp-banner .nsp-allow:hover,.nsp-banner .nsp-go:hover{background:#e6edfa}
.nsp-banner .nsp-remind{border-color:transparent;text-decoration:underline}

.nsp-emailrow{max-width:1200px;margin:8px auto 0;display:flex;gap:8px;flex-wrap:wrap}
.nsp-emailrow[hidden]{display:none}
.nsp-emailrow .nsp-input{flex:1 1 240px;margin:0}
.nsp-msg{margin:6px 0;font-size:15px}
.nsp-msg:empty{display:none}
.nsp-msg.ok{color:#067647}
.nsp-msg.bad{color:#b42318}
.nsp-banner .nsp-msg{max-width:1200px;margin:6px auto 0}
.nsp-banner .nsp-msg.ok{color:#9be7b8}
.nsp-banner .nsp-msg.bad{color:#ffc2bd}
.nsp-code{font:12px/1.4 monospace;opacity:.8;direction:ltr;text-align:left}


/* ---- [naba_subscribe] form ---- */
.nsp-box{background:#f7f8fb;border:1px solid #dfe3ec;border-top:4px solid var(--nsp-navy);border-radius:12px;padding:18px;max-width:520px}
.nsp-title{font-weight:700;font-size:17px;color:var(--nsp-navy)}
.nsp-input{width:100%;border:1px solid #c5cbd8;border-radius:8px;padding:11px 12px;font-size:16px;margin:6px 0 10px;background:#fff;color:#1b1f27}
.nsp-input:focus{outline:2px solid var(--nsp-navy2);border-color:var(--nsp-navy2)}
.nsp-chk{display:flex;gap:10px;align-items:flex-start;margin:4px 0 10px;font-size:15px;cursor:pointer}
.nsp-chk input{margin-top:6px;width:18px;height:18px;flex:0 0 18px}
.nsp-chk>span{flex:1}

.nsp-x{position:absolute;top:6px;right:8px;width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.nsp-x:hover{background:rgba(255,255,255,.28)}
.nsp-overlay{display:none}

/* ---- phones: centred pop-up screen that can be closed ---- */
@media (max-width:700px){
  .nsp-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:99998;background:rgba(0,0,0,.55);opacity:0;transition:opacity .3s}
  .nsp-overlay[hidden]{display:none}
  .nsp-overlay.nsp-in{opacity:1}
  .nsp-banner,body.admin-bar .nsp-banner{top:50%;left:50%;right:auto;bottom:auto;width:calc(100% - 28px);max-width:420px;max-height:88vh;overflow-y:auto;border-radius:18px;padding:46px 18px 18px;opacity:0;transform:translate(-50%,-44%) scale(.96);transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .3s}
  .nsp-banner.nsp-in{opacity:1;transform:translate(-50%,-50%) scale(1)}
  .nsp-x{top:8px;right:10px;width:40px;height:40px}
  .nsp-inner{flex-direction:column;align-items:stretch;text-align:center;gap:12px}
  .nsp-ico{align-self:center;flex:0 0 auto;width:52px;height:52px}
  .nsp-cols{grid-template-columns:1fr;gap:10px;flex:0 0 auto}
  .nsp-banner .nsp-col{text-align:center}
  .nsp-actions{flex-direction:column;align-items:stretch;width:100%}
  .nsp-actions .nsp-btn{width:100%}
  .nsp-emailrow{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){.nsp-banner{transition:none}}
