/* Solvi · asistente virtual de SOLVEXA · widget */
.solvi{
  --s-marca:#1F4E79; --s-acento:#2E75B6; --s-sobre:#fff; --s-fondo:#fff; --s-fondo-2:#F1F5FA; --s-texto:#0F1B27; --s-texto-2:#4B5B6C; --s-linea:#D8E0EA;
  --s-lobo:#E10600; --s-lobo-2:#1a1a1a; --s-radio:14px; --s-burbuja:12px;
  --s-sombra:0 6px 24px rgba(15,27,39,.18), 0 1px 3px rgba(15,27,39,.12);
  position:fixed; left:18px; bottom:18px; z-index:2147483000; font-family:"Work Sans","Outfit",ui-sans-serif,system-ui,"Segoe UI",sans-serif; font-size:15px; line-height:1.45; color:var(--s-texto);
  -webkit-font-smoothing:antialiased;
}
.solvi-digital{ --s-marca:#E10600; --s-acento:#111111; --s-fondo-2:#F4F4F4; --s-linea:#E3E3E3; --s-texto:#111; --s-texto-2:#555; --s-radio:10px; }
.solvi *,.solvi *::before,.solvi *::after{box-sizing:border-box}
.solvi button{font:inherit}
.solvi [hidden]{display:none !important}

/* botón flotante */
.solvi-launch{position:relative;width:84px;height:84px;border-radius:50%;border:0;padding:0;cursor:pointer;background:#fff;box-shadow:var(--s-sombra), 0 0 0 3px var(--s-lobo);display:grid;place-items:center;transition:transform .2s}
.solvi-launch:hover{transform:scale(1.06)}
.solvi-launch .solvi-av{width:80px;height:80px;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 50% 30%,#ffffff,#e9edf3 75%);display:grid;place-items:center}
.solvi .solvi-av img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;border-radius:50%;margin:0;padding:0;border:0}
.solvi-launch .solvi-av img{animation:solvi-idle 3.2s ease-in-out infinite;transform-origin:50% 100%}
.solvi.is-thinking .solvi-launch .solvi-av img,.solvi.is-thinking .solvi-av-head img{animation:solvi-think .7s ease-in-out infinite}
.solvi.is-teasing .solvi-launch{animation:solvi-wiggle 1.2s ease-in-out 1}
.solvi-dot{position:absolute;right:4px;top:4px;width:16px;height:16px;border-radius:50%;background:#2ecc71;border:2px solid #fff}
.solvi.is-open .solvi-launch{display:none}
@keyframes solvi-idle{0%,100%{transform:scale(1) rotate(0)}30%{transform:scale(1.04) rotate(-3deg)}60%{transform:scale(1.02) rotate(2deg)}}
@keyframes solvi-think{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg) scale(1.05)}}
@keyframes solvi-wiggle{0%,100%{transform:rotate(0)}20%{transform:rotate(-8deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(5deg)}}
@keyframes solvi-pop{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.solvi *{animation:none !important;transition:none !important}}

/* burbuja de invitación */
.solvi-tease{position:absolute;left:96px;bottom:18px;max-width:260px;background:var(--s-fondo);color:var(--s-texto);border:1px solid var(--s-linea);border-radius:var(--s-radio);box-shadow:var(--s-sombra);padding:10px 30px 10px 14px;white-space:normal;line-height:1.35;animation:solvi-pop .35s ease-out;cursor:pointer;width:max-content}
.solvi-tease::after{content:"";position:absolute;left:-7px;bottom:22px;width:12px;height:12px;background:var(--s-fondo);border-left:1px solid var(--s-linea);border-bottom:1px solid var(--s-linea);transform:rotate(45deg)}
.solvi-tease button{position:absolute;right:6px;top:4px;border:0;background:none;color:var(--s-texto-2);font-size:18px;cursor:pointer;line-height:1}

/* panel */
.solvi-panel{position:absolute;left:0;bottom:0;width:380px;max-width:calc(100vw - 36px);height:600px;max-height:calc(100vh - 36px);max-height:calc(100dvh - 36px);background:var(--s-fondo);border-radius:var(--s-radio);box-shadow:0 18px 50px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden;animation:solvi-pop .25s ease-out}
.solvi-head{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--s-marca);color:var(--s-sobre)}
.solvi-digital .solvi-head{background:linear-gradient(100deg,#111 0%,#1c1c1c 60%,var(--s-lobo) 160%)}
.solvi-av-head{width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px var(--s-lobo);overflow:hidden;display:grid;place-items:center;flex:none}
.solvi-av-head img{animation:solvi-idle 3.2s ease-in-out infinite;transform-origin:50% 100%}
.solvi-who{min-width:0;flex:1}
.solvi-who b{display:block;font-size:17px;line-height:1.1;font-family:"Outfit",inherit}
.solvi-who span{display:block;font-size:12.5px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.solvi-close{border:0;background:rgba(255,255,255,.14);color:#fff;width:34px;height:34px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}
.solvi-close:hover{background:rgba(255,255,255,.28)}

.solvi-msgs{flex:1;overflow-y:auto;padding:16px 14px 8px;background:var(--s-fondo-2);display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.solvi-m{display:flex;gap:8px;align-items:flex-end;max-width:92%;animation:solvi-pop .2s ease-out}
.solvi-user{align-self:flex-end;flex-direction:row-reverse}
.solvi-av-m{width:30px;height:30px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px var(--s-lobo);overflow:hidden;display:grid;place-items:center;flex:none}

.solvi-b{background:var(--s-fondo);border:1px solid var(--s-linea);border-radius:var(--s-burbuja);border-bottom-left-radius:4px;padding:10px 13px;box-shadow:0 1px 2px rgba(0,0,0,.05);font-size:15px;overflow-wrap:anywhere}
.solvi-user .solvi-b{background:var(--s-marca);color:var(--s-sobre);border-color:transparent;border-bottom-left-radius:var(--s-burbuja);border-bottom-right-radius:4px}
.solvi-b p{margin:0}.solvi-b p+p{margin-top:8px}
.solvi-b a{color:var(--s-acento);text-decoration:underline}.solvi-user .solvi-b a{color:#fff}
.solvi-digital .solvi-b a{color:var(--s-lobo)}
.solvi-typing .solvi-b{display:flex;gap:5px;padding:12px 14px}
.solvi-typing span{width:7px;height:7px;border-radius:50%;background:var(--s-texto-2);opacity:.5;animation:solvi-dots 1.1s infinite}
.solvi-typing span:nth-child(2){animation-delay:.18s}.solvi-typing span:nth-child(3){animation-delay:.36s}
@keyframes solvi-dots{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}

/* acciones y atajos */
.solvi-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.solvi-act{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:999px;padding:8px 14px;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none !important;background:var(--s-marca);color:var(--s-sobre) !important;line-height:1.2}
.solvi-act:hover{filter:brightness(1.08)}
.solvi-act-whatsapp{background:#25D366;color:#fff !important}
.solvi-act-comparador{background:var(--s-acento);color:#fff !important}
.solvi-digital .solvi-act-comparador,.solvi-digital .solvi-act{background:var(--s-lobo)}
.solvi-digital .solvi-act-whatsapp{background:#25D366}
.solvi-chips{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 8px;background:var(--s-fondo-2)}
.solvi-chips:empty{display:none}
.solvi-chip{border:1px solid var(--s-marca);background:var(--s-fondo);color:var(--s-marca);border-radius:999px;padding:7px 12px;font-size:13.5px;font-weight:500;cursor:pointer}
.solvi-chip:hover{background:var(--s-marca);color:var(--s-sobre)}

/* entrada */
.solvi-form{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--s-linea);background:var(--s-fondo)}
.solvi-in{flex:1;min-width:0;border:1px solid var(--s-linea);border-radius:999px;padding:10px 14px;font:inherit;font-size:15px;color:var(--s-texto);background:var(--s-fondo);outline:none}
.solvi-in:focus{border-color:var(--s-marca);box-shadow:0 0 0 3px color-mix(in srgb,var(--s-marca) 18%,transparent)}
.solvi-send{width:42px;height:42px;border-radius:50%;border:0;background:var(--s-marca);color:var(--s-sobre);display:grid;place-items:center;cursor:pointer;flex:none}
.solvi-foot{font-size:11.5px;color:var(--s-texto-2);padding:6px 14px 10px;background:var(--s-fondo);text-align:center}
.solvi-foot a{color:inherit}

/* formulario que me llamen */
.solvi-lead{display:grid;gap:8px;min-width:230px}
.solvi-lead b{font-size:15px}
.solvi-lead label{display:grid;gap:3px;font-size:13px;color:var(--s-texto-2)}
.solvi-lead input:not([type=checkbox]),.solvi-lead select{width:100%;border:1px solid var(--s-linea);border-radius:8px;padding:8px 10px;font:inherit;font-size:15px;color:var(--s-texto);background:var(--s-fondo)}
.solvi-consent{display:flex !important;gap:8px;align-items:flex-start;font-size:12.5px !important}
.solvi-consent input{margin-top:3px;accent-color:var(--s-marca)}
.solvi-lead .solvi-act{justify-content:center}
.solvi-err{margin:0;color:#B03636;font-size:13px}

/* móvil: pantalla completa */
@media (max-width:520px){
  .solvi{left:12px;bottom:12px}
  .solvi-launch{width:66px;height:66px}.solvi-launch .solvi-av{width:62px;height:62px}
  .solvi-panel{position:fixed;inset:0;width:auto;max-width:none;height:auto;max-height:none;border-radius:0}
  .solvi-tease{left:0;bottom:76px;max-width:min(250px,calc(100vw - 120px))}
  .solvi-tease::after{left:26px;bottom:-7px;border-left:0;border-bottom:1px solid var(--s-linea);border-right:1px solid var(--s-linea)}
}

/* solvexa.es tiene ya un botón flotante de WhatsApp abajo a la derecha: Solvi va encima */
/* Solvi va a la izquierda en las dos webs; el botón de WhatsApp de cada web queda libre a la derecha */
