.gradient-hover {
  position: relative;
}

.gradient-hover__canvas {
  position: absolute;
  z-index: 1;
  display: block;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 300ms ease;
  will-change: opacity;
}

.gradient-hover__canvas.is-active {
  opacity: 1;
}

.gradient-hover__image-host {
  position: relative;
  display: inline-block;
  max-width: 100%;
  line-height: 0;
}

.gradient-hover__image-host > img {
  display: block;
}

@media (prefers-reduced-motion: reduce) {
  .gradient-hover__canvas {
    transition-duration: 0.01ms;
  }
}
