/* ===== Asistente Virtual "Nico" (sitio web Nieto Comercial) =====
   Autocontenido. Paleta institucional del sitio (azul marino #052f5f).
   Todo fixed, no afecta el layout del sitio. */

#pv-asistente{
  --pv-nieto:#052f5f; --pv-nieto2:#1c5a9e; --pv-nieto-osc:#04244a;
  --pv-acc:#7fb2e6; --pv-acc2:#337ab7;
  --pv-txt:#1f2d3d; --pv-gris:#eef2f7; --pv-borde:#dfe6ef;
  --pv-verde:#1b8f4d; --pv-rojo:#c0392b; --pv-ambar:#b9700f;
  position:fixed; right:22px; bottom:22px; z-index:100000;
  font-family:"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
#pv-asistente *{ box-sizing:border-box; }

/* ---------- Launcher (bot flotante) ---------- */
.pv-launcher{
  position:relative; width:64px; height:64px; border:0; cursor:pointer; border-radius:50%; padding:0;
  background:linear-gradient(145deg,var(--pv-nieto2),var(--pv-nieto));
  box-shadow:0 10px 26px rgba(5,47,95,.5);
  animation:pv-flota 3.2s ease-in-out infinite; transition:transform .2s ease, box-shadow .2s ease;
}
.pv-launcher:hover{ transform:scale(1.07); box-shadow:0 14px 30px rgba(5,47,95,.6); }
.pv-launcher:active{ transform:scale(.96); }
.pv-bot{ position:absolute; inset:9px; display:block; }
.pv-launcher .pv-svgbot{ transform-origin:center; }
.pv-launcher:hover .pv-svgbot{ animation:pv-saluda .6s ease-in-out; }
.pv-pulse{ position:absolute; inset:0; border-radius:50%;
  box-shadow:0 0 0 0 rgba(51,122,183,.6); animation:pv-pulso 2.4s ease-out infinite; }
.pv-globo{ position:absolute; right:74px; top:50%; transform:translateY(-50%); white-space:nowrap;
  background:#fff; color:var(--pv-txt); padding:8px 12px; border-radius:16px; font-size:13px; font-weight:600;
  box-shadow:0 6px 18px rgba(0,0,0,.14); border:1px solid var(--pv-borde); opacity:0; pointer-events:none; }
.pv-globo:after{ content:""; position:absolute; right:-6px; top:50%; margin-top:-6px;
  border:6px solid transparent; border-left-color:#fff; }
#pv-asistente.pv-cerrado .pv-launcher .pv-globo{ animation:pv-globoIn 700ms ease 1.2s both; }

/* ---------- Panel de chat ---------- */
.pv-panel{
  position:absolute; right:0; bottom:80px; width:380px; max-width:calc(100vw - 44px);
  height:520px; max-height:calc(100vh - 130px);
  background:#fff; border-radius:18px; overflow:hidden;
  box-shadow:0 18px 50px rgba(4,36,74,.32); border:1px solid var(--pv-borde);
  display:flex; flex-direction:column;
  transform-origin:bottom right; opacity:0; transform:translateY(14px) scale(.96);
  pointer-events:none; transition:opacity .22s ease, transform .22s ease;
}
#pv-asistente.pv-abierto .pv-panel{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
#pv-asistente.pv-abierto .pv-launcher{ animation:none; }
#pv-asistente.pv-abierto .pv-pulse,#pv-asistente.pv-abierto .pv-globo{ display:none; }

.pv-resize{ position:absolute; top:0; left:0; width:20px; height:20px; z-index:6; cursor:nwse-resize; touch-action:none; }
.pv-resize::before{ content:""; position:absolute; top:6px; left:6px; width:8px; height:8px;
  border-top:2px solid rgba(255,255,255,.65); border-left:2px solid rgba(255,255,255,.65); border-radius:3px 0 0 0; }
.pv-resize:hover::before{ border-color:#fff; }
#pv-asistente.pv-resizing .pv-panel{ transition:none; user-select:none; }
#pv-asistente.pv-resizing .pv-mensajes{ pointer-events:none; }

.pv-header{ display:flex; align-items:center; gap:10px; padding:12px 14px 12px 20px; color:#fff;
  background:linear-gradient(135deg,var(--pv-nieto2),var(--pv-nieto-osc)); }
.pv-avatar-sm{ width:36px; height:36px; flex:0 0 36px; }
.pv-header-txt{ display:flex; flex-direction:column; line-height:1.2; }
.pv-header-txt strong{ font-size:15px; }
.pv-status{ font-size:11px; opacity:.9; display:flex; align-items:center; gap:5px; }
.pv-dot{ width:7px; height:7px; border-radius:50%; background:#4be08a; display:inline-block; animation:pv-pulsoDot 1.8s infinite; }
.pv-maximizar{ margin-left:auto; background:transparent; border:0; color:#fff; cursor:pointer; opacity:.8; padding:2px 4px; display:flex; align-items:center; }
.pv-maximizar:hover{ opacity:1; }
.pv-ic-min{ display:none; }
#pv-asistente.pv-maximizado .pv-ic-max{ display:none; }
#pv-asistente.pv-maximizado .pv-ic-min{ display:inline; }
.pv-limpiar{ background:transparent; border:0; color:#fff; cursor:pointer; opacity:.8; padding:2px 4px; display:flex; align-items:center; }
.pv-limpiar:hover{ opacity:1; }
.pv-cerrar{ background:transparent; border:0; color:#fff; font-size:26px; line-height:1; cursor:pointer; opacity:.85; padding:0 4px; }
.pv-cerrar:hover{ opacity:1; }

/* mensajes */
.pv-mensajes{ flex:1; overflow-y:auto; padding:14px; background:var(--pv-gris); }
.pv-msg{ display:flex; gap:8px; margin-bottom:12px; animation:pv-msgIn .25s ease; max-width:100%; }
.pv-msg .pv-mini{ width:28px; height:28px; flex:0 0 28px; align-self:flex-end; }
.pv-burbuja{ max-width:82%; padding:9px 12px; border-radius:14px; font-size:13.5px; color:var(--pv-txt);
  line-height:1.45; box-shadow:0 1px 2px rgba(0,0,0,.06); overflow:hidden; }
.pv-bot-msg .pv-burbuja{ background:#fff; border:1px solid var(--pv-borde); border-bottom-left-radius:4px; }
.pv-bot-msg.pv-ancho{ width:100%; }
.pv-bot-msg.pv-ancho .pv-burbuja{ max-width:calc(100% - 36px); width:100%; }
.pv-user-msg{ justify-content:flex-end; }
.pv-user-msg .pv-burbuja{ background:linear-gradient(135deg,var(--pv-nieto2),var(--pv-nieto)); color:#fff; border-bottom-right-radius:4px; }
.pv-burbuja p{ margin:0 0 6px; } .pv-burbuja p:last-child{ margin-bottom:0; }
.pv-burbuja b{ color:inherit; }

.pv-lista-ayuda{ margin:4px 0 0; padding-left:18px; } .pv-lista-ayuda li{ margin:3px 0; }
.pv-link{ color:var(--pv-acc2); font-weight:700; text-decoration:none; }
.pv-link:hover{ text-decoration:underline; }

.pv-nota{ font-size:11.5px; color:#6b7c93; margin-top:6px; }

/* botones de accion / links */
.pv-acciones{ display:flex; flex-wrap:wrap; gap:6px; margin-top:9px; }
.pv-btn{ display:inline-block; text-decoration:none; cursor:pointer; border:0;
  background:var(--pv-nieto); color:#fff; font-size:12.5px; font-weight:600;
  padding:8px 13px; border-radius:20px; transition:.15s; text-align:center; }
.pv-btn:hover{ background:var(--pv-nieto2); color:#fff; }
.pv-btn-sec{ background:#eaf1fa; color:var(--pv-nieto); }
.pv-btn-sec:hover{ background:var(--pv-acc); color:var(--pv-nieto); }
.pv-wa{ background:#25d366; } .pv-wa:hover{ background:#1eb457; }

/* mini-formulario de leads */
.pv-lead-form{ display:flex; flex-direction:column; gap:7px; margin-top:8px; }
.pv-lead-form input, .pv-lead-form textarea{ width:100%; border:1px solid var(--pv-borde);
  border-radius:9px; padding:8px 10px; font-size:13px; font-family:inherit; outline:none; }
.pv-lead-form input:focus, .pv-lead-form textarea:focus{ border-color:var(--pv-acc2); box-shadow:0 0 0 3px rgba(51,122,183,.12); }
.pv-lead-form textarea{ resize:vertical; min-height:56px; }
.pv-lead-enviar{ align-self:flex-start; }
.pv-lead-msg{ font-size:12px; }
.pv-lead-msg.err{ color:var(--pv-rojo); } .pv-lead-msg.ok{ color:var(--pv-verde); }

/* mensaje proactivo */
.pv-proactivo{ position:absolute; right:0; bottom:80px; width:260px; background:#fff;
  color:var(--pv-txt); border:1px solid var(--pv-borde); border-radius:16px;
  padding:12px 30px 12px 14px; font-size:13px; line-height:1.4;
  box-shadow:0 10px 30px rgba(4,36,74,.22); cursor:pointer;
  animation:pv-proIn .35s ease; }
.pv-proactivo:after{ content:""; position:absolute; right:26px; bottom:-8px;
  border:8px solid transparent; border-top-color:#fff; }
.pv-proactivo p{ margin:0; }
.pv-proactivo-x{ position:absolute; top:4px; right:6px; background:transparent; border:0;
  font-size:18px; line-height:1; color:#9aa7b6; cursor:pointer; padding:2px 4px; }
.pv-proactivo-x:hover{ color:var(--pv-txt); }
@keyframes pv-proIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:translateY(0); } }

/* menu de opciones */
.pv-ops{ display:flex; flex-direction:column; gap:6px; margin-top:8px; }
.pv-op{ text-align:left; border:1px solid var(--pv-borde); background:#f5f9fd; color:var(--pv-nieto);
  border-radius:10px; padding:8px 11px; font-size:13px; font-weight:600; cursor:pointer; transition:.15s; }
.pv-op:hover{ background:var(--pv-nieto); color:#fff; border-color:var(--pv-nieto); transform:translateX(2px); }

/* typing */
.pv-typing .pv-burbuja{ display:flex; gap:4px; padding:12px; }
.pv-typing span{ width:7px; height:7px; border-radius:50%; background:#b7c4d8; animation:pv-bota 1.2s infinite; }
.pv-typing span:nth-child(2){ animation-delay:.18s; } .pv-typing span:nth-child(3){ animation-delay:.36s; }

/* chips */
.pv-chips{ display:flex; flex-wrap:wrap; gap:6px; padding:8px 12px 0; background:#fff; max-height:78px; overflow-y:auto; }
.pv-chip{ border:1px solid #cfe0f5; background:#f2f7fd; color:var(--pv-nieto);
  border-radius:20px; padding:5px 11px; font-size:12px; cursor:pointer; transition:.15s; white-space:nowrap; }
.pv-chip:hover{ background:var(--pv-nieto); color:#fff; border-color:var(--pv-nieto); }

/* input */
.pv-input{ display:flex; align-items:center; gap:8px; padding:10px 12px; background:#fff; border-top:1px solid var(--pv-borde); }
.pv-input input{ flex:1; border:1px solid var(--pv-borde); border-radius:22px; padding:9px 14px; font-size:13.5px; outline:none; }
.pv-input input:focus{ border-color:var(--pv-acc2); box-shadow:0 0 0 3px rgba(51,122,183,.14); }
.pv-enviar{ width:38px; height:38px; flex:0 0 38px; border:0; border-radius:50%; cursor:pointer; color:#fff;
  background:linear-gradient(135deg,var(--pv-nieto2),var(--pv-nieto)); display:flex; align-items:center; justify-content:center; transition:.15s; }
.pv-enviar:hover{ transform:scale(1.08); }

/* animaciones del bot */
.pv-svgbot .pv-ojo{ animation:pv-parpadeo 4s infinite; transform-origin:center; }
.pv-svgbot .pv-antena{ animation:pv-antena 3s ease-in-out infinite; transform-origin:32px 10px; }
.pv-svgbot .pv-antena-bola{ animation:pv-brilla 2s ease-in-out infinite; }

@keyframes pv-flota{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-6px);} }
@keyframes pv-saluda{ 0%,100%{ transform:rotate(0);} 25%{ transform:rotate(-9deg);} 75%{ transform:rotate(9deg);} }
@keyframes pv-pulso{ 0%{ box-shadow:0 0 0 0 rgba(51,122,183,.5);} 70%{ box-shadow:0 0 0 16px rgba(51,122,183,0);} 100%{ box-shadow:0 0 0 0 rgba(51,122,183,0);} }
@keyframes pv-pulsoDot{ 0%{ box-shadow:0 0 0 0 rgba(75,224,138,.7);} 70%{ box-shadow:0 0 0 6px rgba(75,224,138,0);} 100%{ box-shadow:0 0 0 0 rgba(75,224,138,0);} }
@keyframes pv-parpadeo{ 0%,92%,100%{ transform:scaleY(1);} 96%{ transform:scaleY(.1);} }
@keyframes pv-antena{ 0%,100%{ transform:rotate(0);} 50%{ transform:rotate(7deg);} }
@keyframes pv-brilla{ 0%,100%{ opacity:.6;} 50%{ opacity:1;} }
@keyframes pv-globoIn{ from{ opacity:0; transform:translateY(-50%) translateX(8px);} to{ opacity:1; transform:translateY(-50%) translateX(0);} }
@keyframes pv-msgIn{ from{ opacity:0; transform:translateY(6px);} to{ opacity:1; transform:translateY(0);} }
@keyframes pv-bota{ 0%,60%,100%{ transform:translateY(0);} 30%{ transform:translateY(-5px);} }

@media (max-width:480px){
  #pv-asistente{ right:14px; bottom:14px; }
  .pv-panel{ width:calc(100vw - 28px); height:74vh; }
}
