/**
 * WEW Scroll Top Widget Styles
 */

/* Base transitions */
.wew-scroll-top {
    position: fixed;
    z-index: 9999;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    border: none;
    outline: none;
    opacity: 1;
    visibility: visible;
}

/* Common hidden state */
.wew-scroll-top.wew-is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* FADE & SLIDE (Default/Enhanced) */
.wew-scroll-anim-fade .wew-scroll-top.wew-is-hidden {
    transform: translateY(0);
}

.wew-scroll-anim-slide .wew-scroll-top.wew-is-hidden {
    transform: translateY(30px);
}

/* ZOOM */
.wew-scroll-anim-zoom .wew-scroll-top.wew-is-hidden {
    transform: scale(0.5);
}

/* BOUNCE */
.wew-scroll-anim-bounce .wew-scroll-top {
    transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
}

.wew-scroll-anim-bounce .wew-scroll-top.wew-is-hidden {
    transform: translateY(50px) scale(0.7);
}

/* Horizontal positioning context handled by prefix_class in PHP */
.wew-scroll-h-center .wew-scroll-top {
    left: 50%;
    /* Note: transform will be overwritten by animation classes above, 
       so we need to handle center correctly */
}

.wew-scroll-h-center.wew-scroll-anim-fade .wew-scroll-top {
    transform: translateX(-50%);
}

.wew-scroll-h-center.wew-scroll-anim-fade .wew-scroll-top.wew-is-hidden {
    transform: translateX(-50%);
}

.wew-scroll-h-center.wew-scroll-anim-slide .wew-scroll-top {
    transform: translateX(-50%);
}

.wew-scroll-h-center.wew-scroll-anim-slide .wew-scroll-top.wew-is-hidden {
    transform: translateX(-50%) translateY(30px);
}

.wew-scroll-h-center.wew-scroll-anim-zoom .wew-scroll-top {
    transform: translateX(-50%) scale(1);
}

.wew-scroll-h-center.wew-scroll-anim-zoom .wew-scroll-top.wew-is-hidden {
    transform: translateX(-50%) scale(0.5);
}

.wew-scroll-h-center.wew-scroll-anim-bounce .wew-scroll-top {
    transform: translateX(-50%) scale(1);
}

.wew-scroll-h-center.wew-scroll-anim-bounce .wew-scroll-top.wew-is-hidden {
    transform: translateX(-50%) translateY(50px) scale(0.7);
}

.wew-scroll-icon {
    display: flex;
    align-items: center;
    justify-content: center;
}

.wew-scroll-icon i,
.wew-scroll-icon svg {
    display: block;
    line-height: 1;
}

/* For better performance when scrolling */
.wew-scroll-top {
    will-change: opacity, transform, visibility;
}

/* Editor Specifics: Always show the button and position it properly */
.elementor-editor-active .wew-scroll-top {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: all !important;
}

/* Specific center handling for editor */
.elementor-editor-active .wew-scroll-h-center .wew-scroll-top {
    transform: translateX(-50%) !important;
}

/* Visual helper for editor so user knows where the widget "content" is placed */
.elementor-editor-active .wew-scroll-top::after {
    content: '';
    position: absolute;
    top: -5px;
    left: -5px;
    right: -5px;
    bottom: -5px;
    border: 1px dotted rgba(0, 0, 0, 0.2);
    border-radius: inherit;
    pointer-events: none;
}