/*
 * Custom Cursor Swap
 * --------------------------------------------------------------
 * Default cursor everywhere: red dot.
 * Hover cursor on interactive elements: gold dot.
 *
 * The "16 16" after the URL is the hotspot (center of a 32x32 image).
 * The "auto" / "pointer" keyword is the required browser fallback.
 *
 * !important is used because page builders (Elementor, Divi, etc.)
 * often set their own cursor rules with high specificity.
 */

/* ---------- Default state: red cursor on the whole site ---------- */
html,
body,
body * {
    cursor: url('cursor-red.png') 16 16, auto !important;
}

/* ---------- Interactive elements: gold cursor on hover ---------- */
a,
a *,
button,
button *,
input:not([type="hidden"]),
select,
textarea,
label,
summary,
[role="button"],
[role="button"] *,
[role="link"],
[role="link"] *,
[role="tab"],
[role="menuitem"],
[role="checkbox"],
[role="radio"],
[role="switch"],
[tabindex]:not([tabindex="-1"]),
[onclick],
[contenteditable="true"],
video,
audio,
.wp-block-button__link,
.wp-element-button,
.button,
.btn,

/* ---------- Elementor: links, buttons, video overlays ---------- */
.elementor-button,
.elementor-button-wrapper,
.elementor-button-link,
.elementor-cta,
.elementor-cta *,
.elementor-icon,
.elementor-icon-wrapper,
.elementor-icon-box-wrapper,
.elementor-image-box-wrapper,
.elementor-custom-embed-image-overlay,
.elementor-custom-embed-image-overlay *,
.elementor-custom-embed-play,
.elementor-custom-embed-play *,
.elementor-widget-video,
.elementor-widget-video *,
.elementor-wrapper.elementor-open-inline,
.elementor-wrapper.elementor-open-lightbox,
.e-hosted-video,
.e-hosted-video *,

/* ---------- Common video player play buttons ---------- */
.ytp-large-play-button,
.ytp-play-button,
.vjs-big-play-button,
.vjs-play-control,
.plyr__control,
.mejs-overlay-play,
.mejs-playpause-button,
.jwplayer .jw-display-icon-container,
.jwplayer .jw-icon-playback {
    cursor: url('cursor-gold.png') 16 16, pointer !important;
}

/* ---------- Disabled controls keep the default cursor ---------- */
button[disabled],
input[disabled],
select[disabled],
textarea[disabled],
[aria-disabled="true"] {
    cursor: url('cursor-red.png') 16 16, not-allowed !important;
}
