.table-product-cards {
    margin: 5px 0;

    h5 {
        margin-top: 6px;
        color: #388a22;
        font-weight: bolder;
    }

    .angle-icon {
        margin-top: 5px;
        margin-right: 3px;
        color: #388a22;
    }

    .number-of-products {
        margin-right: 10px;
        color: #777777;
    }

    i {
        font-weight: bolder;
    }

    .subcategory-name {
        background-color: #fafafa;
        padding: 5px 0 0 8px;
    }

    .subcategory-toggle {
        cursor: pointer;
        padding-right: 8px;
        border: 1px solid #efefef;
    }

    tbody > tr > td {
        border-top: 1px solid #fefefe;
    }

    .product-wrapper {
        .product-wrapper-item {
            padding-left: 0;
            padding-right: 0;
        }
    }

    .product-cards {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin: 0;
        padding: 0;

        .product-cards-item {
            display: flex;
            padding: 1rem;
            width: 100%;

            .product-card {
                background-color: white;
                border-radius: 0.2rem;
                border: 1px solid #dadada;
                display: flex;
                flex-direction: column;
                overflow: hidden;
                width: 100%;
                box-shadow: 2px 2px 15px rgba(221, 221, 221, 0.5);

                .product-card-image {
                    background-position: center center;
                    background-repeat: no-repeat;
                    background-size: cover;
                    border-top-left-radius: 0.25rem;
                    border-top-right-radius: 0.25rem;
                    overflow: hidden;
                    position: relative;
                    img {
                        position: absolute;
                        top: 0;
                        left: 0;
                        width: 100%;
                        height: 100%;
                        object-fit: cover;
                    }
                    &::after {
                        content: "";
                        display: block;
                        padding-top: 56.25%; // 16:9 aspect ratio
                    }
                    @media(min-width: 40rem) {
                        &::after {
                            padding-top: 66.6%; // 3:2 aspect ratio
                        }
                    }

                    .product-item-price {
                        position: relative;
                        z-index: 1;
                        text-align: right;
                        margin-top: 5px;
                        margin-right: 5px;

                        > span {
                            display: inline-block;
                            padding: 5px 7px;
                            font-size: 1.7rem;
                            text-wrap: nowrap;
                            font-style: oblique;
                            text-shadow: 1px 1px 1px #cccccc;
                            background-color: rgba(255, 255, 255, 0.9);
                            border: 1px solid #eeeeee;
                            border-radius: 5px;
                        }
                    }
                }

                .product-card-content {
                    display: flex;
                    flex: 1 1 auto;
                    flex-direction: column;
                    padding: 0.5rem 1.5rem;

                    .product-item-name {
                        font-size: 1.9rem;
                        color: #793200;
                        overflow: hidden;
                        white-space: nowrap;
                        text-overflow: ellipsis;

                        > i {
                            display: inline-block;
                            margin-left: 2px;
                        }

                        > i.recommend-icon {
                            color: #d7d700;
                        }

                        > i.new-icon {
                            color: #ff0000;
                        }
                    }

                    .product-item-description {
                        display: inline-block;
                        font-size: 1.6rem;
                        font-weight: bold;
                        text-shadow: 1px 1px 1px #eeeeee;
                        color: #777777;
                        overflow: hidden;
                        white-space: nowrap;
                        text-overflow: ellipsis;
                    }
                }

                .product-card-widget {
                    display: flex;
                    flex-direction: row;
                    flex-wrap: nowrap;
                    justify-content: space-between;
                    background-color: #fafafa;
                    border-top: 1px solid #efefef;
                    padding: 0.9rem 1.5rem 0.5rem 1.5rem;

                    .product-item-total-value {
                        width: 50%;
                        text-align: left;
                        padding-top: 6px;
                        padding-right: 10px;

                        > span {
                            font-size: 1.9rem;
                            text-wrap: nowrap;
                            font-weight: bold;
                        }
                    }

                    .product-item-quantity {
                        width: 150px;

                        > div.form-group {
                            display: inline-block;
                            margin-bottom: 0;

                            .product-quantity {
                                text-align: center;
                                /*width: 60px;*/
                                min-width: 60px;
                                padding-left: 5px;
                                padding-right: 5px;
                            }

                            .input-group-addon {
                                padding-top: 12px;
                                padding-right: 5px;
                                padding-bottom: 6px;
                                padding-left: 5px;
                                border: 0;
                                background: transparent;
                                font-size: 18px;
                                line-height: 0;

                                .btn-action {
                                    font-size: 30px;
                                    line-height: inherit;
                                    cursor: pointer;
                                }

                                .btn-action:hover {
                                    text-shadow: 2px 2px 2px #bbbbbb;
                                }

                                .btn-del-brown {
                                    color: #793200;
                                }

                                .btn-add-green {
                                    color: #388a22;
                                }
                            }

                            .form-control {
                                font-size: 14px;
                            }
                        }
                    }
                }
            }
        }
    }
}