/* Asistente virtual — ventana de chat flotante (se carga solo en la variante .com). */
.pgc-lanzador, .pgc-panel, .pgc-globo{--c-navy:#015673; --c-deep:#012f40; --c-lime:#98BC10; --c-ink:#152229; --c-muted:#5C7078; --c-line:#E1EAEE; font-family:'Inter',system-ui,sans-serif;}

/* WhatsApp sube para convivir con el chat */
.pgc-activo .whatsapp-float{bottom:100px !important;}

.pgc-lanzador{position:fixed; right:26px; bottom:26px; z-index:210; width:60px; height:60px; border-radius:50%; border:0; cursor:pointer; color:#fff;
  background:linear-gradient(135deg, var(--c-navy), #1788b8); box-shadow:0 8px 24px rgba(1,47,64,.35); display:grid; place-items:center; transition:transform .2s, box-shadow .2s;}
.pgc-lanzador:hover{transform:scale(1.07); box-shadow:0 12px 30px rgba(1,47,64,.42);}
.pgc-lanzador:focus-visible{outline:3px solid rgba(152,188,16,.7); outline-offset:3px;}
.pgc-lanzador .pgc-punto{position:absolute; top:4px; right:4px; width:13px; height:13px; border-radius:50%; background:var(--c-lime); border:2px solid #fff;}
.pgc-lanzador.pgc-abierto .pgc-punto{display:none;}

.pgc-globo{position:fixed; right:96px; bottom:40px; z-index:210; max-width:230px; padding:12px 16px; border-radius:16px 16px 4px 16px; background:#fff; color:var(--c-deep);
  font-size:14px; font-weight:500; box-shadow:0 8px 24px rgba(1,47,64,.22); border:1px solid var(--c-line); cursor:pointer; opacity:0; transform:translateY(8px); transition:opacity .35s, transform .35s;}
.pgc-globo.pgc-visible{opacity:1; transform:none;}
.pgc-globo[hidden]{display:none;}

.pgc-panel, .variante-com .pgc-panel{padding:0; margin:0; line-height:1.4;}
.pgc-panel{position:fixed; right:26px; bottom:98px; z-index:210; width:384px; max-width:calc(100vw - 24px); height:auto; max-height:min(600px, calc(100vh - 130px)); display:flex; flex-direction:column;
  background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 20px 60px rgba(1,47,64,.35); border:1px solid var(--c-line);
  opacity:0; transform:translateY(14px) scale(.97); transform-origin:bottom right; transition:opacity .2s, transform .2s;}
.pgc-panel.pgc-visible{opacity:1; transform:none;}
.pgc-panel[hidden]{display:none;}

.pgc-cab{display:flex; align-items:center; gap:12px; padding:14px 14px 14px; color:#fff; background:linear-gradient(135deg, var(--c-deep) 0%, var(--c-navy) 70%, #1788b8 140%);}
.pgc-logo{width:46px; height:46px; flex:none; padding:5px; border-radius:50%; background:#fff; object-fit:contain;}
.pgc-titulos{flex:1; min-width:0; display:grid; line-height:1.3;}
.pgc-titulos strong{font-family:'Poppins',sans-serif; font-size:16px; font-weight:600;}
.pgc-titulos span{font-size:13px; color:#D5E8EF;}
.pgc-estado{display:flex; align-items:center; gap:7px; margin-top:4px; font-size:11.5px; letter-spacing:.04em; text-transform:uppercase; color:#CFE4EC;}
.pgc-luz{width:9px; height:9px; border-radius:50%; background:var(--c-lime); box-shadow:0 0 0 3px rgba(152,188,16,.28);}
.pgc-cerrar{flex:none; width:36px; height:36px; display:grid; place-items:center; border:0; border-radius:10px; background:rgba(255,255,255,.12); color:#fff; cursor:pointer; transition:background .15s;}
.pgc-cerrar:hover{background:rgba(255,255,255,.24);}

.pgc-cuerpo{flex:1 1 auto; min-height:150px; overflow-y:auto; padding:14px 14px 6px; display:flex; flex-direction:column; gap:8px; background:#F6F9FB; scroll-behavior:smooth;}
.pgc-msg{max-width:86%; padding:11px 14px; border-radius:16px; font-size:14.5px; line-height:1.5; white-space:pre-line; overflow-wrap:anywhere; animation:pgcEntra .25s ease-out;}
.pgc-bot{align-self:flex-start; background:#fff; color:var(--c-ink); border:1px solid var(--c-line); border-bottom-left-radius:5px;}
.pgc-yo{align-self:flex-end; background:var(--c-navy); color:#fff; border-bottom-right-radius:5px;}
.pgc-tipeo{display:flex; gap:5px; padding:14px 16px;}
.pgc-tipeo span{width:7px; height:7px; border-radius:50%; background:#9FB3BC; animation:pgcPunto 1.1s infinite ease-in-out;}
.pgc-tipeo span:nth-child(2){animation-delay:.15s;} .pgc-tipeo span:nth-child(3){animation-delay:.3s;}
.pgc-opciones{display:flex; flex-wrap:wrap; gap:8px; align-self:flex-start; max-width:96%; animation:pgcEntra .3s ease-out;}
.pgc-op{display:inline-block; padding:9px 14px; border-radius:999px; border:1.5px solid var(--c-navy); background:#fff; color:var(--c-navy); font:600 13.5px 'Inter',sans-serif; text-decoration:none; cursor:pointer; transition:background .15s, color .15s;}
.pgc-op:hover, .pgc-op:focus-visible{background:var(--c-navy); color:#fff; outline:none;}
.pgc-enlace{border-color:var(--c-lime); background:var(--c-lime); color:var(--c-deep);}
.pgc-enlace:hover, .pgc-enlace:focus-visible{background:#a9cd1d; color:var(--c-deep);}

.pgc-pie{display:flex; align-items:center; gap:8px; padding:10px 12px 4px; background:#fff; border-top:1px solid var(--c-line);}
.pgc-campo{flex:1; min-width:0; padding:12px 16px; border-radius:999px; border:1.5px solid var(--c-line); background:#F6F9FB; font:400 14.5px 'Inter',sans-serif; color:var(--c-ink);}
.pgc-campo:focus{outline:none; border-color:#56ACDF; background:#fff; box-shadow:0 0 0 4px rgba(86,172,223,.18);}
.pgc-enviar{flex:none; width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:50%; background:var(--c-lime); color:var(--c-deep); cursor:pointer; transition:transform .15s, background .15s;}
.pgc-enviar:hover{background:#a9cd1d; transform:scale(1.06);}
.pgc-legal{padding:0 14px 8px; background:#fff; text-align:center; font-size:11.5px; color:var(--c-muted);}
.pgc-legal a{color:var(--c-navy); text-decoration:underline;}

@keyframes pgcEntra{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:none;}}
@keyframes pgcPunto{0%,60%,100%{transform:translateY(0); opacity:.5;} 30%{transform:translateY(-4px); opacity:1;}}

@media (max-width:520px){
  .pgc-lanzador{right:16px; bottom:16px; width:56px; height:56px;}
  .pgc-activo .whatsapp-float{bottom:84px !important; right:16px !important;}
  .pgc-globo{right:84px; bottom:26px;}
  .pgc-panel{right:0; bottom:0; width:100vw; max-width:100vw; height:auto; max-height:82vh; border-radius:20px 20px 0 0;}
  .pgc-lanzador.pgc-abierto{display:none;}
}
@media (prefers-reduced-motion: reduce){ .pgc-panel,.pgc-globo,.pgc-msg,.pgc-opciones,.pgc-lanzador{transition:none; animation:none;} .pgc-tipeo span{animation:none;} .pgc-cuerpo{scroll-behavior:auto;} }
