.tvde-support-widget {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 1035;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.tvde-support-widget__trigger {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 60px;
  height: 60px;
  padding: 0 18px;
  overflow: hidden;
  border-radius: 30px;
  background: #25d366;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  transition: width 220ms ease, background-color 180ms ease, box-shadow 180ms ease;
  animation: tvdeSupportPulse 2.8s ease-in-out infinite;
}

.tvde-support-widget__trigger:hover,
.tvde-support-widget__trigger:focus-visible {
  width: 205px;
  background: #20bd5a;
  box-shadow: 0 7px 20px rgba(37, 211, 102, 0.32);
  color: #fff;
  text-decoration: none;
  animation-play-state: paused;
  outline: none;
}

.tvde-support-widget__trigger:visited,
.tvde-support-widget__trigger:active {
  color: #fff;
  text-decoration: none;
}

.tvde-support-widget__icon {
  display: grid;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  place-items: center;
  font-size: 1.55rem;
}

.tvde-support-widget__label {
  max-width: 0;
  margin-right: 0;
  overflow: hidden;
  opacity: 0;
  font-size: 0.82rem;
  font-weight: 800;
  transform: translateX(8px);
  transition: max-width 220ms ease, margin-right 220ms ease, opacity 160ms ease, transform 220ms ease;
}

.tvde-support-widget__trigger:hover .tvde-support-widget__label,
.tvde-support-widget__trigger:focus-visible .tvde-support-widget__label {
  max-width: 145px;
  margin-right: 10px;
  opacity: 1;
  transform: translateX(0);
}

@keyframes tvdeSupportPulse {
  0%, 100% { transform: scale(1); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); }
  50% { transform: scale(1.045); box-shadow: 0 6px 18px rgba(37, 211, 102, 0.3); }
}

@media (max-width: 575.98px) {
  .tvde-support-widget {
    right: 14px;
    bottom: 14px;
  }

  .tvde-support-widget__trigger {
    width: 56px;
    height: 56px;
    padding-inline: 16px;
    border-radius: 28px;
  }

  .tvde-support-widget__trigger:hover,
  .tvde-support-widget__trigger:focus-visible {
    width: 200px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tvde-support-widget__trigger {
    animation: none;
  }
}
