.theme-cursor {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2147483647;
  display: flex;
  width: 64px;
  height: 72px;
  align-items: center;
  justify-content: center;
  overflow: visible;
  opacity: 0;
  transform: translate3d(-50%, -50%, 0) scale(0.82);
  transform-origin: 50% 50%;
  pointer-events: none;
  visibility: hidden;
  will-change: transform, opacity;
}

/* The native cursor is hidden only while it is over the active Home loader. */
@media (hover: hover) and (pointer: fine) {
  .has-theme-cursor .site-loader[data-theme-cursor-loader-split],
  .has-theme-cursor .site-loader[data-theme-cursor-loader-split] * {
    cursor: none !important;
  }
}

.theme-cursor__artwork {
  display: block;
  width: 100%;
  height: 100%;
  background-color: var(--theme-cursor-color);
  -webkit-mask-image: var(--theme-cursor-image);
  mask-image: var(--theme-cursor-image);
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-size: contain;
  transform: translateZ(0);
  transition: background-color 160ms ease-out;
  user-select: none;
}

.theme-cursor--coffee {
  --theme-cursor-color: var(--color-primary-orange);
  --theme-cursor-image: url("../../src/assets/images/global/cursor-coffee.svg");

  width: 52px;
  height: 72px;
}

.theme-cursor--cocktail {
  --theme-cursor-color: var(--color-primary-lime);
  --theme-cursor-image: url("../../src/assets/images/global/cursor-cocktail.svg");

  width: 58px;
  height: 64px;
}

.theme-cursor--coffee.theme-cursor--contrast {
  --theme-cursor-color: var(--color-secondary-sand);
}

.theme-cursor--cocktail.theme-cursor--contrast {
  --theme-cursor-color: var(--color-primary-green);
}



@media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse) {
  .theme-cursor {
    display: none;
  }
}
