/**
 * Variants/States v1 static runtime CSS (behaviors spec 2.2/2.3 slice).
 *
 * Registered by includes/behaviors/class-variants.php and enqueued only on
 * pages that render a block with variants. `:where()` keeps the base rule
 * at zero specificity (house rule) so generated per-instance rules always
 * win; the custom properties are written per instance into the wrapper's
 * style attribute from lumitraBehaviors.variants.transitions.
 *
 * Reduced motion: 1ms, NOT 0 (behaviors spec 2.3), so transitionend keeps
 * firing for any state machine that awaits it.
 *
 * Frontend-only by design: the editor canvas never loads this file, state
 * previews there snap (authoring clarity beats fidelity; "Vorschau im
 * Frontend" shows real motion). Out of v1: layout auto-animation (magic
 * motion); these transitions are plain CSS property transitions.
 */

:where(.lumitra-has-variants) {
	transition-property: var(--lumitra-v-props, all);
	transition-duration: var(--lumitra-v-dur, 250ms);
	transition-timing-function: var(--lumitra-v-ease, cubic-bezier(0.4, 0, 0.2, 1));
}

@media (prefers-reduced-motion: reduce) {
	.lumitra-has-variants {
		transition-duration: 1ms !important;
	}
}
