﻿.umb-block-grid__layout-container {
    position: relative;
    container-type: inline-size;
    --block-grid-columns: var(--umb-block-grid--grid-columns, 12);
    --block-grid-gap: 1rem;
    --block-grid-row-ratio: 1.5;
    display: grid;
    grid-template-columns: repeat(var(--block-grid-columns), minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-rows: calc( ((100cqw - ((var(--block-grid-columns) - 1) * var(--block-grid-gap))) / var(--block-grid-columns)) * var(--block-grid-row-ratio) );
    column-gap: var(--block-grid-gap);
    row-gap: var(--block-grid-gap);
}
.umb-block-grid__layout-item {
    position: relative;
    /* For small devices we scale columnSpan by three, to make everything bigger than 1/3 take full width: */
    grid-column-end: span min(calc(var(--umb-block-grid--item-column-span, 1) * 3), var(--umb-block-grid--grid-columns));
    grid-row: span var(--umb-block-grid--item-row-span, 1);
}


.umb-block-grid__area-container, .umb-block-grid__block--view::part(area-container) {
    position: relative;
    display: grid;
    grid-template-columns: repeat(var(--umb-block-grid--area-grid-columns, var(--umb-block-grid--grid-columns, 1)), minmax(0, 1fr));
    grid-auto-flow: row;
    grid-auto-rows: minmax(50px, min-content);
    -moz-column-gap: var(--umb-block-grid--areas-column-gap, 0);
    column-gap: var(--umb-block-grid--areas-column-gap, 0);
    row-gap: var(--umb-block-grid--areas-row-gap, 0);
}

.umb-block-grid__area {
    position: relative;
    height: 100%;
    display: flex;
    flex-direction: column;
    /* For small devices we scale columnSpan by three, to make everything bigger than 1/3 take full width: */
    grid-column-end: span min(calc(var(--umb-block-grid--area-column-span, 1) * 3), var(--umb-block-grid--area-grid-columns));
    grid-row: span var(--umb-block-grid--area-row-span, 1);
}
@media (max-width: 1023.98px) {
    .umb-block-grid__layout-container {
        --mobile-half-item-ratio: 189 / 157;
        --mobile-full-item-ratio: 386 / 191;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        grid-auto-rows: auto;
    }

    .umb-block-grid__layout-item {
        grid-column: span 6;
        grid-row: auto;
        aspect-ratio: var(--mobile-half-item-ratio);
        min-height: 0;
    }

    .umb-block-grid__layout-item[style*="--umb-block-grid--item-column-span: 12"] {
        grid-column: 1 / -1;
        aspect-ratio: var(--mobile-full-item-ratio);
    }
}
@media (min-width:1024px) {
    .umb-block-grid__layout-item {
        grid-column-end: span min(var(--umb-block-grid--item-column-span, 1), var(--umb-block-grid--grid-columns));
    }

    .umb-block-grid__area {
        grid-column-end: span min(var(--umb-block-grid--area-column-span, 1), var(--umb-block-grid--area-grid-columns));
    }
}
