Switcher

Switcher Style
.switcher {
  --threshold: 30rem;
  display: flex;
  flex-wrap: wrap;
  gap: $space-s;
}

.switcher > * {
  flex-grow: 1;
  flex-basis: calc((var(--threshold) - 100%) * 999);
}

.switcher > :nth-last-child(n + 5),
.switcher > :nth-last-child(n + 5) ~ * {
  /* Switch to a vertical configuration if there are more than 4 child elements */
  flex-basis: 100%;
}
<div class="switcher">
  <div class="box">Switcher 1</div>
  <div class="box">Switcher 2</div>
  <div class="box">Switcher 3</div>
  <div class="box">Switcher 4</div>
</div>
Switcher 1
Switcher 2
Switcher 3
Switcher 4