/* ==============================================================================================
   CHAT DEL SITIO — el aspecto

   Archivo aparte del flujo de reserva a propósito: esto se carga en TODAS las páginas y aquello
   sólo en tres. Mezclarlos le costaría 26 KB de CSS a cada visita del blog.

   Todo cuelga de `.vchat`, y cada regla fija fondo, color y borde con `!important` donde el tema
   (Astra) pinta botones: ya pasó el 21-sep con los botones del flujo, que el tema volvía azules e
   ilegibles al pasar el ratón.
   ============================================================================================== */
.vchat,.vchat *{box-sizing:border-box}
.vchat{position:fixed;right:18px;bottom:18px;z-index:99990;font-family:inherit;font-size:14px;line-height:1.45}
.vchat[hidden]{display:none!important}

/* La burbuja */
.vchat-bur{width:56px;height:56px;border-radius:50%;border:0!important;background:#0079d6!important;color:#fff!important;
  box-shadow:0 10px 24px rgba(0,32,55,.32);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0!important}
.vchat-bur:hover,.vchat-bur:focus{background:#0067b5!important;color:#fff!important}
.vchat-bur svg{width:26px;height:26px;fill:currentColor}
.vchat-pin{position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;border-radius:999px;background:#e53935;color:#fff;
  font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 6px}
.vchat-pin[hidden]{display:none!important}

/* El panel */
.vchat-panel{width:340px;max-width:calc(100vw - 24px);background:#fff;border-radius:14px;overflow:hidden;
  box-shadow:0 18px 44px rgba(0,32,55,.34);display:flex;flex-direction:column;max-height:min(620px,calc(100vh - 40px))}
.vchat-panel[hidden]{display:none!important}
.vchat-top{background:#002037;color:#fff;padding:12px 14px;display:flex;align-items:center;gap:10px}
.vchat-av{width:30px;height:30px;border-radius:50%;background:#0079d6;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.vchat-top b{font-size:14px;display:block;line-height:1.2}
.vchat-top span{font-size:11.5px;opacity:.85;display:block}
.vchat-punto{width:7px;height:7px;border-radius:50%;background:#20c463;display:inline-block;margin-right:5px;vertical-align:1px}
.vchat-punto.gris{background:#9aa7b4}
.vchat-x{margin-left:auto;background:transparent!important;border:0!important;color:#fff!important;font-size:20px;line-height:1;cursor:pointer;padding:0 2px!important}
.vchat-x:hover,.vchat-x:focus{background:transparent!important;color:#fff!important}

.vchat-cuerpo{padding:12px;background:#F7F9FC;overflow-y:auto;flex:1;min-height:150px}
.vchat-m{max-width:88%;padding:9px 12px;border-radius:12px;margin-bottom:8px;font-size:13.5px;white-space:pre-wrap;word-wrap:break-word}
.vchat-m.ellos{background:#fff;border:1px solid #DCE3EA;border-bottom-left-radius:4px;color:#323232}
.vchat-m.yo{background:#0079d6;color:#fff;margin-left:auto;border-bottom-right-radius:4px}
.vchat-m.sis{background:#FFF4DC;border:1px solid #f0dcb4;color:#5a3d00;max-width:100%;font-size:12.5px}
.vchat-m a{color:inherit;text-decoration:underline}
.vchat-quien{font-size:11px;color:#5B6B7A;margin:0 0 3px 2px}
.vchat-adj{display:block;margin-top:4px;font-size:12px;opacity:.9}

.vchat-campos{padding:0 12px 12px;background:#F7F9FC}
.vchat-campos label{display:block;font-size:11.5px;color:#5B6B7A;margin:0 0 3px}
.vchat-campos input,.vchat-campos textarea{width:100%;border:1px solid #DCE3EA;border-radius:8px;padding:9px 11px;font-size:13.5px;
  margin-bottom:9px;background:#fff;color:#323232;font-family:inherit}
.vchat-campos input:focus,.vchat-campos textarea:focus{outline:2px solid #0079d6;outline-offset:-1px}
.vchat-btn{width:100%;border:1px solid #0079d6!important;background:#0079d6!important;color:#fff!important;border-radius:8px;
  padding:10px!important;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}
.vchat-btn:hover,.vchat-btn:focus{background:#0067b5!important;color:#fff!important;border-color:#0067b5!important}
.vchat-btn.wa{background:#25D366!important;border-color:#25D366!important}
.vchat-btn.wa:hover,.vchat-btn.wa:focus{background:#1fb457!important;border-color:#1fb457!important}
.vchat-legal{font-size:11px;color:#5B6B7A;text-align:center;padding:0 14px 12px;background:#F7F9FC}
.vchat-legal a{color:#0079d6}
.vchat-mal{font-size:12px;color:#A32B20;margin:-4px 0 8px}

.vchat-entrada{display:flex;gap:8px;align-items:center;padding:10px 12px;border-top:1px solid #DCE3EA;background:#fff}
.vchat-entrada textarea{flex:1;border:1px solid #DCE3EA;border-radius:18px;padding:8px 12px;font-size:13.5px;resize:none;
  height:38px;max-height:96px;font-family:inherit;color:#323232;background:#fff}
.vchat-ico{width:34px;height:34px;flex:none;border-radius:50%;border:0!important;background:#EEF1F5!important;color:#002037!important;
  cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0!important}
.vchat-ico.env{background:#0079d6!important;color:#fff!important}
.vchat-ico:hover,.vchat-ico:focus{background:#dde4ec!important;color:#002037!important}
.vchat-ico.env:hover,.vchat-ico.env:focus{background:#0067b5!important;color:#fff!important}
.vchat-ico svg{width:17px;height:17px;fill:currentColor}

/* En el celular ocupa la pantalla: un panel de 340 px sobre un teclado abierto no se puede usar. */
@media (max-width:560px){
  .vchat{right:12px;bottom:12px}
  .vchat-panel{position:fixed;inset:0;width:100%;max-width:none;max-height:none;border-radius:0}
}
@media (prefers-reduced-motion:no-preference){
  .vchat-panel{animation:vchat-sube .18s ease-out}
  @keyframes vchat-sube{from{transform:translateY(8px);opacity:.4}to{transform:none;opacity:1}}
}
