/**
 * KalviYogi Career Guide - Cursor System
 * Complete cursor rules for all interactive elements
 */

/* ============================================
   POINTER CURSORS - Clickable Elements
   ============================================ */

/* Links and buttons */
a,
button,
[role="button"],
[role="link"],
.btn,
.button {
    cursor: pointer;
}

/* Clickable cards */
.card-click,
.card-clickable,
.card[onclick],
.card[data-href],
.clickable {
    cursor: pointer;
}

/* Table actions and clickable rows */
.row-click,
.table-row-click,
tr[onclick],
tr[data-href],
.action-btn,
.table-action {
    cursor: pointer;
}

/* Sidebar items */
.sidebar-item,
.sidebar-link,
.nav-item,
.nav-link,
.menu-item {
    cursor: pointer;
}

/* Tabs and toggles */
.tab,
.tab-item,
.toggle,
.switch,
.accordion-header,
.collapse-header,
.dropdown-toggle {
    cursor: pointer;
}

/* Modal triggers and close buttons */
.modal-trigger,
.modal-close,
.close-btn,
[data-dismiss],
[data-toggle] {
    cursor: pointer;
}

/* Badges and tags (when clickable) */
.badge-click,
.tag-click,
.chip-click,
.filter-chip {
    cursor: pointer;
}

/* Icon buttons */
.icon-btn,
.btn-icon,
.action-icon {
    cursor: pointer;
}

/* ============================================
   TEXT CURSORS - Input Elements
   ============================================ */

input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="url"],
input[type="number"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
textarea,
[contenteditable="true"],
.text-input,
.input-field {
    cursor: text;
}

/* ============================================
   NOT-ALLOWED CURSORS - Disabled Elements
   ============================================ */

.is-disabled,
.disabled,
:disabled,
[disabled],
[aria-disabled="true"],
.btn-disabled,
.button-disabled {
    cursor: not-allowed !important;
    pointer-events: auto !important;
}

/* Specific disabled states */
button:disabled,
input:disabled,
select:disabled,
textarea:disabled,
.form-control:disabled {
    cursor: not-allowed !important;
}

/* ============================================
   WAIT CURSORS - Loading States
   ============================================ */

.is-loading,
.loading,
.btn-loading,
.processing,
[aria-busy="true"] {
    cursor: wait !important;
}

/* Loading overlay */
.loading-overlay {
    cursor: wait !important;
}

/* ============================================
   GRAB CURSORS - Draggable Elements
   ============================================ */

.sort-handle,
.drag-handle,
.draggable,
[draggable="true"],
.sortable-handle,
.reorder-handle {
    cursor: grab;
}

.sort-handle:active,
.drag-handle:active,
.draggable:active,
[draggable="true"]:active,
.grabbing {
    cursor: grabbing;
}

/* ============================================
   RESIZE CURSORS
   ============================================ */

.resize-horizontal,
.resizer-x {
    cursor: ew-resize;
}

.resize-vertical,
.resizer-y {
    cursor: ns-resize;
}

.resize-corner,
.resizer-corner {
    cursor: nwse-resize;
}

/* ============================================
   ZOOM CURSORS
   ============================================ */

.zoom-in,
.zoomable {
    cursor: zoom-in;
}

.zoom-out {
    cursor: zoom-out;
}

/* ============================================
   HELP CURSORS
   ============================================ */

.help,
[data-tooltip],
[title]:not([title=""]),
.has-tooltip {
    cursor: help;
}

/* ============================================
   CROSSHAIR CURSORS
   ============================================ */

.crosshair,
.color-picker,
.image-crop {
    cursor: crosshair;
}

/* ============================================
   MOVE CURSORS
   ============================================ */

.movable,
.move-handle {
    cursor: move;
}

/* ============================================
   DEFAULT CURSOR OVERRIDES
   ============================================ */

/* Reset for specific elements */
select,
input[type="checkbox"],
input[type="radio"],
input[type="range"],
input[type="file"],
input[type="color"] {
    cursor: pointer;
}

/* Progress bars (not interactive) */
.progress,
.progress-bar {
    cursor: default;
}

/* Labels for form inputs */
label[for] {
    cursor: pointer;
}

/* ============================================
   MOBILE & TOUCH CONSIDERATIONS
   ============================================ */

@media (hover: none) and (pointer: coarse) {
    /* On touch devices, cursors are less relevant but we keep them for hybrid devices */
    .card-click,
    .row-click {
        cursor: pointer;
    }
}

/* ============================================
   ADMIN SPECIFIC CURSORS
   ============================================ */

/* Data table row actions */
.admin-table tbody tr:hover {
    cursor: pointer;
}

.admin-table .no-click:hover {
    cursor: default;
}

/* Status toggles */
.status-toggle,
.visibility-toggle,
.active-toggle {
    cursor: pointer;
}

/* Bulk select checkboxes */
.bulk-select,
.select-all {
    cursor: pointer;
}

/* Action dropdowns */
.actions-dropdown,
.more-actions {
    cursor: pointer;
}

/* ============================================
   PUBLIC SITE SPECIFIC CURSORS
   ============================================ */

/* Course/College/Career cards */
.course-card,
.college-card,
.career-card,
.exam-card,
.stream-card,
.domain-card {
    cursor: pointer;
}

/* Filters */
.filter-option,
.filter-tag,
.filter-clear {
    cursor: pointer;
}

/* Search suggestions */
.search-suggestion,
.autocomplete-item {
    cursor: pointer;
}

/* Wishlist buttons */
.wishlist-btn,
.save-btn,
.bookmark-btn {
    cursor: pointer;
}

/* Share buttons */
.share-btn,
.share-icon {
    cursor: pointer;
}

/* Download buttons */
.download-btn,
.pdf-download {
    cursor: pointer;
}

/* Pagination */
.pagination-link:not(.disabled) {
    cursor: pointer;
}

.pagination-link.disabled {
    cursor: not-allowed;
}

/* Breadcrumb links */
.breadcrumb-link {
    cursor: pointer;
}

/* FAQ accordions */
.faq-question,
.faq-toggle {
    cursor: pointer;
}

/* Image galleries */
.gallery-thumb,
.gallery-nav {
    cursor: pointer;
}

/* Video play buttons */
.play-btn,
.video-overlay {
    cursor: pointer;
}
