 .gp {
  /* Initial sty.gpng */
  display: inline-block;
  background-color: #f0f0f0;
  color: #fff;
  text-transform: uppercase;
  border-radius: 10px;
  box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
  transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
  cursor: pointer;

  /* 3D effect */
  transform: perspective(1px) translateZ(0);
  position: relative;
  user-select: none;
}

.gp::before, .gp::after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  transition: opacity 0.3s ease;
  background: linear-gradient(45deg, #ff69b4, #8a2be2, #4b0082);
  z-index: -1;
}

.gp::after {
  opacity: 0;
  transform: scale(0.9);
}

.gp a {
  text-decoration: none;
  color: inherit; /* Inherits the color from the .gp */
  font-weight: bold;
}