.cards {
    display: grid;
    grid-template-rows: auto;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 24px;
    margin-top: 4vmin;
    padding-block: 12px;

    .card {
        box-shadow: rgba(50, 50, 93, 0.25) 0px 2px 5px -1px, rgba(0, 0, 0, 0.3) 0px 1px 3px -1px;
        border-radius: 1rem;
        background: var(--bg-2);
        min-height: 100px;
        overflow: hidden;

        &:hover {
            background-color: var(--primary-color);
        }

        &:hover .card-description {
            color: var(--hover-color);
        }

        .card-info {
            padding-inline: 24px;
            padding-block-start: 0;
            padding-block-end: 24px;
            text-align: center;
        }

        .card-title {
            margin-top: 0.7em;
        }

        .card-image {
            width: 100%;
        }

        .card-image-placeholder {
            width: 100%;
            height: 12px;
        }

        .card-description {
            margin-top: 0.5em;
            overflow: hidden;
            color: var(--text-color);
        }
    }
}

@media all and (max-width: 720px) {
    .cards {
        gap: 18px;
    }
}
