/* avatar.css — единый AI-двойник Дмитрия Ларионова (консультант на всех свойствах).
 * Пузырь + чат-панель на нашей DS. Зовёт бэкенд Digital Avatar (POST /chat, /lead).
 * Режимы: client (сайты) / employee (база знаний, админка — по логину). */

.mmav{position:fixed;right:20px;bottom:20px;z-index:8000;font-family:var(--mm-font-ui,'Inter',system-ui,sans-serif)}

.mmav{transition:opacity .45s var(--ease,ease),transform .45s var(--ease,ease)}
.mmav--hidden{opacity:0;transform:translateY(24px) scale(.9);pointer-events:none}
@media(max-width:560px){ .mmav{right:14px;bottom:14px} }

/* — Пузырь — */
.mmav-bubble{width:64px;height:64px;border-radius:50%;cursor:pointer;position:relative;
  background:#141414;border:0;overflow:hidden;
  box-shadow:0 12px 30px rgba(20,20,40,.30);transition:transform .18s cubic-bezier(.2,.7,.2,1)}
.mmav-bubble:hover{transform:translateY(-3px) scale(1.04)}
.mmav-bubble img{width:100%;height:100%;object-fit:cover;object-position:center top}
.mmav-bubble::after{content:"";position:absolute;right:3px;bottom:3px;width:13px;height:13px;border-radius:50%;
  background:#2E9E5B;border:2.5px solid #141414}
.mmav-peek{position:absolute;right:76px;bottom:14px;width:max-content;max-width:min(400px,calc(100vw - 110px));background:#fff;color:#141414;
  border-radius:18px 18px 6px 18px;padding:15px 46px 15px 20px;font-size:14.5px;line-height:1.4;
  box-shadow:0 14px 38px rgba(20,30,50,.20);opacity:0;transform:translateX(8px);pointer-events:none;
  transition:opacity .25s,transform .25s}
.mmav-peek.show{opacity:1;transform:translateX(0);pointer-events:auto}
.mmav-peek b{display:inline;font-size:14px;font-weight:600;color:#141414;margin-right:6px}
.mmav-peek b::after{content:" ·";color:var(--mm-accent-deep,#E6C000)}
.mmav-peek .mmav-peek-x{position:absolute;top:4px;right:8px;color:#9aa0a8;cursor:pointer;font-size:15px;line-height:1}

/* — Непрочитанное при свёрнутом виджете: бейдж + всплывашка + пульс — */
.mmav-badge{position:absolute;top:-5px;right:-5px;z-index:2;min-width:23px;height:23px;padding:0 6px;border-radius:12px;
  background:#E5484D;color:#fff;font-size:12.5px;font-weight:700;line-height:23px;text-align:center;
  border:2px solid #fff;box-shadow:0 4px 12px rgba(229,72,77,.45);pointer-events:none}
.mmav-badge.in{animation:mmav-badge-in .5s cubic-bezier(.22,1,.36,1)}
@keyframes mmav-badge-in{0%{transform:scale(0)}55%{transform:scale(1.35)}100%{transform:scale(1)}}
.mmav.open .mmav-badge{display:none}

.mmav-ring{position:absolute;right:0;bottom:0;width:64px;height:64px;border-radius:50%;pointer-events:none}
.mmav-ring.go{animation:mmav-ring .95s ease-out 2}
@keyframes mmav-ring{0%{box-shadow:0 0 0 0 rgba(255,214,0,.55)}100%{box-shadow:0 0 0 20px rgba(255,214,0,0)}}
.mmav.open .mmav-ring{display:none}

.mmav-pop{position:absolute;right:76px;bottom:6px;display:flex;gap:11px;align-items:flex-start;cursor:pointer;
  width:max-content;max-width:min(340px,calc(100vw - 110px));background:#fff;color:#141414;
  border-radius:18px 18px 6px 18px;padding:13px 38px 13px 14px;
  box-shadow:0 16px 44px rgba(20,30,50,.24);opacity:0;transform:translateX(14px) scale(.92);transform-origin:right bottom;pointer-events:none}
.mmav-pop.show{animation:mmav-pop-in .5s cubic-bezier(.22,1,.36,1) forwards;pointer-events:auto}
@keyframes mmav-pop-in{0%{opacity:0;transform:translateX(14px) scale(.92)}100%{opacity:1;transform:none}}
.mmav-pop:not(.show){transition:opacity .3s,transform .3s}
.mmav-pop img{width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:center top;flex-shrink:0}
.mmav-pop-in b{display:block;font-size:13px;font-weight:600;margin-bottom:2px}
.mmav-pop-in b::after{content:" ·";color:var(--mm-accent-deep,#E6C000)}
.mmav-pop-t{display:block;font-size:13.5px;line-height:1.45;color:#3d4149;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.mmav-pop-x{position:absolute;top:4px;right:8px;color:#9aa0a8;font-size:15px;line-height:1;padding:4px}
.mmav-pop-x:hover{color:#141414}
.mmav.open .mmav-pop{display:none}
@media(prefers-reduced-motion:reduce){
  .mmav-badge.in,.mmav-pop.show{animation:none}
  .mmav-pop.show{opacity:1;transform:none}
  .mmav-ring.go{animation:none}
}

/* — Панель чата — */
.mmav-panel{position:absolute;right:0;bottom:0;width:min(380px,calc(100vw - 28px));height:min(560px,calc(100vh - 120px));
  padding:0;/* гасим глобальный section{padding-block} — из-за него было «белое поле» сверху/снизу панели */
  background:var(--mm-bg,#fff);border-radius:18px;overflow:hidden;display:none;flex-direction:column;
  box-shadow:0 24px 70px rgba(20,20,40,.34);border:1px solid var(--mm-line,#DDE2E8)}
.mmav.open .mmav-panel{display:flex;animation:mmav-in .22s cubic-bezier(.2,.7,.2,1)}
.mmav.open .mmav-bubble,.mmav.open .mmav-peek{display:none}
@keyframes mmav-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.mmav-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#141414;color:#fff;flex-shrink:0}
.mmav-head img{width:42px;height:42px;border-radius:50%;object-fit:cover;object-position:center top;border:1.5px solid var(--mm-accent,#FFD600)}
.mmav-head-t b{display:block;font-size:15px;font-weight:600}
.mmav-head-t span{display:block;font-size:11.5px;color:rgba(255,255,255,.6)}
.mmav-head-t span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#2E9E5B;margin-right:6px;vertical-align:middle}
/* Кнопка «Заявка» в шапке виджета → мини-форма (имя+телефон+согласие ПДн) */
.mmav-lead-hd{margin-left:auto;flex-shrink:0;background:var(--mm-accent,#FFD600);color:#141414;border:0;border-radius:9px;
  padding:7px 12px;font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .18s cubic-bezier(.2,.7,.2,1)}
.mmav-lead-hd:hover{transform:translateY(-1px)}
.mmav-lead-hd + .mmav-close{margin-left:0}
.mmav-close{margin-left:auto;background:none;border:0;color:rgba(255,255,255,.6);font-size:28px;line-height:1;cursor:pointer;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;transition:transform .45s cubic-bezier(.2,.8,.2,1),color .25s,background .25s}
.mmav-close:hover{color:#fff;background:rgba(255,255,255,.1);transform:rotate(90deg) scale(1.1)}
@media(prefers-reduced-motion:reduce){ .mmav-close{transition:color .25s,background .25s} .mmav-close:hover{transform:none} }

.mmav-log{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--mm-bg-2,#F4F6F8)}
.mmav-msg{max-width:82%;padding:10px 13px;font-size:14px;line-height:1.5;border-radius:14px;white-space:pre-wrap;word-wrap:break-word}
.mmav-msg.bot{align-self:flex-start;background:#fff;color:var(--mm-text,#141414);border:1px solid var(--mm-line,#DDE2E8);border-bottom-left-radius:4px}
.mmav-msg.me{align-self:flex-end;background:var(--mm-accent,#FFD600);color:#141414;border-bottom-right-radius:4px}
.mmav-typing{align-self:flex-start;color:var(--mm-text-3,#71757D);font-size:13px;padding:4px 6px}
.mmav-cta{align-self:flex-start;margin-top:2px;font-size:13px;font-weight:600;color:#141414;background:var(--mm-accent,#FFD600);
  border:0;border-radius:10px;padding:9px 14px;cursor:pointer}
/* Постоянная кнопка заявки внутри аватара (вместо убранного левого FAB) */
.mmav-cta--pin{align-self:stretch;text-align:center;margin-top:6px;padding:11px 14px;font-size:13.5px;
  box-shadow:0 6px 16px rgba(230,192,0,.28);transition:transform .18s cubic-bezier(.2,.7,.2,1),box-shadow .2s}
.mmav-cta--pin:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(230,192,0,.36)}

/* — Мини-форма заявки в ленте чата (имя + телефон + согласие ПДн → POST /lead) — */
.mmav-lf{align-self:stretch;display:flex;flex-direction:column;gap:9px;background:#fff;border:1px solid var(--mm-line,#DDE2E8);
  border-radius:14px;border-bottom-left-radius:4px;padding:14px}
.mmav-lf-t{font-size:14px;font-weight:600;color:var(--mm-text,#141414)}
.mmav-lf-in{border:1px solid var(--mm-line,#DDE2E8);border-radius:10px;padding:10px 12px;font-family:inherit;font-size:14px;
  color:var(--mm-text,#141414);background:var(--mm-bg-2,#F4F6F8);outline:0;width:100%}
.mmav-lf-in:focus{border-color:var(--mm-accent-deep,#E6C000);background:#fff}
.mmav-lf-agree{display:flex;gap:8px;align-items:flex-start;font-size:11.5px;line-height:1.45;color:var(--mm-text-3,#71757D);cursor:pointer}
.mmav-lf-agree input{flex-shrink:0;width:15px;height:15px;margin-top:1px;accent-color:var(--mm-accent-deep,#E6C000);cursor:pointer}
.mmav-lf-agree a{color:inherit;text-decoration:underline}
.mmav-lf-err{font-size:12px;line-height:1.4;color:#C4372B}
.mmav-lf .mmav-lf-go{align-self:stretch;text-align:center;padding:11px 14px;font-size:13.5px}
.mmav-lf .mmav-lf-go:disabled{opacity:.55;cursor:default}

.mmav-foot{flex-shrink:0;padding:10px 12px;border-top:1px solid var(--mm-line,#DDE2E8);background:var(--mm-bg,#fff);display:flex;gap:8px;align-items:flex-end}
.mmav-foot textarea{flex:1;resize:none;max-height:96px;min-height:22px;border:0;outline:0;font-family:inherit;font-size:14px;line-height:1.4;color:var(--mm-text,#141414);background:none;padding:8px 4px}
.mmav-foot textarea::placeholder{color:var(--mm-text-3,#71757D)}
.mmav-send{flex-shrink:0;width:40px;height:40px;border-radius:11px;border:0;cursor:pointer;background:var(--mm-accent,#FFD600);color:#141414;font-size:17px;display:grid;place-items:center}
.mmav-send:disabled{opacity:.4;cursor:default}
.mmav-note{padding:0 14px 10px;font-size:10.5px;color:var(--mm-text-3,#71757D);background:var(--mm-bg,#fff);text-align:center}
