.categories-list {
    display: grid;
    gap: var(--space--8) var(--space--6);
    margin-top: var(--space--8);

    @media (min-width: 768px) {
        grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    }
}

.category-card {
    display: block;
    transition: transform 300ms cubic-bezier(0.45, 0, 0.55, 1);

    &:hover {
        transform: translateY(-4px);

        .category_h2 {
            text-decoration: underline;
        }

        img {
            scale: 1.05;
        }
    }

    picture {
        aspect-ratio: 4/3;
        background: var(--color--bg-secondary);
        width: 100%;
        overflow: hidden;
        margin-bottom: var(--space--4);
        border-radius: var(--radius--m);
    }

    img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        transition: scale 300ms cubic-bezier(0.45, 0, 0.55, 1);
    }

    .no-image {
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--color--bg-secondary);
    }

    .placeholder-text {
        font-size: var(--font-size--h3);
        color: var(--color--text-secondary);
        font-weight: 500;
    }
}

.category_h2 {
    font-size: var(--font-size--h4);
    margin-bottom: 0;
}