/* WBYW chat widget — matches the site's dark theme (see site.css --wbf-* vars). */
.wbf-chat-btn {
  position: fixed; right: 20px; bottom: 20px; z-index: 9000;
  width: 56px; height: 56px; border-radius: 50%;
  background: linear-gradient(135deg, #7C3AED, #06B6D4);
  border: none; cursor: pointer; color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 24px rgba(124, 58, 237, .45);
  transition: transform .15s ease;
}
.wbf-chat-btn:hover { transform: scale(1.06); }
.wbf-chat-btn svg { width: 26px; height: 26px; }

.wbf-chat-panel {
  position: fixed; right: 20px; bottom: 88px; z-index: 9001;
  width: 370px; max-width: calc(100vw - 24px);
  height: 520px; max-height: calc(100dvh - 110px);
  display: none; flex-direction: column; overflow: hidden;
  background: #0F1424; border: 1px solid #1F2742; border-radius: 16px;
  box-shadow: 0 12px 48px rgba(0, 0, 0, .6);
  font-size: 14.5px;
}
.wbf-chat-panel.is-open { display: flex; }

.wbf-chat-head {
  padding: 14px 16px; background: #141A2E; border-bottom: 1px solid #1F2742;
  display: flex; align-items: center; justify-content: space-between;
}
.wbf-chat-head strong { color: #F3F4F6; font-size: 15px; }
.wbf-chat-head small { display: block; color: #9CA3AF; font-weight: 400; margin-top: 2px; }
.wbf-chat-close { background: none; border: none; color: #9CA3AF; font-size: 22px; cursor: pointer; line-height: 1; }

.wbf-chat-log { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 10px; }
.wbf-chat-msg { max-width: 85%; padding: 9px 13px; border-radius: 14px; line-height: 1.45; white-space: pre-wrap; word-wrap: break-word; }
.wbf-chat-msg--user { align-self: flex-end; background: #7C3AED; color: #fff; border-bottom-right-radius: 4px; }
.wbf-chat-msg--bot { align-self: flex-start; background: #1A2138; color: #E5E7EB; border-bottom-left-radius: 4px; }
.wbf-chat-msg--bot a { color: #67E8F9; }
.wbf-chat-msg--typing { color: #9CA3AF; font-style: italic; }

.wbf-chat-form { display: flex; gap: 8px; padding: 12px; border-top: 1px solid #1F2742; background: #141A2E; }
.wbf-chat-input {
  flex: 1; background: #0F1424; border: 1px solid #1F2742; border-radius: 10px;
  color: #F3F4F6; padding: 10px 12px; font-size: 14.5px; outline: none; resize: none;
}
.wbf-chat-input:focus { border-color: #7C3AED; }
.wbf-chat-send {
  background: #7C3AED; color: #fff; border: none; border-radius: 10px;
  padding: 0 16px; cursor: pointer; font-weight: 600;
}
.wbf-chat-send:disabled { opacity: .5; cursor: default; }

@media (max-width: 480px) {
  .wbf-chat-panel { right: 12px; left: 12px; width: auto; bottom: 84px; height: 70dvh; }
}
