.ProductListing {
    margin-top: 70px;
    margin-bottom: 100px;

    @media (max-width: 991px) {
        margin-top: 50px;
        margin-bottom: 70px;
    }

    @media (max-width: 576px) {
        margin-top: 40px;
        margin-bottom: 50px;
    }

    .Header {
        position: relative;
        text-align: center;
        padding-bottom: 13px;

        &::after {
            content: '';
            width: 100px;
            height: 2px;
            background-color: var(--primary-color);
            border-radius: 6px;
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            bottom: -1px;
        }

        @media (max-width: 576px) {
            padding-bottom: 10px;

            &::after {
                width: 70px;
            }
        }
    }

    .filter-buttons {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 12px;
        margin: 50px 0 25px;

        @media (max-width: 991px) {
            margin-top: 35px;
            gap: 10px;
        }

        @media (max-width: 576px) {
            gap: 8px;
            margin-top: 25px;
            flex-wrap: nowrap;
            justify-content: start;
            overflow: auto;
        }

        button {
            height: 42px;
            padding: 0 24px;
            border: 1px solid #e7d6d6;
            border-radius: 50px;
            background: transparent;
            font-size: 15px;
            cursor: pointer;
            transition: .3s;

            @media (max-width: 576px) {
                height: 34px;
                padding: 0 18px;
                font-size: 13px;
            }

            &.active,
            &:hover {
                background: #dba73c;
                color: #fff;
                border-color: #dba73c;
            }
        }
    }

    .product-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 24px;

        @media (max-width: 991px) {
            grid-template-columns: repeat(2, 1fr);
            gap: 20px;
        }

        @media (max-width: 576px) {
            grid-template-columns: 1, 1fr;
            gap: 16px;
        }
    }

    .product-item {
        display: block;

        &.hide {
            display: none;
        }

        .product-image {
            background: #fff;
            border-radius: 20px;
            aspect-ratio: 385 / 476;
            width: 100%;
            overflow: hidden;

            @media (max-width: 576px) {
                border-radius: 15px;
            }

            img {
                width: 100%;
                height: 100%;
                object-fit: contain;
                transition: .4s;
                mix-blend-mode: multiply;
            }
        }

        h4 {
            margin-top: 12px;
            font-size: 18px;
            line-height: 1.4;
            font-weight: 400;

            @media (max-width: 991px) {
                font-size: 20px;
            }

            @media (max-width: 576px) {
                font-size: 16px;
                margin-top: 15px;
            }
        }

        &:hover {
            img {
                transform: scale(1.05);
            }
        }
    }
}