/* Global button styles: single source of truth for primary (green) buttons */

.btn {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  border: none;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: center;
  text-decoration: none; /* for <a> */
  user-select: none;
}

.btn:disabled {
  background: #666666;
  color: #ffffff;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* Primary (green) */
.btn-primary {
  background: linear-gradient(45deg, #4CAF50, #45a049);
  color: #ffffff;
}

.btn-primary:hover:not(:disabled) {
  background: linear-gradient(45deg, #45a049, #4CAF50);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(76, 175, 80, 0.4);
}

.btn-primary:active:not(:disabled) {
  transform: translateY(0);
}

/* Secondary (neutral/gray) */
.btn-secondary {
  background: linear-gradient(45deg, #8a8a8a, #aaaaaa);
  color: #111111;
}

.btn-secondary:hover:not(:disabled) {
  background: linear-gradient(45deg, #a6a6a6, #c8c8c8);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
}

.btn-secondary:active:not(:disabled) {
  transform: translateY(0);
}

/* Tertiary (danger/red) */
.btn-tertiary {
  background: linear-gradient(45deg, #d32f2f, #f44336);
  color: #ffffff;
}

.btn-tertiary:hover:not(:disabled) {
  background: linear-gradient(45deg, #e53935, #ff5252);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(244, 67, 54, 0.35);
}

.btn-tertiary:active:not(:disabled) {
  transform: translateY(0);
}

/* Utilities */
.btn--block { width: 100%; }
