:root{
  --motion-delay:0ms;
}

html{
  scroll-behavior:smooth;
}

.motion-ready .ambient-orbs{
  display:none;
}

.motion-ready .home-hero,
.motion-ready .booking-page,
.motion-ready .admin-layout,
.motion-ready .admin-login-screen{
  position:relative;
  z-index:1;
}

[data-motion]{
  opacity:0;
  transform:translate3d(0,16px,0);
  transition:
    opacity .48s cubic-bezier(.2,.8,.2,1),
    transform .48s cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--motion-delay);
}

[data-motion].motion-in{
  opacity:1;
  transform:translate3d(0,0,0);
}

[data-motion="fade"]{
  transform:translate3d(0,0,0);
}

[data-motion="left"]{
  transform:translate3d(-18px,0,0);
}

[data-motion="right"]{
  transform:translate3d(18px,0,0);
}

[data-motion="left"].motion-in,
[data-motion="right"].motion-in{
  transform:translate3d(0,0,0);
}

.motion-ready .tilt-card,
.motion-ready .service-card,
.motion-ready .portfolio-card,
.motion-ready .professional-card,
.motion-ready .experience-card,
.motion-ready .about-card,
.motion-ready .admin-card,
.motion-ready .booking-service-card,
.motion-ready .amenity-card,
.motion-ready .subscription-card,
.motion-ready .metric-card,
.motion-ready .plan-highlight-card,
.motion-ready .shop-cover-card,
.motion-ready .booking-side-card{
  transform:translate3d(0,0,0);
  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    background-color .2s ease,
    filter .2s ease;
}

.motion-ready .tilt-card:hover,
.motion-ready .service-card:hover,
.motion-ready .portfolio-card:hover,
.motion-ready .professional-card:hover,
.motion-ready .experience-card:hover,
.motion-ready .about-card:hover,
.motion-ready .admin-card:hover,
.motion-ready .booking-service-card:hover,
.motion-ready .amenity-card:hover,
.motion-ready .subscription-card:hover,
.motion-ready .metric-card:hover,
.motion-ready .plan-highlight-card:hover,
.motion-ready .shop-cover-card:hover,
.motion-ready .booking-side-card:hover{
  transform:translate3d(0,-4px,0);
  border-color:rgba(252,144,3,.28) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.28), 0 0 24px rgba(252,144,3,.08) !important;
}

.motion-ready .btn,
.motion-ready .tab-btn,
.motion-ready .booking-tabs button,
.motion-ready .booking-tab,
.motion-ready .cash-pay-btn,
.motion-ready .action-btn,
.motion-ready .date-pill,
.motion-ready .time-slot,
.motion-ready .scheduler-pro-card,
.motion-ready .social-icon-link{
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease,
    background-color .18s ease,
    color .18s ease,
    opacity .18s ease;
}

.motion-ready .btn:hover,
.motion-ready .tab-btn:hover,
.motion-ready .booking-tabs button:hover,
.motion-ready .booking-tab:hover,
.motion-ready .cash-pay-btn:hover,
.motion-ready .action-btn:hover,
.motion-ready .date-pill:hover,
.motion-ready .time-slot:hover,
.motion-ready .scheduler-pro-card:hover{
  transform:translate3d(0,-2px,0);
}

.motion-ready .booking-tab-panel.active,
.motion-ready .booking-step.active{
  animation:motionSoftIn .26s cubic-bezier(.2,.8,.2,1) both;
}

.motion-ready .booking-drawer:not(.hidden) .drawer-card,
.motion-ready .booking-modal:not(.hidden) .booking-modal-box,
.motion-ready .promotion-popup:not(.hidden) .promotion-popup-box{
  animation:motionPop .24s cubic-bezier(.2,.85,.2,1) both;
}

.motion-ready .preloader-card{
  animation:motionFloat 1.45s ease-in-out infinite alternate;
}

.social-icon-link{
  overflow:hidden !important;
}

.social-icon-link img{
  background:transparent !important;
}

@keyframes motionSoftIn{
  from{opacity:0;transform:translate3d(0,10px,0)}
  to{opacity:1;transform:translate3d(0,0,0)}
}

@keyframes motionPop{
  from{opacity:0;transform:translate3d(0,14px,0) scale(.98)}
  to{opacity:1;transform:translate3d(0,0,0) scale(1)}
}

@keyframes motionFloat{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(0,-5px,0)}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}

  *,
  *::before,
  *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
    scroll-behavior:auto !important;
  }

  [data-motion]{
    opacity:1 !important;
    transform:none !important;
  }
}

/* V2 - garante entrada fluida mesmo quando cards possuem hover proprio */
.motion-ready [data-motion]:not(.motion-in){
  opacity:0 !important;
  transform:translate3d(0,22px,0) scale(.985) !important;
  filter:blur(5px);
}

.motion-ready [data-motion="left"]:not(.motion-in){
  transform:translate3d(-24px,0,0) scale(.985) !important;
}

.motion-ready [data-motion="right"]:not(.motion-in){
  transform:translate3d(24px,0,0) scale(.985) !important;
}

.motion-ready [data-motion].motion-in{
  opacity:1 !important;
  filter:blur(0);
}
