/*
 Litesoft Site Builder compatibility stylesheet.
 The active Builder Studio styles are loaded separately.
 This file intentionally provides stable public builder hooks and prevents legacy asset 404s.
*/
:root {
    --ls-builder-surface: var(--bs-body-bg, #fff);
    --ls-builder-border: var(--bs-border-color, #dee2e6);
}
[data-site-builder], .site-builder-root {
    box-sizing: border-box;
}
[data-site-builder] *, .site-builder-root * {
    box-sizing: border-box;
}


/* v25.10.20 - Unified Widget Animation Engine */
.uwr-anim {
    --uwr-duration: 600ms;
    --uwr-delay: 0ms;
    --uwr-ease: cubic-bezier(.16,1,.3,1);
    will-change: opacity, transform;
    transition-property: opacity, transform;
    transition-duration: var(--uwr-duration);
    transition-delay: var(--uwr-delay);
    transition-timing-function: var(--uwr-ease);
}
.uwr-anim.uwr-anim-ready { opacity: 0; }
.uwr-anim.uwr-anim-ready[data-uwr-effect="Fade"] { transform: none; }
.uwr-anim.uwr-anim-ready[data-uwr-effect="FadeUp"] { transform: translate3d(0,28px,0); }
.uwr-anim.uwr-anim-ready[data-uwr-effect="FadeDown"] { transform: translate3d(0,-28px,0); }
.uwr-anim.uwr-anim-ready[data-uwr-effect="SlideLeft"] { transform: translate3d(42px,0,0); }
.uwr-anim.uwr-anim-ready[data-uwr-effect="SlideRight"] { transform: translate3d(-42px,0,0); }
.uwr-anim.uwr-anim-ready[data-uwr-effect="ZoomIn"] { transform: scale(.94); }
.uwr-anim.uwr-anim-ready[data-uwr-effect="ScaleUp"] { transform: scale(.985) translate3d(0,16px,0); }
.uwr-anim.uwr-anim-visible { opacity: 1; transform: none !important; }
.uwr-anim .uwr-stagger-item {
    transition-property: opacity, transform;
    transition-duration: var(--uwr-duration);
    transition-timing-function: var(--uwr-ease);
    transition-delay: calc(var(--uwr-delay) + (var(--uwr-stagger-index, 0) * var(--uwr-stagger-delay, 80ms)));
}
.uwr-anim.uwr-anim-ready .uwr-stagger-item { opacity: 0; transform: translate3d(0,16px,0); }
.uwr-anim.uwr-anim-visible .uwr-stagger-item { opacity: 1; transform: none; }

/* v25.10.21 - opt-in widget micro interactions. Defaults stay inert. */
.uwr-interact {
    --uwr-hover-duration: 220ms;
    transition-property: transform, filter;
    transition-duration: var(--uwr-hover-duration);
    transition-timing-function: cubic-bezier(.16,1,.3,1);
    will-change: transform;
}
.uwr-interact[data-uwr-hover-effect="Lift"]:hover { transform: translate3d(0,-4px,0); }
.uwr-interact[data-uwr-hover-effect="Scale"]:hover { transform: scale(1.012); }
.uwr-interact[data-uwr-hover-effect="LiftScale"]:hover { transform: translate3d(0,-4px,0) scale(1.012); }
.uwr-interact[data-uwr-hover-effect="Glow"]:hover { filter: drop-shadow(0 14px 24px rgba(15,23,42,.16)); }
.uwr-anim.uwr-anim-visible.uwr-interact[data-uwr-hover-effect="Lift"]:hover { transform: translate3d(0,-4px,0) !important; }
.uwr-anim.uwr-anim-visible.uwr-interact[data-uwr-hover-effect="Scale"]:hover { transform: scale(1.012) !important; }
.uwr-anim.uwr-anim-visible.uwr-interact[data-uwr-hover-effect="LiftScale"]:hover { transform: translate3d(0,-4px,0) scale(1.012) !important; }

@media (prefers-reduced-motion: reduce) {
    .uwr-anim, .uwr-anim .uwr-stagger-item, .uwr-interact { transition: none !important; animation: none !important; transform: none !important; filter: none !important; opacity: 1 !important; }
}
