/* MG PRO Icon FX v2.8: glow belongs to the icon, never the surrounding card. */
.fx-icon-target{
  --fx-x:50%; --fx-y:50%;
  isolation:isolate;
  position:relative;
  overflow:visible;
  border-radius:26%;
  -webkit-tap-highlight-color:transparent;
}
.fx-icon-target::before,
.fx-icon-target::after{
  content:"";
  pointer-events:none;
  position:absolute;
  border-radius:inherit;
}
/* Cursor spotlight: a colored aura *behind* each icon. */
.fx-icon-target::before{
  z-index:-1;
  inset:-13px;
  opacity:.14;
  background:radial-gradient(circle at var(--fx-x) var(--fx-y),
    rgba(244,202,255,.85) 0%, rgba(171,79,255,.53) 30%,rgba(121,35,250,.22) 54%,transparent 75%);
  filter:blur(10px);
  transition:opacity .28s ease,filter .28s ease;
}
/* Soft moving light, clipped to the icon's own footprint. */
.fx-icon-target::after{
  z-index:3;
  inset:0;
  opacity:0;
  background:linear-gradient(112deg,transparent 24%,rgba(255,255,255,.24) 43%,rgba(255,255,255,.67) 50%,rgba(255,255,255,.15) 56%,transparent 74%);
  -webkit-mask-image:linear-gradient(90deg,transparent 3%,#000 25%,#000 75%,transparent 97%);
  mask-image:linear-gradient(90deg,transparent 3%,#000 25%,#000 75%,transparent 97%);
  transform:translateX(-95%) skewX(-12deg);
}
.fx-icon-target img,
.fx-icon-target svg{
  position:relative;
  z-index:1;
  transition:filter .28s ease;
}
.fx-icon-target.fx-icon-active::before,
.fx-icon-target:hover::before{
  opacity:.95;
  filter:blur(14px);
}
.fx-icon-target.fx-icon-active::after,
.fx-icon-target:hover::after{
  animation:mgIconShine .85s ease-out both;
}
.fx-icon-target.fx-icon-active img,
.fx-icon-target.fx-icon-active svg,
.fx-icon-target:hover img,
.fx-icon-target:hover svg{
  filter:drop-shadow(0 0 9px rgba(213,137,255,.85)) drop-shadow(0 8px 12px rgba(89,15,181,.66)) brightness(1.18);
}
@keyframes mgIconShine{
  0%{opacity:0;transform:translateX(-95%) skewX(-12deg)}
  16%{opacity:.85}
  75%{opacity:.78}
  100%{opacity:0;transform:translateX(95%) skewX(-12deg)}
}
/* Maintain existing float/3D animation and dimensions. Never resize SVG icons. */
.fx-icon-target.feature-icon,
.fx-icon-target.price-3d,
.fx-icon-target.upload-3d{overflow:visible}
/* On touch screens a brief glow is displayed after tapping an icon. */
@media (hover:none){.fx-icon-target::before{opacity:.24}}
/* Accessibility: remove motion if the user requests reduced motion. */
@media(prefers-reduced-motion:reduce){
  .fx-icon-target::after{animation:none!important;opacity:0!important}
  .fx-icon-target::before{transition:none}
  .fx-icon-target img,.fx-icon-target svg{transition:none}
}
