/* PrintLab Chat Widget — современный виджет чата. Опирается на палитру pl-site.css. */

.pl-chat{position:fixed;right:20px;bottom:20px;z-index:9998;font-family:inherit}
.pl-chat *{box-sizing:border-box}
.pl-chat__fab{
  display:flex;align-items:center;gap:.5em;border:0;cursor:pointer;
  padding:.85em 1.15em .85em .95em;border-radius:999px;color:#fff;
  background:linear-gradient(135deg,#C87941,#A34A34);
  box-shadow:0 10px 26px rgba(163,74,52,.36),0 2px 6px rgba(16,24,40,.14);
  font:inherit;font-weight:600;transition:transform .16s ease,box-shadow .2s ease;
}
.pl-chat__fab:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(163,74,52,.44)}
.pl-chat__fab-icon{position:relative;display:inline-flex}
.pl-chat__fab-ping{
  position:absolute;top:-6px;right:-8px;min-width:18px;height:18px;padding:0 4px;
  border-radius:999px;background:#fff;color:#A34A34;font-size:11px;line-height:18px;
  font-weight:700;text-align:center;box-shadow:0 1px 4px rgba(0,0,0,.2);
  animation:plping 2.4s ease-in-out infinite;
}
@keyframes plping{0%,70%,100%{transform:scale(1)}80%{transform:scale(1.18)}}
.pl-chat__fab-label{white-space:nowrap}

.pl-chat__panel[hidden]{display:none}
.pl-chat__panel{
  position:absolute;right:0;bottom:calc(100% + 14px);
  width:min(380px,calc(100vw - 40px));height:min(560px,calc(100vh - 120px));
  display:flex;flex-direction:column;overflow:hidden;
  background:#fff;border-radius:18px;border:1px solid var(--pl-line,#E8D9C5);
  box-shadow:0 26px 70px rgba(58,42,34,.26),0 4px 14px rgba(16,24,40,.1);
  transform-origin:bottom right;animation:plpop .22s ease-out;
}
@keyframes plpop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}

.pl-chat__head{
  display:flex;align-items:center;gap:.7em;padding:.85em 1em;color:#fff;
  background:linear-gradient(135deg,#3A2A22,#5A4030);
}
.pl-chat__ava{
  width:40px;height:40px;border-radius:50%;flex:0 0 auto;
  display:grid;place-items:center;color:#fff;
  background:linear-gradient(135deg,#C87941,#A34A34);box-shadow:inset 0 0 0 2px rgba(255,255,255,.25);
}
.pl-chat__ava svg{width:22px;height:22px;display:block}
.pl-chat__who{display:flex;flex-direction:column;line-height:1.25;flex:1}
.pl-chat__who strong{font-size:1.02em}
.pl-chat__who small{color:#EAD9C6;font-size:.78em;display:flex;align-items:center;gap:.4em}
.pl-chat__dot{width:8px;height:8px;border-radius:50%;background:#6ED07A;display:inline-block;box-shadow:0 0 0 3px rgba(110,208,122,.22)}
.pl-chat__close{
  border:0;background:rgba(255,255,255,.14);color:#fff;width:32px;height:32px;border-radius:9px;
  font-size:1.4rem;line-height:1;cursor:pointer;transition:background .15s;
}
.pl-chat__close:hover{background:rgba(255,255,255,.28)}

.pl-chat__log{flex:1;overflow-y:auto;padding:1em;display:flex;flex-direction:column;gap:.55em;background:var(--pl-bg,#FAF4EA)}
.pl-chat__msg{max-width:82%;padding:.62em .85em;border-radius:14px;font-size:.93em;line-height:1.42;white-space:pre-wrap;word-break:break-word}
.pl-chat__msg--bot{align-self:flex-start;background:#fff;color:var(--pl-text,#3A2A22);border:1px solid var(--pl-line,#E8D9C5);border-bottom-left-radius:5px}
.pl-chat__msg--me{align-self:flex-end;background:linear-gradient(135deg,#C87941,#A34A34);color:#fff;border-bottom-right-radius:5px}
.pl-chat__msg--sys{align-self:center;background:transparent;color:var(--pl-muted,#7A6A5D);font-size:.82em;text-align:center;max-width:100%}
.pl-chat__typing{align-self:flex-start;display:flex;gap:4px;padding:.7em .9em;background:#fff;border:1px solid var(--pl-line,#E8D9C5);border-radius:14px;border-bottom-left-radius:5px}
.pl-chat__typing i{width:7px;height:7px;border-radius:50%;background:#C0AE9C;animation:plbounce 1.3s infinite}
.pl-chat__typing i:nth-child(2){animation-delay:.18s}
.pl-chat__typing i:nth-child(3){animation-delay:.36s}
@keyframes plbounce{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}

.pl-chat__quick{display:flex;flex-wrap:wrap;gap:.4em;padding:.6em .8em 0;background:var(--pl-bg,#FAF4EA)}
.pl-chat__quick button{
  border:1.5px solid var(--pl-primary,#C87941);background:#fff;color:var(--pl-primary,#C87941);
  border-radius:999px;padding:.42em .8em;font:inherit;font-size:.8em;font-weight:600;cursor:pointer;transition:all .15s;
}
.pl-chat__quick button:hover{background:var(--pl-primary,#C87941);color:#fff}

.pl-chat__form{padding:.7em .8em .8em;background:var(--pl-bg,#FAF4EA);border-top:1px solid var(--pl-line,#E8D9C5)}
.pl-chat__name{
  width:100%;margin-bottom:.5em;padding:.5em .7em;border:1.5px solid var(--pl-line,#E8D9C5);
  border-radius:9px;font:inherit;font-size:.86em;background:#fff;color:var(--pl-text,#3A2A22);
}
.pl-chat__name:focus{outline:none;border-color:var(--pl-primary,#C87941)}
.pl-chat__row{display:flex;align-items:flex-end;gap:.5em}
.pl-chat__input{
  flex:1;resize:none;max-height:110px;padding:.62em .8em;border:1.5px solid var(--pl-line,#E8D9C5);
  border-radius:12px;font:inherit;font-size:.92em;line-height:1.35;background:#fff;color:var(--pl-text,#3A2A22);
}
.pl-chat__input:focus{outline:none;border-color:var(--pl-primary,#C87941);box-shadow:0 0 0 3px rgba(200,121,65,.14)}
.pl-chat__send{
  flex:0 0 auto;width:44px;height:44px;border:0;border-radius:12px;cursor:pointer;color:#fff;
  background:linear-gradient(135deg,#C87941,#A34A34);display:grid;place-items:center;transition:transform .12s,opacity .15s;
}
.pl-chat__send:hover{transform:translateY(-1px)}
.pl-chat__send:disabled{opacity:.5;cursor:default;transform:none}
.pl-chat__note{margin:.5em 0 0;font-size:.72em;color:var(--pl-muted,#7A6A5D);text-align:center;line-height:1.35}

@media (max-width:520px){
  .pl-chat{right:12px;bottom:12px}
  .pl-chat__panel{position:fixed;inset:auto 0 0 0;width:100%;height:min(78vh,600px);border-radius:18px 18px 0 0}
  .pl-chat__fab-label{display:none}
  .pl-chat__fab{padding:.9em;border-radius:50%}
  .pl-chat__fab-ping{top:-4px;right:-4px}
}
