/* Styles isolés du chatbot Victor : ne modifient pas le body de la page hôte. */
.oqdb-victor-root {
  --oqdb-blue: #1769aa;
  --oqdb-blue-dark: #104d80;
  --oqdb-bg: #f3f7fb;
  --oqdb-text: #263442;
  --oqdb-muted: #6b7785;
  --oqdb-border: #dce5ee;
}
.oqdb-victor-root, .oqdb-victor-root *, .oqdb-victor-root *::before, .oqdb-victor-root *::after { box-sizing: border-box; }
/* Bouton flottant */
.oqdb-victor-root .victor-launcher {
  position: fixed; right: 24px; bottom: 22px; z-index: 9998;
  display: flex; align-items: center; gap: 11px;
  padding: 10px 16px 10px 10px; border: 0; border-radius: 999px;
  background: var(--oqdb-blue); color: #fff; cursor: pointer;
  box-shadow: 0 8px 28px #153c5b38; font-size: 15px; font-weight: 700;
  transition: transform .18s ease, background .18s ease;
}
.oqdb-victor-root .victor-launcher:hover { background: var(--oqdb-blue-dark); transform: translateY(-2px); }
.oqdb-victor-root .victor-launcher:focus-visible, .oqdb-victor-root .victor-send:focus-visible,
.oqdb-victor-root .victor-close:focus-visible, .oqdb-victor-root .victor-input:focus-visible {
  outline: 3px solid #ffca55; outline-offset: 3px;
}
.oqdb-victor-root .victor-avatar {
  width: 43px; height: 43px; flex: 0 0 43px;
  display: grid; place-items: center; border-radius: 50%;
  background: #fff; color: var(--oqdb-blue); font-size: 25px;
  border: 2px solid #d9ebfb;
}
/* Fenêtre de discussion */
.oqdb-victor-root .victor-chat {
  position: fixed; right: 24px; bottom: 90px; z-index: 9999;
  width: min(370px, calc(100vw - 28px)); height: min(540px, calc(100dvh - 120px));
  min-height: 330px; display: none; flex-direction: column; overflow: hidden;
  background: #fff; border: 1px solid var(--oqdb-border); border-radius: 18px;
  box-shadow: 0 18px 55px #173b5b30;
}
.oqdb-victor-root .victor-chat.is-open { display: flex; }
.oqdb-victor-root .victor-header {
  display: flex; align-items: center; gap: 11px; padding: 14px 15px;
  background: var(--oqdb-blue); color: #fff;
}
.oqdb-victor-root .victor-header .oqdb-victor-root .victor-avatar { width: 42px; height: 42px; flex-basis: 42px; font-size: 24px; }
.oqdb-victor-root .victor-heading { flex: 1; min-width: 0; }
.oqdb-victor-root .victor-heading strong { display: block; font-size: 16px; }
.oqdb-victor-root .victor-heading small { display: block; margin-top: 3px; opacity: .9; font-size: 12px; }
.oqdb-victor-root .victor-close {
  width: 34px; height: 34px; border: 0; border-radius: 50%;
  color: #fff; background: #ffffff20; font-size: 23px; cursor: pointer;
}
.oqdb-victor-root .victor-messages {
  flex: 1; overflow-y: auto; padding: 16px 13px;
  display: flex; flex-direction: column; gap: 11px; background: var(--oqdb-bg);
}
.oqdb-victor-root .victor-message {
  max-width: 88%; padding: 10px 12px; border-radius: 14px;
  font-size: 14px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere;
}
.oqdb-victor-root .victor-message.bot { white-space: pre-line; align-self: flex-start; background: #fff; border: 1px solid var(--oqdb-border); border-bottom-left-radius: 4px; }
.oqdb-victor-root .victor-message.user { align-self: flex-end; color: #fff; background: var(--oqdb-blue); border-bottom-right-radius: 4px; }
.oqdb-victor-root .victor-suggestions { display: flex; flex-wrap: wrap; gap: 7px; padding: 10px 12px 0; background: var(--oqdb-bg); }
.oqdb-victor-root .victor-suggestion {
  border: 1px solid #b8d2e8; border-radius: 999px; background: #fff;
  padding: 7px 10px; color: var(--oqdb-blue-dark); cursor: pointer; font-size: 12px;
}
.oqdb-victor-root .victor-suggestion:hover { background: #e5f2ff; }
.oqdb-victor-root .victor-form { display: flex; gap: 8px; padding: 12px; border-top: 1px solid var(--oqdb-border); background: #fff; }
.oqdb-victor-root .victor-input {
  flex: 1; min-width: 0; border: 1px solid #cbd7e2; border-radius: 999px;
  padding: 11px 14px; font: inherit; font-size: 14px; color: var(--oqdb-text);
}
.oqdb-victor-root .victor-send {
  width: 43px; height: 43px; flex: 0 0 43px; border: 0; border-radius: 50%;
  color: #fff; background: var(--oqdb-blue); cursor: pointer; font-size: 19px;
}
.oqdb-victor-root .victor-send:hover { background: var(--oqdb-blue-dark); }
.oqdb-victor-root .victor-footer { padding: 0 12px 10px; color: var(--oqdb-muted); font-size: 10px; background: #fff; text-align: center; }
@media (max-width: 480px) {
  .oqdb-victor-root .victor-launcher { right: 14px; bottom: 14px; }
  .oqdb-victor-root .victor-chat { right: 8px; bottom: 76px; width: calc(100vw - 16px); height: min(600px, calc(100dvh - 92px)); }
  }
@media (prefers-reduced-motion: reduce) {
  .oqdb-victor-root *, .oqdb-victor-root *::before, .oqdb-victor-root *::after { transition: none !important; }
}
