Are you sure you are correctly importing/using Bootstrap 5? I tested your HTML using Bootstrap 5 and the row correctly renders with three columns. When testing your HTML using Bootstrap 3, I get the results you describe (all columns stacked on top of one another).
Here is a codepen I made that shows your HTML working when correctly importing Bootstrap 5
If you are using a CDN, try swapping it to this:
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
Alternatively, you can just add display: flex
on the row class.
If you need more information on getting started with Bootstrap 5, visit this link.