.whatsappButton {
  display: block;
  font-size: 14px;
  line-height: 20px;
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
}

.whatsappButton *,
.whatsappButton *:before,
.whatsappButton *:after {
  box-sizing: border-box;
}

.whatsappButton button,
.whatsappButton input {
  font: inherit;
}

.whatsappButton .wb-toggle-button {
  appearance: none;
  background-color: #25d366;
  border: 0;
  border-radius: 100%;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
  color: #fff;
  cursor: pointer;
  display: block;
  height: 56px;
  padding: 10px;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 56px;
  margin: 0;
  animation-name: toggleButton;
  animation-duration: 0.5s;
  animation-fill-mode: both;
}

.whatsappButton .wb-toggle-button:before,
.whatsappButton .wb-toggle-button:after {
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  content: "";
  display: block;
  height: 36px;
  position: absolute;
  left: 10px;
  top: 10px;
  transition: opacity 160ms ease-in-out, transform 160ms ease-in-out;
  width: 36px;
}

.whatsappButton .wb-toggle-button:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M13.601 2.326A7.854 7.854 0 0 0 7.994 0C3.627 0 .068 3.558.064 7.926c0 1.399.366 2.76 1.057 3.965L0 16l4.204-1.102a7.933 7.933 0 0 0 3.79.965h.004c4.368 0 7.926-3.558 7.93-7.93A7.898 7.898 0 0 0 13.6 2.326zM7.994 14.521a6.573 6.573 0 0 1-3.356-.92l-.24-.144-2.494.654.666-2.433-.156-.251a6.56 6.56 0 0 1-1.007-3.505c0-3.626 2.957-6.584 6.591-6.584a6.56 6.56 0 0 1 4.66 1.931 6.557 6.557 0 0 1 1.928 4.66c-.004 3.639-2.961 6.592-6.592 6.592zm3.615-4.934c-.197-.099-1.17-.578-1.353-.646-.182-.065-.315-.099-.445.099-.133.197-.513.646-.627.775-.114.133-.232.148-.43.05-.197-.1-.836-.308-1.592-.985-.59-.525-.985-1.175-1.103-1.372-.114-.198-.011-.304.088-.403.087-.088.197-.232.296-.346.1-.114.133-.198.198-.33.065-.134.034-.248-.015-.347-.05-.099-.445-1.076-.612-1.47-.16-.389-.323-.335-.445-.34-.114-.007-.247-.007-.38-.007a.729.729 0 0 0-.529.247c-.182.198-.691.677-.691 1.654 0 .977.71 1.916.81 2.049.098.133 1.394 2.132 3.383 2.992.47.205.84.326 1.129.418.475.152.904.129 1.246.08.38-.058 1.171-.48 1.338-.943.164-.464.164-.86.114-.943-.049-.084-.182-.133-.38-.232z'/%3E%3C/svg%3E");
  transform: rotate(0);
}

.whatsappButton .wb-toggle-button:after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E");
  opacity: 0;
  transform: rotate(-45deg);
}

.whatsappButton .wb-unread-badge {
  background-color: #fa3e3e;
  border-radius: 20px;
  color: #fff;
  display: none;
  font-size: 12px;
  height: 20px;
  line-height: 20px;
  position: absolute;
  right: -5px;
  top: -5px;
  text-align: center;
  -webkit-user-select: none;
  user-select: none;
  width: 20px;
}

.whatsappButton .wb-chat {
  background-color: #ece5dd;
  border-radius: 10px;
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.15);
  opacity: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
  bottom: 70px;
  right: 0;
  transform: translateY(50px);
  transition: transform 160ms ease-in-out, opacity 160ms ease-in-out, visibility 0s linear 160ms;
  visibility: hidden;
  width: 320px;
  max-width: calc(100vw - 48px);
}

.whatsappButton .wb-chat-header {
  background-color: #128c7e;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  font-size: 15px;
  height: 56px;
  line-height: 22px;
  padding: 10px;
  -webkit-user-select: none;
  user-select: none;
  width: 100%;
}

.whatsappButton .wb-back-button {
  appearance: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M15 8a.5.5 0 0 0-.5-.5H2.707l3.147-3.146a.5.5 0 1 0-.708-.708l-4 4a.5.5 0 0 0 0 .708l4 4a.5.5 0 0 0 .708-.708L2.707 8.5H14.5A.5.5 0 0 0 15 8z'/%3E%3C/svg%3E") center no-repeat;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  display: none;
  height: 32px;
  margin: 0;
  padding: 0;
  width: 32px;
}

.whatsappButton.has-agents .wb-chat:not(.is-list) .wb-back-button {
  display: block;
}

.whatsappButton .wb-user-object {
  height: 36px;
  padding-left: 5px;
  padding-right: 5px;
  width: 46px;
}

.whatsappButton .wb-user-avatar {
  aspect-ratio: 1;
  border-radius: 50%;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.1);
  display: block;
  object-fit: cover;
  width: 100%;
}

.whatsappButton .wb-user-initials {
  align-items: center;
  background-color: #25d366;
  color: #fff;
  display: flex;
  font-size: 15px;
  font-weight: 600;
  justify-content: center;
  line-height: 1;
}

.whatsappButton .wb-user-body {
  color: #fff !important;
  display: flex;
  flex-flow: column wrap;
  padding-left: 10px;
}

.whatsappButton .wb-user-name,
.whatsappButton .wb-user-status {
  color: currentColor !important;
}

.whatsappButton .wb-user-status {
  font-size: 12px;
  font-style: italic;
  line-height: 1.2;
}

.whatsappButton .wb-chat-body {
  max-height: min(400px, 60vh);
  overflow-y: auto;
  padding: 15px;
}

.whatsappButton .wb-message-list {
  list-style: none;
  margin: 0;
  padding: 0;
  -webkit-user-select: none;
  user-select: none;
}

.whatsappButton .wb-message-list-item {
  background-color: #fff;
  border-radius: 10px;
  border-top-left-radius: 0;
  box-shadow: 0 1px 0.5px rgba(0, 0, 0, 0.13);
  color: #000;
  font-size: 96%;
  padding: 10px;
  position: relative;
  width: 80%;
}

.whatsappButton .wb-message-list-item:before {
  border-left: 15px solid transparent;
  border-top: 15px solid #fff;
  content: "";
  position: absolute;
  left: -14px;
  top: 0;
}

.whatsappButton .wb-message-list-item + .wb-message-list-item {
  margin-top: 1rem;
}

.whatsappButton .wb-agent-list {
  display: none;
  list-style: none;
  margin: 15px 0 0;
  padding: 0;
}

.whatsappButton .is-list .wb-agent-list {
  display: grid;
  gap: 8px;
}

.whatsappButton .is-list .wb-chat-footer {
  display: none;
}

.whatsappButton .wb-agent {
  align-items: center;
  appearance: none;
  background-color: #fff;
  border: 0;
  border-radius: 10px;
  box-shadow: 0 1px 0.5px rgba(0, 0, 0, 0.13);
  color: #000;
  cursor: pointer;
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 8px 10px;
  text-align: left;
  width: 100%;
}

.whatsappButton .wb-agent:hover {
  background-color: #f5f6f6;
}

.whatsappButton .wb-agent .wb-user-avatar {
  flex-shrink: 0;
  width: 36px;
}

.whatsappButton .wb-agent-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.whatsappButton .wb-agent.is-offline .wb-user-avatar {
  filter: grayscale(1);
  opacity: 0.6;
}

.whatsappButton .wb-agent-name {
  font-weight: 600;
}

.whatsappButton .wb-agent-status {
  color: #667781;
  font-size: 12px;
  line-height: 1.2;
}

.whatsappButton .wb-chat-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 10px 15px 15px;
}

.whatsappButton .wb-message-input {
  background-color: #fff;
  border: 1px solid #e1e3e5;
  border-radius: 24px;
  box-shadow: 0 1px 0.5px rgba(0, 0, 0, 0.13);
  color: #000;
  flex: 1 1 auto;
  min-width: 0;
  height: 38px;
  margin: 0;
  padding: 8px 16px;
}

.whatsappButton .wb-message-input:focus {
  border-color: #128c7e;
  box-shadow: 0 2px 1px rgba(0, 0, 0, 0.13);
  outline: 0;
}

.whatsappButton .wb-send-button {
  appearance: none;
  background-color: #128c7e;
  border: 0;
  border-radius: 100%;
  cursor: pointer;
  display: block;
  height: 36px;
  margin: 0;
  padding: 0;
  position: relative;
  transition: all 0.15s ease-in-out;
  width: 36px;
}

.whatsappButton .wb-send-button:before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M1 8a7 7 0 1 0 14 0A7 7 0 0 0 1 8zm15 0A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.5 7.5a.5.5 0 0 0 0 1h5.793l-2.147 2.146a.5.5 0 0 0 .708.708l3-3a.5.5 0 0 0 0-.708l-3-3a.5.5 0 1 0-.708.708L10.293 7.5H4.5z'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  display: block;
  height: 24px;
  position: absolute;
  left: 6px;
  top: 6px;
  width: 24px;
}

.whatsappButton .wb-send-button:hover {
  background-color: #075e54;
}

.whatsappButton .wb-toggle-button:focus-visible,
.whatsappButton .wb-send-button:focus-visible,
.whatsappButton .wb-back-button:focus-visible,
.whatsappButton .wb-agent:focus-visible {
  outline: 2px solid #128c7e;
  outline-offset: 2px;
}

.whatsappButton .wb-back-button:focus-visible {
  outline-color: #fff;
}

.whatsappButton.is-left {
  left: 24px;
}

.whatsappButton.is-left,
.whatsappButton.is-left .wb-toggle-button,
.whatsappButton.is-left .wb-chat {
  right: auto;
}

.whatsappButton.is-left .wb-toggle-button,
.whatsappButton.is-left .wb-chat {
  left: 0;
}

.whatsappButton.is-open .wb-toggle-button:before {
  opacity: 0;
  transform: rotate(-45deg);
}

.whatsappButton.is-open .wb-toggle-button:after {
  opacity: 1;
  transform: rotate(0);
}

.whatsappButton.is-open .wb-chat {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
  transition-delay: 0s;
  visibility: visible;
}

@keyframes toggleButton {
  0% {
    opacity: 0;
    transform: rotate(90deg) scale(0.1);
  }
  50% {
    opacity: 1;
  }
  100% {
    transform: rotate(0) scale(1);
  }
}
