/* =====================================================================
   Окно чата. Цвета — переменные сайта, поэтому день/ночь работают сами.
   ===================================================================== */

.kc-launch{position:fixed;right:20px;bottom:20px;z-index:900;display:flex;align-items:center;gap:.55rem;
  padding:.8rem 1.1rem;border:0;border-radius:999px;cursor:pointer;
  background:var(--accent);color:var(--navy);font-family:inherit;font-weight:600;font-size:.92rem;line-height:1;
  box-shadow:0 6px 22px rgba(0,0,0,.18);transition:transform .15s,box-shadow .15s}
.kc-launch:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(0,0,0,.22)}
.kc-launch:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.kc-launch.is-on span{display:none}

.kc{position:fixed;right:20px;bottom:86px;z-index:901;width:min(380px,calc(100vw - 32px));
  height:min(580px,calc(100vh - 120px));display:flex;flex-direction:column;
  background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 18px 50px rgba(0,0,0,.25);overflow:hidden}
.kc[hidden]{display:none}

.kc-head{display:flex;align-items:center;gap:.5rem;padding:.75rem .8rem .75rem 1rem;
  background:var(--navy);color:#fff}
.kc-title{flex:1;font-size:.95rem;font-weight:600;line-height:1.2}
.kc-lang{max-width:9.5rem;padding:.3rem .4rem;border-radius:6px;border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.08);color:#fff;font:inherit;font-size:.8rem}
.kc-lang option{color:#141827}
.kc-x{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:6px;
  background:transparent;color:#fff;cursor:pointer}
.kc-x:hover{background:rgba(255,255,255,.12)}

.kc-note{margin:0;padding:.5rem 1rem;font-size:.74rem;line-height:1.45;color:var(--soft);
  background:var(--bg-soft);border-bottom:1px solid var(--line)}

.kc-log{flex:1;min-height:120px;overflow-y:auto;padding:.9rem;display:flex;flex-direction:column;gap:.55rem;
  overscroll-behavior:contain}
.kc-msg{max-width:86%;padding:.6rem .8rem;border-radius:12px;font-size:.9rem;line-height:1.5;
  word-wrap:break-word;overflow-wrap:anywhere}
.kc-msg--bot{align-self:flex-start;background:var(--bg-soft);color:var(--ink);border-bottom-left-radius:4px}
.kc-msg--me{align-self:flex-end;background:var(--accent);color:var(--navy);border-bottom-right-radius:4px}
.kc-msg--mgr{align-self:flex-start;background:var(--bg-soft);color:var(--ink);border-bottom-left-radius:4px;
  border-left:3px solid var(--accent)}
.kc-who{display:block;margin-bottom:.15rem;font-size:.72rem;font-weight:600;color:var(--soft)}
.kc-msg--note{align-self:stretch;max-width:none;background:transparent;color:var(--soft);
  font-size:.8rem;text-align:center;padding:.2rem .4rem}
.kc-msg a{color:inherit;text-decoration:underline}

.kc-typing{display:flex;align-items:center;gap:4px}
.kc-typing span{width:6px;height:6px;border-radius:50%;background:var(--soft);animation:kc-b 1.2s infinite}
.kc-typing span:nth-child(2){animation-delay:.15s}
.kc-typing span:nth-child(3){animation-delay:.3s}
.kc-typing em{margin-left:.4rem;font-style:normal;font-size:.78rem;color:var(--soft)}
@keyframes kc-b{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.kc-typing span{animation:none;opacity:.6}}

.kc-form{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;padding:.65rem .8rem;border-top:1px solid var(--line);
  background:var(--bg-soft);flex:none}
.kc-form>*{grid-column:1 / -1}
.kc-form input[name=name],.kc-form input[name=phone]{grid-column:auto}
.kc-form[hidden],.kc-form [hidden]{display:none}
.kc-form__t{margin:0;font-size:.82rem;font-weight:600;line-height:1.3;color:var(--ink)}
.kc-form input[type=text],.kc-form input[type=tel],.kc-form input[type=email]{
  min-width:0;padding:.48rem .6rem;border:1px solid var(--line);border-radius:7px;background:var(--surface);
  color:var(--ink);font:inherit;font-size:.86rem}
.kc-consent{display:flex;gap:.45rem;align-items:flex-start;font-size:.72rem;line-height:1.35;color:var(--soft)}
.kc-consent input{margin-top:.15rem}
.kc-err{margin:0;font-size:.8rem;color:#d04545}
.kc-err[hidden]{display:none}
.kc-form__row{display:flex;align-items:center;gap:.8rem}
.kc-btn{padding:.55rem 1rem;border:0;border-radius:7px;background:var(--accent);color:var(--navy);
  font-family:inherit;font-weight:600;font-size:.86rem;line-height:1;cursor:pointer}
.kc-btn[disabled]{opacity:.55;cursor:wait}

.kc-foot{display:flex;align-items:flex-end;gap:.5rem;padding:.65rem .7rem;border-top:1px solid var(--line)}
.kc-in{flex:1;resize:none;min-height:40px;max-height:120px;padding:.6rem .7rem;border:1px solid var(--line);
  border-radius:9px;background:var(--surface);color:var(--ink);font:inherit;font-size:.9rem;line-height:1.4}
.kc-in:focus,.kc-form input:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}
.kc-send{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;
  border:0;border-radius:9px;background:var(--accent);color:var(--navy);cursor:pointer}
.kc-send[disabled]{opacity:.5;cursor:wait}

.kc-link{border:0;background:none;padding:0;font:inherit;font-size:.8rem;color:var(--soft);
  text-decoration:underline;cursor:pointer}
.kc-link:hover{color:var(--ink)}

@media (max-width:560px){
  /* konk-mobchat: ровно по видимой части экрана (без адресной строки), крестик всегда виден */
  .kc{top:0;right:0;bottom:auto;left:0;width:100%;height:100vh;height:100dvh;max-height:none;border-radius:0;border:0}
  .kc-head{padding-top:calc(.75rem + env(safe-area-inset-top, 0px))}
  .kc-x{min-width:44px;min-height:44px}
  .kc-launch{right:14px;bottom:14px}
  .kc-launch.is-on{display:none}
}

/* konk-logo: робот-помощник на кнопке чата и в шапке окна */
.kc-ava{display:block;width:32px;height:32px;border-radius:50%;flex:0 0 auto}
.kc-launch .kc-ava{width:34px;height:34px;margin:-.5rem 0 -.5rem -.55rem;box-shadow:0 0 0 2px rgba(255,255,255,.6)}
.kc-head-ava{display:flex;flex:0 0 auto}
.kc-head-ava .kc-ava{width:30px;height:30px}
