#bvchatbot-root * { box-sizing: border-box; }

.bvc-launcher {
  position: fixed; right: 20px; top: 210px; z-index: 99999;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 13px; border: none; border-radius: 14px; cursor: pointer;
  background: #1e78c8; color: #fff; font-size: 13px; font-weight: 600; line-height: 1.15;
  box-shadow: 0 6px 20px rgba(30,120,200,.45);
  animation: bvc-attn 2.2s ease-in-out infinite;
}
.bvc-launcher:hover { background: #155fa0; transform: translateY(-2px); }
.bvc-launcher .bvc-launcher-txt { white-space: normal; text-align: left; }
.bvc-launcher .bvc-pulse-dot { position: relative; width: 9px; height: 9px; border-radius: 50%; background: #16a34a; }
.bvc-launcher .bvc-pulse-dot::after {
  content: ''; position: absolute; left: -4px; top: -4px; right: -4px; bottom: -4px;
  border-radius: 50%; background: #16a34a; opacity: .5; animation: bvc-ping 1.6s infinite;
}
.bvc-launcher.bvc-hidden { display: none; }
@keyframes bvc-attn {
  0%, 100% { box-shadow: 0 6px 20px rgba(30,120,200,.45); transform: translateY(0); }
  50% { box-shadow: 0 8px 30px rgba(30,120,200,.8); transform: translateY(-2px); }
}
@keyframes bvc-ping {
  0% { transform: scale(1); opacity: .5; }
  70%, 100% { transform: scale(2.3); opacity: 0; }
}

.bvc-panel {
  position: fixed; right: 20px; bottom: 20px; z-index: 99999;
  width: 360px; max-width: calc(100vw - 40px); height: 560px; max-height: calc(100vh - 40px);
  background: #fff; border: 1px solid #e4e4e7; border-radius: 18px; overflow: hidden;
  display: none; flex-direction: column; box-shadow: 0 12px 40px rgba(0,0,0,.22);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.bvc-panel.bvc-on { display: flex; }

.bvc-head { display: flex; align-items: center; gap: 10px; padding: 14px 16px; background: #111827; }
.bvc-head-ic {
  width: 34px; height: 34px; border-radius: 9px; background: #1e78c8; color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0;
}
.bvc-head-txt { display: flex; flex-direction: column; line-height: 1.3; color: #fff; flex: 1; }
.bvc-head-txt strong { font-size: 14px; font-weight: 600; }
.bvc-head-txt em { font-size: 11px; font-style: normal; color: #7cb8ec; }
.bvc-close { background: none; border: none; color: #a1a1aa; font-size: 22px; cursor: pointer; line-height: 1; }
.bvc-end {
  background: none; border: 1px solid #374151; color: #d4d4d8; cursor: pointer;
  font-size: 11px; padding: 4px 9px; border-radius: 999px; flex-shrink: 0; white-space: nowrap;
}
.bvc-end:hover { background: #1f2937; color: #fff; }

.bvc-msgs { flex: 1; overflow-y: auto; padding: 14px; background: #fafafa; display: flex; flex-direction: column; gap: 9px; }

.bvc-b { max-width: 86%; padding: 9px 12px; font-size: 14px; line-height: 1.5; border-radius: 14px; word-wrap: break-word; }
.bvc-assistant { align-self: flex-start; background: #fff; border: 1px solid #e4e4e7; border-bottom-left-radius: 5px; color: #27272a; }
.bvc-ask { background: #fef2f2; border: 1px solid #dc2626; color: #b91c1c; font-weight: 600; }
.bvc-ask a { color: #b91c1c; }
.bvc-user { align-self: flex-end; background: #1e78c8; color: #fff; border-bottom-right-radius: 5px; }
.bvc-b a { color: #1560a0; }
.bvc-user a { color: #cfe6fb; }
.bvc-b a.bvc-link {
  display: inline-block; margin-top: 4px; padding: 5px 12px; border-radius: 999px;
  background: #eef5fc; border: 1px solid #1e78c8; color: #155fa0;
  font-size: 12.5px; font-weight: 600; text-decoration: none;
}
.bvc-b a.bvc-link:hover { background: #dcebf8; }
.bvc-user a.bvc-link { background: transparent; border-color: #cfe6fb; color: #cfe6fb; }

.bvc-prods { display: flex; flex-direction: column; gap: 8px; margin: 4px 0 8px; }
.bvc-prod { border: 1px solid #e4e4e7; border-radius: 12px; padding: 10px 12px; background: #fff; }
.bvc-prod-name { font-size: 13px; font-weight: 600; color: #111827; }
.bvc-prod-meta { font-size: 12px; color: #71717a; margin-top: 2px; }
.bvc-prod-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
/* Bouton ajusté au texte : ne s'étire pas, largeur = contenu. */
.bvc-prod-actions .bvc-link {
  flex: 0 0 auto; margin-top: 0; padding: 6px 14px; border-radius: 999px; font-weight: 600;
  background: #1e78c8; border: 1px solid #1e78c8; color: #fff;
}
.bvc-prod-actions .bvc-link:hover { background: #155fa0; border-color: #155fa0; }
/* Produit secondaire / complémentaire (huile, filtre…) : lien d'une AUTRE couleur (ambre). */
.bvc-prod-actions .bvc-link.bvc-sec {
  background: #f59e0b; border-color: #f59e0b; color: #18181b;
}
.bvc-prod-actions .bvc-link.bvc-sec:hover { background: #d97706; border-color: #d97706; }
.bvc-prod.bvc-prod-sec { border-color: #fcd9a0; background: #fffdf8; }
.bvc-prod-actions .bvc-cart {
  flex: 0 0 auto; padding: 6px 14px; border-radius: 999px; border: 1px solid #16a34a;
  background: #16a34a; color: #fff; font-weight: 600; font-size: 12.5px; cursor: pointer;
}
.bvc-prod-actions .bvc-cart:hover { background: #15803d; border-color: #15803d; }
.bvc-prod-actions .bvc-cart:disabled { opacity: .7; cursor: default; }

.bvc-chips { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 2px; }
.bvc-chip { font-size: 12.5px; color: #3f3f46; background: #fff; border: 1px solid #e4e4e7; border-radius: 999px; padding: 6px 11px; cursor: pointer; }
.bvc-chip:hover { border-color: #1e78c8; background: #eef5fc; }

.bvc-typing span { display: inline-block; width: 7px; height: 7px; margin-right: 3px; border-radius: 50%; background: #1e78c8; animation: bvc-bounce 1s infinite; }
.bvc-typing span:nth-child(2) { animation-delay: .15s; }
.bvc-typing span:nth-child(3) { animation-delay: .3s; margin-right: 0; }
@keyframes bvc-bounce { 0%,80%,100% { transform: translateY(0); opacity: .5; } 40% { transform: translateY(-4px); opacity: 1; } }

.bvc-input { display: flex; align-items: flex-end; gap: 8px; padding: 10px 12px; border-top: 1px solid #e4e4e7; background: #fff; }
.bvc-input textarea {
  flex: 1; resize: none; max-height: 110px; border: 1px solid #d4d4d8; border-radius: 12px;
  padding: 9px 12px; font-size: 14px; font-family: inherit; outline: none;
}
.bvc-input textarea:focus { border-color: #1e78c8; box-shadow: 0 0 0 3px rgba(30,120,200,.15); }
.bvc-input button {
  width: 42px; height: 42px; flex-shrink: 0; border: none; border-radius: 12px;
  background: #1e78c8; color: #fff; font-size: 20px; cursor: pointer;
}
.bvc-input button:hover { background: #155fa0; }

.bvc-lead { background: #fff; border: 1px solid #d6e4f2; border-radius: 12px; padding: 12px; margin: 4px 0 8px; }
.bvc-lead-title { font-size: 13px; font-weight: 700; color: #155fa0; margin-bottom: 8px; }
.bvc-lead-row { display: flex; flex-direction: column; gap: 3px; margin-bottom: 8px; }
.bvc-lead-lbl { font-size: 11.5px; color: #52525b; }
.bvc-lead-row input, .bvc-lead-row textarea {
  border: 1px solid #d4d4d8; border-radius: 8px; padding: 7px 9px; font-size: 13px; font-family: inherit; outline: none;
}
.bvc-lead-row input:focus, .bvc-lead-row textarea:focus { border-color: #1e78c8; }
.bvc-lead-send {
  width: 100%; border: none; border-radius: 999px; padding: 9px 12px; margin-top: 2px;
  background: #16a34a; color: #fff; font-weight: 700; font-size: 13px; cursor: pointer;
}
.bvc-lead-send:hover { background: #15803d; }
.bvc-lead-send:disabled { opacity: .7; cursor: default; }
.bvc-lead-status { font-size: 12px; color: #b91c1c; margin-top: 6px; }
.bvc-lead-ok { color: #15803d; font-size: 13px; font-weight: 600; border-color: #bbf7d0; background: #f0fdf4; }

.bvc-notices { display: flex; flex-direction: column; gap: 6px; margin: 4px 0 8px; }
.bvc-notice {
  display: inline-block; align-self: flex-start; text-decoration: none;
  background: #eef5fc; border: 1px solid #1e78c8; color: #155fa0;
  border-radius: 999px; padding: 6px 14px; font-size: 12.5px; font-weight: 600;
}
.bvc-notice:hover { background: #dcebf8; }
.bvc-notice-note { font-size: 11px; color: #71717a; }

.bvc-credit {
  text-align: center; font-size: 10.5px; color: #9ca3af;
  padding: 4px 0 7px; letter-spacing: .2px;
}

.bvc-rate { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 4px 0 10px; }
.bvc-face {
  font-size: 26px; line-height: 1; background: transparent; border: 1px solid transparent;
  border-radius: 12px; padding: 4px 6px; cursor: pointer; transition: transform .1s, background .15s;
}
.bvc-face:hover { background: #eef5fc; transform: scale(1.15); }

.bvc-b.bvc-highlight {
  background: #eaf4fd; border: 1px solid #1e78c8; color: #12507f; font-weight: 600;
}

.bvc-chip.bvc-chip-primary {
  background: #1e78c8; border-color: #1e78c8; color: #ffffff; font-weight: 700;
}
.bvc-chip.bvc-chip-primary:hover { background: #155fa0; border-color: #155fa0; }
