#solfy-chatbot * { box-sizing: border-box !important; }

.solfy-btn {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #D97857 !important;
  border: none !important;
  cursor: pointer !important;
  z-index: 99998 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 20px rgba(217,120,87,0.4) !important;
  padding: 0 !important;
  margin: 0 !important;
}

.solfy-btn svg {
  width: 26px !important;
  height: 26px !important;
  fill: #fff !important;
}

.solfy-icon-open { display: block !important; }
.solfy-icon-close { display: none !important; }
.solfy-btn.active .solfy-icon-open { display: none !important; }
.solfy-btn.active .solfy-icon-close { display: block !important; }

.solfy-window {
  position: fixed !important;
  bottom: 92px !important;
  right: 24px !important;
  width: 360px !important;
  max-width: 360px !important;
  min-width: 320px !important;
  height: 520px !important;
  max-height: 520px !important;
  background: #f4f2ee !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 44px rgba(0,0,0,0.15) !important;
  z-index: 99999 !important;
  display: none !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: Arial, sans-serif !important;
}

.solfy-window.open { display: flex !important; }

.solfy-header {
  background: #0f0f0f !important;
  padding: 14px 18px !important;
  display: flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  margin: 0 !important;
}

.solfy-header-name {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #f4f2ee !important;
  line-height: 1.2 !important;
  display: flex !important;
  align-items: flex-end !important;
  margin: 0 !important;
  padding: 0 !important;
}

.solfy-dot {
  color: #D97857 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  margin-left: 1px !important;
  margin-bottom: -3px !important;
}

.solfy-header-sub {
  font-size: 11px !important;
  color: rgba(244,242,238,0.5) !important;
  margin-top: 2px !important;
  padding: 0 !important;
}

.solfy-messages {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  background: #f4f2ee !important;
  margin: 0 !important;
}

.chat-bubble-bot {
  max-width: 75% !important;
  width: fit-content !important;
  align-self: flex-start !important;
  margin: 0 auto 0 0 !important;
  padding: 10px 14px !important;
  background: #ffffff !important;
  color: #1a1a1a !important;
  border-radius: 18px 18px 18px 4px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  white-space: pre-wrap !important;
  border: 1px solid #e8e4df !important;
}

.chat-bubble-user {
  max-width: 75% !important;
  width: fit-content !important;
  align-self: flex-end !important;
  margin: 0 0 0 auto !important;
  padding: 10px 14px !important;
  background: #D97857 !important;
  color: #ffffff !important;
  border-radius: 18px 18px 4px 18px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  white-space: pre-wrap !important;
}

.solfy-typing {
  align-self: flex-start !important;
  display: flex !important;
  gap: 4px !important;
  padding: 12px 16px !important;
  background: #ffffff !important;
  border: 1px solid #e8e4df !important;
  border-radius: 18px 18px 18px 4px !important;
  margin: 0 !important;
}

.solfy-typing span {
  width: 6px !important;
  height: 6px !important;
  background: #D97857 !important;
  border-radius: 50% !important;
  animation: solfybounce 1.4s infinite !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
}

.solfy-typing span:nth-child(2) { animation-delay: 0.2s !important; }
.solfy-typing span:nth-child(3) { animation-delay: 0.4s !important; }

@keyframes solfybounce {
  0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
  30% { transform: translateY(-4px); opacity: 1; }
}

.solfy-cta-row {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin-top: 10px !important;
  width: 100% !important;
  padding: 0 !important;
}

.solfy-cta-btn {
  display: block !important;
  width: 100% !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: center !important;
  cursor: pointer !important;
  text-decoration: none !important;
  margin: 0 !important;
}

.solfy-cta-btn.primary {
  background: #D97857 !important;
  color: #ffffff !important;
  border: none !important;
}

.solfy-cta-btn.secondary {
  background: transparent !important;
  color: #1a1a1a !important;
  border: 1.5px solid #D97857 !important;
}

.solfy-lead-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin-top: 10px !important;
  padding: 0 !important;
}

.solfy-lead-form input {
  padding: 8px 12px !important;
  border: 1px solid #ddd !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  color: #1a1a1a !important;
  background: #fff !important;
  outline: none !important;
  width: 100% !important;
  margin: 0 !important;
}

.solfy-lead-form button {
  padding: 10px !important;
  background: #D97857 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  cursor: pointer !important;
  margin: 0 !important;
}

.solfy-input-bar {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 14px !important;
  background: #ffffff !important;
  border-top: 1px solid rgba(0,0,0,0.06) !important;
  flex-shrink: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}

.solfy-input {
  flex: 1 !important;
  min-width: 0 !important;
  border: 1px solid rgba(0,0,0,0.1) !important;
  background: #f4f2ee !important;
  border-radius: 100px !important;
  padding: 9px 16px !important;
  font-size: 14px !important;
  color: #1a1a1a !important;
  outline: none !important;
  margin: 0 !important;
}

.solfy-input::placeholder { color: #999 !important; }
.solfy-input:focus { border-color: #D97857 !important; }

.solfy-send {
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 50% !important;
  background: #D97857 !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
}

.solfy-send svg {
  width: 16px !important;
  height: 16px !important;
  fill: #ffffff !important;
}

.solfy-footer {
  text-align: center !important;
  padding: 6px 14px !important;
  font-size: 10px !important;
  color: #aaa !important;
  background: #ffffff !important;
  margin: 0 !important;
}

.solfy-footer a {
  color: #D97857 !important;
  text-decoration: none !important;
  font-weight: 600 !important;
}

@media (max-width: 480px) {
  .solfy-window {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    right: 8px !important;
    bottom: 84px !important;
  }
}