/* СГЕНЕРИРОВАН build-v11.js из draft-v12/index.html. Руками не править.
   Кусок между метками CHAT:НАЧАЛО и CHAT:КОНЕЦ — для страниц врачей. */
/* 🔴 Своего сброса форм на странице врача нет (в site.css он общий, в
   vrachi.css его не было ни разу). Без этих двух строк крестик в шапке чата
   приезжает белым системным прямоугольником — на главной этого не видно. */
.fab,.chat button,.chat input{font:inherit;color:inherit;background:none;border:0}
.fab,.chat button{cursor:pointer}
.fab{position:fixed;right:20px;bottom:20px;z-index:70;width:60px;height:60px;border-radius:50%;
  background:var(--cream);color:var(--bronze-ink);display:grid;place-items:center;border:1.5px solid rgba(168,132,95,.55);
  box-shadow:0 14px 34px rgba(51,41,31,.3);
  transition:transform var(--d-base) var(--e),background var(--d-base) var(--e)}
.fab:hover{transform:translateY(-3px) scale(1.04);border-color:var(--bronze);box-shadow:0 18px 40px rgba(51,41,31,.34)}
.fab .tooth-img{width:34px;height:auto}
.fab .dot{position:absolute;top:4px;right:4px;width:11px;height:11px;border-radius:50%;
  background:var(--bronze-lt);border:2px solid var(--paper)}
.chat{position:fixed;right:20px;bottom:92px;z-index:71;width:min(370px,calc(100vw - 40px));
  max-height:min(560px,calc(100svh - 130px));background:var(--paper);border-radius:var(--r-card);
  box-shadow:0 30px 70px rgba(51,41,31,.28);border:1px solid var(--line);
  display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;
  transform:translateY(12px) scale(.98);
  transition:opacity var(--d-base) var(--e),visibility var(--d-base),transform var(--d-base) var(--e)}
.chat.open{opacity:1;visibility:visible;transform:none}
/* 01.09 владелец: «сделать красивее». Шапка в языке сайта: имя дисплейным
   серифом, зуб в тонком бронзовом кольце (мотив арок врачей), бронзовая
   растушёванная линия вместо резкого стыка, точка «онлайн». */
.chat-hd{display:flex;gap:12px;align-items:center;padding:15px 18px;background:var(--umber);color:var(--cream);position:relative}
.chat-hd::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(199,158,98,.7),transparent)}
/* 🔴 08.09.2026. Знак в шапке чата выглядел обрезанным. Обрезан он не был:
   рамка задавалась как 26px ширины + 6px полей при height:auto, то есть
   26×31,5 — прямоугольник. `border-radius:50%` на прямоугольнике даёт не
   круг, а ЭЛЛИПС, и высокий знак (233×282, плюс расходящиеся лучи по
   краям) упирался в него боками. Теперь коробка квадратная, знак вписан
   внутрь целиком через object-fit:contain — кольцо круглое, лучи знака в
   него не бьются, ничего не режется. */
.chat-hd img{width:38px;height:38px;box-sizing:border-box;padding:7px;
  object-fit:contain;flex:0 0 auto;
  border:1px solid rgba(199,158,98,.55);border-radius:50%}
.chat-hd .t{flex:1;min-width:0}
.chat-hd b{display:block;font-family:var(--disp);font-weight:500;font-size:18.5px;
  letter-spacing:.03em;line-height:1.2}
.chat-hd span{font-size:11.6px;color:var(--cream-faint)}
.chat-hd .on{display:inline-block;width:7px;height:7px;border-radius:50%;
  background:var(--bronze-lt);margin-right:6px;vertical-align:0}
.chat-hd .x{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;
  color:var(--cream-soft);font-size:20px;line-height:1}
.chat-body{flex:1;overflow-y:auto;padding:18px;display:grid;gap:12px;align-content:start}
.msg{max-width:86%;padding:12px 15px;border-radius:14px;font-size:14.8px;line-height:1.55}
.msg.bot{background:var(--sand-deep);border-bottom-left-radius:5px;justify-self:start}
.msg.usr{background:var(--umber);color:var(--cream);border-bottom-right-radius:5px;justify-self:end}
.chat-legal{padding:11px 18px;border-top:1px solid var(--line-soft);font-size:11.6px;
  line-height:1.5;color:var(--ink-mute)}
.chat-legal a{text-decoration:underline}
.chat-in{display:flex;gap:9px;padding:12px 14px;border-top:1px solid var(--line-soft)}
.chat-in input{flex:1;padding:11px 14px;border-radius:100px;border:1px solid var(--line);
  background:#fff;font-size:15px}
.chat-in button{width:42px;height:42px;border-radius:50%;color:var(--cream);
  background:linear-gradient(135deg,var(--bronze-ink),var(--bronze));
  display:grid;place-items:center;flex:none;transition:filter var(--d-fast) var(--e)}
.chat-in button:hover{filter:brightness(1.12)}
.chat-in button[disabled]{opacity:.45}
/* Ассистент отвечает не мгновенно: без индикатора пауза читается как поломка. */
.msg.typing{display:flex;gap:5px;align-items:center;padding:15px}
.msg.typing i{width:6px;height:6px;border-radius:50%;background:var(--bronze);opacity:.35;
  animation:kdot 1.25s var(--e) infinite}
.msg.typing i:nth-child(2){animation-delay:.16s}
.msg.typing i:nth-child(3){animation-delay:.32s}
@keyframes kdot{0%,60%,100%{opacity:.28;transform:translateY(0)}30%{opacity:.9;transform:translateY(-3px)}}
.msg.err{background:#F6E7DF;color:#7A3B22}
.msg a{text-decoration:underline}
@media (prefers-reduced-motion:reduce){.msg.typing i{animation:none}}
@media (max-width:640px){
  .fab{right:16px;bottom:16px;width:54px;height:54px}
  .chat{right:12px;left:12px;bottom:80px;width:auto}
}