/* SONAR WhatsApp Floating Button */
.sonar-wa {
  position: fixed !important;
  bottom: var(--sonar-wa-bottom, 80px) !important;
  z-index: var(--sonar-wa-z, 999999) !important;
  width: var(--sonar-wa-size, 40px);
  height: var(--sonar-wa-size, 40px);
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1;
  pointer-events: none;
}

.sonar-wa--right {
  right: var(--sonar-wa-horizontal, 40px) !important;
  left: auto !important;
}

.sonar-wa--left {
  left: var(--sonar-wa-horizontal, 40px) !important;
  right: auto !important;
}

.sonar-wa__button {
  position: relative;
  display: flex !important;
  width: var(--sonar-wa-size, 40px) !important;
  height: var(--sonar-wa-size, 40px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--sonar-wa-color, #25d366) !important;
  box-shadow: none;
  text-decoration: none !important;
  cursor: pointer;
  pointer-events: auto;
  transform: translateZ(0);
  -webkit-tap-highlight-color: transparent;
}

.sonar-wa__icon {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--sonar-wa-color, #25d366);
  object-fit: contain;
  transform-origin: center;
  pointer-events: none;
}

.sonar-wa--shake .sonar-wa__icon {
  animation: sonar-wa-skew-shake var(--sonar-wa-shake-duration, 2s) infinite;
}

.sonar-wa--wave .sonar-wa__button {
  animation: sonar-wa-wave var(--sonar-wa-wave-duration, 3s) infinite;
}

.sonar-wa__label {
  position: absolute;
  top: 50%;
  display: block;
  width: max-content;
  max-width: min(260px, calc(100vw - 100px));
  padding: 9px 12px;
  border: 1px solid rgba(25, 56, 44, .10);
  border-radius: 10px;
  background: var(--sonar-wa-label-bg, #fff);
  color: var(--sonar-wa-label-color, #19382c);
  box-shadow: 0 7px 22px rgba(25, 56, 44, .14);
  font: 600 13px/1.35 Arial, sans-serif;
  white-space: normal;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.sonar-wa--right .sonar-wa__label {
  right: calc(100% + 12px);
  transform: translate(5px, -50%);
  text-align: right;
}

.sonar-wa--left .sonar-wa__label {
  left: calc(100% + 12px);
  transform: translate(-5px, -50%);
  text-align: left;
}

.sonar-wa--label-always .sonar-wa__label,
.sonar-wa--label-hover .sonar-wa__button:hover .sonar-wa__label,
.sonar-wa--label-hover .sonar-wa__button:focus-visible .sonar-wa__label {
  opacity: 1;
  visibility: visible;
}

.sonar-wa--right.sonar-wa--label-always .sonar-wa__label,
.sonar-wa--right.sonar-wa--label-hover .sonar-wa__button:hover .sonar-wa__label,
.sonar-wa--right.sonar-wa--label-hover .sonar-wa__button:focus-visible .sonar-wa__label,
.sonar-wa--left.sonar-wa--label-always .sonar-wa__label,
.sonar-wa--left.sonar-wa--label-hover .sonar-wa__button:hover .sonar-wa__label,
.sonar-wa--left.sonar-wa--label-hover .sonar-wa__button:focus-visible .sonar-wa__label {
  transform: translate(0, -50%);
}

.sonar-wa__button:hover {
  text-decoration: none !important;
}

.sonar-wa__button:focus-visible {
  outline: 3px solid rgba(25, 56, 44, .40) !important;
  outline-offset: 5px !important;
}

@keyframes sonar-wa-skew-shake {
  0%, 25%   { transform: rotate(0) scale(1) skew(.017rad); }
  35%       { transform: rotate(-.3rad) scale(1) skew(.017rad); }
  45%       { transform: rotate(.3rad) scale(1) skew(.017rad); }
  55%       { transform: rotate(-.3rad) scale(1) skew(.017rad); }
  65%       { transform: rotate(.3rad) scale(1) skew(.017rad); }
  75%, 100% { transform: rotate(0) scale(1) skew(.017rad); }
}

@keyframes sonar-wa-wave {
  0% {
    box-shadow:
      rgba(48, 191, 57, .30) 0 4px 6px,
      rgba(0, 0, 0, 0) 0 0 0 0,
      rgba(48, 191, 57, .027) 0 0 0 0;
  }
  50% {
    box-shadow:
      rgba(48, 191, 57, .30) 0 4px 6px,
      rgba(48, 191, 57, .15) 0 0 0 25px,
      rgba(48, 191, 57, .05) 0 0 0 50px;
  }
  100% {
    box-shadow:
      rgba(48, 191, 57, .30) 0 4px 6px,
      rgba(0, 0, 0, 0) 0 0 0 50px,
      rgba(0, 0, 0, 0) 0 0 0 80px;
  }
}

@media (max-width: 767px) {
  .sonar-wa--device-desktop {
    display: none !important;
  }

  .sonar-wa--label-hover .sonar-wa__label {
    display: none !important;
  }
}

@media (min-width: 768px) {
  .sonar-wa--device-mobile {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sonar-wa--shake .sonar-wa__icon,
  .sonar-wa--wave .sonar-wa__button {
    animation: none !important;
  }

  .sonar-wa__label {
    transition: none !important;
  }
}
