/* ============================================================
   LEAD ASSISTANT · Embedded Chat Widget
   Brand: Radloff Digital Solutions · Cyan/Navy
   ============================================================ */

/* Launcher */
.la-launcher{
  position:fixed;bottom:24px;right:24px;
  width:62px;height:62px;border-radius:50%;
  background:linear-gradient(135deg,#00B8D9 0%,#38BDF8 100%);
  color:#050E1F;cursor:pointer;border:none;
  box-shadow:0 14px 32px rgba(0,184,217,.40),0 0 0 4px rgba(0,184,217,.10);
  display:flex;align-items:center;justify-content:center;
  transition:transform .25s cubic-bezier(0.4,0,0.2,1),box-shadow .25s,opacity .25s;
  z-index:9990;
  font-family:'DM Sans',-apple-system,system-ui,sans-serif;
}
.la-launcher:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 18px 42px rgba(0,184,217,.55)}
.la-launcher:active{transform:scale(.96)}
.la-launcher svg{width:26px;height:26px;position:relative;z-index:1}
.la-launcher .la-pulse{
  position:absolute;inset:-4px;border-radius:50%;
  border:2px solid rgba(0,184,217,.55);
  animation:la-pulse 2.4s ease-out infinite;
  pointer-events:none;
}
@keyframes la-pulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.55);opacity:0}}
.la-launcher .la-badge{
  position:absolute;top:-2px;right:-2px;
  min-width:20px;height:20px;padding:0 6px;border-radius:10px;
  background:#FF3D6E;color:#fff;font:700 11px 'DM Sans';
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 10px rgba(255,61,110,.5);
  z-index:2;
}
.la-launcher.la-hidden{transform:scale(0);opacity:0;pointer-events:none}
.la-launcher.la-tooltip::after{
  content:attr(data-tooltip);position:absolute;right:74px;top:50%;transform:translateY(-50%);
  background:#0A1F44;color:#fff;font:600 12px 'DM Sans';
  padding:8px 12px;border-radius:6px;white-space:nowrap;
  border:1px solid rgba(0,184,217,.25);
  box-shadow:0 4px 14px rgba(0,0,0,.35);
  pointer-events:none;opacity:0;
  transition:opacity .25s,transform .25s;
}
.la-launcher.la-tooltip:hover::after{opacity:1;transform:translateY(-50%) translateX(-4px)}

/* Window */
.la-window{
  position:fixed;bottom:24px;right:24px;
  width:380px;height:620px;max-height:calc(100vh - 48px);
  background:rgba(14,41,84,.92);
  backdrop-filter:blur(24px) saturate(180%);
  -webkit-backdrop-filter:blur(24px) saturate(180%);
  border:1px solid rgba(0,184,217,.22);
  border-radius:20px;
  box-shadow:0 30px 80px rgba(0,0,0,.55),inset 0 0 0 1px rgba(255,255,255,.04);
  display:flex;flex-direction:column;
  font-family:'DM Sans',-apple-system,system-ui,sans-serif;
  color:#f1f5f9;
  z-index:9991;overflow:hidden;
  transform:translateY(20px) scale(.96);opacity:0;pointer-events:none;
  transition:transform .3s cubic-bezier(0.4,0,0.2,1),opacity .25s;
}
.la-window.la-open{transform:none;opacity:1;pointer-events:auto}

/* Progress */
.la-progress{height:3px;background:rgba(0,184,217,.12);position:relative;flex-shrink:0}
.la-progress-bar{
  position:absolute;left:0;top:0;bottom:0;width:0%;
  background:linear-gradient(90deg,#00B8D9,#38BDF8);
  transition:width .5s cubic-bezier(0.4,0,0.2,1);
  box-shadow:0 0 8px rgba(0,184,217,.6);
}

/* Header */
.la-head{
  display:flex;align-items:center;gap:12px;
  padding:16px 20px;flex-shrink:0;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:linear-gradient(135deg,rgba(0,184,217,.08),rgba(56,189,248,.04));
}
.la-avatar{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,#00B8D9,#38BDF8);
  display:grid;place-items:center;flex-shrink:0;
  font-family:'Barlow Condensed',sans-serif;
  font-weight:700;font-size:18px;letter-spacing:.04em;color:#050E1F;
  box-shadow:0 0 0 2px rgba(0,184,217,.25),0 6px 14px rgba(0,184,217,.25);
}
.la-info{flex:1;min-width:0}
.la-title{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:#fff;
}
.la-status{display:flex;align-items:center;gap:6px;font-size:11.5px;color:#94a3b8;margin-top:2px}
.la-status-dot{
  width:7px;height:7px;border-radius:50%;background:#22c55e;
  box-shadow:0 0 8px rgba(34,197,94,.7);
  animation:la-blink 2s ease-in-out infinite;
}
@keyframes la-blink{0%,100%{opacity:1}50%{opacity:.5}}
.la-close,.la-restart{
  width:32px;height:32px;border-radius:50%;
  background:transparent;border:1px solid rgba(255,255,255,.10);
  color:#cbd5e1;cursor:pointer;display:grid;place-items:center;
  transition:all .2s ease;
  font:600 14px 'DM Sans';
}
.la-close:hover,.la-restart:hover{background:rgba(255,255,255,.06);color:#fff;border-color:rgba(255,255,255,.2)}
.la-restart{margin-right:4px}
.la-restart svg,.la-close svg{width:14px;height:14px}

/* Body */
.la-body{
  flex:1;overflow-y:auto;padding:20px 16px 8px;
  display:flex;flex-direction:column;gap:12px;
  scroll-behavior:smooth;
}
.la-body::-webkit-scrollbar{width:6px}
.la-body::-webkit-scrollbar-track{background:transparent}
.la-body::-webkit-scrollbar-thumb{background:rgba(0,184,217,.25);border-radius:3px}

/* Messages */
.la-msg{
  max-width:85%;padding:12px 14px;border-radius:16px;
  font-size:14px;line-height:1.55;
  animation:la-fade .35s cubic-bezier(0.4,0,0.2,1) both;
  word-wrap:break-word;
}
@keyframes la-fade{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}
.la-msg.la-bot{
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.06);
  color:#e2e8f0;
  border-bottom-left-radius:5px;
  align-self:flex-start;
}
.la-msg.la-user{
  background:linear-gradient(135deg,#00B8D9 0%,#38BDF8 100%);
  color:#050E1F;font-weight:600;
  border-bottom-right-radius:5px;
  align-self:flex-end;
  box-shadow:0 4px 12px rgba(0,184,217,.25);
}
.la-msg strong{color:#67E8F9;font-weight:600}
.la-msg.la-user strong{color:#050E1F}
.la-msg br{display:block;content:"";margin-top:4px}

/* Typing */
.la-typing-wrap{
  align-self:flex-start;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.06);
  padding:11px 14px;border-radius:16px;border-bottom-left-radius:5px;
  animation:la-fade .25s ease both;
}
.la-typing{display:inline-flex;gap:4px}
.la-typing span{
  width:7px;height:7px;border-radius:50%;background:#67E8F9;
  animation:la-dot 1.2s ease-in-out infinite;
}
.la-typing span:nth-child(2){animation-delay:.18s}
.la-typing span:nth-child(3){animation-delay:.36s}
@keyframes la-dot{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-4px);opacity:1}}

/* Quick replies */
.la-replies{
  padding:14px 16px 16px;flex-shrink:0;
  border-top:1px solid rgba(255,255,255,.06);
  display:flex;flex-wrap:wrap;gap:8px;
  background:linear-gradient(180deg,transparent,rgba(5,14,31,.3));
  max-height:35%;overflow-y:auto;
}
.la-replies::-webkit-scrollbar{width:4px}
.la-replies::-webkit-scrollbar-thumb{background:rgba(0,184,217,.2);border-radius:2px}
.la-chip{
  padding:9px 14px;border-radius:999px;
  background:rgba(0,184,217,.08);
  border:1px solid rgba(0,184,217,.28);
  color:#67E8F9;font:500 13px 'DM Sans',sans-serif;
  cursor:pointer;
  transition:all .2s ease;
  text-align:center;line-height:1.3;
}
.la-chip:hover{
  background:rgba(0,184,217,.20);
  border-color:#00B8D9;color:#fff;
  transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(0,184,217,.20);
}
.la-chip:active{transform:translateY(0) scale(.97)}
.la-chip:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}
.la-chip.la-primary{
  background:linear-gradient(135deg,#00B8D9,#38BDF8);
  color:#050E1F;font-weight:700;
  border-color:transparent;
  padding:11px 18px;
  box-shadow:0 6px 18px rgba(0,184,217,.35);
}
.la-chip.la-primary:hover{
  filter:brightness(1.08);transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(0,184,217,.5);color:#050E1F;
}
.la-chip.la-secondary{
  background:transparent;border-color:rgba(255,255,255,.15);color:#cbd5e1;
}
.la-chip.la-secondary:hover{
  border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.04);color:#fff;
}
.la-replies.la-cta-row{flex-direction:column;gap:8px}
.la-replies.la-cta-row .la-chip{width:100%}

/* Footer microcopy */
.la-foot{
  padding:8px 16px 12px;flex-shrink:0;text-align:center;
  font-size:10.5px;color:rgba(241,245,249,.4);letter-spacing:.05em;
  border-top:1px solid rgba(255,255,255,.04);
}
.la-foot strong{color:#67E8F9;font-weight:600}

/* Mobile */
@media(max-width:520px){
  .la-window{
    width:100%;height:100%;max-height:100%;
    bottom:0;right:0;border-radius:0;border-left:none;border-right:none;border-bottom:none;
  }
  .la-launcher{bottom:18px;right:18px;width:56px;height:56px}
  .la-launcher svg{width:24px;height:24px}
  .la-launcher.la-tooltip::after{display:none}
}

/* Reduced motion */
@media(prefers-reduced-motion:reduce){
  .la-launcher .la-pulse,.la-status-dot{animation:none}
  .la-msg,.la-typing-wrap{animation:none}
  .la-typing span{animation:none;opacity:.7}
  .la-window{transition:opacity .15s}
}
