/* Asistente FAQ — reutiliza los tokens de color/tipografía de style.css (--blue, --ink, --muted, --line, --sky). */
.bt-widget-teaser{
  position:fixed; right:20px; bottom:86px; z-index:59; max-width:250px;
  background:#fff; border:1px solid var(--line); border-radius:14px; border-bottom-right-radius:4px;
  padding:12px 30px 12px 14px; box-shadow:0 14px 30px -12px rgb(10 34 59 / .3);
  font-family:Inter,Arial,sans-serif; font-size:.8125rem; line-height:1.5; color:var(--ink);
  cursor:pointer; opacity:0; transform:translateY(8px) scale(.96); pointer-events:none;
  transition:opacity .2s, transform .2s;
}
.bt-widget-teaser.show{opacity:1; transform:translateY(0) scale(1); pointer-events:auto}
.bt-widget-teaser p{margin:0}
.bt-widget-teaser-close{
  position:absolute; top:6px; right:8px; background:none; border:0; color:var(--muted);
  font-size:1rem; line-height:1; cursor:pointer; padding:4px;
}
.bt-widget-fab{
  position:fixed; right:20px; bottom:20px; z-index:60; width:56px; height:56px; border-radius:50%;
  background:var(--blue); color:#fff; border:2px solid #fff; padding:0; cursor:pointer;
  box-shadow:0 10px 24px -8px rgb(0 106 202 / .55); transition:transform .15s;
}
.bt-widget-fab:hover{transform:translateY(-2px)}
.bt-widget-fab-photo{width:100%; height:100%; object-fit:cover; display:block; border-radius:50%}
.bt-widget-fab-pulse{
  position:absolute; inset:-6px; border-radius:50%; border:2px solid var(--blue);
  animation:bt-widget-pulse-ring 2.4s ease-out infinite;
}
@keyframes bt-widget-pulse-ring{
  0%{transform:scale(.85); opacity:.6}
  70%{transform:scale(1.35); opacity:0}
  100%{transform:scale(1.35); opacity:0}
}
.bt-widget-fab-badge{
  position:absolute; right:-3px; bottom:-3px; width:22px; height:22px; border-radius:50%;
  background:var(--blue); border:2px solid #fff; display:grid; place-items:center; color:#fff;
  box-shadow:0 2px 6px -1px rgb(0 106 202 / .5);
}
.bt-widget-fab-badge svg{width:12px; height:12px}
.bt-widget-fab-opened .bt-widget-fab-pulse,
.bt-widget-fab-opened .bt-widget-fab-badge{display:none}
@media (prefers-reduced-motion: reduce){
  .bt-widget-fab-pulse{animation:none; display:none}
}
.bt-widget-chat{
  position:fixed; right:16px; bottom:16px; z-index:61; width:min(340px, calc(100% - 32px)); height:min(460px, calc(100% - 32px));
  background:#fff; border-radius:16px; border:1px solid var(--line); display:flex; flex-direction:column;
  box-shadow:0 24px 60px -20px rgb(10 34 59 / .35); overflow:hidden; opacity:0; transform:translateY(12px) scale(.98);
  pointer-events:none; transition:opacity .18s, transform .18s;
  font-family:Inter,Arial,sans-serif;
}
.bt-widget-chat.open{opacity:1; transform:translateY(0) scale(1); pointer-events:auto}
.bt-widget-head{background:var(--blue); color:#fff; padding:14px 16px; display:flex; align-items:center; gap:10px}
.bt-widget-avatar{
  width:34px; height:34px; border-radius:50%; object-fit:cover; flex-shrink:0; border:2px solid #fff;
}
.bt-widget-head b{font-size:.8125rem; display:block}
.bt-widget-head span{font-size:.6875rem; opacity:.85; display:flex; align-items:center; gap:5px}
.bt-widget-dot{width:6px; height:6px; border-radius:50%; background:#5fe3a1}
.bt-widget-close{margin-left:auto; background:none; border:0; color:#fff; opacity:.8; cursor:pointer; font-size:1.1rem; line-height:1; padding:4px}
.bt-widget-body{flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:10px; background:#f3f6fa}
.bt-widget-msg{max-width:85%; font-size:.8125rem; line-height:1.55; padding:9px 12px; border-radius:12px}
.bt-widget-msg.bt-widget-bot{background:#fff; border:1px solid var(--line); align-self:flex-start; border-bottom-left-radius:4px}
.bt-widget-msg.bt-widget-bot a{color:var(--blue); font-weight:600}
.bt-widget-msg.bt-widget-user{background:var(--blue); color:#fff; align-self:flex-end; border-bottom-right-radius:4px}
.bt-widget-msg.bt-widget-fallback{background:#fdf1de; border:1px solid #f0ddb8; color:#7a5306}
.bt-widget-msg.bt-widget-fallback a{color:var(--blue); font-weight:600}
.bt-widget-msg.bt-widget-typing{display:flex; gap:4px; align-items:center; padding:12px 14px}
.bt-widget-msg.bt-widget-typing span{width:6px; height:6px; border-radius:50%; background:var(--muted); opacity:.5; animation:bt-widget-bounce 1.1s infinite}
.bt-widget-msg.bt-widget-typing span:nth-child(2){animation-delay:.15s}
.bt-widget-msg.bt-widget-typing span:nth-child(3){animation-delay:.3s}
@keyframes bt-widget-bounce{0%,60%,100%{opacity:.35; transform:translateY(0)}30%{opacity:1; transform:translateY(-3px)}}
.bt-widget-chips{display:flex; flex-wrap:wrap; gap:6px; padding:0 14px 10px; background:#f3f6fa}
.bt-widget-chip{
  font-size:.6875rem; background:#fff; border:1px solid var(--line); color:var(--muted);
  border-radius:999px; padding:6px 11px; cursor:pointer; transition:border-color .15s, color .15s;
}
.bt-widget-chip:hover{border-color:var(--blue); color:var(--blue)}
.bt-widget-input{display:flex; gap:8px; padding:10px; border-top:1px solid var(--line); background:#fff}
.bt-widget-input input{
  flex:1; border:1px solid var(--line); border-radius:999px; padding:9px 14px; font-size:.8125rem; font-family:inherit;
  outline:none; color:var(--ink);
}
.bt-widget-input input:focus{border-color:var(--blue)}
.bt-widget-input button{
  background:var(--blue); color:#fff; border:0; border-radius:999px; width:36px; height:36px; flex-shrink:0;
  display:grid; place-items:center; cursor:pointer;
}
.bt-widget-input button:hover{background:#0055a4}
@media (max-width:480px){
  .bt-widget-chat{width:calc(100% - 24px); height:70%}
}
@media (min-width:769px){
  .bt-widget-fab{width:76px; height:76px; right:28px; bottom:28px}
  .bt-widget-fab-badge{width:28px; height:28px; right:-4px; bottom:-4px}
  .bt-widget-fab-badge svg{width:15px; height:15px}
  .bt-widget-teaser{right:28px; bottom:112px}
}
