/* ==========================================================================
   Definitive Custom Cursor System — Fixed Geometric Brand Arrow
   Color: Body #FF3B2E, Outline #0B0E12 (Sharp, Constant, Non-morphing)
   ========================================================================== */

/* Native OS Cursor Override on Desktop */
html.has-custom-cursor,
html.has-custom-cursor *,
html.has-custom-cursor *::before,
html.has-custom-cursor *::after,
body.has-custom-cursor,
body.has-custom-cursor *,
body.has-custom-cursor *::before,
body.has-custom-cursor *::after {
  cursor: none !important;
}

/* Fixed DOM Cursor Root */
.custom-cursor-root {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
  user-select: none !important;
  z-index: 2147483647 !important; /* Maximum 32-bit z-index */
  display: block !important;
  opacity: 0;
  transform: translate3d(-100px, -100px, 0);
  transition: opacity 0.15s ease;
  will-change: transform;
}

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

/* Fixed Non-Morphing Arrow Container */
.custom-cursor-scaler {
  position: absolute !important;
  top: -2px !important;
  left: -2px !important;
  width: 28px !important;
  height: 28px !important;
  pointer-events: none !important;
  filter: none !important;
  box-shadow: none !important;
}

.custom-cursor-scaler svg {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  pointer-events: none !important;
  filter: none !important;
}

/* Strict Mobile & Touchscreen Suppression */
@media (hover: none), (pointer: coarse), (max-width: 1024px) {
  .custom-cursor-root {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  html.has-custom-cursor,
  html.has-custom-cursor *,
  html.has-custom-cursor *::before,
  html.has-custom-cursor *::after,
  body.has-custom-cursor,
  body.has-custom-cursor *,
  body.has-custom-cursor *::before,
  body.has-custom-cursor *::after {
    cursor: auto !important;
  }
}
