Why this matters
The production reason.
Viewport breakpoints are not enough when the same card appears in a sidebar, grid, modal, and dashboard.
Container queries let the component respond to its own available space.
This keeps reusable components from needing one-off parent classes everywhere.
.product-card {
container-type: inline-size;
}
@container (min-width: 420px) {
.product-card__body {
display: grid;
grid-template-columns: 120px 1fr;
}
}