/* Burbuja del asistente de ventas: WhatsApp premium con la estética de okusbot (cristal, lila, Okus con los ojos encendidos) */
.okv{--okv-bg:#0b0d12;--okv-panel:rgba(18,18,26,.82);--okv-line:rgba(255,255,255,.12);--okv-txt:#f4f3f8;--okv-mute:#9a98a8;
  --okv-yo:linear-gradient(160deg,rgba(200,192,255,.95),rgba(170,156,255,.85));--okv-el:rgba(255,255,255,.08);--okv-acc:#c8c0ff;
  font-family:Outfit,system-ui,sans-serif;color:var(--okv-txt)}
.okv-boton{position:fixed;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:60;
  width:68px;height:68px;border-radius:50%;border:1px solid rgba(255,255,255,.22);padding:0;cursor:pointer;
  background:radial-gradient(70% 70% at 30% 25%,rgba(255,255,255,.18),rgba(20,20,28,.9));
  box-shadow:0 0 0 6px rgba(200,192,255,.08),0 12px 36px rgba(0,0,0,.5),0 0 40px rgba(139,123,255,.35);
  -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform .3s cubic-bezier(.34,1.3,.64,1)}
.okv-boton:hover{transform:scale(1.06)}
.okv-boton:focus-visible{outline:2px solid var(--okv-acc);outline-offset:4px}
.okv-cara{position:absolute;inset:8px;border-radius:50%;overflow:hidden;display:grid;place-items:center}
.okv-cara img{width:112%;max-width:none;animation:okvFlota 4.6s ease-in-out infinite}
@keyframes okvFlota{0%,100%{transform:translateY(3%) rotate(-2deg)}50%{transform:translateY(-3%) rotate(2deg)}}
.okv-punto{position:absolute;top:4px;right:4px;width:14px;height:14px;border-radius:50%;background:#3ddc84;border:2px solid #0b0d12;box-shadow:0 0 10px #3ddc84}
.okv-tip{position:absolute;right:78px;bottom:14px;white-space:nowrap;padding:9px 14px;border-radius:16px 16px 4px 16px;font-size:14px;color:var(--okv-txt);
  background:var(--okv-panel);border:1px solid var(--okv-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  opacity:0;transform:translateX(8px);transition:.4s cubic-bezier(.22,1,.36,1);pointer-events:none}
.okv.tip .okv-tip{opacity:1;transform:none}
.okv.abierta .okv-tip,.okv.abierta .okv-punto{display:none}

.okv-caja{position:fixed;z-index:61;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(96px + env(safe-area-inset-bottom,0px));
  width:min(390px,calc(100vw - 32px));height:min(620px,calc(100vh - 130px));display:flex;flex-direction:column;overflow:hidden;
  border-radius:28px;background:var(--okv-panel);border:1px solid var(--okv-line);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 30px 80px rgba(0,0,0,.6);-webkit-backdrop-filter:blur(26px) saturate(1.5);backdrop-filter:blur(26px) saturate(1.5);
  animation:okvAbre .38s cubic-bezier(.22,1,.36,1)}
.okv-caja[hidden]{display:none!important}
@keyframes okvAbre{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.okv-cab{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;border-bottom:1px solid var(--okv-line);background:rgba(255,255,255,.04)}
.okv-avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;flex:none;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid var(--okv-line)}
.okv-avatar img{width:115%;max-width:none}
.okv-quien{flex:1;min-width:0}
.okv-quien b{display:block;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.okv-quien small{display:flex;align-items:center;gap:6px;color:var(--okv-mute);font-size:12px}
.okv-led{width:7px;height:7px;border-radius:50%;background:#3ddc84;box-shadow:0 0 8px #3ddc84}
.okv-cerrar{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.06);color:var(--okv-txt);font-size:16px;cursor:pointer}
.okv-aviso{padding:8px 14px;font-size:12px;color:#d9d4ff;background:rgba(139,123,255,.14);border-bottom:1px solid var(--okv-line)}
.okv-aviso[hidden]{display:none}
.okv-msgs{flex:1;overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;gap:8px;
  background:radial-gradient(60% 40% at 90% 0%,rgba(139,123,255,.16),transparent 70%),radial-gradient(50% 35% at 0% 100%,rgba(255,138,76,.1),transparent 70%)}
.okv-b{max-width:84%;padding:9px 12px 6px;border-radius:16px;font-size:14.5px;line-height:1.38;word-wrap:break-word;animation:okvB .35s cubic-bezier(.22,1,.36,1)}
@keyframes okvB{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.okv-b time{display:block;text-align:right;font-size:10.5px;opacity:.6;margin-top:3px}
.okv-el{align-self:flex-start;background:var(--okv-el);border:1px solid var(--okv-line);border-bottom-left-radius:5px}
.okv-yo{align-self:flex-end;background:var(--okv-yo);color:#0b0b0f;border-bottom-right-radius:5px}
.okv-esc{display:flex;align-items:center;gap:4px;padding:10px 12px}
.okv-esc i{width:6px;height:6px;border-radius:50%;background:var(--okv-acc);animation:okvP 1s infinite}
.okv-esc i:nth-child(2){animation-delay:.15s}.okv-esc i:nth-child(3){animation-delay:.3s}
.okv-esc span{margin-left:6px;font-size:12px;color:var(--okv-mute)}
@keyframes okvP{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
.okv-nota{align-self:center;max-width:92%;text-align:center;font-size:12px;color:#d9d4ff;padding:6px 12px;border-radius:12px;background:rgba(139,123,255,.14);border:1px solid rgba(200,192,255,.25)}
.okv-rapidas{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px 10px}
.okv-rapidas:empty{display:none}
.okv-rapidas button{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(200,192,255,.4);background:rgba(200,192,255,.1);color:var(--okv-txt);font:500 13.5px Outfit,system-ui,sans-serif;cursor:pointer}
.okv-rapidas button:hover{background:rgba(200,192,255,.2)}
.okv-f{display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--okv-line);background:rgba(0,0,0,.2)}
.okv-f input{flex:1;min-width:0;height:46px;border-radius:999px;border:1px solid var(--okv-line);background:rgba(255,255,255,.06);color:var(--okv-txt);padding:0 16px;font:15px Outfit,system-ui,sans-serif;outline:none}
.okv-f input:focus{border-color:var(--okv-acc)}
.okv-enviar{width:46px;height:46px;flex:none;border-radius:50%;border:0;background:var(--okv-acc);color:#0b0b0f;display:grid;place-items:center;cursor:pointer}

/* Celular: pantalla completa */
@media (max-width:639px){
  .okv-caja{inset:0;width:auto;height:auto;border-radius:0;border:0;padding-top:env(safe-area-inset-top,0px);background:rgba(10,10,14,.96)}
  .okv.abierta .okv-boton{display:none}
  .okv-tip{display:none}
}
html.okv-lleno,html.okv-lleno body{overflow:hidden}
@media (prefers-reduced-motion:reduce){.okv *{animation:none!important}}
