Попробуйте абсолютное позиционирование. Добавьте это к своему коду:
[class^=body] {
border: 5px solid black;
height: 500px;
width: 23rem;
position: relative; /* new; set bounding box */
}
[class^=body] .wrapper-2 {
border: 3px solid red;
/* new */
position: absolute;
bottom: 0;
left: 0;
width: 100%;
}
[class^=body] .actions {
border: 3px solid blue;
/* new */
display: flex;
justify-content: space-around;
}
* {
box-sizing: border-box;
}
.example {
display: flex;
}
.example .body-B {
margin-left: 1rem;
}
.body-B {
display: flex;
}
.body-B .wrapper-1,
.body-B .wrapper-2 {
display: flex;
flex-grow: 2;
}
.body-B .wrapper-1 {
flex-direction: column;
}
.body-B .actions {
align-items: flex-end;
display: flex;
width: 100%;
justify-content: space-evenly;
}
[class^=body] {
border: 5px solid black;
height: 500px;
width: 23rem;
position: relative; /* new; set bounding box */
}
[class^=body] .title {
border: 3px dotted grey;
display: flex;
justify-content: center;
}
[class^=body] .wrapper-1 {
border: 3px solid green;
}
[class^=body] .wrapper-2 {
border: 3px solid red;
/* new */
position: absolute;
bottom: 0;
left: 0;
width: 100%;
}
[class^=body] .actions {
border: 3px solid blue;
/* new */
display: flex;
justify-content: space-around;
}
<div class="example">
<div class="body-A">
<div class="wrapper-1">
<p class="title">Naturally positioned at top</p>
<div class="wrapper-2">
<div class="actions">
<button class="action">click</button>
<button class="action">click</button>
</div>
</div>
</div>
</div>
<div class="body-B">
<div class="wrapper-1">
<p class="title">Lots of<code>display: flex</code></p>
<div class="wrapper-2">
<div class="actions">
<button class="action">click</button>
<button class="action">click</button>
</div>
</div>
</div>
</div>
</div>