/* Live Chat Push – пастелен „glow“ дизайн. Цветовете идват от --lcp (основен) и --lcp2 (акцент). */
#lcp-root{
  --lcp:#2563eb;--lcp2:#ec4899;
  --lcp-soft:color-mix(in srgb,var(--lcp) 45%,#fff);
  --lcp2-soft:color-mix(in srgb,var(--lcp2) 45%,#fff);
  --lcp-pale:color-mix(in srgb,var(--lcp) 12%,#fff);
  --lcp-strong:color-mix(in srgb,var(--lcp) 80%,#fff);
  --lcp2-strong:color-mix(in srgb,var(--lcp2) 80%,#fff);
  --lcp-glow:color-mix(in srgb,var(--lcp) 45%,transparent);
  --lcp2-glow:color-mix(in srgb,var(--lcp2) 35%,transparent);
  --lcp-ink:#1e2433;
  position:fixed;bottom:22px;right:22px;z-index:2147483000;
  font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;color:var(--lcp-ink)
}
#lcp-root [hidden]{display:none!important}
#lcp-root.lcp-left{right:auto;left:22px}
#lcp-root *{box-sizing:border-box}

/* ---------- Бутон ---------- */
.lcp-btn{
  width:62px;height:62px;border-radius:50%;border:1px solid rgba(255,255,255,.7);cursor:pointer;color:#fff;
  background:linear-gradient(135deg,var(--lcp-strong),var(--lcp2-strong));
  box-shadow:0 0 0 6px color-mix(in srgb,var(--lcp) 14%,transparent),0 10px 30px var(--lcp-glow),0 0 42px var(--lcp2-glow);
  display:flex;align-items:center;justify-content:center;position:relative;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s
}
.lcp-btn::before{
  content:"";position:absolute;inset:-6px;border-radius:50%;
  background:linear-gradient(135deg,var(--lcp-soft),var(--lcp2-soft));filter:blur(14px);opacity:.75;z-index:-1;
  animation:lcp-breathe 3.2s ease-in-out infinite
}
.lcp-btn:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 0 0 8px color-mix(in srgb,var(--lcp) 16%,transparent),0 14px 38px var(--lcp-glow),0 0 56px var(--lcp2-glow)}
.lcp-btn svg{width:28px;height:28px;fill:currentColor;filter:drop-shadow(0 1px 2px rgba(0,0,0,.18))}
.lcp-dot{position:absolute;top:1px;right:1px;width:16px;height:16px;border-radius:50%;background:#ff6b8b;border:2px solid #fff;box-shadow:0 0 12px #ff6b8b}
@keyframes lcp-breathe{0%,100%{opacity:.45;transform:scale(.95)}50%{opacity:.9;transform:scale(1.08)}}

/* ---------- Панел ---------- */
.lcp-panel{
  position:absolute;bottom:80px;right:0;width:370px;max-width:calc(100vw - 32px);height:540px;max-height:calc(100vh - 120px);
  border-radius:26px;overflow:hidden;display:flex;flex-direction:column;
  background:rgba(255,255,255,.82);
  -webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:0 24px 60px -12px var(--lcp-glow),0 0 70px -10px var(--lcp2-glow),0 2px 6px rgba(30,36,51,.06);
  transform-origin:bottom right;animation:lcp-pop .32s cubic-bezier(.2,.9,.25,1.15)
}
.lcp-left .lcp-panel{right:auto;left:0;transform-origin:bottom left}
@keyframes lcp-pop{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}

.lcp-head{
  position:relative;padding:18px 18px 16px;display:flex;align-items:center;gap:12px;color:var(--lcp-ink);
  background:linear-gradient(135deg,var(--lcp-soft),var(--lcp2-soft));overflow:hidden
}
.lcp-head::after{ /* меко сияние в хедъра */
  content:"";position:absolute;width:180px;height:180px;right:-50px;top:-90px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.85),transparent 70%);pointer-events:none
}
.lcp-avatar{
  flex:none;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.75);box-shadow:0 0 18px rgba(255,255,255,.9),inset 0 0 0 1px rgba(255,255,255,.9);position:relative
}
.lcp-avatar.lcp-has-logo{width:58px;height:58px;padding:7px;border-radius:18px;background:rgba(255,255,255,.88);
  box-shadow:0 0 0 1px rgba(255,255,255,.95),0 0 22px rgba(255,255,255,.95),0 6px 18px -6px var(--lcp-glow)}
.lcp-avatar img{width:100%;height:100%;object-fit:contain;display:block}
.lcp-avatar.lcp-has-logo::after{right:-3px;bottom:-3px}
.lcp-avatar svg{width:22px;height:22px;fill:var(--lcp)}
.lcp-avatar::after{content:"";position:absolute;right:0;bottom:1px;width:11px;height:11px;border-radius:50%;background:#34d399;border:2px solid #fff;box-shadow:0 0 8px #34d399}
.lcp-titles{flex:1;min-width:0;display:flex;flex-direction:column;position:relative;z-index:1}
.lcp-titles strong{font-size:16px;font-weight:700;letter-spacing:.1px}
.lcp-titles small{font-size:12.5px;opacity:.72}
.lcp-close{
  position:relative;z-index:1;flex:none;width:34px;height:34px;border-radius:50%;border:0;cursor:pointer;
  background:rgba(255,255,255,.55);color:var(--lcp-ink);font-size:20px;line-height:1;transition:background .2s
}
.lcp-close:hover{background:rgba(255,255,255,.9)}

/* ---------- Съобщения ---------- */
.lcp-body{
  position:relative;flex:1;min-height:0;display:flex;overflow:hidden;
  background:
    radial-gradient(120% 60% at 0% 0%,var(--lcp-pale),transparent 60%),
    radial-gradient(100% 60% at 100% 100%,color-mix(in srgb,var(--lcp2) 10%,#fff),transparent 60%),
    rgba(255,255,255,.4)
}
.lcp-msgs{position:relative;z-index:1;flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:8px}

/* Голямо лого, „врязано“ в стъклото: формата идва от маската, релефът – от сенките. */
.lcp-wm{
  position:absolute;inset:8% 10%;pointer-events:none;z-index:0;
  filter:drop-shadow(0 1.5px 0 rgba(255,255,255,.95)) drop-shadow(0 -1px 0 color-mix(in srgb,var(--lcp) 30%,transparent)) drop-shadow(0 0 22px var(--lcp2-glow));
  opacity:.55;animation:lcp-wm-glow 5s ease-in-out infinite
}
.lcp-wm-in{
  width:100%;height:100%;
  background:linear-gradient(135deg,var(--lcp-soft),var(--lcp2-soft));
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-size:contain;mask-size:contain
}
@keyframes lcp-wm-glow{0%,100%{opacity:.45}50%{opacity:.65}}
.lcp-m{max-width:82%;padding:9px 14px;border-radius:20px;white-space:pre-wrap;word-wrap:break-word;animation:lcp-in .25s ease-out}
@keyframes lcp-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.lcp-m.lcp-admin{
  align-self:flex-start;background:rgba(255,255,255,.95);border-bottom-left-radius:6px;
  box-shadow:0 4px 14px -4px rgba(30,36,51,.12),0 0 0 1px rgba(255,255,255,.9)
}
.lcp-m.lcp-visitor{
  align-self:flex-end;color:var(--lcp-ink);border-bottom-right-radius:6px;
  background:linear-gradient(135deg,var(--lcp-soft),var(--lcp2-soft));
  box-shadow:0 6px 18px -6px var(--lcp-glow),0 0 16px -4px var(--lcp2-glow)
}
.lcp-m.lcp-pending{opacity:.55}

/* ---------- Контакт и поле за писане ---------- */
.lcp-contact{padding:10px 14px 0;display:flex;flex-direction:column;gap:7px;background:rgba(255,255,255,.7)}
.lcp-contact small{color:#6b7280;font-size:12px}
.lcp-contact input,.lcp-form textarea{
  width:100%;border:1px solid color-mix(in srgb,var(--lcp) 18%,#e5e7eb);background:rgba(255,255,255,.95);
  font:inherit;font-size:16px;color:var(--lcp-ink);outline:none;transition:border-color .2s,box-shadow .2s
}
.lcp-contact input{border-radius:14px;padding:8px 12px}
.lcp-contact input:focus,.lcp-form textarea:focus{border-color:var(--lcp-soft);box-shadow:0 0 0 4px var(--lcp-pale),0 0 18px -4px var(--lcp-glow)}
.lcp-form{display:flex;gap:8px;padding:10px 12px 12px;background:rgba(255,255,255,.7);border-top:1px solid rgba(255,255,255,.9)}
.lcp-form textarea{flex:1;resize:none;border-radius:22px;padding:10px 15px;max-height:110px}
.lcp-form button{
  flex:none;width:44px;height:44px;border-radius:50%;border:0;cursor:pointer;color:#fff;align-self:flex-end;
  background:linear-gradient(135deg,var(--lcp-strong),var(--lcp2-strong));
  box-shadow:0 6px 16px -4px var(--lcp-glow),0 0 18px -2px var(--lcp2-glow);transition:transform .2s
}
.lcp-form button svg{width:19px;height:19px;fill:currentColor;margin-left:2px}
.lcp-form button:hover{transform:scale(1.07)}
.lcp-hp{position:absolute!important;left:-9999px!important}
.lcp-err{color:#be123c;font-size:13px;padding:6px 16px;background:rgba(255,255,255,.8)}

@media (prefers-reduced-motion:reduce){
  #lcp-root *,#lcp-root *::before{animation:none!important;transition:none!important}
}
@media (max-width:480px){
  #lcp-root{bottom:16px;right:16px}
  #lcp-root.lcp-left{left:16px}
  #lcp-root.lcp-open{inset:0}
  #lcp-root.lcp-open .lcp-btn{display:none}
  #lcp-root.lcp-open .lcp-panel{position:fixed;inset:0;width:100%;max-width:none;height:100%;max-height:none;border-radius:0;animation:none}
  .lcp-head{padding-top:calc(env(safe-area-inset-top) + 16px)}
  .lcp-form{padding-bottom:calc(env(safe-area-inset-bottom) + 12px)}
}
