/* Letter Reveal — Button injection styles */

.elementor-button.pe-lr-active {
  overflow: hidden;
}

/* Per-letter wrapper */
.pe-lr-char-wrap {
  position: relative;
  display: inline-block;
  overflow: hidden;
  line-height: 1.2;
  vertical-align: top;
}

.pe-lr-char {
  display: inline-block;
  will-change: transform;
  transition: transform var(--pe-lr-duration, 0.4s) ease;
  transition-delay: calc(var(--pe-lr-index, 0) * var(--pe-lr-stagger, 0.04s));
}

.pe-lr-char--clone {
  position: absolute;
  left: 0;
  top: 100%;
}

/* Direction: up (default) */
.elementor-button.pe-lr-active:hover .pe-lr-char--primary,
.elementor-button.pe-lr-active:hover .pe-lr-char--clone {
  transform: translateY(-100%);
}

/* Direction: down */
.elementor-button.pe-lr-active[data-pe-lr-dir="down"] .pe-lr-char--clone {
  top: auto;
  bottom: 100%;
}

.elementor-button.pe-lr-active[data-pe-lr-dir="down"]:hover .pe-lr-char--primary,
.elementor-button.pe-lr-active[data-pe-lr-dir="down"]:hover .pe-lr-char--clone {
  transform: translateY(100%);
}

/* Icon — whole-unit clone, sliding after the last letter */
.pe-lr-icon-active {
  position: relative;
  overflow: hidden;
}

.pe-lr-icon-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.pe-lr-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--pe-lr-duration, 0.4s) ease;
  transition-delay: calc(var(--pe-lr-index, 0) * var(--pe-lr-stagger, 0.04s));
}

.pe-lr-icon--clone {
  position: absolute;
  top: 100%;
  left: 0;
}

.elementor-button.pe-lr-active:hover .pe-lr-icon--primary,
.elementor-button.pe-lr-active:hover .pe-lr-icon--clone {
  transform: translateY(-100%);
}

.elementor-button.pe-lr-active[data-pe-lr-dir="down"] .pe-lr-icon--clone {
  top: auto;
  bottom: 100%;
}

.elementor-button.pe-lr-active[data-pe-lr-dir="down"]:hover .pe-lr-icon--primary,
.elementor-button.pe-lr-active[data-pe-lr-dir="down"]:hover .pe-lr-icon--clone {
  transform: translateY(100%);
}

.pe-lr-icon svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
  transition: fill var(--pe-lr-duration, 0.4s) ease;
}
