.has-s1-rc-columns {
    column-gap: var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem));
    row-gap:    var(--s1-rc-gap-y, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem)));
}

@media (max-width: 1199.98px) {
    .wp-block-columns.has-s1-rc-columns,
    .wp-block-post-template.is-layout-grid.has-s1-rc-columns {
        display: grid !important;
    }
}

/*
 * !important overrides a specificity-boosted WP core rule that forces
 * `grid-template-columns: 1fr` on post-template grids below 600px
 * (selector repeats `.wp-block-post-template-is-layout-grid` 4 times).
 */
@media (max-width: 767.98px) {
    .wp-block-columns.has-s1-rc-columns,
    .wp-block-post-template.is-layout-grid.has-s1-rc-columns {
        grid-template-columns: repeat(var(--s1-rc-columns-mobile-portrait, 1), 1fr) !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .wp-block-columns.has-s1-rc-columns,
    .wp-block-post-template.is-layout-grid.has-s1-rc-columns {
        grid-template-columns: repeat(var(--s1-rc-columns-tablet-portrait, var(--wp--columns, 2)), 1fr) !important;
    }
}
