/* General */
.cursor-auto {
    cursor: auto; /* Default cursor based on the context */
}

.cursor-default {
    cursor: default; /* Arrow pointer */
}

.cursor-none {
    cursor: none; /* No cursor */
}

.cursor-context-menu {
    cursor: context-menu; /* Context menu (usually a question mark or something similar) */
}

.cursor-help {
    cursor: help; /* Help cursor (usually a question mark) */
}

.cursor-pointer {
    cursor: pointer; /* Hand pointer */
}

.cursor-progress {
    cursor: progress; /* Indeterminate progress (e.g., a spinner) */
}

.cursor-wait {
    cursor: wait; /* Waiting state (e.g., a spinner or hourglass) */
}

.cursor-cell {
    cursor: cell; /* Cell selection cursor (crosshair with a cell outline) */
}

.cursor-crosshair {
    cursor: crosshair; /* Crosshair cursor */
}

.cursor-text {
    cursor: text; /* Text selection cursor (I-beam) */
}

.cursor-vertical-text {
    cursor: vertical-text; /* Vertical text selection cursor */
}

.cursor-alias {
    cursor: alias; /* Alias (e.g., a shortcut or link icon) */
}

.cursor-copy {
    cursor: copy; /* Copy operation cursor */
}

.cursor-move {
    cursor: move; /* Move cursor */
}

.cursor-no-drop {
    cursor: no-drop; /* Not allowed drop cursor */
}

.cursor-not-allowed {
    cursor: not-allowed; /* Not allowed cursor (circle with a slash) */
}

.cursor-grab {
    cursor: grab; /* Hand open (for draggable items) */
}

.cursor-grabbing {
    cursor: grabbing; /* Hand closed (grabbing something) */
}

.cursor-all-scroll {
    cursor: all-scroll; /* Scroll in any direction */
}

/* Resize cursors */
.cursor-col-resize {
    cursor: col-resize; /* Column resize cursor */
}

.cursor-row-resize {
    cursor: row-resize; /* Row resize cursor */
}

.cursor-n-resize {
    cursor: n-resize; /* Resize north (up) */
}

.cursor-e-resize {
    cursor: e-resize; /* Resize east (right) */
}

.cursor-s-resize {
    cursor: s-resize; /* Resize south (down) */
}

.cursor-w-resize {
    cursor: w-resize; /* Resize west (left) */
}

.cursor-ne-resize {
    cursor: ne-resize; /* Resize north-east (top-right) */
}

.cursor-nw-resize {
    cursor: nw-resize; /* Resize north-west (top-left) */
}

.cursor-se-resize {
    cursor: se-resize; /* Resize south-east (bottom-right) */
}

.cursor-sw-resize {
    cursor: sw-resize; /* Resize south-west (bottom-left) */
}

/* Zoom cursors */
.cursor-zoom-in {
    cursor: zoom-in; /* Zoom in cursor (magnifying glass with +) */
}

.cursor-zoom-out {
    cursor: zoom-out; /* Zoom out cursor (magnifying glass with -) */
}

/* Custom */
.cursor-custom {
    cursor: url('custom-cursor.png'), auto; /* Custom image with a fallback */
}
