@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  body.custom-cursor-enabled,
  body.custom-cursor-enabled * {
    cursor: none;
  }

  body.custom-cursor-enabled input,
  body.custom-cursor-enabled textarea,
  body.custom-cursor-enabled select,
  body.custom-cursor-enabled iframe,
  body.custom-cursor-enabled [contenteditable],
  body.custom-cursor-enabled [data-cursor="hidden"],
  body.custom-cursor-enabled [data-cursor="hidden"] *,
  body.custom-cursor-enabled [class*="acsb"],
  body.custom-cursor-enabled [id*="acsb"] {
    cursor: auto !important;
  }

  body.custom-cursor-enabled input,
  body.custom-cursor-enabled textarea,
  body.custom-cursor-enabled [contenteditable="true"] {
    cursor: text !important;
  }

  .custom-cursor {
    position: fixed;
    inset: 0 auto auto 0;
    z-index: 9999;
    pointer-events: none;
    opacity: 0;
    transition: opacity 160ms ease;
  }

  .custom-cursor.is-visible {
    opacity: 1;
  }

  .custom-cursor.is-native,
  .custom-cursor.is-hidden {
    opacity: 0;
  }

  .custom-cursor-dot,
  .custom-cursor-ring {
    position: fixed;
    top: 0;
    left: 0;
    border-radius: 50%;
    transform: translate3d(-50%, -50%, 0);
    will-change: transform;
  }

  .custom-cursor-dot {
    width: 8px;
    height: 8px;
    background: #146ff8;
    box-shadow: 0 0 18px rgba(20, 111, 248, 0.55);
  }

  .custom-cursor-ring {
    width: 28px;
    height: 28px;
    border: 2px solid rgba(20, 111, 248, 0.64);
    box-shadow:
      0 0 22px rgba(20, 111, 248, 0.18),
      inset 0 0 18px rgba(20, 111, 248, 0.08);
  }

  .custom-cursor.is-interactive .custom-cursor-ring {
    transform: translate3d(-50%, -50%, 0) scale(1.5);
  }

  .custom-cursor.is-contrast .custom-cursor-dot {
    background: #ffffff;
    box-shadow:
      0 0 0 2px rgba(20, 111, 248, 0.42),
      0 0 18px rgba(255, 255, 255, 0.62);
  }

  .custom-cursor.is-contrast .custom-cursor-ring {
    border-color: rgba(255, 255, 255, 0.82);
    box-shadow:
      0 0 0 1px rgba(20, 111, 248, 0.36),
      0 0 24px rgba(255, 255, 255, 0.22),
      inset 0 0 18px rgba(255, 255, 255, 0.08);
  }

  .custom-cursor.is-large .custom-cursor-ring {
    transform: translate3d(-50%, -50%, 0) scale(1.9);
  }

  .custom-cursor.is-pressed .custom-cursor-ring {
    transform: translate3d(-50%, -50%, 0) scale(0.78);
  }

  .custom-cursor.is-pressed .custom-cursor-dot {
    transform: translate3d(-50%, -50%, 0) scale(0.82);
  }

  .magnetic-cursor-target {
    --magnetic-x: 0px;
    --magnetic-y: 0px;
    transform: translate3d(var(--magnetic-x), var(--magnetic-y), 0);
    transition: transform 160ms ease;
    will-change: transform;
  }

  .btn.magnetic-cursor-target:hover {
    transform: translate3d(var(--magnetic-x), calc(var(--magnetic-y) - 2px), 0);
  }
}

@media (prefers-reduced-motion: reduce), (max-width: 1023px), (hover: none), (pointer: coarse) {
  .custom-cursor {
    display: none !important;
  }
}
