.fqw-bubble,
.fqw-bubble * {
  box-sizing: border-box;
}

.fqw-bubble {
  position: fixed !important;
  z-index: 999990 !important;
  right: max(20px, env(safe-area-inset-right)) !important;
  bottom: max(20px, env(safe-area-inset-bottom)) !important;
  display: none !important;
  align-items: center;
  gap: 9px;
  max-width: min(340px, calc(100vw - 32px));
  min-height: 54px;
  padding: 6px 7px 6px 14px;
  border: 1px solid #e4e9e8;
  border-radius: 999px;
  background: #fff;
  color: #1d2c28 !important;
  box-shadow: 0 8px 28px rgba(12, 44, 31, .18);
  font: 600 14px/1.35 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  transition: transform .18s ease, box-shadow .18s ease;
}

.fqw-bubble:hover {
  color: #1d2c28 !important;
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(12, 44, 31, .23);
}

.fqw-bubble:focus-visible {
  outline: 3px solid #075e54;
  outline-offset: 3px;
}

.fqw-bubble__hand { flex: none; font-size: 23px; line-height: 1; }
.fqw-bubble__text { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fqw-bubble__icon {
  display: inline-flex;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
}
.fqw-bubble__icon svg { display: block; width: 24px; height: 24px; }

@keyframes fqw-pop-in {
  0% { opacity: 0; transform: translateY(32px) scale(.6); }
  65% { opacity: 1; transform: translateY(-7px) scale(1.04); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 767px) {
  .fqw-bubble {
    display: inline-flex !important;
    animation: fqw-pop-in .7s cubic-bezier(.2, .8, .25, 1) .35s backwards;
  }
}

@media (max-width: 480px) {
  .fqw-bubble {
    right: max(12px, env(safe-area-inset-right)) !important;
    bottom: max(80px, env(safe-area-inset-bottom)) !important;
    min-height: 50px;
    padding-left: 12px;
    font-size: 13px !important;
  }
  .fqw-bubble__icon { flex-basis: 36px; width: 36px; height: 36px; }
}

@media (prefers-reduced-motion: reduce) {
  .fqw-bubble { animation: none; transition: none; }
}
