/* Novlers AI Agent — chat widget */
.nv-ai,.nv-ai *{box-sizing:border-box}
.nv-ai{
  --nv-accent:#F2531C;--nv-accent2:#FF7A45;--nv-ink:#131316;--nv-bg:#FFFFFF;--nv-soft:#F6F4F0;
  position:fixed;right:22px;bottom:22px;z-index:2147483000;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}

/* launcher */
.nv-ai__btn{
  display:inline-flex;align-items:center;gap:9px;cursor:pointer;border:none;
  padding:13px 18px;border-radius:999px;color:#fff;font-weight:700;font-size:15px;
  background:linear-gradient(135deg,var(--nv-accent),var(--nv-accent2));
  box-shadow:0 12px 30px rgba(242,83,28,.34);transition:transform .14s,box-shadow .14s,filter .14s;
}
.nv-ai__btn:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 18px 38px rgba(242,83,28,.42)}
.nv-ai__btn svg{width:20px;height:20px;flex:0 0 auto}
.nv-ai__btn-label{white-space:nowrap}
.nv-ai.is-open .nv-ai__btn{display:none}

/* panel */
.nv-ai__panel{
  display:none;flex-direction:column;width:380px;max-width:calc(100vw - 32px);height:560px;max-height:calc(100vh - 120px);
  background:var(--nv-bg);border-radius:20px;overflow:hidden;
  box-shadow:0 28px 70px rgba(19,19,22,.28),0 2px 8px rgba(19,19,22,.12);
  border:1px solid rgba(19,19,22,.08);
  animation:nv-ai-pop .18s ease-out;
}
.nv-ai.is-open .nv-ai__panel{display:flex}
@keyframes nv-ai-pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

.nv-ai__head{
  display:flex;align-items:center;gap:12px;padding:16px 18px;color:#fff;
  background:linear-gradient(135deg,var(--nv-accent),var(--nv-accent2));
}
.nv-ai__avatar{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.nv-ai__avatar svg{width:22px;height:22px}
.nv-ai__title{font-weight:700;font-size:16px;line-height:1.2}
.nv-ai__sub{font-size:12px;opacity:.9;display:flex;align-items:center;gap:6px;margin-top:2px}
.nv-ai__dot{width:7px;height:7px;border-radius:50%;background:#46e07f;box-shadow:0 0 0 3px rgba(70,224,127,.25)}
.nv-ai__close{margin-left:auto;background:none;border:none;color:#fff;cursor:pointer;opacity:.85;padding:4px;line-height:0}
.nv-ai__close:hover{opacity:1}
.nv-ai__close svg{width:20px;height:20px}

.nv-ai__log{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--nv-soft)}
.nv-ai__msg{max-width:84%;padding:11px 14px;border-radius:16px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word}
.nv-ai__msg--bot{align-self:flex-start;background:#fff;color:var(--nv-ink);border:1px solid rgba(19,19,22,.07);border-bottom-left-radius:5px}
.nv-ai__msg--user{align-self:flex-end;background:var(--nv-ink);color:#fff;border-bottom-right-radius:5px}

.nv-ai__typing{align-self:flex-start;background:#fff;border:1px solid rgba(19,19,22,.07);border-radius:16px;border-bottom-left-radius:5px;padding:13px 16px;display:flex;gap:5px}
.nv-ai__typing span{width:7px;height:7px;border-radius:50%;background:rgba(19,19,22,.32);animation:nv-ai-bounce 1s infinite}
.nv-ai__typing span:nth-child(2){animation-delay:.15s}
.nv-ai__typing span:nth-child(3){animation-delay:.3s}
@keyframes nv-ai-bounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}

.nv-ai__form{display:flex;align-items:flex-end;gap:8px;padding:12px;background:#fff;border-top:1px solid rgba(19,19,22,.08)}
.nv-ai__input{flex:1;border:1.5px solid rgba(19,19,22,.12);background:var(--nv-soft);border-radius:14px;padding:11px 14px;font-size:14.5px;font-family:inherit;resize:none;max-height:120px;line-height:1.4;color:var(--nv-ink)}
.nv-ai__input:focus{outline:none;border-color:var(--nv-accent);box-shadow:0 0 0 3px rgba(242,83,28,.12);background:#fff}
.nv-ai__send{flex:0 0 auto;width:44px;height:44px;border:none;border-radius:12px;cursor:pointer;color:#fff;background:linear-gradient(135deg,var(--nv-accent),var(--nv-accent2));display:flex;align-items:center;justify-content:center;transition:filter .12s,transform .12s}
.nv-ai__send:hover{filter:brightness(1.06);transform:translateY(-1px)}
.nv-ai__send:disabled{opacity:.45;cursor:default;transform:none;filter:none}
.nv-ai__send svg{width:20px;height:20px}
.nv-ai__foot{font-size:11px;text-align:center;color:rgba(19,19,22,.4);padding:0 12px 10px;background:#fff}

/* closed / lead-captured state */
.nv-ai__closed{align-self:center;text-align:center;margin-top:4px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid rgba(19,19,22,.08);font-size:13px;color:rgba(19,19,22,.7);max-width:90%}
.nv-ai__closed span{display:block;margin-bottom:8px;font-weight:600;color:var(--nv-ink)}
.nv-ai__restart{border:none;cursor:pointer;font-size:13px;font-weight:700;color:#fff;padding:8px 16px;border-radius:999px;background:linear-gradient(135deg,var(--nv-accent),var(--nv-accent2))}
.nv-ai__restart:hover{filter:brightness(1.05)}
.nv-ai__form.is-disabled{opacity:.55}

/* keep clear of the mobile sticky Call/Quote/WhatsApp bar */
@media (max-width:782px){
  .nv-ai{right:14px;bottom:88px}
  .nv-ai__panel{height:70vh;bottom:0}
  .nv-ai__btn-label{display:none}
  .nv-ai__btn{padding:14px;border-radius:50%}
}
@media (prefers-reduced-motion:reduce){
  .nv-ai__panel,.nv-ai__typing span,.nv-ai__btn{animation:none;transition:none}
}
