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

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

@media (min-width: 576px) and (max-width: 767.98px) {
    .wp-block-columns.has-s1-rc-columns:not(.has-s1-rc-custom-widths),
    .wp-block-post-template.is-layout-grid.has-s1-rc-columns:not(.has-s1-rc-masonry) {
        --s1-rc-gap-x-active: var(--s1-rc-gap-x-mobile-landscape, var(--s1-rc-gap-x-desktop, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem))));
        --s1-rc-gap-y-active: var(--s1-rc-gap-y-mobile-landscape, var(--s1-rc-gap-y-desktop, var(--s1-rc-gap-y, var(--s1-rc-gap-x-active))));
        grid-template-columns: repeat(var(--s1-rc-columns-mobile-landscape, 1), 1fr);
        column-gap: var(--s1-rc-gap-x-active);
        row-gap: var(--s1-rc-gap-y-active);
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths:has(> .wp-block-column.has-s1-rc-column-width-mobile-landscape),
    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths:has(> .wp-block-column.has-s1-rc-column-order-mobile-landscape) {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        column-gap: 0 !important;
        width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        max-width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        min-width: 0 !important;
        margin-left: calc(var(--s1-rc-gap-x-active) / -2) !important;
        margin-right: calc(var(--s1-rc-gap-x-active) / -2) !important;
        row-gap: var(--s1-rc-gap-y-active) !important;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column {
        padding-left: calc(var(--s1-rc-gap-x-active) / 2) !important;
        padding-right: calc(var(--s1-rc-gap-x-active) / 2) !important;
        min-width: 0;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-width-mobile-landscape {
        flex: 0 0 var(--s1-rc-column-width-mobile-landscape) !important;
        width: var(--s1-rc-column-width-mobile-landscape) !important;
        max-width: var(--s1-rc-column-width-mobile-landscape) !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-order-mobile-landscape {
        order: var(--s1-rc-column-order-mobile-landscape) !important;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .wp-block-columns.has-s1-rc-columns:not(.has-s1-rc-custom-widths),
    .wp-block-post-template.is-layout-grid.has-s1-rc-columns:not(.has-s1-rc-masonry) {
        --s1-rc-gap-x-active: var(--s1-rc-gap-x-tablet-portrait, var(--s1-rc-gap-x-desktop, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem))));
        --s1-rc-gap-y-active: var(--s1-rc-gap-y-tablet-portrait, var(--s1-rc-gap-y-desktop, var(--s1-rc-gap-y, var(--s1-rc-gap-x-active))));
        grid-template-columns: repeat(var(--s1-rc-columns-tablet-portrait, var(--wp--columns, 2)), 1fr);
        column-gap: var(--s1-rc-gap-x-active);
        row-gap: var(--s1-rc-gap-y-active);
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths:has(> .wp-block-column.has-s1-rc-column-width-tablet-portrait),
    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths:has(> .wp-block-column.has-s1-rc-column-order-tablet-portrait) {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        column-gap: 0 !important;
        width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        max-width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        min-width: 0 !important;
        margin-left: calc(var(--s1-rc-gap-x-active) / -2) !important;
        margin-right: calc(var(--s1-rc-gap-x-active) / -2) !important;
        row-gap: var(--s1-rc-gap-y-active) !important;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column {
        padding-left: calc(var(--s1-rc-gap-x-active) / 2) !important;
        padding-right: calc(var(--s1-rc-gap-x-active) / 2) !important;
        min-width: 0;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-width-tablet-portrait {
        flex: 0 0 var(--s1-rc-column-width-tablet-portrait) !important;
        width: var(--s1-rc-column-width-tablet-portrait) !important;
        max-width: var(--s1-rc-column-width-tablet-portrait) !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-order-tablet-portrait {
        order: var(--s1-rc-column-order-tablet-portrait) !important;
    }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .wp-block-columns.has-s1-rc-columns:not(.has-s1-rc-custom-widths),
    .wp-block-post-template.is-layout-grid.has-s1-rc-columns:not(.has-s1-rc-masonry) {
        --s1-rc-gap-x-active: var(--s1-rc-gap-x-tablet-landscape, var(--s1-rc-gap-x-desktop, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem))));
        --s1-rc-gap-y-active: var(--s1-rc-gap-y-tablet-landscape, var(--s1-rc-gap-y-desktop, var(--s1-rc-gap-y, var(--s1-rc-gap-x-active))));
        grid-template-columns: repeat(var(--s1-rc-columns-tablet-landscape, var(--wp--columns, 2)), 1fr);
        column-gap: var(--s1-rc-gap-x-active);
        row-gap: var(--s1-rc-gap-y-active);
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths:has(> .wp-block-column.has-s1-rc-column-width-tablet-landscape),
    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths:has(> .wp-block-column.has-s1-rc-column-order-tablet-landscape) {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        column-gap: 0 !important;
        width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        max-width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        min-width: 0 !important;
        margin-left: calc(var(--s1-rc-gap-x-active) / -2) !important;
        margin-right: calc(var(--s1-rc-gap-x-active) / -2) !important;
        row-gap: var(--s1-rc-gap-y-active) !important;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column {
        padding-left: calc(var(--s1-rc-gap-x-active) / 2) !important;
        padding-right: calc(var(--s1-rc-gap-x-active) / 2) !important;
        min-width: 0;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-width-tablet-landscape {
        flex: 0 0 var(--s1-rc-column-width-tablet-landscape) !important;
        width: var(--s1-rc-column-width-tablet-landscape) !important;
        max-width: var(--s1-rc-column-width-tablet-landscape) !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-order-tablet-landscape {
        order: var(--s1-rc-column-order-tablet-landscape) !important;
    }
}

@media (max-width: 575.98px) {
    .wp-block-columns.has-s1-rc-columns:not(.has-s1-rc-custom-widths),
    .wp-block-post-template.is-layout-grid.has-s1-rc-columns:not(.has-s1-rc-masonry) {
        --s1-rc-gap-x-active: var(--s1-rc-gap-x-mobile-portrait, var(--s1-rc-gap-x-desktop, var(--s1-rc-gap-x, var(--wp--style--block-gap, 1.5rem))));
        --s1-rc-gap-y-active: var(--s1-rc-gap-y-mobile-portrait, var(--s1-rc-gap-y-desktop, var(--s1-rc-gap-y, var(--s1-rc-gap-x-active))));
        grid-template-columns: repeat(var(--s1-rc-columns-mobile-portrait, 1), 1fr);
        column-gap: var(--s1-rc-gap-x-active);
        row-gap: var(--s1-rc-gap-y-active);
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths:has(> .wp-block-column.has-s1-rc-column-width-mobile-portrait),
    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths:has(> .wp-block-column.has-s1-rc-column-order-mobile-portrait) {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: stretch !important;
        column-gap: 0 !important;
        width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        max-width: calc(100% + var(--s1-rc-gap-x-active)) !important;
        min-width: 0 !important;
        margin-left: calc(var(--s1-rc-gap-x-active) / -2) !important;
        margin-right: calc(var(--s1-rc-gap-x-active) / -2) !important;
        row-gap: var(--s1-rc-gap-y-active) !important;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column {
        padding-left: calc(var(--s1-rc-gap-x-active) / 2) !important;
        padding-right: calc(var(--s1-rc-gap-x-active) / 2) !important;
        min-width: 0;
        box-sizing: border-box !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-width-mobile-portrait {
        flex: 0 0 var(--s1-rc-column-width-mobile-portrait) !important;
        width: var(--s1-rc-column-width-mobile-portrait) !important;
        max-width: var(--s1-rc-column-width-mobile-portrait) !important;
    }

    .wp-block-columns.has-s1-rc-columns.has-s1-rc-custom-widths > .wp-block-column.has-s1-rc-column-order-mobile-portrait {
        order: var(--s1-rc-column-order-mobile-portrait) !important;
    }
}

.wp-block-post-template.is-layout-grid.has-s1-rc-columns.has-s1-rc-query-auto-fit:not(.has-s1-rc-masonry) {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(min(var(--s1-rc-query-min-width, 12rem), 100%), 1fr));
    column-gap: var(--s1-rc-gap-x-active);
    row-gap: var(--s1-rc-gap-y-active);
}
