/* hikoIA: asistente de chat (botón flotante + panel). Usa las variables de site.css. */
.hk-fab{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;align-items:center;gap:10px;border:0;cursor:pointer;
  padding:14px 20px 14px 16px;border-radius:var(--r-pill);background:var(--lime);color:var(--on-lime);
  font:600 15px 'Hanken Grotesk',sans-serif;box-shadow:0 14px 34px -12px rgba(3,6,16,.7),inset 0 1px 0 rgba(255,255,255,.45);
  transition:transform .3s var(--e),background .2s;}
.hk-fab:hover{background:#c7ff4d;transform:translateY(-2px);}
.hk-fab svg{flex:none;}
.hk-open .hk-fab{opacity:0;pointer-events:none;transform:scale(.9);}

.hk-panel{position:fixed;right:20px;bottom:20px;z-index:61;width:min(400px,calc(100vw - 24px));height:min(640px,calc(100dvh - 40px));
  display:flex;flex-direction:column;overflow:hidden;border-radius:24px;background:var(--panel-solid);border:1px solid var(--hair-2);
  box-shadow:0 30px 80px -20px rgba(0,0,0,.75);color:var(--ink);font-family:'Hanken Grotesk',sans-serif;
  opacity:0;visibility:hidden;transform:translateY(16px) scale(.98);transform-origin:bottom right;
  transition:opacity .28s var(--e),transform .28s var(--e),visibility .28s;}
.hk-open .hk-panel{opacity:1;visibility:visible;transform:none;}

.hk-head{display:flex;align-items:center;gap:12px;padding:16px 16px 14px 18px;border-bottom:1px solid var(--hair);
  background:linear-gradient(135deg,rgba(0,200,255,.14),rgba(186,255,41,.08));}
.hk-head .hk-av{width:36px;height:36px;border-radius:50%;background:var(--bg);display:grid;place-items:center;flex:none;border:1px solid var(--hair-2);}
.hk-head b{display:block;font:700 15px var(--display);}
.hk-head small{display:flex;align-items:center;gap:6px;color:var(--ink-mut);font-size:12px;}
.hk-head small i{width:7px;height:7px;border-radius:50%;background:var(--lime);}
.hk-x{margin-left:auto;border:0;background:transparent;color:var(--ink-soft);cursor:pointer;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;}
.hk-x:hover{background:var(--hair);}

.hk-msgs{flex:1;min-height:0;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;overscroll-behavior:contain;}
.hk-m{max-width:86%;padding:10px 14px;border-radius:18px;font-size:14.5px;line-height:1.5;white-space:pre-wrap;word-wrap:break-word;}
.hk-m.bot{align-self:flex-start;background:rgba(255,255,255,.07);border:1px solid var(--hair);border-bottom-left-radius:6px;}
.hk-m.me{align-self:flex-end;background:var(--lime);color:var(--on-lime);border-bottom-right-radius:6px;font-weight:500;}
.hk-m.typing{display:flex;gap:4px;padding:14px;}
.hk-m.typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-mut);animation:hk-b 1.1s infinite ease-in-out;}
.hk-m.typing i:nth-child(2){animation-delay:.15s}.hk-m.typing i:nth-child(3){animation-delay:.3s}
@keyframes hk-b{0%,80%,100%{opacity:.3;transform:none}40%{opacity:1;transform:translateY(-3px)}}

.hk-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px;}
.hk-chips button{border:1px solid var(--hair-2);background:transparent;color:var(--ink);border-radius:var(--r-pill);padding:8px 14px;
  font:500 13px 'Hanken Grotesk',sans-serif;cursor:pointer;transition:background .2s,border-color .2s;}
.hk-chips button:hover{background:var(--hair);border-color:var(--blue);}
.hk-chips button.adv{border-color:var(--lime);color:var(--lime);}

.hk-form{align-self:stretch;display:flex;flex-direction:column;gap:8px;padding:14px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid var(--lime);}
.hk-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-mut);}
.hk-form input,.hk-form textarea,.hk-form select{font:400 14px 'Hanken Grotesk',sans-serif;color:var(--ink);background:var(--bg);border:1px solid var(--hair-2);border-radius:12px;padding:10px 12px;width:100%;resize:none;}
.hk-form input:focus,.hk-form textarea:focus,.hk-form select:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:transparent;}
.hk-form .hk-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.hk-form button{border:0;border-radius:var(--r-pill);padding:12px;background:var(--lime);color:var(--on-lime);font:700 14px 'Hanken Grotesk',sans-serif;cursor:pointer;}
.hk-form button:disabled{opacity:.6;cursor:wait;}
.hk-form .hk-err{color:#ff9d9d;font-size:12.5px;margin:0;}
.hk-form .hk-legal{margin:0;font-size:11.5px;color:var(--ink-mut);}

.hk-in{display:flex;gap:8px;padding:12px;border-top:1px solid var(--hair);}
.hk-in input{flex:1;min-width:0;font:400 15px 'Hanken Grotesk',sans-serif;color:var(--ink);background:var(--bg);border:1px solid var(--hair-2);border-radius:var(--r-pill);padding:12px 16px;}
.hk-in input:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:transparent;}
.hk-in button{flex:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--lime);color:var(--on-lime);cursor:pointer;display:grid;place-items:center;}
.hk-in button:disabled{opacity:.5;cursor:default;}

@media (max-width:520px){
  .hk-fab{right:14px;bottom:14px;}
  .hk-panel{right:0;bottom:0;width:100vw;height:min(88dvh,100dvh);border-radius:24px 24px 0 0;}
}
@media (prefers-reduced-motion:reduce){
  .hk-panel,.hk-fab{transition:none}.hk-m.typing i{animation:none}.hk-msgs{scroll-behavior:auto}
}
