/* Performance tuning layer — loaded after laser.css */

/* Sem will-change global: em páginas muito longas o Chromium acaba
   descartando as camadas e a tela fica branca ao rolar. */


/* Pause offscreen animations (set by the runtime IntersectionObserver) */
.anim-paused,
.anim-paused * {
  animation-play-state: paused !important;
}

/* Skip layout/paint work for sections far below the fold */
/* content-visibility removed: caused blank sections on long scroll */

/* Carousel viewports scroll on the compositor */
[data-reviews-viewport] {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

/* Avoid layout shift while images decode */
img {
  background-color: rgba(0, 0, 0, 0.02);
}

/* Low-power / reduced-motion devices: drop the expensive continuous effects */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .animate-scroll-x {
    animation: none !important;
  }
}

/* Coarse pointers (phones/tablets): lighter shadows + no infinite pulse */
@media (hover: none) and (pointer: coarse) {
  .animate-pulse {
    animation: none !important;
  }
  .shadow-2xl {
    box-shadow: 0 10px 20px -8px rgba(0, 0, 0, 0.25) !important;
  }
  .float-hero {
    animation-duration: 8s !important;
  }
}
