/* Chăm Xe CMS block effects — governed enter / idle / exit motion runtime */
.cx-cms-block-shell{display:contents}
.cx-cms-effect-target{
  --cx-fx-x:0px;
  --cx-fx-y:0px;
  --cx-fx-scale:1;
  --cx-fx-blur:0px;
  --cx-fx-opacity:1;
  --cx-fx-clip:inset(0 0 0 0 round 0);
  --cx-fx-duration:720ms;
  --cx-fx-delay:0ms;
  --cx-fx-easing:cubic-bezier(.22,.61,.36,1);
  --cx-idle-duration:2800ms;
  --cx-idle-delay:0ms;
  --cx-idle-easing:cubic-bezier(.16,1,.3,1);
  --cx-exit-duration:520ms;
  --cx-exit-delay:0ms;
  --cx-exit-easing:cubic-bezier(.22,.61,.36,1);
  opacity:var(--cx-fx-opacity);
  translate:var(--cx-fx-x) var(--cx-fx-y);
  scale:var(--cx-fx-scale);
  filter:blur(var(--cx-fx-blur));
  clip-path:var(--cx-fx-clip);
  transition:
    opacity var(--cx-fx-duration) var(--cx-fx-easing) var(--cx-fx-delay),
    translate var(--cx-fx-duration) var(--cx-fx-easing) var(--cx-fx-delay),
    scale var(--cx-fx-duration) var(--cx-fx-easing) var(--cx-fx-delay),
    filter var(--cx-fx-duration) var(--cx-fx-easing) var(--cx-fx-delay),
    clip-path var(--cx-fx-duration) var(--cx-fx-easing) var(--cx-fx-delay);
  will-change:opacity,translate,scale,filter,clip-path,transform;
}

.cx-cms-effects-ready .cx-cms-effect-target:not(.is-cx-fx-visible)[data-cms-effect="fade"]{--cx-fx-opacity:0}
.cx-cms-effects-ready .cx-cms-effect-target:not(.is-cx-fx-visible)[data-cms-effect="fade_up"]{--cx-fx-opacity:0;--cx-fx-y:54px}
.cx-cms-effects-ready .cx-cms-effect-target:not(.is-cx-fx-visible)[data-cms-effect="fade_down"]{--cx-fx-opacity:0;--cx-fx-y:-54px}
.cx-cms-effects-ready .cx-cms-effect-target:not(.is-cx-fx-visible)[data-cms-effect="slide_left"]{--cx-fx-opacity:0;--cx-fx-x:-76px}
.cx-cms-effects-ready .cx-cms-effect-target:not(.is-cx-fx-visible)[data-cms-effect="slide_right"]{--cx-fx-opacity:0;--cx-fx-x:76px}
.cx-cms-effects-ready .cx-cms-effect-target:not(.is-cx-fx-visible)[data-cms-effect="scale_in"]{--cx-fx-opacity:0;--cx-fx-scale:.91}
.cx-cms-effects-ready .cx-cms-effect-target:not(.is-cx-fx-visible)[data-cms-effect="blur_in"]{--cx-fx-opacity:0;--cx-fx-scale:.975;--cx-fx-blur:14px}
.cx-cms-effect-target.is-cx-fx-visible{--cx-fx-x:0px;--cx-fx-y:0px;--cx-fx-scale:1;--cx-fx-blur:0px;--cx-fx-opacity:1;--cx-fx-clip:inset(0 0 0 0 round 0)}

.cx-cms-effect-target.is-cx-fx-idle[data-cms-idle="float"]{animation:cxCmsIdleFloat var(--cx-idle-duration) var(--cx-idle-easing) var(--cx-idle-delay) infinite alternate}
.cx-cms-effect-target.is-cx-fx-idle[data-cms-idle="breathe"]{animation:cxCmsIdleBreathe var(--cx-idle-duration) var(--cx-idle-easing) var(--cx-idle-delay) infinite alternate}
.cx-cms-effect-target.is-cx-fx-idle[data-cms-idle="sway"]{animation:cxCmsIdleSway var(--cx-idle-duration) var(--cx-idle-easing) var(--cx-idle-delay) infinite alternate}
@keyframes cxCmsIdleFloat{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,-10px,0)}}
@keyframes cxCmsIdleBreathe{from{transform:scale(1)}to{transform:scale(1.018)}}
@keyframes cxCmsIdleSway{from{transform:rotate(-.35deg) translate3d(-2px,0,0)}to{transform:rotate(.35deg) translate3d(2px,0,0)}}

.cx-cms-effect-target.is-cx-fx-exiting{
  animation:none!important;
  transition:
    opacity var(--cx-exit-duration) var(--cx-exit-easing) var(--cx-exit-delay),
    translate var(--cx-exit-duration) var(--cx-exit-easing) var(--cx-exit-delay),
    scale var(--cx-exit-duration) var(--cx-exit-easing) var(--cx-exit-delay),
    filter var(--cx-exit-duration) var(--cx-exit-easing) var(--cx-exit-delay);
}
.cx-cms-effect-target.is-cx-fx-exiting[data-cms-exit="fade_out"]{--cx-fx-opacity:0}
.cx-cms-effect-target.is-cx-fx-exiting[data-cms-exit="fade_up_out"]{--cx-fx-opacity:0;--cx-fx-y:-44px}
.cx-cms-effect-target.is-cx-fx-exiting[data-cms-exit="fade_down_out"]{--cx-fx-opacity:0;--cx-fx-y:44px}
.cx-cms-effect-target.is-cx-fx-exiting[data-cms-exit="slide_left_out"]{--cx-fx-opacity:0;--cx-fx-x:-72px}
.cx-cms-effect-target.is-cx-fx-exiting[data-cms-exit="slide_right_out"]{--cx-fx-opacity:0;--cx-fx-x:72px}
.cx-cms-effect-target.is-cx-fx-exiting[data-cms-exit="scale_out"]{--cx-fx-opacity:0;--cx-fx-scale:.94}
.cx-cms-effect-target.is-cx-fx-exiting[data-cms-exit="blur_out"]{--cx-fx-opacity:0;--cx-fx-blur:14px}

.cx-cms-text-reveal-item{
  --cx-text-duration:720ms;
  --cx-text-delay:0ms;
  --cx-text-easing:cubic-bezier(.22,.61,.36,1);
  opacity:0;
  translate:0 22px;
  clip-path:inset(0 0 100% 0);
  transition:
    opacity var(--cx-text-duration) var(--cx-text-easing) var(--cx-text-delay),
    translate var(--cx-text-duration) var(--cx-text-easing) var(--cx-text-delay),
    clip-path var(--cx-text-duration) var(--cx-text-easing) var(--cx-text-delay);
}
.is-cx-text-reveal-visible .cx-cms-text-reveal-item{opacity:1;translate:0 0;clip-path:inset(0 0 0 0)}

@media(prefers-reduced-motion:reduce){
  .cx-cms-effect-target,.cx-cms-text-reveal-item{
    opacity:1!important;
    translate:0 0!important;
    scale:1!important;
    transform:none!important;
    filter:none!important;
    clip-path:none!important;
    transition:none!important;
    animation:none!important;
  }
}
