/* Side Rays 16ª IPR — frontend */
.ipr-side-rays,
.ipr-side-rays--ready {
  position: relative !important;
  overflow: hidden;
  isolation: isolate;
  background-color: var(--ipr-rays-fallback, transparent);
}

.ipr-side-rays__canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  border-radius: inherit;
  contain: strict;
}

.ipr-side-rays__canvas canvas {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  border-radius: inherit;
  pointer-events: none;
}

.ipr-side-rays__canvas--fallback {
  background-repeat: no-repeat;
  background-size: cover;
}

/* Elementor legacy sections and modern flex/grid containers. */
.ipr-side-rays > .elementor-container,
.ipr-side-rays > .e-con-inner,
.ipr-side-rays > .elementor-widget-wrap,
.ipr-side-rays > .elementor-widget,
.ipr-side-rays > .e-con,
.ipr-side-rays > .elementor-shape,
.ipr-side-rays > .elementor-motion-effects-container {
  position: relative;
  z-index: 2;
}

.ipr-side-rays > .elementor-background-overlay {
  z-index: 1;
}

/* When the class is assigned to a nested Elementor wrapper. */
.elementor-element.ipr-side-rays .elementor-background-overlay {
  pointer-events: none;
}


/* Preset para seções claras: posiciona os raios acima do overlay e reforça o contraste. */
.ipr-side-rays--light-bg .ipr-side-rays__canvas {
  z-index: 1;
  mix-blend-mode: multiply;
  filter: saturate(1.12) contrast(1.14);
}

.ipr-side-rays--light-bg > .elementor-background-overlay {
  z-index: 0;
}

.ipr-side-rays--light-bg.ipr-side-rays--fallback .ipr-side-rays__canvas {
  background-color: transparent !important;
}

@media (prefers-reduced-motion: reduce) {
  .ipr-side-rays__canvas canvas {
    animation: none !important;
  }
}
