/* NexMods – clean customer login modal (scoped to #customer-login-modal) */
#customer-login-modal{--l-accent:#ff0033;--l-accent-h:#e6002e;--l-bg:#0f0f12;--l-field:#16161a;--l-line:rgba(255,255,255,.08);--l-line-2:rgba(255,255,255,.14);--l-dim:#8f8a94;--l-text:#f4f2f5}
#customer-login-modal .modal-dialog{max-width:430px;padding:0 12px}
#customer-login-modal .modal-content.nm-login{position:relative;background:var(--l-bg)!important;border:1px solid var(--l-line)!important;border-radius:20px!important;box-shadow:0 30px 80px -20px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.02) inset!important;color:var(--l-text)!important;overflow:hidden;font-family:var(--nm-font,'Outfit',sans-serif)}
#customer-login-modal .modal-content.nm-login::before{content:"";position:absolute;inset:0 0 auto 0;height:160px;background:radial-gradient(60% 100% at 50% 0%,rgba(255,0,51,.16),transparent 70%);pointer-events:none}

/* close */
#customer-login-modal .nm-login-close{position:absolute;top:14px;right:14px;z-index:2;display:grid;place-items:center;width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:var(--l-dim);transition:background .2s,color .2s}
#customer-login-modal .nm-login-close:hover{background:rgba(255,255,255,.06);color:#fff}

/* head */
#customer-login-modal .nm-login-head{position:relative;display:flex;flex-direction:column;align-items:center;gap:14px;padding:34px 28px 6px;text-align:center}
#customer-login-modal .nm-login-logo{width:44px;height:auto;filter:drop-shadow(0 6px 18px rgba(255,0,51,.35))}
#customer-login-modal .nm-login-title{margin:0;font-size:1.22rem;font-weight:700;letter-spacing:-.01em;color:#fff}

/* body */
#customer-login-modal .modal-body{position:relative;padding:22px 28px 28px!important}
#customer-login-modal .nm-login-label{display:block;margin:0 0 8px;font-size:.82rem;font-weight:600;color:#d9d6dc}
#customer-login-modal .nm-login-stephead{margin-bottom:12px}
#customer-login-modal .nm-login-hint{display:block;margin-top:8px;font-size:.78rem;line-height:1.45;color:var(--l-dim)}
#customer-login-modal .nm-login-hint span{color:#d9d6dc;font-weight:600}

/* fields */
#customer-login-modal .nm-login-field{position:relative}
#customer-login-modal .nm-login-icon{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--l-dim);pointer-events:none;transition:color .2s}
#customer-login-modal .nm-login-field .form-control{height:50px;padding:0 16px 0 44px!important;background:var(--l-field)!important;border:1px solid var(--l-line)!important;border-radius:12px!important;color:#fff!important;font-size:.95rem;box-shadow:none!important;transition:border-color .2s,box-shadow .2s,background .2s}
#customer-login-modal .nm-login-field--plain .form-control{padding-left:16px!important}
#customer-login-modal .nm-login-field .form-control::placeholder{color:#5f5b64!important}
#customer-login-modal .nm-login-field .form-control:hover{border-color:var(--l-line-2)!important}
#customer-login-modal .nm-login-field .form-control:focus{border-color:rgba(255,0,51,.65)!important;background:#18181d!important;box-shadow:0 0 0 4px rgba(255,0,51,.12)!important}
#customer-login-modal .nm-login-field:focus-within .nm-login-icon{color:var(--l-accent)}

/* OTP */
#customer-login-modal .nm-login-otp{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
#customer-login-modal .nm-login-otp .form-control{height:56px;padding:0!important;text-align:center;font-size:1.35rem;font-weight:700;background:var(--l-field)!important;border:1px solid var(--l-line)!important;border-radius:12px!important;color:#fff!important;box-shadow:none!important;transition:border-color .2s,box-shadow .2s}
#customer-login-modal .nm-login-otp .form-control:focus{border-color:rgba(255,0,51,.65)!important;box-shadow:0 0 0 4px rgba(255,0,51,.12)!important}

/* primary button */
#customer-login-modal .nm-login-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;margin-top:18px;border-radius:12px!important;background:var(--l-accent)!important;border:0!important;color:#fff!important;font-size:.95rem;font-weight:650!important;letter-spacing:.01em;box-shadow:0 10px 26px -10px rgba(255,0,51,.7)!important;transition:background .2s,transform .15s,box-shadow .2s}
#customer-login-modal .nm-login-btn:hover:not(:disabled){background:var(--l-accent-h)!important;box-shadow:0 12px 30px -10px rgba(255,0,51,.85)!important}
#customer-login-modal .nm-login-btn:active:not(:disabled){transform:translateY(1px)}
#customer-login-modal .nm-login-btn:disabled{opacity:.55;box-shadow:none!important}
#customer-login-modal .nm-login-btn svg{transition:transform .2s}
#customer-login-modal .nm-login-btn:hover:not(:disabled) svg{transform:translateX(3px)}

/* secondary link */
#customer-login-modal .nm-login-link{display:block;width:100%;margin-top:14px;padding:4px;border:0;background:none;color:var(--l-dim);font-size:.82rem;font-weight:500;text-align:center;text-decoration:none;transition:color .2s}
#customer-login-modal .nm-login-link:hover{color:#fff}

/* divider + discord */
#customer-login-modal .nm-login-divider{display:flex;align-items:center;gap:12px;margin:20px 0 16px;color:#5f5b64;font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
#customer-login-modal .nm-login-divider::before,#customer-login-modal .nm-login-divider::after{content:"";flex:1;height:1px;background:var(--l-line)}
#customer-login-modal .nm-login-discord{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:48px;border-radius:12px;background:var(--l-field);border:1px solid var(--l-line);color:#fff;font-size:.9rem;font-weight:600;transition:border-color .2s,background .2s}
#customer-login-modal .nm-login-discord svg{color:#5865f2}
#customer-login-modal .nm-login-discord:hover:not(:disabled){background:#1b1b21;border-color:rgba(88,101,242,.5)}
#customer-login-modal .nm-login-discord:disabled{opacity:.55}

/* errors */
#customer-login-modal .nm-login-error,#customer-login-modal .form-text.text-danger{margin:10px 0 0;padding:9px 12px;border-radius:10px;background:rgba(255,0,51,.08);border:1px solid rgba(255,0,51,.22);color:#ff6b84!important;font-size:.8rem}

/* animation */
#customer-login-modal.fade .modal-dialog{transform:translateY(12px) scale(.98);transition:transform .28s cubic-bezier(.22,1,.36,1)}
#customer-login-modal.show .modal-dialog{transform:none}

@media (max-width:420px){
  #customer-login-modal .nm-login-head{padding:30px 22px 4px}
  #customer-login-modal .modal-body{padding:20px 22px 24px!important}
  #customer-login-modal .nm-login-otp{gap:6px}
  #customer-login-modal .nm-login-otp .form-control{height:50px;font-size:1.2rem}
}
