[data-cursor-settings] {
    position: fixed !important;
    pointer-events: none !important;
    top: 0 !important;
    left: 0 !important;
    margin: 0 !important;
    transform: translate(-50%, -50%);
    z-index: 999999 !important;
    width: var(--width, var(--container-widget-width, max-content)) !important;
    min-width: var(--width, var(--container-widget-width, 0)) !important;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease !important;
    overflow: visible !important;
    contain: none !important;
    clip-path: none !important;
}

[data-cursor-settings] * {
    pointer-events: none !important;
}

.cursorcraft-cursor-wrapper {
    z-index: 999999 !important;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.2s ease !important;
    transform: translate(-100vw, -100vh);
    margin: 0 !important;
    overflow: visible !important;
    contain: none !important;
    clip-path: none !important;
    --container-widget-width: max-content;
    width: max-content;
}

.cursorcraft-cursor-builder-for-elementor-container,
.cursorcraft-cursor-builder-for-elementor-container * {
    overflow: visible !important;
    contain: none !important;
    clip-path: none !important;
}

.cursorcraft-cursor-builder-for-elementor-container.is-active {
    visibility: visible;
    opacity: 1;
}

html.cursorcraft-cursor-builder-for-elementor-hide-default,
html.cursorcraft-cursor-builder-for-elementor-hide-default *,
.cursorcraft-cursor-builder-for-elementor-hide-default,
.cursorcraft-cursor-builder-for-elementor-hide-default * {
    cursor: none !important;
}

.cursorcraft-instant-child {
    transform: translate(var(--cursorcraft-offset-x, 0px), var(--cursorcraft-offset-y, 0px)) !important;
}

.cursorcraft-cursor-builder-for-elementor-hovering-specific,
.cursorcraft-cursor-builder-for-elementor-hovering-specific * {
    cursor: none !important;
}

.cursorcraft-cursor-builder-for-elementor-editor-mode {
    position: relative;
    border: 1px dashed rgba(100, 100, 100, 0.3);
}

.cursorcraft-cursor-builder-for-elementor-editor-mode::before {
    content: "Custom Cursor Region";
    position: absolute;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.1);
    color: #333;
    font-size: 10px;
    padding: 2px 5px;
    pointer-events: none;
    z-index: 10;
}

/* Hover State Container Feature */
.cursorcraft-cursor-builder-for-elementor-container.is-active.cursorcraft-hover-state:not(.is-hovering-interactive) {
    opacity: 0;
    visibility: hidden;
}

.cursorcraft-cursor-builder-for-elementor-container.is-active.cursorcraft-default-state:not(.is-hovering-interactive) {
    opacity: 1;
    visibility: visible;
}

.cursorcraft-hover-state, .cursorcraft-default-state {
    transition: opacity var(--cursorcraft-transition-duration, 0.2s) ease, visibility 0s ease var(--cursorcraft-transition-duration, 0.2s) !important;
}

body.cursorcraft-has-hover-container .cursorcraft-cursor-builder-for-elementor-container.is-active.is-hovering-interactive.cursorcraft-default-state {
    opacity: 0;
    visibility: hidden;
}

.cursorcraft-cursor-builder-for-elementor-container.is-active.is-hovering-interactive.cursorcraft-hover-state {
    opacity: 1;
    visibility: visible;
    transition: opacity var(--cursorcraft-transition-duration, 0.2s) ease, visibility 0s ease 0s !important;
}

/* Fix Elementor Widget Container Height for Background Widgets */
.elementor-widget-cursorcraft_interactive_dot_grid,
.elementor-widget-cursorcraft_interactive_dot_grid .elementor-widget-container,
.elementor-widget-cursorcraft_reveal_mask,
.elementor-widget-cursorcraft_reveal_mask .elementor-widget-container,
.elementor-widget-cursorcraft_smoke_background,
.elementor-widget-cursorcraft_smoke_background .elementor-widget-container {
    width: 100%;
    height: 100%;
}

/* Scratch-off Reveal Mask */
.cursorcraft-reveal-base img,
.cursorcraft-reveal-mask-layer img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cursorcraft-reveal-mask-layer {
    mask-image: radial-gradient(circle var(--mask-size, 150px) at var(--mask-x, -1000px) var(--mask-y, -1000px), black var(--mask-solid, 50%), transparent 100%);
    -webkit-mask-image: radial-gradient(circle var(--mask-size, 150px) at var(--mask-x, -1000px) var(--mask-y, -1000px), black var(--mask-solid, 50%), transparent 100%);
}

@media (max-width: 767px) {
    .cursorcraft-reveal-disable-mobile .cursorcraft-reveal-base {
        display: none !important;
    }
    .cursorcraft-reveal-disable-mobile .cursorcraft-reveal-mask-layer {
        mask-image: none !important;
        -webkit-mask-image: none !important;
    }
    
    .cursorcraft-smoke-disable-mobile {
        display: none !important;
    }
}

/* Portfolio List Widget */
.cursorcraft-portfolio-images-container {
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 999999;
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.8);
    transition: opacity 0.3s ease;
    overflow: hidden;
    border-radius: 12px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.3);
    will-change: transform, opacity;
    background-color: transparent;
}

.cursorcraft-portfolio-images-container.is-active {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.cursorcraft-portfolio-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.cursorcraft-portfolio-image.is-active {
    opacity: 1;
}

