/**
 * Draggable Modals Plugin Styles
 *
 * Provides cursor styling and visual feedback for draggable modal headers.
 */

/* Drag handle cursor for modal headers (excludes slide-overs) */
.fi-modal:not(.fi-modal-slide-over) .fi-modal-window .fi-modal-header {
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
}

/* Active dragging state */
.fi-modal-window.fi-modal-dragging {
    /* Prevent text selection while dragging */
    user-select: none;
    -webkit-user-select: none;
}

.fi-modal-window.fi-modal-dragging .fi-modal-header {
    cursor: grabbing !important;
}

/* Interactive elements within the header keep pointer cursor */
.fi-modal-window .fi-modal-header button,
.fi-modal-window .fi-modal-header a,
.fi-modal-window .fi-modal-header input,
.fi-modal-window .fi-modal-header select,
.fi-modal-window .fi-modal-header .fi-modal-close-btn,
.fi-modal-window .fi-modal-header .fi-icon-btn,
.fi-modal-window .fi-modal-header [role="button"] {
    cursor: pointer !important;
}

/* Ensure modal window can be positioned absolutely when dragged */
.fi-modal-window.fi-modal-dragging {
    position: fixed !important;
}

/* Smooth transition when not dragging (for z-index changes) */
.fi-modal-window:not(.fi-modal-dragging) {
    transition: z-index 0.1s ease-out;
}

/* Visual feedback - subtle shadow increase when dragging */
.fi-modal-window.fi-modal-dragging {
    box-shadow:
        0 25px 50px -12px rgba(0, 0, 0, 0.25),
        0 0 0 1px rgba(0, 0, 0, 0.05);
}

/* Dark mode shadow adjustment */
.dark .fi-modal-window.fi-modal-dragging {
    box-shadow:
        0 25px 50px -12px rgba(0, 0, 0, 0.5),
        0 0 0 1px rgba(255, 255, 255, 0.05);
}
