/* Vempy — correções de rolagem e reforço das animações */
html, body {
  overflow-x: clip;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
}
html.lenis, html.lenis body,
.lenis.lenis-smooth,
.lenis.lenis-stopped,
.lenis.lenis-locked {
  height: auto !important;
  overflow-y: auto !important;
  scroll-behavior: smooth;
}
.lenis.lenis-smooth iframe { pointer-events: auto !important; }
body { overscroll-behavior-y: auto; }

.scroll-bottom, .scroll-top, .scroll-left, .scroll-right,
.elementor-widget-heading,
.elementor-widget-text-editor,
.elementor-widget-button,
.elementor-widget-image,
.elementor-widget-icon-box,
.elementor-widget-image-box,
.elementor-widget-icon-list,
.elementor-widget-counter {
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform, opacity;
}

/* um pouco mais de vida nos botões */
.elementor-button, a.elementor-button {
  transition: transform .28s ease, box-shadow .28s ease, filter .28s ease !important;
}
.elementor-button:hover, a.elementor-button:hover {
  transform: translateY(-2px) scale(1.01);
  filter: brightness(1.03);
}

/* suaviza o header fixo */
#header-menu {
  transition: background-color .28s ease, box-shadow .28s ease, backdrop-filter .28s ease;
}

/* evita travas por alguma camada decorativa enorme */
.elementor-motion-effects-layer,
.elementor-shape,
.elementor-shape * {
  pointer-events: none;
}
/* mantém interações reais clicáveis */
a, button, .elementor-button, .elementor-menu-toggle, .swiper, .swiper * { pointer-events: auto; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .elementor-button, a.elementor-button, #header-menu { transition: none !important; }
}
