.oca-btn,
.oca-btn--light,
.oca-btn--ghost {
  position: relative;
  overflow: hidden;
}

.oca-btn::before,
.oca-btn--light::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(105deg, transparent 20%, rgba(255, 255, 255, 0.22) 50%, transparent 80%);
  transform: skewX(-15deg);
  animation: ocaShimmerLoop 3.5s ease-in-out infinite;
  pointer-events: none;
}

.oca-btn {
  animation: ocaGlowPulse 3s ease-in-out infinite;
}

.oca-btn > *,
.oca-btn--light > *,
.oca-btn--ghost > * {
  position: relative;
  z-index: 1;
}

@keyframes ocaShimmerLoop {
  0% {
    left: -100%;
  }
  40%,
  100% {
    left: 150%;
  }
}

@keyframes ocaGlowPulse {
  0%,
  100% {
    box-shadow: 0 0 20px rgba(113, 75, 103, 0.30);
  }
  50% {
    box-shadow: 0 0 40px rgba(113, 75, 103, 0.55);
  }
}
