/* AR Motion Layer 1.0.0 — uses the independent `translate` property so it never conflicts with Elementor transforms. */
:root { --ar-m-accent: var(--ast-global-color-0, #6366f1); --ar-m-ease: cubic-bezier(.22,.61,.36,1); }

/* Scroll reveal: elements are hidden ONLY after JS marks them (.ar-reveal), so no-JS visitors see everything. */
.ar-reveal { opacity: 0; translate: 0 28px; transition: opacity .7s var(--ar-m-ease), translate .7s var(--ar-m-ease); transition-delay: var(--ar-delay, 0ms); }
.ar-reveal.ar-in { opacity: 1; translate: 0 0; }

/* Hover polish */
.elementor-button, .ast-button, .wp-block-button__link { transition: translate .25s var(--ar-m-ease), box-shadow .25s var(--ar-m-ease), filter .25s; }
.elementor-button:hover, .ast-button:hover, .wp-block-button__link:hover { translate: 0 -3px; box-shadow: 0 10px 24px rgba(0,0,0,.18); }
.elementor-widget-icon-box .elementor-icon-box-wrapper, .elementor-widget-image-box .elementor-image-box-wrapper { transition: translate .3s var(--ar-m-ease); }
.elementor-widget-icon-box:hover .elementor-icon-box-wrapper, .elementor-widget-image-box:hover .elementor-image-box-wrapper { translate: 0 -6px; }
.elementor-widget-image img { transition: filter .4s ease; }
.elementor-widget-image a:hover img { filter: brightness(1.06); }

/* Scroll progress bar */
.ar-progress { position: fixed; top: 0; left: 0; width: 100%; height: 3px; background: var(--ar-m-accent); transform: scaleX(0); transform-origin: 0 50%; z-index: 99999; pointer-events: none; }

html { scroll-behavior: smooth; }
.admin-bar .ar-progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .ar-progress { top: 46px; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ar-reveal, .ar-reveal.ar-in { opacity: 1; translate: none; transition: none; }
  .elementor-button:hover, .ast-button:hover, .wp-block-button__link:hover,
  .elementor-widget-icon-box:hover .elementor-icon-box-wrapper,
  .elementor-widget-image-box:hover .elementor-image-box-wrapper { translate: none; }
  .ar-progress { display: none; }
}
