.product-listing {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
}

.product-card {
    flex: 0 0 calc((100% - 96px) / 5); /* 24px * 4 */
    max-width: calc((100% - 96px) / 5);
}

@media (max-width: 1399px) {
    .product-card {
        flex: 0 0 calc((100% - 96px) / 4);
        max-width: calc((100% - 96px) / 4);
    }
}

@media (max-width: 1199px) {
    .product-listing {
        gap: 16px;
    }

    .product-card {
        .logo-img path {
            fill: #000;
        }

        flex: 0 0 calc((100% - 64px) / 3); /* 24px * 2 */
        max-width: calc((100% - 64px) / 3);
    }

    .product-card:hover {
        box-shadow: 0 0 0 4px var(--backgrounds-card-primary);
    }

    .product-card .card-title {
        font-size: 20px;
    }

    .product-card .chip {
        font-size: 12px;
    }

    .product-card .link {
        font-size: 14px;
    }
}

@media (max-width: 992px) {
    .product-card {
        flex: 0 0 calc((100% - 32px) / 2); /* 24px * 2 */
        max-width: calc((100% - 32px) / 2);
    }
}

@media (max-width: 639px) {
    .product-listing {
        gap: 8px;
    }

    .product-card {
        flex: 0 0 100%;
        flex-direction: row;
        max-width: 100%;
        padding: 12px;
        position: relative;
    }

    .product-card .card-image {
        position: absolute;
        top: 12px;
        right: 12px;
        width: 80px;
    }

    .product-card .card-image img {
        border-radius: var(--border-radius);
    }

    .product-card .card-content {
        padding: 0;
    }

    .product-card-content-top {
        margin-right: 96px;
    }

    .product-card .card-title {
        font-size: 16px;
    }

    .product-card .link {
        font-size: 14px;
    }
}

