.grid-images-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    width: 100%;
}

.grid-image-item {
    background: lightgray;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    color: black;

    position: relative;
    width: 100%;
    padding-top: calc(100% / var(--aspect-ratio));
}

.grid-image-item::after {
    content: '';
    display: block;
    padding-bottom: calc(100% / var(--aspect-ratio));
}

.grid-image-item > * {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
