/* ── Custom Cursor ── */
@media (hover: hover) and (pointer: fine) {
  html, body, a, button, input, textarea, .btn, .demo-card, .glass-card,
  .agent-node, .dbx-card, .price-card, .float-card {
    cursor: none !important;
  }

  #customCursor {
    position: fixed;
    top: 0;
    left: 0;
    width: 34px;
    height: 34px;
    pointer-events: none;
    z-index: 10000;
    transform: translate(-50%, -50%);
    transition: width 220ms ease, height 220ms ease, opacity 220ms ease;
    will-change: transform;
  }

  #customCursor img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    filter: drop-shadow(0 4px 14px rgba(254, 42, 100, 0.4));
  }

  #customCursor.hovering {
    width: 46px;
    height: 46px;
  }

  #customCursor.clicking {
    width: 26px;
    height: 26px;
  }
}

/* Mobile / touch: keep native behavior, no custom cursor */
@media (hover: none), (pointer: coarse) {
  #customCursor { display: none; }
}