/* =========================================================
   ALANDA — AI-виджет «Алан»
   ========================================================= */
.aw{position:fixed;right:24px;bottom:24px;z-index:120;font-family:var(--ff)}

/* Кнопка-пузырь */
.aw-toggle{position:relative;width:64px;height:64px;border-radius:50%;border:0;
  background:var(--grad);background-size:160% 160%;color:#fff;box-shadow:var(--shadow-accent);
  display:grid;place-items:center;transition:.25s;animation:awbob 3.4s ease-in-out infinite}
.aw-toggle:hover{transform:scale(1.07);background-position:100% 0}
.aw-toggle svg{width:28px;height:28px}
.aw-toggle__icon{position:absolute;display:grid;place-items:center;transition:.3s}
.aw-toggle__icon--close{opacity:0;transform:rotate(-90deg) scale(.5)}
.aw.is-open .aw-toggle__icon--chat{opacity:0;transform:rotate(90deg) scale(.5)}
.aw.is-open .aw-toggle__icon--close{opacity:1;transform:none}
.aw.is-open .aw-toggle{animation:none}
.aw-toggle__pulse{position:absolute;inset:0;border-radius:50%;background:var(--brand-2);opacity:.5;animation:awpulse 2.4s ease-out infinite;z-index:-1}
.aw.is-open .aw-toggle__pulse{display:none}
@keyframes awbob{50%{transform:translateY(-6px)}}
@keyframes awpulse{0%{transform:scale(1);opacity:.5}100%{transform:scale(1.8);opacity:0}}

/* Приветственный пузырь */
.aw-welcome{position:absolute;right:0;bottom:78px;width:268px;background:#fff;border-radius:18px 18px 4px 18px;
  padding:16px 18px;box-shadow:var(--shadow);border:1px solid var(--line);animation:awpop .4s cubic-bezier(.2,.9,.3,1.2)}
.aw-welcome[hidden]{display:none}
.aw-welcome p{margin:0;font-size:14.5px;line-height:1.5;color:var(--ink)}
.aw-welcome__close{position:absolute;top:8px;right:9px;border:0;background:none;color:var(--muted);font-size:13px;cursor:pointer}
@keyframes awpop{from{opacity:0;transform:translateY(14px) scale(.92)}}

/* Панель чата */
.aw-panel{position:absolute;right:0;bottom:78px;width:380px;max-width:calc(100vw - 32px);
  height:560px;max-height:calc(100vh - 120px);background:#fff;border-radius:22px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 30px 70px -28px rgba(10,10,40,.6);border:1px solid var(--line);
  animation:awpanel .32s cubic-bezier(.2,.9,.3,1.1)}
.aw-panel[hidden]{display:none}
@keyframes awpanel{from{opacity:0;transform:translateY(24px) scale(.97)}}

.aw-head{display:flex;align-items:center;gap:12px;padding:15px 16px;background:var(--grad);color:#fff}
.aw-head__avatar{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;
  font-family:var(--ff-display);font-weight:700;font-size:19px;flex:0 0 auto}
.aw-head__info{display:flex;flex-direction:column;line-height:1.25;flex:1}
.aw-head__info strong{font-size:16px}
.aw-head__status{display:flex;align-items:center;gap:6px;font-size:12.5px;color:rgba(255,255,255,.85)}
.aw-online{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.7);animation:awon 2s infinite}
@keyframes awon{50%{box-shadow:0 0 0 5px rgba(74,222,128,0)}}
.aw-head__close{border:0;background:rgba(255,255,255,.15);color:#fff;width:32px;height:32px;border-radius:9px;font-size:14px}
.aw-head__close:hover{background:rgba(255,255,255,.28)}

.aw-body{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px;background:var(--bg-soft);scroll-behavior:smooth}
.aw-msg{max-width:84%;padding:12px 15px;border-radius:16px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;animation:awmsg .3s ease}
.aw-msg--bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:5px;color:var(--ink)}
.aw-msg--user{align-self:flex-end;background:var(--grad);color:#fff;border-bottom-right-radius:5px}
@keyframes awmsg{from{opacity:0;transform:translateY(8px)}}

.aw-typing{align-self:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;border-bottom-left-radius:5px;padding:14px 16px;display:flex;gap:5px}
.aw-typing span{width:7px;height:7px;border-radius:50%;background:var(--muted);animation:awtype 1.2s infinite}
.aw-typing span:nth-child(2){animation-delay:.2s}
.aw-typing span:nth-child(3){animation-delay:.4s}
@keyframes awtype{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-5px);opacity:1}}

.aw-quick{display:flex;flex-wrap:wrap;gap:7px;padding:10px 14px;background:var(--bg-soft);border-top:1px solid var(--line)}
.aw-quick[hidden]{display:none}
.aw-quick button{border:1.5px solid #e4def7;background:#fff;color:var(--brand-3);font-weight:600;font-size:13px;
  padding:8px 13px;border-radius:999px;transition:.16s}
.aw-quick button:hover{background:var(--grad);color:#fff;border-color:transparent}

.aw-input{display:flex;gap:8px;padding:12px 14px;background:#fff;border-top:1px solid var(--line)}
.aw-input input{flex:1;border:1.5px solid var(--line);border-radius:999px;padding:12px 16px;font-size:14.5px;font-family:inherit;transition:.16s}
.aw-input input:focus{outline:none;border-color:var(--brand-2);box-shadow:0 0 0 3px rgba(255,45,117,.15)}
.aw-input button{width:46px;height:46px;flex:0 0 auto;border:0;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center}
.aw-input button svg{width:20px;height:20px}
.aw-input button:hover{transform:scale(1.06)}
.aw-foot{margin:0;padding:0 14px 10px;font-size:11px;color:var(--muted);text-align:center;background:#fff}

/* mini lead form внутри чата */
.aw-lead{align-self:stretch;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:9px}
.aw-lead input{border:1.5px solid var(--line);border-radius:11px;padding:11px 13px;font-size:14px;font-family:inherit}
.aw-lead input:focus{outline:none;border-color:var(--brand-2)}
.aw-lead button{border:0;border-radius:11px;background:var(--grad);color:#fff;font-weight:700;padding:11px;font-size:14px}

@media(max-width:760px){
  .aw{right:14px}
  .aw-panel{width:calc(100vw - 24px);height:calc(100vh - 150px);height:calc(100dvh - 150px);bottom:74px;right:-4px}
  .aw-welcome{width:230px}
}
