.cme-container {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.cme-container.cme-fullscreen {
    position: relative;
    min-height: 100vh;
    height: 100vh !important;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

.cme-container.cme-fullscreen[style*="position: fixed"] {
    position: fixed !important;
    top: 0;
    left: 0;
    margin: 0;
    z-index: 0;
}

.cme-hidden-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
}

.cme-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}

.cme-reveal-mask {
    display: none;
}

.cme-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    pointer-events: none;
}

/* Fullscreen option for sections */
.elementor-section.cme-fullscreen {
    min-height: 100vh;
}

.elementor-section.cme-fullscreen .cme-container {
    min-height: 100vh;
}

@media (hover: none) and (pointer: coarse) {
    .cme-container {
        cursor: default;
    }
}

@media (max-width: 767px) {
    .cme-container[data-disable-mobile="yes"] .cme-overlay {
        opacity: 0 !important;
    }

    .cme-container[data-disable-mobile="yes"] .cme-canvas {
        display: none;
    }

    .cme-container[data-disable-mobile="yes"] .cme-hidden-image {
        opacity: 1;
        visibility: visible;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cme-overlay {
        transition: none;
    }

    .cme-container[data-trail-effect="yes"] {
        /* Disable trail effect for users who prefer reduced motion */
    }
}
