/**
 * Help AOS work inside Elementor Free layouts.
 * Overflow:hidden on parents is the #1 reason data-aos exists but nothing moves.
 */

/* Let animated Elementor elements paint transforms/opacity */
.elementor-element[data-aos],
.elementor-widget[data-aos],
.elementor-column[data-aos],
.elementor-section[data-aos] {
  will-change: transform, opacity;
}

/* Prefer visible overflow on common Elementor wrappers that clip AOS */
.elementor-section.aos-fade-up,
.elementor-section.aos-fade-down,
.elementor-section.aos-fade-left,
.elementor-section.aos-fade-right,
.elementor-section.aos-zoom-in,
.elementor-section.aos-zoom-out,
.elementor-section.aos-flip-up,
.elementor-section.aos-flip-left,
.elementor-column.aos-fade-up,
.elementor-column.aos-fade-down,
.elementor-column.aos-fade-left,
.elementor-column.aos-fade-right,
.elementor-column.aos-zoom-in,
.elementor-column.aos-zoom-out,
.elementor-widget.aos-fade-up,
.elementor-widget.aos-fade-down,
.elementor-widget.aos-fade-left,
.elementor-widget.aos-fade-right,
.elementor-widget.aos-zoom-in,
.elementor-widget.aos-zoom-out {
  overflow: visible;
}

/* Parent sections that wrap aos widgets — add class "aos-allow" on the section */
.elementor-section.aos-allow,
.elementor-container.aos-allow,
.e-con.aos-allow {
  overflow: visible !important; /* only for explicit opt-in wrapper */
}
