:root{
    --grid-offset: 0;
    @screen md{
        --grid-offset: 120px;
    }
    @screen 2xl{
        --grid-offset: max(120px, calc((100vw - theme(screens.2xl))/2));
    }
    --grid-gutter: 0.46875rem; /* 7.5px */
    @screen xl{
        --grid-gutter: 0.625rem; /* 10px */
    }
}

.grid-container{
    @apply row;
    :is(.grid-container), :is(.block-container){
        @apply w-full mx-0 px-0;
    }
}

.columns{
    @apply flex flex-wrap -mx-[var(--grid-gutter)];
}

.column{
    @apply px-[var(--grid-gutter)];
}

@layer utilities{
    .row{
        @apply w-full px-[calc(var(--grid-gutter)*2)] md:px-0;
        margin-left: var(--grid-offset);
        @screen md{
            width: calc(100vw - var(--grid-offset) - var(--grid-gutter)*2);
        }
        /* margin-right: calc(var(--grid-gutter) * 2); */
        @screen 2xl{
            max-width: theme(screens.2xl);
            margin-left: max(var(--grid-offset), calc((100vw - theme(screens.2xl))/2))
        }
    }
}