JSFiddle - React, Tailwind, and code Playground
HTML
<h2>Here's What You've Ordered</h2>
<div class="container">
<div class="inventory">
<div class="item">
<img src="https://via.placeholder.com/100x50" alt="">
<div class="item-meta">
<div class="description">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem qui aperiam nemo delectus sed quam</div>
<div class="price">949.00</div>
</div>
</div>
<div class="item">
<img src="https://via.placeholder.com/100x50" alt="">
<div class="item-meta">
<div class="description">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptatem qui aperiam nemo delectus sed quam</div>
<div class="price">949.00</div>
</div>
</div>
</div>
<div class="totals">
Totals will go here…
<button>You paid using MasterCard</button>
</div>
</div>
CSS
*,
*::before,
*::after {
box-sizing: border-box;
}
.container,
.inventory,
.inventory .item {
display: flex;
}
.inventory,
.inventory .item {
gap: 1rem;
align-items: center;
padding-inline-end: 0.5rem;
}
.container {
border-top: 1px solid lightgray;
border-bottom: 1px solid lightgray;
padding-block: 1rem;
}
.container>* {
flex-basis: 50%;
}
.inventory {
flex-direction: column;
position: relative;
--img-thumbnail-height: 50px;
--img-thumbnail-width: 100px;
}
.inventory::after {
content: '';
border-right: 1px solid lightgray;
position: absolute;
right: 0;
bottom: -1rem;
top: -1rem;
}
.inventory .item:not(:last-child) {
border-bottom: 1px solid lightgray;
padding-bottom: 1rem;
}
.inventory .item img {
flex-grow: 0;
width: var(--img-thumbnail-width);
height: var(--img-thumbnail-height);
}
.totals {
padding: 1rem;
}
.totals button {
display: block;
padding: 0.75rem 0;
width: 100%;
background-color: lightgray;
border: none;
appearance: none;
}
@media screen and (max-width: 600px) {
.container {
flex-direction: column;
}
.inventory {
border-bottom: 1px solid lightgray;
padding-block-end: 1rem;
}
.inventory::after {
content: normal;
}
}