/**
 * Pro Effects — Icon Slide
 *
 * Hover: icon translateX hacia su lado (data-pe-is-dir=left|right detectado
 * desde flex-direction). Sin alterar bg/padding/radius del icono — preserva
 * el look nativo. Stretch (data-pe-is-stretch=yes) extiende el padding del
 * lado del icono para que no salga del button.
 */

.elementor-button.pe-is-active .elementor-button-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--pe-is-dur, 0.3s) cubic-bezier(0.34, 1.56, 0.64, 1);
  will-change: transform;
}

/* Slide direction: outward (hacia el lado del icono) */
.elementor-button.pe-is-active[data-pe-is-dir="right"]:hover .elementor-button-icon {
  transform: translateX(var(--pe-is-disp, 6px));
}
.elementor-button.pe-is-active[data-pe-is-dir="left"]:hover .elementor-button-icon {
  transform: translateX(calc(-1 * var(--pe-is-disp, 6px)));
}

/* Button stretches with icon (default On) */
.elementor-button.pe-is-active[data-pe-is-stretch="yes"] {
  transition: padding-right var(--pe-is-dur, 0.3s) ease,
              padding-left  var(--pe-is-dur, 0.3s) ease;
}
.elementor-button.pe-is-active[data-pe-is-stretch="yes"][data-pe-is-dir="right"]:hover {
  padding-right: calc(var(--pe-is-base-pad-right, 0px) + var(--pe-is-disp, 6px));
}
.elementor-button.pe-is-active[data-pe-is-stretch="yes"][data-pe-is-dir="left"]:hover {
  padding-left:  calc(var(--pe-is-base-pad-left, 0px) + var(--pe-is-disp, 6px));
}

/* Reduced motion */

/* Reducir movimiento (2026-10-07): es una respuesta corta al pasar el mouse, iniciada por el visitante,
   así que se mantiene igual que siempre. Sin esto la regla de Elementor
   `@media (prefers-reduced-motion:reduce){html *{transition-duration:0s!important;transition-delay:0s!important}}`
   la anula y el efecto parece no funcionar. Mismas reglas y valores que arriba, con !important. */
@media (prefers-reduced-motion: reduce) {
  .elementor-button.pe-is-active .elementor-button-icon { transition: transform var(--pe-is-dur, 0.3s) cubic-bezier(0.34, 1.56, 0.64, 1) !important; }
  .elementor-button.pe-is-active[data-pe-is-stretch="yes"] { transition: padding-right var(--pe-is-dur, 0.3s) ease,
              padding-left  var(--pe-is-dur, 0.3s) ease !important; }
}
