// Motion/transition mixins - veela-independent fallbacks

@mixin transition($properties, $duration: 0.15s, $timing: ease) {
    $transitions: ();
    @each $prop in $properties {
        $transitions: append($transitions, #{$prop} #{$duration} #{$timing}, comma);
    }
    transition: $transitions;
}

@mixin no-transition {
    transition: none;
}

@mixin reduced-motion-disable {
    @media (prefers-reduced-motion: reduce) {
        transition: none;
        animation: none;
    }
}

@mixin animate($name, $duration: 0.3s, $timing: ease, $fill: forwards) {
    animation: $name $duration $timing $fill;
    
    @media (prefers-reduced-motion: reduce) {
        animation: none;
    }
}
