.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 999px;
  font-weight: 800;
  white-space: nowrap;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn-primary {
  color: var(--blanco);
  background: var(--rojo);
  box-shadow: 0 12px 24px rgba(201, 17, 17, 0.16);
  border: 1px solid #2a1212;
}

.btn-primary:hover {
  background: var(--rojo-oscuro);
}

.btn-secondary,
.btn-outline {
  color: var(--negro);
  border: 1px solid rgba(21, 21, 21, 0.85);
  background: transparent;
}

.btn-secondary:hover,
.btn-outline:hover {
  color: var(--rojo);
  border-color: var(--rojo);
}

.register-card .btn-primary {
  min-height: 56px;
  padding: 0 28px;
  color: #a30f0f;
  background: #fff8f3;
  border: 1px solid rgba(120, 20, 20, 0.18);
  box-shadow: 0 14px 28px rgba(120, 10, 10, 0.16);
}

.register-card .btn-primary:hover {
  background: #fffdf9;
  color: #8f0f0f;
  transform: translateY(-2px);
}