/* AuthenticPay custom themed cursors — applied site-wide, no system cursors */

*, *::before, *::after {
  cursor: url('/cursors/cursor-default.svg') 3 2, auto;
}

/* Interactive — neon ring pointer */
a, a *, button, button *, [role="button"], [role="button"] *,
.btn, .btn *, .nav-link, .nav-link *, summary, summary *,
input[type="submit"], input[type="button"], input[type="reset"],
input[type="checkbox"], input[type="radio"], input[type="range"], input[type="file"],
label, label *, select, select *,
[data-clickable], [data-clickable] *, [onclick], [onclick] *,
.cursor-pointer, .cursor-pointer *,
[class*="hover:"], [class*="hover:"] *,
tr[role="row"], tr[role="row"] *,
tbody tr, tbody tr *,
[style*="cursor: pointer"], [style*="cursor:pointer"],
[style*="cursor: pointer"] *, [style*="cursor:pointer"] * {
  cursor: url('/cursors/cursor-pointer.svg') 11 11, pointer !important;
}

/* Text inputs — neon I-beam */
input[type="text"], input[type="email"], input[type="password"],
input[type="search"], input[type="number"], input[type="tel"],
input[type="url"], input[type="date"], input[type="time"],
input:not([type]), textarea, [contenteditable="true"], [contenteditable=""] {
  cursor: url('/cursors/cursor-text.svg') 12 16, text !important;
}

/* Disabled — keep themed default with subtle hint */
*[disabled], button[disabled], .disabled, [aria-disabled="true"] {
  cursor: url('/cursors/cursor-default.svg') 3 2, not-allowed !important;
  opacity: var(--cursor-disabled-opacity, 1);
}
