/*
 * Módulo compartido de animaciones en scroll.
 * Uso en Elementor: clase legada (texto-creamos, etc.) o data-anim (desde-derecha, etc.).
 */

[data-anim] {
  --laive-anim-shift: 9rem;
  --laive-anim-scale-min: 0.78;
  --laive-anim-bottom-offset: 140px;
}

[data-anim="umbral-izquierda"] {
  --tp-shift: var(--laive-anim-shift);
  --tp-bottom-offset: var(--laive-anim-bottom-offset);
}

[data-anim="desde-derecha"],
.texto-desde-derecha {
  --tc-shift: var(--laive-anim-shift);
  --tinv-shift: var(--laive-anim-shift);
  --tpers-shift: var(--laive-anim-shift);
}

[data-anim="desde-izquierda"],
.texto-desde-izquierda {
  --tprod-shift: var(--laive-anim-shift);
  --tpb-shift: var(--laive-anim-shift);
}

[data-anim="desde-abajo"] {
  --tda-shift: var(--laive-anim-shift);
}

[data-anim="esquina-inferior-derecha"],
[data-anim="esquina-inferior-izquierda"],
[data-anim="esquina-superior-derecha"],
[data-anim="esquina-superior-izquierda"] {
  --tes-shift: var(--laive-anim-shift);
}

[data-anim="centro-escala"] {
  --tce-bottom-offset: var(--laive-anim-bottom-offset);
}

[data-anim="zoom-in"] {
  --tzi-scale-min: var(--laive-anim-scale-min);
}

[data-anim="zoom-out"],
.texto-zoom-out {
  --tzo-scale-max: var(--laive-anim-scale-max, 1.22);
}

[data-anim="girar-figura-derecha"],
.girar-figura-derecha,
[data-anim="girar-figura-izquierda"],
.girar-figura-izquierda {
  --laive-girar-duracion: 50s;
}

.elementor-widget-icon.girar-figura-derecha .elementor-icon-wrapper,
[data-anim="girar-figura-derecha"].elementor-widget-icon .elementor-icon-wrapper,
.girar-figura-derecha.girar-figura-derecha--activo .elementor-icon-wrapper,
[data-anim="girar-figura-derecha"].girar-figura-derecha--activo .elementor-icon-wrapper,
.elementor-widget-icon.girar-figura-derecha:not(:has(.elementor-icon-wrapper)),
[data-anim="girar-figura-derecha"].elementor-widget-icon:not(:has(.elementor-icon-wrapper)),
.girar-figura-derecha.girar-figura-derecha--activo:not(:has(.elementor-icon-wrapper)),
[data-anim="girar-figura-derecha"].girar-figura-derecha--activo:not(:has(.elementor-icon-wrapper)) {
  animation: laive-girar-figura-derecha var(--laive-girar-duracion, 50s) linear infinite;
  transform-origin: center center;
}

.elementor-widget-icon.girar-figura-izquierda .elementor-icon-wrapper,
[data-anim="girar-figura-izquierda"].elementor-widget-icon .elementor-icon-wrapper,
.girar-figura-izquierda.girar-figura-izquierda--activo .elementor-icon-wrapper,
[data-anim="girar-figura-izquierda"].girar-figura-izquierda--activo .elementor-icon-wrapper,
.elementor-widget-icon.girar-figura-izquierda:not(:has(.elementor-icon-wrapper)),
[data-anim="girar-figura-izquierda"].elementor-widget-icon:not(:has(.elementor-icon-wrapper)),
.girar-figura-izquierda.girar-figura-izquierda--activo:not(:has(.elementor-icon-wrapper)),
[data-anim="girar-figura-izquierda"].girar-figura-izquierda--activo:not(:has(.elementor-icon-wrapper)) {
  animation: laive-girar-figura-izquierda var(--laive-girar-duracion, 50s) linear infinite;
  transform-origin: center center;
}

.girar-figura-derecha.girar-figura-derecha--activo .elementor-icon svg,
[data-anim="girar-figura-derecha"].girar-figura-derecha--activo .elementor-icon svg,
.girar-figura-izquierda.girar-figura-izquierda--activo .elementor-icon svg,
[data-anim="girar-figura-izquierda"].girar-figura-izquierda--activo .elementor-icon svg {
  display: block;
  width: 100%;
  height: auto;
}

@keyframes laive-girar-figura-derecha {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes laive-girar-figura-izquierda {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(-360deg);
  }
}

.texto-proposito.texto-proposito--anim,
[data-anim="umbral-izquierda"].texto-proposito--anim {
  --tp-ms: 0.4s;
  --tp-shift: 9rem;
  --tp-bottom-offset: 140px;
  --tp-ease: ease;
  transition:
    opacity var(--tp-ms) var(--tp-ease),
    transform var(--tp-ms) var(--tp-ease);
}

.texto-proposito.texto-proposito--anim.texto-proposito--prep,
[data-anim="umbral-izquierda"].texto-proposito--anim.texto-proposito--prep {
  opacity: 0;
  transform: var(--laive-transform-base, none) translate3d(calc(-1 * var(--tp-shift)), 0, 0);
}

.texto-proposito.texto-proposito--anim.texto-proposito--shown,
[data-anim="umbral-izquierda"].texto-proposito--anim.texto-proposito--shown {
  opacity: 1;
  transform: var(--laive-transform-base, none) translate3d(0, 0, 0);
}

.texto-proposito.texto-proposito--anim.texto-proposito--exit-left,
[data-anim="umbral-izquierda"].texto-proposito--anim.texto-proposito--exit-left {
  opacity: 0;
  transform: var(--laive-transform-base, none) translate3d(calc(-1 * var(--tp-shift)), 0, 0);
}

.texto-proposito.texto-proposito--anim.texto-proposito--instant,
[data-anim="umbral-izquierda"].texto-proposito--anim.texto-proposito--instant {
  transition: none !important;
}

.texto-creamos.texto-creamos--scroll,
.texto-desde-derecha.texto-desde-derecha--scroll,
.texto-innovadores.texto-innovadores--scroll,
.texto-personas.texto-personas--scroll,
[data-anim="desde-derecha"].texto-creamos--scroll,
[data-anim="desde-derecha"].texto-desde-derecha--scroll {
  --tc-shift: 9rem;
  --tinv-shift: 9rem;
  --tpers-shift: 9rem;
  will-change: transform, opacity;
}

.texto-productos.texto-productos--scroll,
.texto-desde-izquierda.texto-desde-izquierda--scroll,
.texto-para-bienestar.texto-para-bienestar--scroll,
[data-anim="desde-izquierda"].texto-productos--scroll,
[data-anim="desde-izquierda"].texto-desde-izquierda--scroll {
  --tprod-shift: 9rem;
  --tpb-shift: 9rem;
  will-change: transform, opacity;
}

.texto-desde-abajo.texto-desde-abajo--scroll,
.texto-abajo-arriba.texto-abajo-arriba--scroll,
[data-anim="desde-abajo"].texto-desde-abajo--scroll,
[data-anim="desde-abajo"].texto-abajo-arriba--scroll {
  --tda-shift: 9rem;
  will-change: transform, opacity;
}

.texto-esquina-inferior-derecha.texto-esquina--scroll,
.texto-esquina-inferior-izquierda.texto-esquina--scroll,
.texto-esquina-superior-derecha.texto-esquina--scroll,
.texto-esquina-superior-izquierda.texto-esquina--scroll,
[data-anim="esquina-inferior-derecha"].texto-esquina--scroll,
[data-anim="esquina-inferior-izquierda"].texto-esquina--scroll,
[data-anim="esquina-superior-derecha"].texto-esquina--scroll,
[data-anim="esquina-superior-izquierda"].texto-esquina--scroll {
  --tes-shift: 9rem;
  will-change: transform, opacity;
}

.texto-zoom-in.texto-zoom-in--scroll,
[data-anim="zoom-in"].texto-zoom-in--scroll {
  --tzi-scale-min: 0.78;
  transform-origin: center center;
  will-change: transform, opacity;
}

.texto-zoom-out.texto-zoom-out--scroll,
[data-anim="zoom-out"].texto-zoom-out--scroll {
  --tzo-scale-max: 1.22;
  transform-origin: center center;
  will-change: transform, opacity;
}

.contador-quienes-somos .elementor-counter-title,
.contador-quienes.somos .elementor-counter-title {
  text-align: center;
}

.texto-centro-escala--anim,
[data-anim="centro-escala"].texto-centro-escala--anim {
  --tce-ms: 0.4s;
  --tce-scale-min: 0.78;
  --tce-bottom-offset: 140px;
  --tce-ease: ease;
  transform-origin: center center;
  transition:
    opacity var(--tce-ms) var(--tce-ease),
    transform var(--tce-ms) var(--tce-ease);
}

.texto-centro-escala--anim.texto-centro-escala--prep,
[data-anim="centro-escala"].texto-centro-escala--anim.texto-centro-escala--prep {
  opacity: 0;
  transform: var(--laive-transform-base, none) scale3d(var(--tce-scale-min), var(--tce-scale-min), 1);
}

.texto-centro-escala--anim.texto-centro-escala--shown,
[data-anim="centro-escala"].texto-centro-escala--anim.texto-centro-escala--shown {
  opacity: 1;
  transform: var(--laive-transform-base, none) scale3d(1, 1, 1);
}

@media (prefers-reduced-motion: reduce) {
  .texto-proposito.texto-proposito--anim,
  .texto-proposito.texto-proposito--anim.texto-proposito--prep,
  .texto-proposito.texto-proposito--anim.texto-proposito--shown,
  .texto-proposito.texto-proposito--anim.texto-proposito--exit-left,
  [data-anim="umbral-izquierda"].texto-proposito--anim,
  [data-anim="umbral-izquierda"].texto-proposito--anim.texto-proposito--prep,
  [data-anim="umbral-izquierda"].texto-proposito--anim.texto-proposito--shown,
  [data-anim="umbral-izquierda"].texto-proposito--anim.texto-proposito--exit-left {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .texto-creamos.texto-creamos--scroll,
  .texto-desde-derecha.texto-desde-derecha--scroll,
  .texto-innovadores.texto-innovadores--scroll,
  .texto-personas.texto-personas--scroll,
  .texto-productos.texto-productos--scroll,
  .texto-desde-izquierda.texto-desde-izquierda--scroll,
  .texto-para-bienestar.texto-para-bienestar--scroll,
  .texto-desde-abajo.texto-desde-abajo--scroll,
  .texto-abajo-arriba.texto-abajo-arriba--scroll,
  [data-anim="desde-derecha"].texto-creamos--scroll,
  [data-anim="desde-derecha"].texto-desde-derecha--scroll,
  [data-anim="desde-izquierda"].texto-productos--scroll,
  [data-anim="desde-izquierda"].texto-desde-izquierda--scroll,
  [data-anim="desde-abajo"].texto-desde-abajo--scroll,
  .texto-esquina-inferior-derecha.texto-esquina--scroll,
  .texto-esquina-inferior-izquierda.texto-esquina--scroll,
  .texto-esquina-superior-derecha.texto-esquina--scroll,
  .texto-esquina-superior-izquierda.texto-esquina--scroll,
  [data-anim="esquina-inferior-derecha"].texto-esquina--scroll,
  [data-anim="esquina-inferior-izquierda"].texto-esquina--scroll,
  [data-anim="esquina-superior-derecha"].texto-esquina--scroll,
  [data-anim="esquina-superior-izquierda"].texto-esquina--scroll {
    will-change: auto;
  }

  .texto-zoom-in.texto-zoom-in--scroll,
  [data-anim="zoom-in"].texto-zoom-in--scroll {
    will-change: auto;
  }

  .texto-zoom-out.texto-zoom-out--scroll,
  [data-anim="zoom-out"].texto-zoom-out--scroll {
    will-change: auto;
  }

  .texto-centro-escala--anim,
  .texto-centro-escala--anim.texto-centro-escala--prep,
  .texto-centro-escala--anim.texto-centro-escala--shown,
  [data-anim="centro-escala"].texto-centro-escala--anim,
  [data-anim="centro-escala"].texto-centro-escala--anim.texto-centro-escala--prep,
  [data-anim="centro-escala"].texto-centro-escala--anim.texto-centro-escala--shown {
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .elementor-widget-icon.girar-figura-derecha .elementor-icon-wrapper,
  [data-anim="girar-figura-derecha"].elementor-widget-icon .elementor-icon-wrapper,
  .girar-figura-derecha.girar-figura-derecha--activo .elementor-icon-wrapper,
  [data-anim="girar-figura-derecha"].girar-figura-derecha--activo .elementor-icon-wrapper,
  .elementor-widget-icon.girar-figura-derecha:not(:has(.elementor-icon-wrapper)),
  [data-anim="girar-figura-derecha"].elementor-widget-icon:not(:has(.elementor-icon-wrapper)),
  .girar-figura-derecha.girar-figura-derecha--activo:not(:has(.elementor-icon-wrapper)),
  [data-anim="girar-figura-derecha"].girar-figura-derecha--activo:not(:has(.elementor-icon-wrapper)),
  .elementor-widget-icon.girar-figura-izquierda .elementor-icon-wrapper,
  [data-anim="girar-figura-izquierda"].elementor-widget-icon .elementor-icon-wrapper,
  .girar-figura-izquierda.girar-figura-izquierda--activo .elementor-icon-wrapper,
  [data-anim="girar-figura-izquierda"].girar-figura-izquierda--activo .elementor-icon-wrapper,
  .elementor-widget-icon.girar-figura-izquierda:not(:has(.elementor-icon-wrapper)),
  [data-anim="girar-figura-izquierda"].elementor-widget-icon:not(:has(.elementor-icon-wrapper)),
  .girar-figura-izquierda.girar-figura-izquierda--activo:not(:has(.elementor-icon-wrapper)),
  [data-anim="girar-figura-izquierda"].girar-figura-izquierda--activo:not(:has(.elementor-icon-wrapper)) {
    animation: none !important;
  }
}

.elementor-widget-n-carousel .e-n-carousel.swiper.offset-right,
.elementor-widget-n-carousel .e-n-carousel.swiper.offset-left,
.elementor-widget-n-carousel .e-n-carousel.swiper.offset-both {
  pointer-events: none;
}

.elementor-widget-n-carousel .e-n-carousel.swiper.offset-right .swiper-wrapper,
.elementor-widget-n-carousel .e-n-carousel.swiper.offset-left .swiper-wrapper,
.elementor-widget-n-carousel .e-n-carousel.swiper.offset-both .swiper-wrapper {
  pointer-events: auto;
  position: relative;
  z-index: 1;
}

.elementor-widget-n-carousel .e-n-carousel.swiper.offset-right .swiper-slide,
.elementor-widget-n-carousel .e-n-carousel.swiper.offset-left .swiper-slide,
.elementor-widget-n-carousel .e-n-carousel.swiper.offset-both .swiper-slide {
  position: relative;
}

.elementor-widget-n-carousel .e-n-carousel.swiper.offset-right .swiper-slide-active + .swiper-slide + .swiper-slide,
.elementor-widget-n-carousel .e-n-carousel.swiper.offset-both .swiper-slide-active + .swiper-slide + .swiper-slide {
  z-index: 10;
}

.elementor-widget-n-carousel .e-n-carousel.swiper.offset-left .swiper-slide:has(+ .swiper-slide + .swiper-slide.swiper-slide-active),
.elementor-widget-n-carousel .e-n-carousel.swiper.offset-both .swiper-slide:has(+ .swiper-slide + .swiper-slide.swiper-slide-active) {
  z-index: 10;
}

.elementor-widget-n-carousel .e-n-carousel.swiper.offset-right .swiper-slide:hover,
.elementor-widget-n-carousel .e-n-carousel.swiper.offset-left .swiper-slide:hover,
.elementor-widget-n-carousel .e-n-carousel.swiper.offset-both .swiper-slide:hover,
.elementor-widget-n-carousel .e-n-carousel.swiper.offset-right .swiper-slide:focus-within,
.elementor-widget-n-carousel .e-n-carousel.swiper.offset-left .swiper-slide:focus-within,
.elementor-widget-n-carousel .e-n-carousel.swiper.offset-both .swiper-slide:focus-within {
  z-index: 11;
}

.elementor-widget-n-carousel .e-con.laive-carousel-offset-hover,
.elementor-widget-n-carousel .e-con.ctg-carousel-offset-hover {
  transform: scale(1) !important;
}

.ctn-ola-animada {
  position: relative;
  overflow: visible;
  z-index: 1;
  --ola-altura: 120px;
  --ola-relleno: #ffffff;
  --ola-ciclo: 4s;
  --ola-impulso: 1s;
  margin-bottom: calc(var(--ola-altura) * -1);
}

.ctn-ola-animada > .elementor-shape,
.ctn-ola-animada > .e-con-inner > .elementor-shape {
  display: none !important;
}

.laive-ola-wave,
.ctg-ola-wave {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  height: var(--ola-altura);
  line-height: 0;
  pointer-events: none;
}

.laive-ola-wave svg,
.ctg-ola-wave svg {
  display: block;
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .ctn-ola-animada {
    --ola-altura: 60px;
  }
}
