/**
 * Cardon – Kadence Slide Image Animation
 * Frontend styles for per-slide animation classes injected by the plugin.
 *
 * Each slide background div receives:
 *   .kb-slide-anim-{value}
 * e.g.  .kb-slide-anim-zoom-in
 *
 * The parent .kb-bg-slide-contain must clip any overflow produced by scaling.
 */

/* -------------------------------------------------------------------------
 * Shared: make sure the slide container clips the scaled image
 * ---------------------------------------------------------------------- */
.kb-blocks-bg-slider .kb-bg-slide-contain {
	overflow: hidden;
}

/* -------------------------------------------------------------------------
 * Zoom In (Ken Burns) – slowly scales the background from 1× to 1.15× over
 * 3 seconds, then holds at the final position.
 * ---------------------------------------------------------------------- */
@keyframes ckz-zoom-in {
	0%   { transform: scale( 1 );    transform-origin: center center; }
	100% { transform: scale( 1.15 ); transform-origin: center center; }
}

/**
 * Multi-slide (Splide) path
 * --------------------------
 * When a slide is NOT active: clear the animation entirely so the element
 * snaps back to its original scale(1) state.
 * When Splide marks the slide as active: the animation property is set and
 * the browser starts it from scratch — no JS needed.
 */
.kb-blocks-bg-slider .splide__slide:not(.is-active) .kb-bg-slide.kb-slide-anim-zoom-in {
	animation: none;
	transform: scale( 1 );
}


.kb-blocks-bg-slider .splide__slide.is-active .kb-bg-slide.kb-slide-anim-zoom-in {
	animation:        ckz-zoom-in 5s ease-in-out forwards;
}

/**
 * Single-slide fallback (no Splide wrapper)
 * When backgroundSliderCount === 1 Kadence renders the slide directly
 * without Splide, so no is-active class is involved.
 */
.kb-blocks-bg-slider > .kb-bg-slide-contain > .kb-bg-slide.kb-slide-anim-zoom-in {
	animation: ckz-zoom-in 5s ease-in-out forwards;
}


@keyframes ckz-zoom-out {
	0%   { transform: scale( 1.15 );    transform-origin: center center; }
	100% { transform: scale( 1 ); transform-origin: center center; }
}

.kb-blocks-bg-slider .splide__slide:not(.is-active) .kb-bg-slide.kb-slide-anim-zoom-out{
	transform: scale( 1.15 );
}



.kb-blocks-bg-slider .splide__slide.is-active .kb-bg-slide.kb-slide-anim-zoom-out {
	animation:        ckz-zoom-out 5s ease-in-out forwards;
}

/**
 * Single-slide fallback (no Splide wrapper)
 * When backgroundSliderCount === 1 Kadence renders the slide directly
 * without Splide, so no is-active class is involved.
 */
.kb-blocks-bg-slider > .kb-bg-slide-contain > .kb-bg-slide.kb-slide-anim-zoom-out {
	animation: ckz-zoom-out 5s ease-in-out forwards;
}