/* ============================================================
   E-ELEKCOMMERCE — Widget del Agente de IA (chat flotante)
   Aparece abajo a la derecha en las páginas públicas.
   ============================================================ */
.agente{position:fixed;right:clamp(14px,2.4vw,26px);bottom:clamp(14px,2.4vw,26px);z-index:90;font-family:var(--fuente)}
.agente *{box-sizing:border-box}

/* ---------- Lanzador ---------- */
.agente__launcher{position:relative;width:58px;height:58px;border-radius:50%;border:0;
  background:var(--naranja);color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 16px 30px -12px rgba(219,76,2,.75);cursor:pointer;
  transition:transform var(--transicion),background var(--transicion)}
.agente__launcher:hover{background:var(--naranja-osc);transform:translateY(-2px)}
.agente__launcher svg{width:26px;height:26px}
.agente__launcher-x{position:absolute;inset:0;display:none;align-items:center;justify-content:center}
.agente__launcher-x svg{width:24px;height:24px}
.agente.is-abierto .agente__launcher-ico{display:none}
.agente.is-abierto .agente__launcher-x{display:flex}

/* ---------- Panel ---------- */
.agente__panel{position:absolute;right:0;bottom:74px;width:min(370px,calc(100vw - 28px));
  max-height:min(620px,72vh);display:flex;flex-direction:column;background:#fff;color:var(--tinta);
  border:1px solid var(--linea);border-radius:12px;overflow:hidden;
  box-shadow:0 30px 60px -22px rgba(5,16,32,.45);
  opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:bottom right;
  transition:opacity .2s ease,transform .2s ease,visibility .2s}
.agente.is-abierto .agente__panel{opacity:1;visibility:visible;transform:none}

/* ---------- Cabecera ---------- */
.agente__head{display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem;
  background:linear-gradient(135deg,var(--azul-800),var(--azul-950));color:#fff}
.agente__avatar{width:38px;height:38px;flex:none;border-radius:50%;background:var(--naranja);
  display:flex;align-items:center;justify-content:center;color:#fff}
.agente__avatar svg{width:20px;height:20px}
.agente__head-txt{flex:1;min-width:0;line-height:1.25}
.agente__head-txt strong{display:block;font-size:.98rem;color:#fff}
.agente__head-txt small{color:rgba(255,255,255,.72);font-size:.78rem}
.agente__cerrar{background:transparent;border:0;color:rgba(255,255,255,.8);cursor:pointer;
  display:inline-flex;padding:.25rem;border-radius:4px}
.agente__cerrar:hover{color:#fff;background:rgba(255,255,255,.12)}
.agente__cerrar svg{width:18px;height:18px}

/* ---------- Conversación ---------- */
.agente__log{flex:1;overflow-y:auto;overflow-x:hidden;padding:1rem;display:flex;flex-direction:column;gap:.6rem;background:var(--papel);min-width:0}
.agente__msg{max-width:85%;padding:.65rem .9rem;border-radius:12px;font-size:.94rem;line-height:1.5;
  word-wrap:break-word;overflow-wrap:anywhere}
.agente__msg--bot{align-self:flex-start;background:#fff;border:1px solid var(--linea);border-bottom-left-radius:4px}
.agente__msg--user{align-self:flex-end;background:var(--naranja);color:#fff;border-bottom-right-radius:4px;white-space:pre-wrap}
.agente__msg--error{align-self:flex-start;background:#FDECEA;color:#A93226;border:1px solid #E6B0AA;font-size:.88rem;white-space:pre-wrap}
.agente__msg--pensando{display:flex;gap:5px;align-items:center;color:var(--cuerpo)}
.agente__ptxt{font-size:.9rem}
.agente__dot{width:7px;height:7px;border-radius:50%;background:var(--cuerpo);opacity:.5;animation:agentePulso 1s infinite}
.agente__dot:nth-child(2){animation-delay:0s}
.agente__dot:nth-child(3){animation-delay:.15s}
.agente__dot:nth-child(4){animation-delay:.3s}
@keyframes agentePulso{0%,80%,100%{transform:scale(.7);opacity:.35}40%{transform:scale(1);opacity:.9}}

/* ---------- Contenido enriquecido de las respuestas ---------- */
.agente__msg--bot p{margin:0 0 .6em}
.agente__msg--bot p:last-child{margin-bottom:0}
.agente__msg--bot ul,.agente__msg--bot ol{margin:.25em 0 .7em;padding:0 0 0 1.25em}
.agente__msg--bot ul{list-style:disc}
.agente__msg--bot ol{list-style:decimal}
.agente__msg--bot li{margin:0 0 .25em}
.agente__msg--bot li::marker{color:var(--naranja)}
.agente__msg--bot strong{font-weight:700}
.agente__msg--bot em{font-style:italic}
.agente__msg--bot .agente__h{margin:.7em 0 .35em;font-size:1rem;line-height:1.25;color:var(--tinta)}
.agente__msg--bot code{font-family:Consolas,Menlo,monospace;font-size:.88em;
  background:var(--naranja-suave);color:var(--naranja-osc);padding:.1em .4em;border-radius:4px}
.agente__msg--bot a{color:var(--naranja);text-decoration:underline}

/* ---------- Botones de contacto (Luis Castro Lombardi) ---------- */
.agente__msg--bot .agente__cta{display:flex;flex-direction:column;gap:.55rem;margin:.8rem 0 .15rem;max-width:100%}
.agente .agente__cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  padding:.8em 1em;min-height:46px;border-radius:8px;font-weight:600;font-size:.92rem;line-height:1.2;
  text-decoration:none;border:1px solid transparent;color:#fff;text-align:center;
  transition:background-color var(--transicion),transform var(--transicion),box-shadow var(--transicion)}
.agente .agente__cta-btn svg{width:20px;height:20px;flex:none}
.agente .agente__cta-btn--tel{background:var(--naranja);color:#fff}
.agente .agente__cta-btn--tel:hover{background:var(--naranja-osc);color:#fff;box-shadow:0 10px 22px -14px rgba(219,76,2,.75)}
.agente .agente__cta-btn--wa{background:#25D366;color:#fff}
.agente .agente__cta-btn--wa:hover{background:#1DA851;color:#fff;box-shadow:0 10px 22px -14px rgba(37,211,102,.8)}
.agente .agente__cta-btn:active{transform:scale(.985)}
.agente .agente__cta-btn:focus-visible{outline:3px solid var(--naranja);outline-offset:2px}
.agente__msg--bot .agente__cta-btn{text-decoration:none}
@media (max-width:360px){.agente .agente__cta-btn{font-size:.86rem;padding:.75em .8em}}

/* ---------- Formulario ---------- */
.agente__form{display:flex;align-items:flex-end;gap:.5rem;padding:.7rem;border-top:1px solid var(--linea);background:#fff}
.agente__form textarea{flex:1;resize:none;border:1px solid var(--linea);border-radius:8px;
  padding:.55rem .7rem;font-family:inherit;font-size:.94rem;line-height:1.4;max-height:120px;color:var(--tinta);background:#fff}
.agente__form textarea:focus{outline:none;border-color:var(--naranja);box-shadow:0 0 0 3px rgba(219,76,2,.15)}
.agente__enviar{flex:none;width:42px;height:42px;border-radius:8px;border:0;background:var(--naranja);
  color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transicion)}
.agente__enviar:hover{background:var(--naranja-osc)}
.agente__enviar:disabled{opacity:.5;cursor:not-allowed}
.agente__enviar svg{width:20px;height:20px}
.agente__pie{margin:0;padding:.5rem .8rem .7rem;font-size:.72rem;color:var(--cuerpo);text-align:center;background:#fff}

/* ---------- Ajustes ---------- */
@media (max-width:520px){
  .agente__panel{bottom:70px;width:calc(100vw - 20px);max-height:76vh}
}
@media (prefers-reduced-motion:reduce){
  .agente__panel,.agente__launcher{transition:none}
  .agente__dot{animation:none}
}
@media print{.agente{display:none!important}}
