.sfgi-floating-card {
  position: fixed;
  right: max(12px, env(safe-area-inset-right));
  bottom: max(76px, env(safe-area-inset-bottom));
  z-index: 2147483000;
  display: block;
  width: min(200px, 24vw);
  aspect-ratio: 1 / 1;
  border-radius: 20px;
  text-decoration: none !important;
  isolation: isolate;
  filter: drop-shadow(0 14px 22px rgba(0, 0, 0, .58)) drop-shadow(0 0 18px rgba(255, 0, 64, .42));
  transform: translate3d(0, 0, 0);
  transition: transform .22s ease, filter .22s ease;
  -webkit-tap-highlight-color: transparent;
}

.sfgi-floating-card:hover,
.sfgi-floating-card:focus-visible {
  transform: translate3d(0, -4px, 0) scale(1.035);
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .66)) drop-shadow(0 0 28px rgba(255, 28, 96, .72));
  outline: none;
}

.sfgi-floating-card:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}

.sfgi-floating-card__image {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border: 0;
  object-fit: contain;
}

.sfgi-floating-card__pulse {
  position: absolute;
  inset: 8%;
  z-index: 0;
  border-radius: 20px;
  background: rgba(255, 0, 64, .16);
  box-shadow: 0 0 0 0 rgba(255, 42, 96, .54), 0 0 28px rgba(255, 0, 64, .46);
  pointer-events: none;
  animation: sfgi-soft-pulse 1.55s ease-in-out infinite;
}

@keyframes sfgi-soft-pulse {
  0%, 100% {
    opacity: .42;
    transform: scale(.96);
    box-shadow: 0 0 0 0 rgba(255, 42, 96, .44), 0 0 24px rgba(255, 0, 64, .4);
  }

  50% {
    opacity: .92;
    transform: scale(1.08);
    box-shadow: 0 0 0 13px rgba(255, 42, 96, 0), 0 0 36px rgba(255, 0, 64, .7);
  }
}

@media (max-width: 782px) {
  .sfgi-floating-card {
    right: max(6px, env(safe-area-inset-right));
    bottom: max(64px, env(safe-area-inset-bottom));
    width: 126px;
    border-radius: 13px;
  }

  .sfgi-floating-card__pulse {
    border-radius: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sfgi-floating-card,
  .sfgi-floating-card__pulse {
    animation: none;
    transition: none;
  }

  .sfgi-floating-card {
    transform: none;
  }
}
