.i58-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  transition: 0.25s;
}
.i58-btn:hover {
  transform: translateY(-2px);
}
.i58-btn:active {
  transform: translateY(0);
}
.i58-btn-block {
  display: flex;
  width: 100%;
}
.i58-btn-lg {
  padding: 18px 36px;
  font-size: 1.1rem;
}
.i58-btn-sm {
  padding: 10px 20px;
  font-size: 0.9rem;
}
.i58-btn-primary {
  background: linear-gradient(135deg, #5B2CBF, #F59E0B);
  color: #FFFFFF;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.i58-btn-primary:hover {
  box-shadow: 0 15px 40px rgba(91, 44, 191, 0.15);
}
.i58-btn-gold {
  background: #FFD54A;
  color: #1F1F1F;
}
.i58-btn-gold:hover {
  background: #FFE37B;
}
.i58-btn-line {
  background: #06C755;
  color: #FFFFFF;
}
.i58-btn-line:hover {
  background: #04B44C;
}
.i58-btn-outline {
  background: transparent;
  border: 2px solid #5B2CBF;
  color: #5B2CBF;
}
.i58-btn-outline:hover {
  background: #F4ECFF;
}
.i58-btn-white {
  background: #FFF;
  color: #5B2CBF;
}
.i58-btn-white:hover {
  background: #F8F8F8;
}
.i58-btn-danger {
  background: #E53935;
  color: #FFF;
}
