/* ===== Виолетта — чат-виджет Massive Wood ===== */
#violetta-widget{
  position:fixed;right:22px;bottom:26px;z-index:9999;
  font-family:'Geologica','Segoe UI',Arial,sans-serif;
  --v-ink:#1d1611;--v-brand:#5a2a12;--v-deep:#3a1a0c;--v-copper:#b8733d;--v-copper-dark:#9a5d2e;
  --v-paper:#f6f2ec;--v-line:#e3dad0;--v-muted:#6f645a;
}

#violetta-launcher{display:flex;align-items:center;gap:12px;}

#violetta-cta{
  background:var(--v-ink);color:#fff;border:0;
  font-weight:500;font-size:14px;letter-spacing:.01em;white-space:nowrap;
  padding:12px 18px;border-radius:999px;
  box-shadow:0 10px 30px -12px rgba(29,22,17,.6);
  transition:transform .2s ease,opacity .2s ease,visibility .2s ease,background .15s ease;
}
#violetta-cta:hover{background:#000;}
#violetta-launcher:hover #violetta-cta{transform:translateY(-1px);}
#violetta-widget.open #violetta-cta{opacity:0;visibility:hidden;pointer-events:none;}

#violetta-bubble{
  width:76px;height:76px;padding:0;border:0;background:transparent;cursor:pointer;
  position:relative;flex-shrink:0;transition:transform .2s ease;
}
#violetta-launcher:hover #violetta-bubble{transform:scale(1.05);}
#violetta-bubble .violetta-avatar-circle{
  display:block;width:100%;height:100%;border-radius:50%;overflow:hidden;
  border:3px solid #fff;background:#d9cdc0;
  box-shadow:0 12px 30px -10px rgba(29,22,17,.55);
}
#violetta-bubble video,#violetta-header video{width:100%;height:100%;object-fit:cover;display:block;}
#violetta-bubble .violetta-dot{
  position:absolute;top:2px;right:8px;width:13px;height:13px;border-radius:50%;
  background:#3d8a4e;border:2px solid #fff;transition:opacity .2s ease;
}
#violetta-bubble .violetta-collapse{
  position:absolute;inset:3px;border-radius:50%;background:rgba(29,22,17,.55);
  display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;
}
#violetta-bubble .violetta-collapse svg{width:24px;height:24px;color:#fff;}
#violetta-widget.open #violetta-bubble .violetta-collapse{opacity:1;visibility:visible;}
#violetta-widget.open #violetta-bubble .violetta-dot{opacity:0;}

#violetta-panel{
  position:absolute;right:0;bottom:92px;width:360px;max-width:calc(100vw - 44px);
  height:520px;max-height:calc(100vh - 130px);
  background:#fff;border-radius:14px;overflow:hidden;
  box-shadow:0 30px 80px -20px rgba(29,22,17,.45),0 0 0 1px rgba(29,22,17,.06);
  display:flex;flex-direction:column;
  opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:bottom right;
  transition:opacity .2s ease,transform .22s cubic-bezier(.2,.7,.2,1),visibility 0s linear .22s;
}
#violetta-panel.open{opacity:1;visibility:visible;transform:none;transition-delay:0s;}

#violetta-header{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;background:var(--v-deep);color:#fff;}
#violetta-header .violetta-avatar-sm{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;background:#d9cdc0;}
#violetta-header .violetta-title{font-weight:600;font-size:15.5px;line-height:1.2;}
#violetta-header .violetta-subtitle{display:flex;align-items:center;gap:6px;font-size:12px;color:#cbbdae;margin-top:2px;}
#violetta-header .violetta-subtitle i{width:7px;height:7px;border-radius:50%;background:#5fbf75;}
#violetta-header .violetta-call{margin-left:auto;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.08);transition:background .15s ease;}
#violetta-header .violetta-call:hover{background:rgba(255,255,255,.16);}
#violetta-header .violetta-call svg{width:18px;height:18px;}
#violetta-close{width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .15s ease;}
#violetta-close:hover{background:rgba(255,255,255,.1);}
#violetta-close svg{width:20px;height:20px;}

#violetta-messages{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:10px;background:var(--v-paper);}
.violetta-msg{
  max-width:84%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.45;
  white-space:pre-wrap;word-break:break-word;color:var(--v-ink);
}
.violetta-msg.bot{align-self:flex-start;background:#fff;border-bottom-left-radius:4px;box-shadow:0 1px 2px rgba(29,22,17,.06);}
.violetta-msg.user{align-self:flex-end;background:var(--v-ink);color:#fff;border-bottom-right-radius:4px;}
.violetta-msg.typing{display:flex;gap:4px;align-items:center;padding:12px 14px;}
.violetta-msg.typing span{width:6px;height:6px;border-radius:50%;background:#9d9187;animation:violetta-blink 1.2s infinite ease-in-out;}
.violetta-msg.typing span:nth-child(2){animation-delay:.2s;}
.violetta-msg.typing span:nth-child(3){animation-delay:.4s;}
@keyframes violetta-blink{0%,80%,100%{opacity:.25;}40%{opacity:1;}}

#violetta-quick{display:flex;flex-wrap:wrap;gap:6px;padding:4px 14px 10px;background:var(--v-paper);}
#violetta-quick.hidden{display:none;}
#violetta-quick button{
  font:inherit;font-size:13px;font-weight:500;color:var(--v-brand);
  background:#fff;border:1px solid var(--v-line);border-radius:999px;padding:7px 12px;cursor:pointer;
  transition:background .15s ease,border-color .15s ease;
}
#violetta-quick button:hover{border-color:var(--v-copper);}

#violetta-inputbar{display:flex;align-items:flex-end;gap:8px;padding:10px;border-top:1px solid var(--v-line);background:#fff;margin:0;}
#violetta-input{
  flex:1;font:inherit;font-size:14px;line-height:1.4;color:var(--v-ink);
  border:1px solid var(--v-line);border-radius:20px;padding:10px 14px;outline:none;resize:none;
  max-height:120px;background:var(--v-paper);transition:border-color .15s ease,background .15s ease;
}
#violetta-input:focus{border-color:var(--v-copper);background:#fff;}
#violetta-send{
  flex-shrink:0;width:40px;height:40px;border:0;border-radius:50%;background:var(--v-copper);color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s ease;
}
#violetta-send:hover{background:var(--v-copper-dark);}
#violetta-send:disabled{opacity:.5;cursor:default;}
#violetta-send svg{width:18px;height:18px;}

/* зазор над мобильной CTA-панелью (.mobile-cta в style.css) */
@media (max-width:760px){
  #violetta-widget{bottom:84px;right:14px;}
  #violetta-panel{max-height:calc(100vh - 180px);}
}
@media (max-width:480px){
  #violetta-cta{display:none;}
  #violetta-bubble{width:64px;height:64px;}
  #violetta-panel{width:calc(100vw - 28px);right:-6px;bottom:80px;}
}
