/**
 * Ivy Elementor Runtime Stabilizer
 * Minimal CSS to ensure recovered elements behave correctly.
 */

/* Force visibility on widgets that might have been stuck in 'invisible' state by Elementor animations */
.elementor-invisible.ivy-recovered {
    opacity: 1 !important;
    visibility: visible !important;
    animation: fadeIn 0.5s ease-in;
}

/* Ensure sliders have at least a minimum height if they fail to calculate */
.swiper-container:not(.swiper-initialized),
.slick-slider:not(.slick-initialized) {
    min-height: 200px;
    background: rgba(168, 85, 247, 0.05);
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-container:not(.swiper-initialized)::after,
.slick-slider:not(.slick-initialized)::after {
    content: "Initializing Ivy Recovery...";
    font-size: 12px;
    color: #a855f7;
    font-family: sans-serif;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
