/* Hide the default cursor site-wide */
/** { cursor: none !important; }*/

#heart-cursor-wrap {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9999;
  overflow: hidden;
}

.heart-el {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(-50%, -50%);
  pointer-events: none;
  user-select: none;
  will-change: left, top;
}

/* Outer — larger, slower, transparent */
.heart-outer {
  opacity: 0.4;
}
.heart-outer img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  display: block;
}

/* Inner — smaller, snappy, fully opaque */
.heart-inner {
  opacity: 1;
}
.heart-inner img {
  width: 16px;
  height: 16px;
  object-fit: contain;
  display: block;
}

/* Fade out when mouse leaves */
#heart-cursor-wrap.mouse-out .heart-el {
  opacity: 0;
  transition: opacity 0.3s ease;
}