.cb-nex-button-wrapper .cb-nex-button {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  padding: 16px 24px;
  border-radius: 6px;
  color: #fff;
  background-color: #15171a;
  text-decoration: none;
  font-weight: bold;
  transition: background-color 0.3s ease;
  position: relative;
  text-transform: capitalize;
  outline: none;
}

.cb-nex-button-wrapper .cb-nex-button:hover {
  background-color: #000;
}

.cb-nex-button-wrapper .cb-nex-button .button-icon svg {
  width: 1em;
  height: 1em;
  display: block;
  fill: currentColor;
}

.cb-nex-button-wrapper .cb-nex-button .button-icon i {
  color: currentColor;
}

.cb-nex-button-wrapper.style-2 .cb-nex-button .button-text {
  margin-right: 32px;
}

.cb-nex-button-wrapper.style-2 .cb-nex-button:hover .button-icon {
  width: calc(100% - 0.6em);
}

.cb-nex-button-wrapper.style-2 .button-icon {
  background: #fff;
  margin-left: 1em;
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  width: 40px;
  border-radius: 6px;
  right: 0.3em;
  transition: all 0.3s;
}

.cb-nex-button-wrapper.style-2 .button-icon svg {
  fill: #15171a;
  width: 20px;
  height: 20px;
}

.cb-nex-button-wrapper.style-2 .button-icon i {
  color: #15171a;
}

/* style 3 button  */
.cb-nex-button-wrapper {
  &.style-3 {
    .cb-nex-button {
      position: relative;
      border: 2px solid #15171a;
      &:hover {
        background: transparent;
        border-color: #15171a;
        color: #15171a;
        .cb-star {
          opacity: 1;
          z-index: 2;
          filter: drop-shadow(0 0 10px #fffdef);
        }
        .cb-star-1 {
          top: -80%;
          left: -30%;
        }
        .cb-star-2 {
          top: -25%;
          left: 10%;
        }
        .cb-star-3 {
          top: 55%;
          left: 25%;
        }
        .cb-star-4 {
          top: 30%;
          left: 80%;
        }
        .cb-star-5 {
          top: 25%;
          left: 115%;
        }
        .cb-star-6 {
          top: 5%;
          left: 60%;
        }
      }
    }
    .cb-star {
      position: absolute;
      z-index: -5;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.5s ease;
      filter: drop-shadow(0 0 0 #fffdef);

      &.cb-star-1 {
        top: 20%;
        left: 20%;
        width: 25px;
        transition: all 1s cubic-bezier(0.05, 0.83, 0.43, 0.96);
      }

      &.cb-star-2 {
        top: 45%;
        left: 45%;
        width: 15px;
        transition: all 1s cubic-bezier(0, 0.4, 0, 1.01);
      }

      &.cb-star-3 {
        top: 40%;
        left: 40%;
        width: 5px;
        transition: all 1s cubic-bezier(0, 0.4, 0, 1.01);
      }

      &.cb-star-4 {
        top: 20%;
        left: 40%;
        width: 8px;
        transition: all 0.8s cubic-bezier(0, 0.4, 0, 1.01);
      }

      &.cb-star-5 {
        top: 25%;
        left: 45%;
        width: 15px;
        transition: all 0.6s cubic-bezier(0, 0.4, 0, 1.01);
      }

      &.cb-star-6 {
        top: 5%;
        left: 50%;
        width: 5px;
        transition: all 0.8s ease;
      }
    }
    .cb-star-icon {
      fill: #15171a;
    }
  }

  &.style-4 {
    .cb-nex-button {
      overflow: hidden;
      &::after {
        position: absolute;
        content: "";
        width: 100%;
        height: 0;
        top: 0;
        left: 0;
        border-radius: inherit;
        background-color: #f00;
        visibility: hidden;
        transition: all 0.3s ease;
      }
      &:hover {
        &::after {
          top: auto;
          bottom: 0;
          height: 100%;
          visibility: visible;
        }
      }
    }
    .button-text,
    .button-icon {
      z-index: 11;
      position: relative;
    }
  }
}
