/* General structural rules */
.ast-wrapper {
    position: fixed;
    z-index: 99999;
    bottom: 30px;
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* Position settings */
.elementor-widget-scroll_to_top_09e4d551 {
    position: static !important;
}

.ast-pos-bottom-right .ast-wrapper {
    right: 30px;
}

.ast-pos-bottom-left .ast-wrapper {
    left: 30px;
}

/* Visibility triggers via JS class */
.ast-wrapper.ast-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Base button layouts */
.ast-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: background-color 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
}

.ast-btn:active {
    transform: scale(0.93);
}

/* Shape layouts */
.ast-shape-circle .ast-btn {
    border-radius: 50%;
}

.ast-shape-square .ast-btn {
    border-radius: 4px;
}

/* Entrance Animations */
/* Fade In */
.ast-anim-fade-in .ast-wrapper {
    transform: translateY(0);
}

/* Slide In */
.ast-anim-slide-in .ast-wrapper {
    transform: translateY(50px);
}
.ast-anim-slide-in .ast-wrapper.ast-visible {
    transform: translateY(0);
}

/* Responsive Hide-on-mobile */
@media (max-width: 767px) {
    .ast-hide-mobile-yes .ast-wrapper {
        display: none !important;
    }
}
