.asa-customer-chat{--asa-green:#128c7e;--asa-green2:#075e54;--asa-bg:#efeae2;--asa-mine:#d9fdd3;font-family:Arial,sans-serif;box-sizing:border-box;z-index:99998}.asa-customer-chat *{box-sizing:border-box}.asa-mode-flotante{position:fixed;bottom:22px;z-index:99998}.asa-pos-derecha{right:22px}.asa-pos-izquierda{left:22px}.asa-chat-launcher{width:58px;height:58px;border:0;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 6px 22px rgba(0,0,0,.22);cursor:pointer;font-size:25px;display:flex;align-items:center;justify-content:center}.asa-chat-window{width:min(365px,calc(100vw - 28px));height:min(610px,calc(100vh - 95px));background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.25);border:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column}.asa-chat-window[hidden]{display:none}.asa-mode-pagina{position:relative;max-width:760px;margin:20px auto;z-index:1}.asa-mode-pagina .asa-chat-window{width:100%;height:650px;max-height:78vh;box-shadow:0 4px 20px rgba(0,0,0,.10)}.asa-chat-header{background:var(--asa-green2);color:#fff;padding:13px 14px;display:flex;align-items:center;gap:10px;min-height:64px}.asa-chat-avatar{width:40px;height:40px;border-radius:50%;background:#fff;color:var(--asa-green2);display:flex;align-items:center;justify-content:center;font-weight:800}.asa-chat-identity{display:flex;flex-direction:column;line-height:1.2;flex:1}.asa-chat-identity strong{font-size:16px}.asa-chat-identity span{font-size:12px;opacity:.9;margin-top:4px}.asa-chat-identity i{display:inline-block;width:7px;height:7px;background:#5ee283;border-radius:50%;margin-right:4px}.asa-chat-close{border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer;padding:3px 7px}.asa-customer-messages{flex:1;overflow:auto;background:var(--asa-bg);padding:16px;display:flex;flex-direction:column;gap:9px}.asa-customer-bubble{max-width:83%;padding:9px 11px;border-radius:9px;line-height:1.4;font-size:14px;box-shadow:0 1px 1px rgba(0,0,0,.06);white-space:normal;word-break:break-word}.asa-customer-bubble.asa{align-self:flex-start;background:#fff;border-top-left-radius:3px}.asa-customer-bubble.client{align-self:flex-end;background:var(--asa-mine);border-top-right-radius:3px}.asa-customer-bubble a{font-weight:700;text-decoration:none;color:#067a6c}.asa-chat-loading,.asa-chat-system,.asa-chat-typing{font-size:13px;color:#667085;align-self:center;background:rgba(255,255,255,.7);padding:7px 10px;border-radius:9px}.asa-chat-typing{align-self:flex-start}.asa-customer-compose{display:flex;align-items:flex-end;gap:8px;background:#f0f2f5;padding:9px}.asa-customer-compose textarea{flex:1;min-height:41px;max-height:105px;resize:none;border:0;border-radius:20px;background:#fff;padding:11px 14px;outline:none;font-family:inherit;font-size:14px}.asa-customer-send{width:41px;height:41px;border:0;border-radius:50%;background:var(--asa-green);color:#fff;font-size:18px;cursor:pointer}.asa-customer-send:disabled{opacity:.45;cursor:default}.asa-chat-disclosure{font-size:10px;color:#7a7a7a;text-align:center;background:#f0f2f5;padding:0 8px 7px}@media(max-width:480px){.asa-mode-flotante{bottom:14px}.asa-pos-derecha{right:14px}.asa-pos-izquierda{left:14px}.asa-mode-flotante .asa-chat-window{height:72vh}.asa-mode-pagina .asa-chat-window{height:70vh}}
/* v1.0.12: controles de ventana resistentes a estilos del tema */
.asa-customer-chat .asa-chat-window-actions{display:flex;align-items:center;gap:2px;margin-left:auto}
.asa-customer-chat .asa-chat-close,.asa-customer-chat .asa-chat-maximize{-webkit-appearance:none!important;appearance:none!important;background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;outline:0!important;border-radius:0!important;color:#fff!important;width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;max-width:38px!important;max-height:38px!important;padding:0!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:center!important;font-family:Arial,sans-serif!important;font-weight:700!important;line-height:1!important;text-decoration:none!important;cursor:pointer!important}
.asa-customer-chat .asa-chat-close{font-size:29px!important;font-weight:400!important}
.asa-customer-chat .asa-chat-maximize{font-size:22px!important}
.asa-customer-chat .asa-chat-close:hover,.asa-customer-chat .asa-chat-close:focus,.asa-customer-chat .asa-chat-maximize:hover,.asa-customer-chat .asa-chat-maximize:focus{background:rgba(255,255,255,.10)!important;color:#fff!important;box-shadow:none!important}
.asa-customer-chat .asa-chat-avatar{overflow:hidden;flex:0 0 40px}
.asa-customer-chat .asa-chat-avatar img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;border-radius:50%!important;margin:0!important;padding:0!important;border:0!important}

/* v1.0.13 · Controles del chat aislados del tema */
.asa-customer-chat .asa-customer-send,
.asa-customer-chat .asa-customer-send:hover,
.asa-customer-chat .asa-customer-send:focus,
.asa-customer-chat .asa-customer-send:active{
  width:44px !important;
  min-width:44px !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:#25d366 !important;
  background-image:none !important;
  color:#fff !important;
  box-shadow:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
.asa-customer-chat .asa-customer-send svg{
  width:21px;
  height:21px;
  display:block;
  fill:#fff !important;
  transform:translateX(1px);
}
.asa-customer-chat .asa-customer-send:disabled{
  opacity:.48 !important;
  cursor:default !important;
}
.asa-customer-chat .asa-chat-avatar{
  overflow:hidden;
  flex:0 0 40px;
}
.asa-customer-chat .asa-chat-avatar img{
  width:100% !important;
  height:100% !important;
  display:block !important;
  object-fit:cover !important;
  border-radius:50% !important;
  margin:0 !important;
  padding:0 !important;
}
.asa-mode-pagina .asa-chat-avatar img,
.asa-mode-flotante .asa-chat-avatar img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* v1.0.14 · Botón flotante ASA */
.asa-customer-chat .asa-chat-launcher,
.asa-customer-chat .asa-chat-launcher:hover,
.asa-customer-chat .asa-chat-launcher:focus,
.asa-customer-chat .asa-chat-launcher:active{
  width:62px !important;
  min-width:62px !important;
  max-width:62px !important;
  height:62px !important;
  min-height:62px !important;
  max-height:62px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  outline:0 !important;
  border-radius:50% !important;
  background:#25d366 !important;
  background-image:none !important;
  box-shadow:0 5px 18px rgba(0,0,0,.22) !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  line-height:1 !important;
  text-indent:0 !important;
}
.asa-customer-chat .asa-chat-launcher::before,
.asa-customer-chat .asa-chat-launcher::after{
  content:none !important;
  display:none !important;
}
.asa-customer-chat .asa-chat-launcher-svg{
  width:62px !important;
  height:62px !important;
  display:block !important;
  flex:0 0 62px !important;
}
.asa-customer-chat .asa-chat-launcher-svg > circle{
  fill:#25d366 !important;
}
.asa-customer-chat .asa-launcher-bubble{
  fill:none !important;
  stroke:#fff !important;
  stroke-width:4.2 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}
.asa-customer-chat .asa-launcher-plane{
  fill:#fff !important;
  stroke:none !important;
}
@media(max-width:480px){
  .asa-customer-chat .asa-chat-launcher,
  .asa-customer-chat .asa-chat-launcher:hover,
  .asa-customer-chat .asa-chat-launcher:focus,
  .asa-customer-chat .asa-chat-launcher:active,
  .asa-customer-chat .asa-chat-launcher-svg{
    width:58px !important;
    min-width:58px !important;
    max-width:58px !important;
    height:58px !important;
    min-height:58px !important;
    max-height:58px !important;
  }
}

/* v1.0.15 · Botón flotante con PNG real */
.asa-customer-chat .asa-chat-launcher,
.asa-customer-chat .asa-chat-launcher:hover,
.asa-customer-chat .asa-chat-launcher:focus,
.asa-customer-chat .asa-chat-launcher:active{
  width:60px !important;
  min-width:60px !important;
  max-width:60px !important;
  height:60px !important;
  min-height:60px !important;
  max-height:60px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  outline:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  overflow:visible !important;
  display:block !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  line-height:0 !important;
  cursor:pointer !important;
}
.asa-customer-chat .asa-chat-launcher::before,
.asa-customer-chat .asa-chat-launcher::after{
  content:none !important;
  display:none !important;
}
.asa-customer-chat .asa-chat-launcher-img{
  width:60px !important;
  height:60px !important;
  min-width:60px !important;
  max-width:60px !important;
  min-height:60px !important;
  max-height:60px !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  object-fit:contain !important;
}

/* v1.0.16 · Modo página optimizado solo para móvil */
@media (max-width:768px){
  .asa-customer-chat.asa-mode-pagina{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  .asa-customer-chat.asa-mode-pagina .asa-chat-window{
    width:100% !important;
    max-width:none !important;
    height:100dvh !important;
    min-height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }

  .asa-customer-chat.asa-mode-pagina .asa-chat-header{
    border-radius:0 !important;
  }

  .asa-customer-chat.asa-mode-pagina .asa-customer-messages{
    flex:1 1 auto !important;
    min-height:0 !important;
  }

  .asa-customer-chat.asa-mode-pagina .asa-customer-compose{
    flex:0 0 auto !important;
  }

  .asa-customer-chat.asa-mode-pagina .asa-chat-disclosure{
    flex:0 0 auto !important;
  }
}

/* v1.0.17 · El botón flotante desaparece completamente mientras el chat está abierto */
.asa-customer-chat.asa-chat-open .asa-chat-launcher,
.asa-customer-chat.asa-chat-open .asa-chat-launcher:hover,
.asa-customer-chat.asa-chat-open .asa-chat-launcher:focus,
.asa-customer-chat.asa-chat-open .asa-chat-launcher:active{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* v1.0.17 · Modo página: salir del ancho limitado de Elementor/tema SOLO en móvil */
@media (max-width:768px){
  .asa-customer-chat.asa-mode-pagina{
    position:relative !important;
    left:50% !important;
    right:auto !important;
    width:100vw !important;
    min-width:100vw !important;
    max-width:100vw !important;
    margin-left:-50vw !important;
    margin-right:0 !important;
    padding:0 !important;
    transform:none !important;
  }

  .asa-customer-chat.asa-mode-pagina .asa-chat-window{
    width:100vw !important;
    min-width:100vw !important;
    max-width:100vw !important;
    height:100dvh !important;
    min-height:100dvh !important;
    max-height:100dvh !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
  }
}

/* Respaldo para navegadores móviles sin soporte de dvh */
@supports not (height:100dvh){
  @media (max-width:768px){
    .asa-customer-chat.asa-mode-pagina .asa-chat-window{
      height:100vh !important;
      min-height:100vh !important;
      max-height:100vh !important;
    }
  }
}


/* v1.0.29 · Modo página sin filo/blanco superior */
.asa-customer-chat.asa-mode-pagina{margin-top:0 !important;padding-top:0 !important;}
.asa-customer-chat.asa-mode-pagina .asa-chat-window{border-top:0 !important;margin-top:0 !important;}
.asa-customer-chat.asa-mode-pagina .asa-chat-header{margin-top:0 !important;border-top:0 !important;}
/* v1.0.30 · heartbeat autónomo del chat; sin cambios visuales */

/* ASA v1.0.34: acciones del chat como botones, sin exponer URLs largas */
.asa-customer-chat .asa-chat-action-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  min-height:42px !important;
  margin-top:10px !important;
  padding:10px 16px !important;
  border:0 !important;
  border-radius:999px !important;
  text-decoration:none !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  box-shadow:none !important;
}
.asa-customer-chat .asa-chat-whatsapp-btn{
  background:#25D366 !important;
  color:#fff !important;
}
.asa-customer-chat .asa-chat-whatsapp-btn:hover,
.asa-customer-chat .asa-chat-whatsapp-btn:focus{
  text-decoration:none !important;
  filter:brightness(.96);
}
