/**
 * IL Off-screen animation pause — shared styles
 *
 * ilm-offscreen-pause.js adds .ilm-offscreen to a continuous-animation element when it
 * leaves the viewport; these rules pause the animation while it is off-screen. Removing
 * the class on re-entry resumes it. Pure pausing — never starts motion — so it cannot
 * interfere with prefers-reduced-motion (where the animations are off anyway), and it
 * composes with the blocks' own :hover pause (off-screen ⇒ not hovered).
 *
 * The scroll tracks (.ilm-marquee-track / .ilm-imarquee-track / .ilm-scroll-track) carry
 * their animation directly, so the class pauses them. The animated gradient border's
 * animation lives on the host's ::after pseudo, so it needs the explicit ::after rule.
 *
 * @package instalaunch-toolkit
 * @since   1.0.0
 */

.ilm-offscreen {
	animation-play-state: paused !important;
}

.ilm-bd-grad-animate.ilm-offscreen::after {
	animation-play-state: paused !important;
}

/* Text rotator: the animation lives on the items, and animation-play-state does not
   inherit, so the marker on the line pauses its children explicitly. Same shape as the
   gradient-border ::after variant above. */
.ilm-rot-line.ilm-offscreen .ilm-rot-item {
	animation-play-state: paused !important;
}

/* Sticker: same shape again — the animation lives on the figure's img, so the marker on
   the figure pauses it explicitly. Scroll-driven stickers are not observed at all (they
   advance only while the page moves), so nothing here touches them. */
.ilm-stk.ilm-offscreen img {
	animation-play-state: paused !important;
}
