.grid-1,
.grid-1-2-3-4,
.grid-2,
.grid-3 {
    display: grid !important;
    column-gap: var(--size);
    grid-auto-rows: min-content;
}

.grid-1,
.grid-1-2-3-4 {grid-template-columns: repeat(1, 1fr);}
.grid-2 {grid-template-columns: repeat(2, 1fr);}
.grid-3 {grid-template-columns: repeat(3, 1fr);}

@media only screen and (min-width: 768px) {
    .grid-1-2-3-4 {grid-template-columns: repeat(2, 1fr);}
}
@media only screen and (min-width: 1096px) {
    .grid-1-2-3-4 {grid-template-columns: repeat(3, 1fr);}
}
@media only screen and (min-width: 2048px) {
    .grid-1-2-3-4 {grid-template-columns: repeat(4, 1fr);}
}
.grid-no_gap {column-gap: 0;}