/* CHATBOT IDA∞ FLOTTANT (gauche) */
.chatbot-trigger {
  position: fixed;
  left: 16px;
  bottom: 24px;
  z-index: 45;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 18px 12px 14px;
  border-radius: 100px;
  background: linear-gradient(135deg, var(--color-cyan), var(--color-violet));
  color: white;
  font-weight: 600; font-size: 13px;
  box-shadow: 0 8px 32px rgba(0, 212, 255, 0.4), 0 0 0 1px var(--color-gold);
  cursor: pointer;
  border: none;
  transition: transform 200ms ease;
}
.chatbot-trigger:hover { transform: translateY(-2px) scale(1.03); }
.chatbot-trigger .chat-logo {
  width: 28px; height: 28px;
  object-fit: contain;
  filter: drop-shadow(0 0 6px var(--color-gold));
}
.chatbot-trigger .pulse-dot {
  position: absolute;
  top: 6px; right: 14px;
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--color-gold-hi);
  box-shadow: 0 0 10px var(--color-gold-hi);
  animation: chatbot-pulse-dot 2s ease-in-out infinite;
}
@keyframes chatbot-pulse-dot {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}
.chatbot-panel {
  position: fixed;
  left: 16px;
  bottom: 88px;
  z-index: 46;
  width: 340px;
  max-width: calc(100vw - 32px);
  max-height: 70vh;
  background: var(--color-surface);
  border: 1px solid var(--color-gold-lo);
  border-radius: 14px;
  box-shadow: 0 24px 60px rgba(0,0,0,0.5);
  display: none;
  flex-direction: column;
  overflow: hidden;
}
.chatbot-panel.open { display: flex; }
.chatbot-header {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 16px;
  background: linear-gradient(100deg, var(--color-bg-deep), var(--color-surface-hi));
  border-bottom: 1px solid var(--color-border);
}
.chatbot-header img { width: 36px; height: 36px; object-fit: contain; }
.chatbot-header .ch-title {
  font-family: var(--font-display);
  font-style: italic; font-size: 18px; font-weight: 500;
}
.chatbot-header .ch-status {
  font-family: var(--font-mono);
  font-size: 10px; letter-spacing: 0.1em;
  color: var(--color-gold);
  text-transform: uppercase;
}
.chatbot-header .close {
  margin-left: auto;
  background: transparent; border: none;
  color: var(--color-text-muted);
  font-size: 22px; cursor: pointer;
}
.chatbot-body {
  padding: 20px 16px;
  overflow-y: auto;
  flex: 1;
  background: var(--color-bg);
}
.chat-msg {
  display: inline-block;
  max-width: 85%;
  padding: 10px 14px;
  border-radius: 12px;
  margin-bottom: 10px;
  font-size: 13.5px;
  line-height: 1.5;
}
.chat-msg.bot {
  background: var(--color-surface-hi);
  color: var(--color-text);
  border-bottom-left-radius: 4px;
}
.chat-msg.bot strong { color: var(--color-gold); }
.chatbot-suggest {
  display: flex; flex-wrap: wrap; gap: 6px;
  margin-top: 14px;
}
.chatbot-suggest button {
  padding: 7px 12px;
  border-radius: 100px;
  background: transparent;
  border: 1px solid var(--color-border-glow);
  color: var(--color-text-muted);
  font-size: 12px;
  cursor: pointer;
  transition: all 200ms ease;
}
.chatbot-suggest button:hover {
  border-color: var(--color-gold);
  color: var(--color-gold);
}
.chatbot-input {
  display: flex; gap: 8px;
  padding: 12px;
  border-top: 1px solid var(--color-border);
  background: var(--color-surface);
}
.chatbot-input input {
  flex: 1;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: 100px;
  padding: 8px 14px;
  color: var(--color-text);
  font-family: inherit;
  font-size: 13px;
  outline: none;
}
.chatbot-input input:focus { border-color: var(--color-gold); }
.chatbot-input button {
  background: var(--color-gold);
  color: var(--color-bg);
  border: none;
  border-radius: 50%;
  width: 36px; height: 36px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
}

/* ═══ MOBILE: compact FAB ═══ */
@media (max-width: 720px) {
  .chatbot-trigger {
    padding: 0;
    width: 52px; height: 52px;
    border-radius: 50%;
    justify-content: center;
    left: 16px;
    bottom: 80px;
  }
  .chatbot-trigger > span:not(.chat-logo):not(.pulse-dot) { display: none; }
  .chatbot-trigger .chat-logo { margin: 0; }
  .chatbot-panel { left: 8px; right: 8px; bottom: 140px; width: auto; }
}
