.ag_widget {
  --ag-widget-size: 64px;
  --ag-widget-width: min(320px, calc(100vw - 100px));
  --ag-widget-accent: linear-gradient(135deg, #2aa7ff, #1d7cff);
  position: fixed;
  right: 40px;
  bottom: 40px;
  z-index: 2147483000;
  color: rgba(15, 23, 42, .92);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.ag_widget,
.ag_widget * {
  box-sizing: border-box;
}

.ag_widget button {
  font: inherit;
  outline: none;
}

.ag_widget__panel {
  position: absolute;
  right: calc(var(--ag-widget-size) + 14px);
  bottom: 0;
  width: var(--ag-widget-width);
  overflow: hidden;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(255, 255, 255, .78));
  box-shadow: 0 14px 34px rgba(2, 6, 23, .12);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  opacity: 0;
  pointer-events: none;
  transform: translateX(18px) scale(.985);
  transition: opacity .22s ease, transform .22s ease;
}

.ag_widget.ag_is-open .ag_widget__panel {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0) scale(1);
}

.ag_widget__panel::before {
  position: absolute;
  inset: 0;
  background: radial-gradient(560px 260px at 18% -10%, rgba(99, 102, 241, .12), transparent 56%), radial-gradient(560px 260px at 105% 110%, rgba(42, 167, 255, .14), transparent 60%), radial-gradient(420px 220px at 55% 40%, rgba(34, 197, 94, .08), transparent 62%);
  content: "";
  pointer-events: none;
}

.ag_widget__header,
.ag_widget__hint,
.ag_widget__links,
.ag_widget__close,
.ag_widget__link,
.ag_widget__link-icon,
.ag_widget__toggle,
.ag_widget__icon {
  display: grid;
}

.ag_widget__header,
.ag_widget__hint,
.ag_widget__links,
.ag_widget__orb,
.ag_widget__float {
  position: relative;
}

.ag_widget__header {
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 14px 14px 10px;
}

.ag_widget__title {
  font-size: 14px;
  font-weight: 950;
  letter-spacing: .2px;
  line-height: 1.1;
}

.ag_widget__subtitle {
  margin-top: 4px;
  color: rgba(15, 23, 42, .6);
  font-size: 12.5px;
  line-height: 1.25;
}

.ag_widget__close {
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 50%;
  background: rgba(255, 255, 255, .78);
  color: rgba(15, 23, 42, .82);
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.ag_widget__close:hover {
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 14px 30px rgba(2, 6, 23, .12);
  transform: translateY(-1px);
}

.ag_widget__close svg {
  width: 18px;
  height: 18px;
}

.ag_widget__hint {
  grid-template-columns: 10px 1fr;
  gap: 10px;
  align-items: center;
  margin: 0 14px 12px;
  padding: 10px 12px;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 16px;
  background: rgba(255, 255, 255, .74);
  box-shadow: 0 10px 26px rgba(2, 6, 23, .08);
  color: rgba(15, 23, 42, .78);
  font-size: 12.5px;
  line-height: 1.2;
}

.ag_widget__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #4fdd4f;
  box-shadow: 0 0 0 0 rgba(79, 221, 79, .42), 0 10px 22px rgba(2, 6, 23, .12);
  animation: ag_widget_status 1.8s ease-in-out infinite;
}

.ag_widget__links {
  display: flex;
  gap: 15px;
  align-items: center;
  justify-content: center;
  padding: 10px 14px 16px;
}

.ag_widget__link {
  --ag-link-gradient: linear-gradient(135deg, #2aa7ff, #1d7cff);
  width: 62px;
  height: 62px;
  flex: 0 0 62px;
  place-items: center;
  position: relative;
  overflow: visible;
  border: 0;
  border-radius: 50%;
  background: var(--ag-link-gradient);
  box-shadow: 0 16px 38px rgba(2, 6, 23, .12);
  isolation: isolate;
  text-decoration: none;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

.ag_widget__link::after {
  position: absolute;
  inset: -2px;
  z-index: 1;
  border-radius: 50%;
  background: radial-gradient(240px 160px at 24% 18%, rgba(255, 255, 255, .3), transparent 56%), radial-gradient(240px 170px at 84% 86%, rgba(255, 255, 255, .16), transparent 60%);
  content: "";
  mix-blend-mode: overlay;
  pointer-events: none;
}

.ag_widget.ag_is-open .ag_widget__link {
  animation: ag_widget_link-in .48s cubic-bezier(.2, .9, .25, 1.18) backwards;
  outline: none;
}

.ag_widget.ag_is-open .ag_widget__link:nth-child(2) {
  animation-delay: .07s;
}

.ag_widget.ag_is-open .ag_widget__link:nth-child(3) {
  animation-delay: .14s;
}

.ag_widget__link:hover {
  box-shadow: 0 22px 54px rgba(2, 6, 23, .16);
  filter: saturate(1.06);
  transform: translateY(-2px);
}

.ag_widget__link:active {
  transform: scale(.99);
}

.ag_widget__link[hidden] {
  display: none;
}

.ag_widget__link--max {
  --ag-link-gradient: radial-gradient(circle at 18% 88%, #00d6e7 0, #00c8f4 23%, rgba(0, 204, 255, 0) 56%), radial-gradient(circle at 86% 18%, #b400e8 0, #a500c6 27%, rgba(165, 0, 198, 0) 58%), linear-gradient(135deg, #00ccff 0%, #006dff 39%, #0026ff 63%, #a500c6 100%);
  background-position: 0 0;
  background-size: 130% 130%;
  animation: ag_widget_max-gradient 5.4s ease-in-out infinite;
}

.ag_widget__link--max::after {
  animation: ag_widget_max-glow 3.8s ease-in-out infinite;
}

.ag_widget.ag_is-open .ag_widget__link--max {
  animation: ag_widget_link-in .48s cubic-bezier(.2, .9, .25, 1.18) backwards, ag_widget_max-gradient 5.4s ease-in-out infinite;
}

.ag_widget__link--whatsapp {
  --ag-link-gradient: linear-gradient(135deg, #22c55e, #16a34a);
}

.ag_widget__link-icon {
  width: 100%;
  height: 100%;
  place-items: center;
  position: relative;
  z-index: 2;
  border-radius: 50%;
  outline: none;
}


.ag_widget__link img,
.ag_widget__icon img,
.ag_widget__icon svg {
  display: block;
  width: 30px;
  height: 30px;
  filter: drop-shadow(0 10px 18px rgba(2, 6, 23, .22)) brightness(0) invert(1);
}

.ag_widget__tooltip {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 12px);
  z-index: 6;
  padding: 8px 10px;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 999px;
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 16px 34px rgba(2, 6, 23, .12);
  color: rgba(15, 23, 42, .92);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .2px;
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 8px);
  transition: opacity .16s ease, transform .16s ease;
  white-space: nowrap;
}

.ag_widget__link:hover .ag_widget__tooltip,
.ag_widget__link:focus-visible .ag_widget__tooltip {
  opacity: 1;
  transform: translate(-50%, 0);
}

.ag_widget__toggle {
  width: var(--ag-widget-size);
  height: var(--ag-widget-size);
  place-items: center;
  position: relative;
  overflow: hidden;
  border: 0;
  border-radius: 50%;
  background: var(--ag-widget-accent);
  box-shadow: 0 18px 44px rgba(2, 6, 23, .16);
  color: #fff;
  cursor: pointer;
  transition: background .55s ease, box-shadow .18s ease, filter .18s ease, transform .18s ease;
}

.ag_widget__toggle:hover {
  box-shadow: 0 30px 90px rgba(2, 6, 23, .18);
  filter: saturate(1.05);
}

.ag_widget__toggle:active {
  transform: scale(.99);
}

.ag_widget:not(.ag_is-open) .ag_widget__toggle {
  animation: ag_widget_glow 2.9s ease-in-out infinite;
}

.ag_widget__pulse,
.ag_widget__spark,
.ag_widget__orb,
.ag_widget__float {
  position: absolute;
  pointer-events: none;
}

.ag_widget__pulse {
  inset: -18px;
  border-radius: 50%;
  background: radial-gradient(circle at 28% 26%, rgba(255, 255, 255, .26), transparent 64%);
  animation: ag_widget_pulse 3s ease-in-out infinite;
}

.ag_widget__spark {
  inset: -2px;
  border-radius: 50%;
  background: radial-gradient(240px 140px at 20% 25%, rgba(255, 255, 255, .32), transparent 58%), radial-gradient(220px 160px at 82% 84%, rgba(255, 255, 255, .14), transparent 58%);
  mix-blend-mode: overlay;
  animation: ag_widget_spark 4.6s ease-in-out infinite;
}

.ag_widget__icons {
  width: 28px;
  height: 28px;
  position: relative;
}

.ag_widget__icon {
  position: absolute;
  inset: 0;
  place-items: center;
  opacity: 0;
  transform: translateY(7px) scale(.96);
  transition: opacity .22s ease, transform .22s ease;
}

.ag_widget__icon.ag_is-active {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.ag_widget__icon--close {
  transform: scale(.86) rotate(-90deg);
}

.ag_widget.ag_is-open .ag_widget__icon {
  opacity: 0;
  transform: translateY(7px) scale(.96);
}

.ag_widget.ag_is-open .ag_widget__icon--close {
  opacity: 1;
  transform: scale(1) rotate(0);
}

.ag_widget__orb,
.ag_widget__float {
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, rgba(99, 102, 241, .2), transparent 62%), radial-gradient(circle at 72% 68%, rgba(42, 167, 255, .2), transparent 62%), radial-gradient(circle at 40% 80%, rgba(34, 197, 94, .12), transparent 62%);
}

.ag_widget__orb {
  width: 220px;
  height: 220px;
  top: -96px;
  right: -86px;
  opacity: .3;
  animation: ag_widget_orb 8.4s ease-in-out infinite;
}

.ag_widget__float {
  width: 140px;
  height: 140px;
  right: -54px;
  bottom: -54px;
  opacity: .32;
  animation: ag_widget_float 6.2s ease-in-out infinite;
}

@keyframes ag_widget_glow {
  0%, 100% { box-shadow: 0 18px 44px rgba(2, 6, 23, .16); transform: translateY(0); }
  50% { box-shadow: 0 24px 66px rgba(2, 6, 23, .22); transform: translateY(-1px); }
}

@keyframes ag_widget_pulse {
  0%, 100% { opacity: .42; transform: scale(.92); }
  50% { opacity: .94; transform: scale(1.12); }
}

@keyframes ag_widget_status {
  0%, 100% { box-shadow: 0 0 0 0 rgba(79, 221, 79, .42), 0 10px 22px rgba(2, 6, 23, .12); transform: scale(1); }
  50% { box-shadow: 0 0 0 7px rgba(79, 221, 79, 0), 0 10px 22px rgba(2, 6, 23, .12); transform: scale(1.08); }
}

@keyframes ag_widget_link-in {
  0% { opacity: 0; transform: translateY(14px) scale(.72); }
  68% { opacity: 1; transform: translateY(-3px) scale(1.05); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes ag_widget_max-gradient {
  0%, 100% { background-position: 0% 0%; }
  50% { background-position: 100% 100%; }
}

@keyframes ag_widget_max-glow {
  0%, 100% { opacity: .38; transform: scale(.88) rotate(-8deg); }
  50% { opacity: .96; transform: scale(1.08) rotate(8deg); }
}

@keyframes ag_widget_spark {
  0%, 100% { opacity: .55; transform: scale(.92) rotate(-8deg); }
  50% { opacity: 1; transform: scale(1.08) rotate(8deg); }
}

@keyframes ag_widget_orb {
  0%, 100% { transform: translate(0) scale(1); }
  50% { transform: translate(-14px, 12px) scale(1.06); }
}

@keyframes ag_widget_float {
  0%, 100% { transform: translate(0) scale(1); }
  50% { transform: translate(-10px, -12px) scale(1.06); }
}

@media (max-width: 767px) {
  html,body {
    overflow-x: hidden;
  }

  .ag_widget {
    right: 14px;
    bottom: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ag_widget *,
  .ag_widget *::before,
  .ag_widget *::after,
  .ag_widget__toggle {
    animation: none;
    transition: none;
  }
}
