/* Gallery component - aspect ratios adjust based on viewport */
.element-image {
    img {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }
}

@media (min-width: 768px) {
    .element-image {
        img {
            aspect-ratio: 4 / 3;
        }
    }
    .element-image .col-full,
    .element-image.col-full {
        img {
            aspect-ratio: 16 / 9;
        }
    }
}

.element-image {
    --gallery-margin-y: var(--size-10);
    --gallery-figure-gap: var(--padding-sm);

    @media (min-width: 768px) {
        --gallery-figure-gap: var(--padding-sm);
        --gallery-margin-y: var(--size-15);
    }

    margin-block-start: var(--gallery-margin-y);

    figure {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: var(--gallery-figure-gap);
    }
}
