/* Kiwi, asistente virtual: estilos (usa los tokens :root de la página) */
.kb{--kb-navy:var(--navy,#0E2A47);--kb-navy-2:var(--navy-2,#173F6B);--kb-navy-3:var(--navy-3,#0A1E34);--kb-gold:var(--gold,#E3B05B);--kb-paper:var(--paper,#FBF8F3);--kb-line:var(--line,#E2D8C7);--kb-sky:var(--sky,#DCEAF6);--kb-sky-2:var(--sky-2,#EEF4FA);--kb-sand:var(--sand,#EFE7DA);--kb-ink:var(--ink,#14233A);--kb-muted:var(--muted,#4A586B);--kb-copper:var(--copper,#B8803A);--kb-ease:var(--ease,cubic-bezier(.2,.7,.2,1));--kb-font-body:var(--font-body,system-ui,-apple-system,'Segoe UI',sans-serif);--kb-font-display:var(--font-display,system-ui,sans-serif);font-family:var(--kb-font-body)}
.kb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.kb-launch{position:fixed;right:18px;bottom:18px;z-index:90;display:flex;align-items:center;gap:10px;height:62px;padding:0 22px 0 8px;border:2px solid var(--kb-gold);border-radius:999px;background:var(--kb-navy);color:#fff;font:700 1rem/1 var(--kb-font-body);cursor:pointer;box-shadow:0 20px 40px -16px rgba(10,30,52,.85);transition:transform .2s var(--kb-ease),background .2s}
.kb-launch:hover{transform:translateY(-3px);background:var(--kb-navy-2)}
.kb-launch img{width:44px;height:44px;border-radius:50%;background:#fff;padding:3px}
.kb-open .kb-launch{display:none}

.kb-teaser{position:fixed;right:18px;bottom:92px;z-index:89;max-width:260px;background:#fff;color:var(--kb-ink);border:1px solid var(--kb-line);border-radius:18px 18px 4px 18px;padding:14px 38px 14px 16px;box-shadow:0 24px 50px -24px rgba(14,42,71,.6);cursor:pointer;animation:kbpop .4s var(--kb-ease)}
.kb-teaser[hidden]{display:none}
.kb-teaser p{margin:0;font-size:.95rem;line-height:1.4}
.kb-teaser-x{position:absolute;right:6px;top:4px;width:32px;height:32px;border:0;background:none;font-size:1.3rem;color:var(--kb-muted);cursor:pointer;border-radius:50%}
.kb-teaser-x:hover{background:var(--kb-sand)}

.kb-panel{position:fixed;right:18px;bottom:18px;z-index:120;width:min(392px,100vw - 24px);height:min(640px,100dvh - 36px);display:flex;flex-direction:column;background:var(--kb-paper);border-radius:26px;border:1px solid var(--kb-line);box-shadow:0 40px 90px -30px rgba(10,30,52,.7);overflow:hidden;animation:kbpop .3s var(--kb-ease)}
.kb-panel[hidden]{display:none}
@keyframes kbpop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}

.kb-head{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;background:var(--kb-navy);color:#fff}
.kb-head>img{width:42px;height:42px;border-radius:50%;background:#fff;padding:3px;flex:none}
.kb-head div{flex:1;min-width:0}
.kb-head strong{display:block;font:800 1.1rem/1.1 var(--kb-font-display)}
.kb-head span{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#BFD0E3}
.kb-dot{width:8px;height:8px;border-radius:50%;background:#3DDC84;display:inline-block}
.kb-wa{min-height:40px;padding:0 14px;border-radius:999px;border:1.5px solid rgba(255,255,255,.45);background:transparent;color:#fff;font:700 .85rem var(--kb-font-body);cursor:pointer}
.kb-wa:hover{background:#fff;color:var(--kb-navy)}
.kb-x{width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}
.kb-x:hover{background:rgba(255,255,255,.25)}

.kb-log{flex:1;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;background:
  radial-gradient(500px 220px at 100% 0,var(--kb-sky-2) 0,transparent 70%),var(--kb-paper)}
.kb-m{max-width:86%;padding:11px 15px;border-radius:18px;font-size:.98rem;line-height:1.5;animation:kbpop .25s var(--kb-ease);overflow-wrap:anywhere}
.kb-b{align-self:flex-start;background:#fff;border:1px solid var(--kb-line);border-bottom-left-radius:5px;color:var(--kb-ink)}
.kb-u{align-self:flex-end;background:var(--kb-navy);color:#fff;border-bottom-right-radius:5px}
.kb-b strong{color:var(--kb-navy)}
.kb-typing{display:flex;gap:5px;padding:14px 16px}
.kb-typing i{width:7px;height:7px;border-radius:50%;background:var(--kb-copper);animation:kbdot 1s infinite}
.kb-typing i:nth-child(2){animation-delay:.15s}.kb-typing i:nth-child(3){animation-delay:.3s}
@keyframes kbdot{0%,60%,100%{opacity:.3;transform:none}30%{opacity:1;transform:translateY(-4px)}}
.kb-dl{display:grid;gap:8px;font-weight:700;color:var(--kb-navy);font-size:.92rem}
.kb-dl input{font:inherit;border:1.5px solid var(--kb-line);border-radius:12px;padding:10px 12px;min-height:46px;background:var(--kb-paper)}

.kb-chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 6px}
.kb-chip{min-height:44px;padding:9px 15px;border-radius:999px;border:1.5px solid var(--kb-navy);background:#fff;color:var(--kb-navy);font:700 .9rem/1.2 var(--kb-font-body);cursor:pointer;text-align:left;transition:background .15s,color .15s,transform .15s}
.kb-chip:hover{background:var(--kb-navy);color:#fff;transform:translateY(-1px)}
.kb-chip-p{background:var(--kb-gold);border-color:var(--kb-gold);color:var(--kb-navy-3)}
.kb-chip-p:hover{background:#EDBE70;border-color:#EDBE70;color:var(--kb-navy-3)}

.kb-sug{display:flex;flex-direction:column;gap:6px;padding:8px 12px 0;border-top:1px solid var(--kb-line);background:#fff}
.kb-sug[hidden]{display:none}
.kb-sug button{min-height:42px;text-align:left;padding:8px 14px;border-radius:12px;border:0;background:var(--kb-sky-2);color:var(--kb-navy);font:600 .92rem var(--kb-font-body);cursor:pointer}
.kb-sug button:hover{background:var(--kb-sky)}

.kb-form{display:flex;gap:8px;padding:12px;background:#fff;border-top:1px solid var(--kb-line)}
.kb-sug:not([hidden]) + .kb-form{border-top:0}
.kb-form input{flex:1;min-width:0;border:1.5px solid var(--kb-line);border-radius:999px;padding:0 18px;min-height:50px;font:inherit;background:var(--kb-paper);color:var(--kb-ink)}
.kb-form input:focus{outline:none;border-color:var(--kb-navy);box-shadow:0 0 0 4px rgba(14,42,71,.14)}
.kb-form button{width:50px;height:50px;border-radius:50%;border:0;background:var(--kb-gold);color:var(--kb-navy-3);display:grid;place-items:center;cursor:pointer;flex:none}
.kb-form button:hover{background:#EDBE70}
.kb-foot{margin:0;padding:0 14px 12px;background:#fff;font-size:.74rem;color:var(--kb-muted);text-align:center}

@media (max-width:620px){
  .kb-panel{inset:0;width:100%;height:100dvh;border-radius:0;border:0}
  .kb-launch{right:14px;bottom:14px;height:58px}
  .kb-launch-t{display:none}
  .kb-launch{padding:0 8px}
  .kb-teaser{right:14px;bottom:84px}
}
@media (prefers-reduced-motion:reduce){
  .kb *{animation:none!important;transition:none!important}
}
