/* UD Front Blocks – simple reveal + hover effects (v0-ish)
   - No external libs
   - Uses IntersectionObserver + CSS transitions
*/

.ud-reveal{
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .6s ease, transform .6s ease;
  will-change: transform, opacity;
}

.ud-reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

/* Stagger for hero content */
.ud-stagger > *{
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .6s ease, transform .6s ease;
}

.ud-stagger.is-visible > *{
  opacity: 1;
  transform: translateY(0);
}

.ud-stagger.is-visible > *:nth-child(1){ transition-delay: 0ms; }
.ud-stagger.is-visible > *:nth-child(2){ transition-delay: 80ms; }
.ud-stagger.is-visible > *:nth-child(3){ transition-delay: 160ms; }
.ud-stagger.is-visible > *:nth-child(4){ transition-delay: 240ms; }
.ud-stagger.is-visible > *:nth-child(5){ transition-delay: 320ms; }

/* Subtle float for hero media */
@keyframes ud-float{
  0%{ transform: translateY(0); }
  50%{ transform: translateY(-6px); }
  100%{ transform: translateY(0); }
}

.ud-hero--animated .ud-hero__media{
  animation: ud-float 6s ease-in-out infinite;
}

/* v0-ish hover lift for cards & buttons */
.ud-card,
.woocommerce ul.products li.product{
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.ud-card:hover,
.woocommerce ul.products li.product:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 34px rgba(0,0,0,.10);
  border-color: rgba(0,0,0,.12);
}

.ud-btn{
  transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease, border-color .15s ease;
}

.ud-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
}

.ud-btn:active{
  transform: translateY(0);
  box-shadow: none;
}
