.container {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  padding: 0 var(--margin);
}

.grid {
  display: grid;
  grid-template-columns: repeat(var(--columns), 1fr);
  column-gap: var(--gutter);
}

.col-1  { grid-column: span 1; }
.col-2  { grid-column: span 2; }
.col-3  { grid-column: span 3; }
.col-4  { grid-column: span 4; }
.col-5  { grid-column: span 5; }
.col-6  { grid-column: span 6; }
.col-7  { grid-column: span 7; }
.col-8  { grid-column: span 8; }
.col-9  { grid-column: span 9; }
.col-10 { grid-column: span 10; }
.col-11 { grid-column: span 11; }
.col-12 { grid-column: span 12; }

.col--centered { grid-column: 2 / span 10; text-align: left; }
.grid--stretch { align-items: stretch; }

@media (max-width: 768px) {
  :root {
    --columns: 6;
  }
  .col-1, .col-2 { grid-column: span 3; }
  .col-3, .col-4, .col-5, .col-6 { grid-column: span 6; }
  .col-7, .col-8, .col-9 { grid-column: span 6; }
  .col-10, .col-11, .col-12 { grid-column: span 6; }
}

@media (max-width: 480px) {
  :root {
    --columns: 1;
  }
  [class^="col-"], [class*=" col-"] { grid-column: span 1; }
  .schaakbord-kader .col-4 {
    grid-column: span 1;
  }
}