.grid-container {
    grid-area: cards;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: min-content;
    align-content: start;
    gap: var(--spacing-6);
    padding: var(--spacing-6);
    overflow-y: auto;
    height: 100%;

    & > * {
        aspect-ratio: 1;
    }
}

@media (max-width: 639px) {
    .grid-container {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-3);
        padding: var(--spacing-4);

        & > * {
            aspect-ratio: auto;
        }
    }
}

@media (min-width: 1080px) {
    .grid-container {
        grid-template-columns: repeat(4, 1fr);
        gap: var(--spacing-8);
    }
}

@media (min-width: 1920px) {
    .grid-container {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media (min-width: 2560px) {
    .grid-container {
        grid-template-columns: repeat(6, 1fr);
    }
}

@media (min-width: 3840px) {
    .grid-container {
        grid-template-columns: repeat(7, 1fr);
    }
}
