.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: var(--button-padding-y) var(--button-padding-x);
  border-radius: var(--button-radius);
  font-weight: 600;
  font-size: var(--font-size-base);
  text-decoration: none;
  cursor: pointer;
  border: 2px solid transparent;
  transition: transform 0.2s, box-shadow 0.2s, background-color 0.2s, color 0.2s;
  text-align: center;
  white-space: nowrap;
}

/* Primary — pink fill */
.btn-primary {
  background-color: var(--blc-pink);
  color: #ffffff;
  border-color: var(--blc-pink);
  box-shadow: 0 4px 16px rgba(230, 16, 119, 0.3);
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(230, 16, 119, 0.4);
}

/* Secondary — cyan fill */
.btn-secondary {
  background-color: var(--blc-cyan);
  color: var(--blc-dark);
  border-color: var(--blc-cyan);
}

.btn-secondary:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(85, 237, 249, 0.35);
}

/* Outline — pink border, transparent fill */
.btn-outline {
  background-color: transparent;
  color: var(--blc-pink);
  border-color: var(--blc-pink);
}

.btn-outline:hover {
  background-color: var(--blc-pink);
  color: #ffffff;
}

/* Ghost — for dark backgrounds */
.btn-ghost {
  background-color: transparent;
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.5);
}

.btn-ghost:hover {
  background-color: rgba(255, 255, 255, 0.1);
  border-color: #ffffff;
}

/* Sizes */
.btn-small {
  padding: var(--spacing-xs) var(--spacing-md);
  font-size: var(--font-size-sm);
}

.btn-large {
  padding: var(--spacing-md) var(--spacing-xl);
  font-size: var(--font-size-lg);
}

.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none !important;
  box-shadow: none !important;
}
