/* ==========================================================================
   Assistente Kaptar — widget de chat (offline, motor de regras)
   Estética "2050": botão flutuante premium (avatar do robô, glow suave, sem
   anéis duros), painel claro/friendly, detalhes cuidados. Ícones SVG.
   Os DOIS botões flutuantes (assistente + WhatsApp) são arrastáveis via JS.
   ========================================================================== */

/* ---- Botão flutuante redondo (FAB) — premium, arrastável ---- */
.kap-fab{position:fixed;right:24px;bottom:24px;z-index:101;width:66px;height:66px;border-radius:50%;
  border:none;padding:0;cursor:pointer;background:#0c1222;touch-action:none;-webkit-tap-highlight-color:transparent;
  box-shadow:0 14px 32px -8px rgba(37,99,235,.6),0 4px 12px rgba(0,0,0,.42),inset 0 0 0 1.5px rgba(255,255,255,.14);
  transition:box-shadow .25s ease,transform .2s ease;animation:kap-float 4.6s ease-in-out infinite}
.kap-fab img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;pointer-events:none}
.kap-fab .kap-on{position:absolute;right:3px;top:4px;width:14px;height:14px;border-radius:50%;background:#22e06a;
  border:3px solid #0c1222;box-shadow:0 0 8px rgba(34,224,106,.85)}
.kap-fab::after{content:attr(data-tip);position:absolute;right:80px;top:50%;transform:translateY(-50%);
  background:rgba(12,18,34,.95);color:#eaf1ff;font:600 .8rem 'Inter',system-ui,sans-serif;white-space:nowrap;
  padding:9px 13px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .2s;
  box-shadow:0 10px 26px rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.08)}
.kap-fab:hover{transform:translateY(-2px) scale(1.04);
  box-shadow:0 20px 44px -8px rgba(37,99,235,.85),0 4px 12px rgba(0,0,0,.45),inset 0 0 0 1.5px rgba(255,255,255,.22)}
.kap-fab:hover::after{opacity:1}
.kap-fab.kap-drag{cursor:grabbing;animation:none;transition:none}
.kap-fab.kap-drag::after{opacity:0}
.kap-fab:focus-visible{outline:3px solid rgba(96,165,250,.75);outline-offset:3px}
.kap-fab[hidden]{display:none}
@keyframes kap-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* estado de arrasto para o botão do WhatsApp (definido no site) */
.wa-float{touch-action:none}
.wa-float.kap-drag{cursor:grabbing !important}

/* ---- Painel ---- */
.kap-panel{position:fixed;right:24px;bottom:100px;z-index:102;width:376px;max-width:calc(100vw - 28px);
  height:568px;max-height:calc(100dvh - 44px);display:flex;flex-direction:column;overflow:hidden;
  background:#ffffff;border-radius:22px;box-shadow:0 30px 80px -14px rgba(15,23,42,.42),0 0 0 1px rgba(15,23,42,.04);
  font-family:'Inter',system-ui,sans-serif;animation:kap-in .3s cubic-bezier(.2,.8,.2,1)}
.kap-panel[hidden]{display:none}
@keyframes kap-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}

.kap-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px;flex:0 0 auto;
  background:linear-gradient(135deg,#4f83ff,#2563eb);color:#fff;position:relative;overflow:hidden}
.kap-head::after{content:"";position:absolute;inset:0;background:radial-gradient(120px 80px at 85% -20%,rgba(255,255,255,.25),transparent 70%);pointer-events:none}
.kap-id{display:flex;align-items:center;gap:11px;min-width:0;position:relative}
.kap-id img{width:44px;height:44px;border-radius:50%;background:#0c1222;flex:0 0 auto;box-shadow:0 0 0 2px rgba(255,255,255,.45),0 3px 8px rgba(0,0,0,.25)}
.kap-id b{font-size:1.02rem;color:#fff;display:block;line-height:1.2}
.kap-sub{font:600 .72rem 'Inter',system-ui,sans-serif;color:rgba(255,255,255,.92);display:flex;align-items:center;gap:6px;margin-top:2px}
.kap-dot{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.7);animation:kap-glow 2.2s infinite}
@keyframes kap-glow{0%{box-shadow:0 0 0 0 rgba(74,222,128,.6)}70%{box-shadow:0 0 0 6px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
.kap-x{background:rgba(255,255,255,.18);border:none;color:#fff;cursor:pointer;padding:7px;border-radius:10px;display:flex;line-height:0;position:relative;transition:background .15s}
.kap-x:hover{background:rgba(255,255,255,.32)}
.kap-x:focus-visible{outline:2px solid #fff;outline-offset:1px}

.kap-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;
  background:#f5f8fd;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}
.kap-body::-webkit-scrollbar{width:8px}
.kap-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:8px}

.kap-m{max-width:85%;padding:11px 14px;border-radius:16px;font-size:.92rem;line-height:1.5;animation:kap-msg .3s ease;word-wrap:break-word}
@keyframes kap-msg{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.kap-m.bot{align-self:flex-start;background:#fff;color:#334155;border:1px solid #e6ecf5;border-bottom-left-radius:5px;box-shadow:0 1px 2px rgba(15,23,42,.05)}
.kap-m.user{align-self:flex-end;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-bottom-right-radius:5px;box-shadow:0 3px 10px -2px rgba(37,99,235,.4)}
.kap-m.bot b{color:#1e293b;font-weight:700}
.kap-m a{color:#2563eb;font-weight:600;text-decoration:underline}
.kap-m.user a{color:#fff}
.kap-m span[style]{color:#94a3b8}

.kap-typing{align-self:flex-start;display:inline-flex;gap:5px;padding:13px 15px;background:#fff;border:1px solid #e6ecf5;border-radius:16px;border-bottom-left-radius:5px}
.kap-typing i{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:kap-blink 1.2s infinite both}
.kap-typing i:nth-child(2){animation-delay:.2s}.kap-typing i:nth-child(3){animation-delay:.4s}
@keyframes kap-blink{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}

/* chips: faixa própria, compactos, com scroll — nunca tapam a conversa */
.kap-chips{display:flex;flex-wrap:wrap;gap:7px;padding:9px 12px;background:#f5f8fd;border-top:1px solid #e9eef6;
  flex:0 0 auto;max-height:124px;overflow-y:auto}
.kap-chips:empty{display:none}
.kap-chip{max-width:100%;border:1px solid #bcd3f7;background:#fff;color:#2563eb;font:600 .8rem 'Inter',system-ui,sans-serif;
  padding:7px 12px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s,border-color .15s;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kap-chip:hover{background:#2563eb;color:#fff;border-color:#2563eb}
.kap-chip:focus-visible{outline:2px solid #3b82f6;outline-offset:1px}

.kap-input{display:flex;gap:8px;padding:11px 12px;border-top:1px solid #e9eef6;background:#fff;flex:0 0 auto}
.kap-input input{flex:1;min-width:0;background:#f1f5fb;border:1px solid #dbe4f0;border-radius:12px;padding:12px 14px;color:#1e293b;font-size:.92rem;outline:none;font-family:inherit}
.kap-input input::placeholder{color:#94a3b8}
.kap-input input:focus{border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px rgba(59,130,246,.12)}
.kap-input button{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;width:48px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;line-height:0;transition:filter .15s}
.kap-input button:hover{filter:brightness(1.08)}
.kap-input button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}

.kap-foot{text-align:center;font-size:.68rem;color:#94a3b8;padding:8px;background:#fff;flex:0 0 auto}
.kap-foot a{color:#64748b;text-decoration:underline}
.kap-foot a:hover{color:#2563eb}

@media (max-width:480px){
  .kap-panel{right:12px !important;left:12px !important;top:auto !important;width:auto;bottom:12px !important;height:calc(100dvh - 96px)}
  .kap-fab{width:60px;height:60px}
  .kap-fab::after{display:none}
}
@media (prefers-reduced-motion:reduce){
  .kap-fab,.kap-panel,.kap-m{animation:none}
  .kap-dot,.kap-typing i{animation:none}
}
