/* =========================================================
   GLOWINA · CHAT DEL SITIO
   ========================================================= */
.gw{--gw-w:340px;position:fixed;right:18px;bottom:18px;z-index:95;font-family:var(--sans);color:var(--ink)}

/* burbuja flotante con la cara de Glowina */
.gw-lanzar{position:relative;width:56px;height:56px;border:none;padding:0;border-radius:50%;cursor:pointer;background:#fff;
  box-shadow:0 0 0 3px #fff,0 0 0 5px rgba(156,203,225,.55),0 14px 34px -10px rgba(43,108,139,.55);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);animation:gw-flota 5s ease-in-out infinite}
.gw-lanzar img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.gw-lanzar:hover{transform:scale(1.07) rotate(-4deg)}
.gw-lanzar::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(156,203,225,.7);opacity:0;animation:gw-onda 3.2s ease-out infinite}
.gw-vista .gw-lanzar::after{animation:none}
.gw-punto{position:absolute;top:2px;right:2px;width:13px;height:13px;border-radius:50%;background:#f3a6c0;border:2px solid #fff}
.gw-vista .gw-punto{display:none}
@keyframes gw-flota{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes gw-onda{0%{transform:scale(.9);opacity:.9}100%{transform:scale(1.35);opacity:0}}

/* nube de saludo */
.gw-globo{position:absolute;right:68px;bottom:12px;white-space:nowrap;background:#fff;color:var(--ink);font-size:.86rem;font-weight:400;
  padding:.55rem .95rem;border-radius:16px 16px 4px 16px;box-shadow:var(--sombra-2);cursor:pointer;
  opacity:0;transform:translateX(10px) scale(.92);transform-origin:right bottom;pointer-events:none;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.gw-saluda .gw-globo{opacity:1;transform:none;pointer-events:auto}
.gw-abierta .gw-globo,.gw-vista .gw-globo{display:none}

/* panel */
.gw-panel{position:fixed;right:18px;bottom:18px;width:var(--gw-w);height:min(520px,calc(100dvh - 36px));display:flex;flex-direction:column;
  background:linear-gradient(180deg,#fbfeff 0%,#f4f9fc 100%);
  border:1px solid rgba(255,255,255,.8);border-radius:26px;box-shadow:0 40px 90px -30px rgba(22,50,70,.45),0 0 0 1px var(--line-2);overflow:hidden;
  opacity:0;transform:translateY(18px) scale(.96);transform-origin:right bottom;transition:opacity .32s var(--ease),transform .4s var(--ease)}
.gw-abierta .gw-panel{opacity:1;transform:none}
.gw-abierta .gw-lanzar{opacity:0;pointer-events:none;transform:scale(.6)}
.gw-panel[hidden]{display:none}

.gw-cab{display:flex;align-items:center;gap:.65rem;padding:.7rem .75rem .7rem .85rem;color:#fff;
  background:linear-gradient(120deg,#2b6c8b 0%,#4f97b8 55%,#c98fb0 130%)}
.gw-cab img{width:38px;height:38px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.gw-cab div{flex:1;min-width:0;line-height:1.25}
.gw-cab b{display:block;font-family:var(--script);font-weight:400;font-size:1.5rem;line-height:1}
.gw-cab small{display:block;font-size:.72rem;opacity:.85;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gw-ic{width:32px;height:32px;border:none;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .25s}
.gw-ic:hover{background:rgba(255,255,255,.3)}
.gw-ic svg,.gw-enviar svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.gw-lista{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:.9rem .85rem .4rem;display:flex;flex-direction:column;gap:.6rem;scroll-behavior:smooth}
.gw-msg{max-width:88%;padding:.55rem .8rem;border-radius:16px;font-size:.86rem;line-height:1.55;word-wrap:break-word;animation:gw-entra .35s var(--ease) both}
.gw-msg b{font-weight:500}
.gw-msg a{text-decoration:underline;text-underline-offset:2px}
.gw-ella{align-self:flex-start;background:#fff;border:1px solid var(--line-2);border-top-left-radius:6px;box-shadow:0 6px 18px -12px rgba(22,50,70,.25)}
.gw-yo{align-self:flex-end;background:linear-gradient(135deg,#2b6c8b,#4f97b8);color:#fff;border-top-right-radius:6px}
@keyframes gw-entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

.gw-escribe{display:inline-flex;gap:4px;padding:.25rem 0}
.gw-escribe i{width:7px;height:7px;border-radius:50%;background:var(--blue-mid);animation:gw-salta 1.1s ease-in-out infinite}
.gw-escribe i:nth-child(2){animation-delay:.15s}.gw-escribe i:nth-child(3){animation-delay:.3s}
@keyframes gw-salta{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-5px);opacity:1}}
.gw-cursor{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--blue-mid);animation:gw-parpadea .9s steps(1) infinite}
@keyframes gw-parpadea{50%{opacity:0}}

.gw-wa{display:flex;align-items:center;gap:.55rem;margin-top:.7rem;padding:.6rem .9rem;border-radius:14px;background:var(--wa);color:#fff!important;
  text-decoration:none!important;font-weight:400;font-size:.88rem;box-shadow:0 10px 22px -12px rgba(37,211,102,.9);transition:transform .3s var(--ease),filter .3s}
.gw-wa:hover{transform:translateY(-2px);filter:brightness(1.05)}
.gw-wa svg{width:20px;height:20px;flex:none}

.gw-chips{display:flex;flex-wrap:wrap;gap:.35rem;padding:.2rem .85rem .6rem}
.gw-chips[hidden]{display:none}
.gw-chips button{border:1px solid rgba(43,108,139,.25);background:#fff;color:var(--blue-deep);border-radius:999px;padding:.32rem .7rem;font-size:.74rem;cursor:pointer;
  transition:background .25s,border-color .25s,transform .25s var(--ease)}
.gw-chips button:hover{background:var(--blue-soft);border-color:var(--blue-mid);transform:translateY(-1px)}

.gw-form{display:flex;align-items:flex-end;gap:.5rem;margin:0 .8rem;padding:.45rem .45rem .45rem .9rem;background:#fff;border:1px solid var(--line);border-radius:22px;
  transition:border-color .25s,box-shadow .25s}
.gw-form:focus-within{border-color:var(--blue-mid);box-shadow:0 0 0 4px rgba(156,203,225,.3)}
.gw-form textarea{flex:1;border:none;outline:none;resize:none;background:none;font:inherit;font-size:16px;line-height:1.4;color:var(--ink);padding:.4rem 0;max-height:120px}
.gw-form textarea:focus-visible{outline:none}
.gw-enviar{width:36px;height:36px;flex:none;border:none;border-radius:50%;background:var(--blue-deep);color:#fff;display:grid;place-items:center;cursor:pointer;transition:transform .25s var(--ease),opacity .25s}
.gw-enviar:hover{transform:scale(1.06)}
.gw-enviar:disabled{opacity:.45;cursor:default;transform:none}
.gw-aviso{font-size:.68rem;color:var(--muted);text-align:center;padding:.45rem 1rem .7rem}

@media(max-width:560px){
  .gw{right:14px;bottom:14px}
  .gw-panel{right:0;left:0;bottom:0;width:auto;height:min(72dvh,560px);border-radius:24px 24px 0 0;padding-bottom:env(safe-area-inset-bottom)}
  .gw-globo{display:none}
}
@media(prefers-reduced-motion:reduce){
  .gw-lanzar,.gw-lanzar::after,.gw-msg,.gw-escribe i,.gw-cursor{animation:none}
  .gw-panel,.gw-globo{transition:none}
}
