.c4-grid{
  display:grid;
  gap:25px;
  grid-template-columns: 1fr; /* default 1 */
  margin-bottom:100px;
}

#content-area .c4-grid:last-of-type {
  margin-bottom: 0;
}

/* No sidebar, enough space → 2 cols */
@media (min-width: 768px){
  .c4-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Sidebar returns at 1024 → content too narrow → back to 1 */
@media (min-width: 1024px){
  .c4-grid{
    grid-template-columns: 1fr;
  }
}

/* Wide enough even with sidebar → 2 */
@media (min-width: 1290px){
  .c4-grid{
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Big screens → 3 */
@media (min-width: 1800px){
  .c4-grid{
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Ultra wide → 4 */
@media (min-width: 2500px){
  .c4-grid{
    grid-template-columns: repeat(4, 1fr);
  }
}

.c4-grid > *{
  margin:0;
}