/* ChatIA · Leito · v4.1 — Diseño profesional */
:root{
  --g:#25d366;--gd:#075e54;--gm:#128C7E;
  --ub:#dcf8c6;--bg:#ece5dd;
  --r:14px;--sh:0 8px 32px rgba(0,0,0,.28);
}

/* ── Botón flotante ─────────────────────────────────────────────── */
#lc-btn{
  position:fixed;bottom:26px;right:26px;
  width:62px;height:62px;border-radius:50%;border:none;
  background:linear-gradient(135deg,#25d366 0%,#128C7E 100%);
  color:#fff;cursor:pointer;
  box-shadow:0 4px 20px rgba(37,211,102,.55),0 2px 8px rgba(0,0,0,.2);
  z-index:9999;
  display:flex;align-items:center;justify-content:center;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s;
}
#lc-btn:hover{
  transform:scale(1.1);
  box-shadow:0 6px 28px rgba(37,211,102,.7),0 2px 10px rgba(0,0,0,.2);
}
#lc-btn svg{width:28px;height:28px;fill:#fff;transition:opacity .25s,transform .25s}
#lc-btn .lc-ico-x{position:absolute;opacity:0;transform:rotate(-90deg) scale(.7)}
#lc-btn.open .lc-ico-chat{opacity:0;transform:rotate(90deg) scale(.7)}
#lc-btn.open .lc-ico-x{opacity:1;transform:rotate(0) scale(1)}
#lc-btn.open{box-shadow:0 4px 16px rgba(0,0,0,.25)}

/* Badge de notificación */
#lc-badge{
  position:absolute;top:-4px;right:-4px;
  width:20px;height:20px;border-radius:50%;
  background:#ff3b30;color:#fff;
  font-size:11px;font-weight:700;line-height:20px;text-align:center;
  border:2px solid #fff;
  animation:lc-pop .4s cubic-bezier(.34,1.56,.64,1);
  display:block;
}
#lc-btn.open #lc-badge{display:none}
@keyframes lc-pop{0%{transform:scale(0)}80%{transform:scale(1.2)}100%{transform:scale(1)}}

/* Anillo de pulso */
#lc-btn::after{
  content:'';position:absolute;inset:-4px;border-radius:50%;
  border:2px solid rgba(37,211,102,.5);
  animation:lc-ring 2.5s ease-out infinite;
}
#lc-btn.open::after{display:none}
@keyframes lc-ring{
  0%{transform:scale(1);opacity:.7}
  70%{transform:scale(1.35);opacity:0}
  100%{transform:scale(1.35);opacity:0}
}

/* ── Ventana principal ──────────────────────────────────────────── */
#lc-win{
  position:fixed;bottom:102px;right:26px;
  width:370px;max-height:600px;
  display:flex;flex-direction:column;
  border-radius:var(--r);overflow:hidden;
  background:var(--bg);
  box-shadow:var(--sh);
  z-index:9998;
  opacity:0;transform:translateY(24px) scale(.95);
  pointer-events:none;
  transition:opacity .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.34,1.26,.64,1);
}
#lc-win.open{opacity:1;transform:translateY(0) scale(1);pointer-events:all}

/* ── HEADER ─────────────────────────────────────────────────────── */
#lc-hdr{
  background:linear-gradient(135deg,#075e54 0%,#0a7a6a 60%,#128C7E 100%);
  padding:14px 16px;
  display:flex;align-items:center;gap:13px;
  flex-shrink:0;
  box-shadow:0 2px 12px rgba(0,0,0,.25);
}

/* Avatar */
#lc-av{
  position:relative;
  width:50px;height:50px;border-radius:50%;flex-shrink:0;
  background:linear-gradient(135deg,#1a9e6e 0%,#25d366 100%);
  border:2.5px solid rgba(255,255,255,0.35);
  box-shadow:0 2px 10px rgba(0,0,0,.25);
  display:flex;align-items:center;justify-content:center;overflow:visible;
}
#lc-av svg{width:38px;height:38px}
/* Punto online en avatar */
#lc-av-dot{
  position:absolute;bottom:1px;right:1px;
  width:13px;height:13px;border-radius:50%;
  background:#4ade80;
  border:2.5px solid #075e54;
  animation:lc-pulse-dot 2s ease-in-out infinite;
}
@keyframes lc-pulse-dot{
  0%,100%{box-shadow:0 0 0 0 rgba(74,222,128,.6)}
  50%{box-shadow:0 0 0 5px rgba(74,222,128,0)}
}

/* Info del agente */
#lc-hdr-info{flex:1;min-width:0}
#lc-name{
  font-size:18px;font-weight:800;
  color:#ffffff;margin:0;letter-spacing:.4px;
  text-shadow:0 1px 3px rgba(0,0,0,.2);
  line-height:1.2;
}
#lc-role{
  font-size:12px;font-weight:600;
  color:rgba(255,255,255,.75);margin:2px 0 0;
  letter-spacing:.3px;text-transform:uppercase;
  line-height:1;
}

/* Lado derecho del header */
#lc-hdr-right{
  display:flex;flex-direction:column;align-items:flex-end;gap:6px;
  flex-shrink:0;
}
#lc-online{
  display:flex;align-items:center;gap:5px;
  font-size:11px;color:rgba(255,255,255,.85);font-weight:500;
}
#lc-dot{
  width:8px;height:8px;border-radius:50%;background:#4ade80;flex-shrink:0;
  box-shadow:0 0 6px rgba(74,222,128,.8);
  animation:lc-blink 2s ease-in-out infinite;
}
@keyframes lc-blink{0%,100%{opacity:1}50%{opacity:.4}}
#lc-x{
  background:rgba(255,255,255,.15);border:none;
  border-radius:50%;width:28px;height:28px;
  color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;padding:0;
}
#lc-x:hover{background:rgba(255,255,255,.28)}
#lc-x svg{width:16px;height:16px}

/* ── Mensajes ───────────────────────────────────────────────────── */
#lc-msgs{
  flex:1;overflow-y:auto;
  padding:14px 12px;
  display:flex;flex-direction:column;gap:8px;
  background:#ece5dd url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' opacity='.035'%3E%3Cpath d='M40 5 L75 20 L75 60 L40 75 L5 60 L5 20 Z' fill='%23000'/%3E%3C/svg%3E");
}
#lc-msgs::-webkit-scrollbar{width:3px}
#lc-msgs::-webkit-scrollbar-thumb{background:rgba(0,0,0,.18);border-radius:3px}

/* ── Filas de mensajes ──────────────────────────────────────────── */
.lc-row{display:flex;flex-direction:column;max-width:86%}
.lc-row.bot{align-self:flex-start;align-items:flex-start}
.lc-row.user{align-self:flex-end;align-items:flex-end}

/* ── Burbujas ───────────────────────────────────────────────────── */
.lc-bub{
  padding:9px 13px;
  font-size:14px;line-height:1.5;
  word-break:break-word;position:relative;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
.lc-row.bot .lc-bub{
  background:#ffffff;
  border-radius:0 10px 10px 10px;
  box-shadow:0 1px 3px rgba(0,0,0,.12),0 1px 1px rgba(0,0,0,.06);
  color:#111;
}
.lc-row.bot .lc-bub::before{
  content:'';position:absolute;top:0;left:-9px;
  border:9px solid transparent;
  border-right:9px solid #ffffff;
  border-top:0;
}
.lc-row.user .lc-bub{
  background:#dcf8c6;
  border-radius:10px 0 10px 10px;
  box-shadow:0 1px 3px rgba(0,0,0,.1);
  color:#111;
}
.lc-row.user .lc-bub::before{
  content:'';position:absolute;top:0;right:-9px;
  border:9px solid transparent;
  border-left:9px solid #dcf8c6;
  border-top:0;
}
.lc-bub p{margin:0 0 5px}
.lc-bub p:last-child{margin:0}
.lc-bub ul{margin:4px 0;padding-left:16px}
.lc-bub strong{font-weight:700;color:#075e54}

/* ── Timestamp ──────────────────────────────────────────────────── */
.lc-ts{font-size:10.5px;color:rgba(0,0,0,.38);padding:2px 4px;user-select:none}
.lc-ck{color:#53bdeb;font-size:12px;margin-left:2px;letter-spacing:-1px}

/* ── Typing ─────────────────────────────────────────────────────── */
#lc-typing{display:none}
#lc-typing.active{display:flex}
.lc-typing{
  background:#fff;border-radius:0 10px 10px 10px;
  padding:12px 16px;
  display:flex;align-items:center;gap:5px;
  box-shadow:0 1px 3px rgba(0,0,0,.1);
}
.lc-typing span{
  width:9px;height:9px;border-radius:50%;
  background:#25d366;
  animation:lc-bounce 1.2s infinite;
}
.lc-typing span:nth-child(2){animation-delay:.18s}
.lc-typing span:nth-child(3){animation-delay:.36s}
@keyframes lc-bounce{
  0%,80%,100%{transform:translateY(0);opacity:.5}
  40%{transform:translateY(-8px);opacity:1}
}

/* ── Sugerencias rápidas ─────────────────────────────────────────── */
#lc-sugg{
  padding:8px 10px 6px;
  display:flex;flex-wrap:wrap;gap:6px;
  border-top:1px solid rgba(0,0,0,.08);
  background:#f7f7f7;flex-shrink:0;
}
.lc-sq{
  background:#fff;
  border:1.5px solid #d1d5db;
  border-radius:18px;
  padding:5px 12px;font-size:12px;
  cursor:pointer;white-space:nowrap;
  color:#374151;font-weight:500;
  transition:all .18s;
}
.lc-sq:hover{
  background:#dcf8c6;border-color:#25d366;color:#075e54;
  transform:translateY(-1px);
}

/* ── Barra de entrada ───────────────────────────────────────────── */
#lc-bar{
  background:#f0f0f0;
  padding:8px 10px;
  display:flex;align-items:flex-end;gap:8px;
  border-top:1px solid rgba(0,0,0,.1);
  flex-shrink:0;
}
#lc-inp{
  flex:1;border:1.5px solid #e0e0e0;border-radius:22px;
  padding:10px 16px;font-size:14px;
  background:#fff;resize:none;outline:none;
  max-height:120px;overflow-y:auto;line-height:1.4;
  transition:border-color .2s;
  color:#222;
}
#lc-inp:focus{border-color:#25d366}
#lc-send{
  width:42px;height:42px;border-radius:50%;border:none;
  background:linear-gradient(135deg,#25d366,#128C7E);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;box-shadow:0 2px 8px rgba(37,211,102,.4);
  transition:transform .2s,box-shadow .2s;
}
#lc-send:hover{transform:scale(1.08);box-shadow:0 3px 12px rgba(37,211,102,.5)}
#lc-send:disabled{background:#b0bec5;cursor:default;box-shadow:none;transform:none}
#lc-send svg{width:20px;height:20px;fill:#fff}

/* ── Tarjetas de producto ───────────────────────────────────────── */
.lc-cards{
  display:flex;flex-direction:column;gap:10px;
  margin-top:10px;width:100%;
}
.lc-card{
  background:#fff;border-radius:12px;
  overflow:hidden;
  border:1px solid #e8e8e8;
  box-shadow:0 2px 10px rgba(0,0,0,.1);
  transition:box-shadow .2s,transform .2s;
}
.lc-card:hover{box-shadow:0 4px 20px rgba(0,0,0,.15);transform:translateY(-1px)}
.lc-c-img{display:block;width:100%;height:165px;overflow:hidden;background:#f5f5f5}
.lc-c-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.lc-card:hover .lc-c-img img{transform:scale(1.03)}
.lc-c-info{padding:11px 13px 7px}
.lc-c-name{
  font-size:13px;font-weight:700;margin:0 0 7px;
  color:#1a1a1a;line-height:1.35;
}
.lc-c-prices{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}
.lc-c-price{font-size:20px;font-weight:800;color:#075e54}
.lc-c-old{font-size:12px;color:#999;text-decoration:line-through}
.lc-c-stock{
  font-size:11px;font-weight:700;color:#dc2626;margin:3px 0 0;
  background:#fef2f2;display:inline-block;padding:2px 7px;border-radius:10px;
}
.lc-c-btns{display:flex;border-top:1px solid #f0f0f0;margin-top:8px}
.lc-c-view,.lc-c-wa{
  flex:1;text-align:center;padding:10px 6px;
  font-size:13px;font-weight:700;
  text-decoration:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:5px;
  transition:background .18s;
}
.lc-c-view{color:#075e54;border-right:1px solid #f0f0f0}
.lc-c-view:hover{background:#f0faf5}
.lc-c-wa{
  background:linear-gradient(135deg,#25d366,#1ebe5d);
  color:#fff;
}
.lc-c-wa:hover{background:linear-gradient(135deg,#1ebe5d,#17a34a)}
.lc-c-wa svg{width:16px;height:16px;fill:#fff;flex-shrink:0}

/* ── Botón WhatsApp suelto ──────────────────────────────────────── */
.lc-wa-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:linear-gradient(135deg,#25d366,#1ebe5d);
  color:#fff;text-decoration:none;
  padding:10px 18px;border-radius:24px;
  font-size:14px;font-weight:700;margin-top:10px;
  box-shadow:0 2px 10px rgba(37,211,102,.4);
  transition:transform .2s,box-shadow .2s;
}
.lc-wa-btn:hover{transform:translateY(-1px);box-shadow:0 4px 15px rgba(37,211,102,.5)}
.lc-wa-btn svg{width:18px;height:18px;fill:#fff}

/* ── Responsive móvil ───────────────────────────────────────────── */
@media(max-width:430px){
  #lc-win{
    right:0;bottom:0;width:100vw;
    max-height:100dvh;
    border-radius:18px 18px 0 0;
  }
  #lc-btn{bottom:18px;right:18px}
}
