/* RSP Dev — Assistente virtual (premium widget) */
.rsp-chat-root{
  --rsp-paper:#f2f0e9;
  --rsp-ink:#11110f;
  --rsp-muted:#6f6d66;
  --rsp-line:#c9c6bc;
  --rsp-acid:#18bdf4;
  --rsp-blue:#0b73d1;
  --rsp-dark:#151512;
  --rsp-display:"Space Grotesk",system-ui,sans-serif;
  --rsp-sans:"DM Sans",system-ui,sans-serif;
  position:fixed;right:22px;bottom:22px;z-index:120;
  font-family:var(--rsp-sans);color:var(--rsp-ink);
}
.rsp-chat-root *,.rsp-chat-root *::before,.rsp-chat-root *::after{box-sizing:border-box}

.rsp-chat-fab{
  width:62px;height:62px;border-radius:50%;border:1px solid var(--rsp-ink);
  background:var(--rsp-ink);color:var(--rsp-paper);cursor:pointer;
  display:grid;place-items:center;position:relative;
  box-shadow:0 18px 40px rgba(17,17,15,.22);
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
.rsp-chat-fab:hover{transform:translateY(-3px);background:var(--rsp-dark);box-shadow:0 22px 48px rgba(17,17,15,.28)}
.rsp-chat-fab:focus-visible{outline:2px solid var(--rsp-acid);outline-offset:3px}
.rsp-chat-fab svg{width:26px;height:26px;display:block}
.rsp-chat-fab .rsp-icon-close{display:none}
.rsp-chat-root.is-open .rsp-chat-fab .rsp-icon-open{display:none}
.rsp-chat-root.is-open .rsp-chat-fab .rsp-icon-close{display:block}
.rsp-chat-pulse{
  position:absolute;inset:-6px;border-radius:50%;border:1px solid var(--rsp-acid);
  opacity:.55;animation:rspPulse 2.4s ease-out infinite;pointer-events:none;
}
.rsp-chat-root.is-open .rsp-chat-pulse{display:none}
@keyframes rspPulse{
  0%{transform:scale(.92);opacity:.55}
  70%{transform:scale(1.18);opacity:0}
  100%{transform:scale(1.18);opacity:0}
}

.rsp-chat-badge{
  position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;
  border-radius:99px;background:var(--rsp-acid);color:var(--rsp-ink);
  font:700 10px/18px var(--rsp-display);text-align:center;border:1px solid var(--rsp-ink);
}
.rsp-chat-root.is-open .rsp-chat-badge,.rsp-chat-badge.is-hidden{display:none}

.rsp-chat-panel{
  position:absolute;right:0;bottom:78px;width:min(400px,calc(100vw - 28px));
  height:min(620px,calc(100svh - 120px));
  background:var(--rsp-paper);border:1px solid var(--rsp-ink);
  display:flex;flex-direction:column;overflow:hidden;
  transform:translateY(14px) scale(.98);opacity:0;visibility:hidden;pointer-events:none;
  transition:transform .28s cubic-bezier(.16,1,.3,1),opacity .28s ease,visibility .28s;
  box-shadow:0 30px 80px rgba(17,17,15,.18);
}
.rsp-chat-root.is-open .rsp-chat-panel{
  transform:none;opacity:1;visibility:visible;pointer-events:auto;
}

.rsp-chat-header{
  padding:18px 18px 14px;border-bottom:1px solid var(--rsp-ink);
  background:linear-gradient(180deg,#fbfaf6 0%,var(--rsp-paper) 100%);
  display:flex;align-items:center;gap:12px;flex:none;
}
.rsp-chat-avatar{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--rsp-ink);
  background:#000;display:grid;place-items:center;flex:none;position:relative;overflow:hidden;
}
.rsp-chat-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.rsp-chat-online{
  position:absolute;right:1px;bottom:1px;width:9px;height:9px;border-radius:50%;
  background:#2fbf71;border:1.5px solid var(--rsp-paper);
}
.rsp-chat-head-copy{min-width:0;flex:1}
.rsp-chat-head-copy strong{
  display:block;font-family:var(--rsp-display);font-size:14px;letter-spacing:-.03em;line-height:1.1;
}
.rsp-chat-head-copy span{
  display:block;margin-top:4px;font-size:11px;color:var(--rsp-muted);letter-spacing:.04em;text-transform:uppercase;
}
.rsp-chat-head-actions{display:flex;gap:6px}
.rsp-chat-icon-btn{
  width:34px;height:34px;border-radius:50%;border:1px solid var(--rsp-line);
  background:transparent;cursor:pointer;display:grid;place-items:center;color:var(--rsp-ink);
}
.rsp-chat-icon-btn:hover{border-color:var(--rsp-ink);background:#fff}

.rsp-chat-messages{
  flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px;
  scroll-behavior:smooth;background:
    linear-gradient(180deg,rgba(24,189,244,.04),transparent 80px),
    var(--rsp-paper);
}
.rsp-chat-messages::-webkit-scrollbar{width:8px}
.rsp-chat-messages::-webkit-scrollbar-thumb{background:#cfcbc0;border-radius:99px}

.rsp-msg{max-width:88%;display:flex;flex-direction:column;gap:6px;animation:rspMsgIn .35s ease}
@keyframes rspMsgIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rsp-msg-bot{align-self:flex-start}
.rsp-msg-user{align-self:flex-end}
.rsp-bubble{
  padding:12px 14px;border:1px solid var(--rsp-line);font-size:14px;line-height:1.45;
  white-space:pre-wrap;word-break:break-word;
}
.rsp-msg-bot .rsp-bubble{background:#fff;border-radius:4px 18px 18px 18px}
.rsp-msg-user .rsp-bubble{
  background:var(--rsp-ink);color:var(--rsp-paper);border-color:var(--rsp-ink);
  border-radius:18px 4px 18px 18px;
}
.rsp-msg-meta{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--rsp-muted);padding:0 4px}

.rsp-typing{display:inline-flex;gap:5px;align-items:center;padding:4px 2px}
.rsp-typing i{
  width:6px;height:6px;border-radius:50%;background:var(--rsp-muted);
  animation:rspDot 1s infinite ease-in-out;
}
.rsp-typing i:nth-child(2){animation-delay:.15s}
.rsp-typing i:nth-child(3){animation-delay:.3s}
@keyframes rspDot{0%,80%,100%{transform:translateY(0);opacity:.35}40%{transform:translateY(-4px);opacity:1}}

.rsp-suggestions{
  display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px;flex:none;
}
.rsp-chip{
  border:1px solid var(--rsp-ink);background:#fff;color:var(--rsp-ink);
  border-radius:99px;padding:8px 12px;font-size:11px;letter-spacing:.03em;
  cursor:pointer;text-transform:uppercase;font-family:var(--rsp-display);
  transition:background .2s,transform .2s;
}
.rsp-chip:hover{background:var(--rsp-acid);transform:translateY(-1px)}
.rsp-suggestions.is-hidden{display:none}

.rsp-chat-footer{
  border-top:1px solid var(--rsp-ink);padding:12px;flex:none;background:#fbfaf6;
  display:flex;flex-direction:column;gap:10px;
}
.rsp-chat-form{display:flex;gap:8px;align-items:flex-end}
.rsp-chat-input{
  flex:1;min-height:46px;max-height:110px;resize:none;border:1px solid var(--rsp-ink);
  background:#fff;padding:12px 13px;font:14px/1.4 var(--rsp-sans);color:var(--rsp-ink);
  border-radius:4px;
}
.rsp-chat-input:focus{outline:2px solid var(--rsp-acid);outline-offset:1px}
.rsp-chat-send{
  width:46px;height:46px;border:1px solid var(--rsp-ink);border-radius:4px;
  background:var(--rsp-ink);color:var(--rsp-paper);cursor:pointer;display:grid;place-items:center;
  transition:background .2s,transform .2s;
}
.rsp-chat-send:hover{background:var(--rsp-blue)}
.rsp-chat-send:disabled{opacity:.45;cursor:not-allowed;transform:none}
.rsp-chat-send svg{width:18px;height:18px}

.rsp-chat-actions{display:flex;gap:8px}
.rsp-wa-btn{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:40px;text-decoration:none;border:1px solid var(--rsp-ink);
  background:var(--rsp-acid);color:var(--rsp-ink);font:11px var(--rsp-display);
  text-transform:uppercase;letter-spacing:.06em;transition:transform .2s,background .2s;
}
.rsp-wa-btn:hover{transform:translateY(-1px);background:#7ad7f5}
.rsp-chat-note{
  font-size:10px;color:var(--rsp-muted);letter-spacing:.04em;text-align:center;line-height:1.4;
}

@media (max-width:520px){
  .rsp-chat-root{right:14px;bottom:14px}
  .rsp-chat-panel{
    position:fixed;inset:auto 0 0 0;width:100%;height:min(92svh,720px);
    bottom:0;right:0;border-left:0;border-right:0;border-bottom:0;
  }
  .rsp-chat-fab{width:58px;height:58px}
}

@media (prefers-reduced-motion:reduce){
  .rsp-chat-pulse,.rsp-msg,.rsp-typing i{animation:none}
  .rsp-chat-panel,.rsp-chat-fab,.rsp-chip{transition:none}
}
