.btn-primary,
.btn-start-course,
.nav-btn,
.btn-action {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, var(--course-primary-dark) 0%, var(--course-primary) 100%);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 14px 32px;
  border-radius: 50px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
  box-shadow: var(--course-btn-shadow);
}

.btn-primary:hover:not(:disabled),
.btn-start-course:hover:not(:disabled),
.nav-btn:hover:not(:disabled),
.btn-action:hover:not(:disabled) {
  transform: translateY(-3px) scale(1.03);
  box-shadow: var(--course-shadow-hover);
  filter: brightness(1.1);
}

.btn-primary:disabled,
.btn-start-course:disabled,
.nav-btn:disabled,
.btn-action:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
  filter: none;
}

.btn-action {
  margin: clamp(8px, 1.5vw, 16px) auto 0;
  flex-shrink: 0;
}

.exercise-body--compact-btn .btn-action {
  margin: 12px auto 0;
}
