/* PillButton Component Base Styles */
.PillButton {
  /* Base pill shape */
  border-radius: 100px;

  /* Padding and sizing */
  padding: 12px 30px;
  min-height: 40px;
  max-height: 48px;
  
  /* Typography */
  text-align: center;
  line-height: normal;
  font-weight: 700;
  font-size: 1rem;

  /* Layout */
  display: inline-block;
  vertical-align: middle;

  /* Border */
  border: 2px solid transparent;

  /* Default colors (neutral) */
  color: #ffffff;

  /* Interaction */
  cursor: pointer;
  transition: all 0.3s ease-in-out;
  text-decoration: none;

  /* Remove default button styles */
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), 0 0 15px rgba(14, 165, 233, 0.3) inset;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  border: none;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #1a9fbb, #1d4ed8);
}

.PillButton:hover:not(:disabled) {
  box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.2);
}

.PillButton:active:not(:disabled) {
  box-shadow: 0px 2px 6px rgba(0, 0, 0, 0.2);
}

.PillButton:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

/* Full width variant */
.PillButton.full-width {
  width: 100%;
  display: block;
}

.PillButton:hover {
  filter: brightness(1.15);
}

.PillButton::before {
  content: '';
  position: absolute;
  top: 0;
  left: -110%;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.2);
  transform: skewX(-30deg);
  transition: all 0.4s ease-in-out;
  pointer-events: none;
}

.PillButton:hover::before {
  left: 110%;
}
.PillButton i {
  margin-right:10px;
}

/* Red variant */
.PillButton.red {
  background: linear-gradient(135deg, #bb1a63, #1d4ed8);
}

/* Disable hover animations for mobile devices */
@media (max-width: 768px) {
  /* Remove the shine animation for mobile */
  .PillButton::before {
    display: none;
  }
  
  /* Disable the brightness change on hover for mobile */
  .PillButton:hover {
    filter: none;
  }
}
