

.productlist {
    margin: 40px 0;
}

.productlist .top {
    display: grid;
    grid-template-columns: 3fr 2fr;
    margin-bottom: 40px;
}

.productlist .top .form-box{
    height: 40px;
}

.productlist .top form {
    position: relative;
    height: 100%;
    display: flex;
    justify-content: flex-end;
}
.productlist .top form input{
    width: 490px;
    height: 100%;
    border: 1px solid #bcbcbc;
    font-size: 18px;
    border-radius: initial;
}
.productlist .top form input::placeholder{
    color: #333;
    font-size: 18px;
    font-weight: normal;
}

.productlist .top form button {
    position: relative;
    width: 75px;
    height: 100%;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 18px;
    font-weight: 100;
}

.productlist .bottom {
    min-height: 500px;

    display: grid;
    grid-template-columns: 1fr 4fr;
    --interval: 20px;
    gap: 0 var(--interval);
}

.productlist .bottom > div {
}

.productlist .bottom .left > div {
    margin-bottom: 60px;
}

.productlist .bottom .left > div .item {
    font-size: 1.2rem;
    line-height: 1.3rem;
    display: flex;
    align-items: center;

}

.productlist .bottom .left > div .title {
    background-color: #bcbcbc;
    display: flex;
    align-items: center;

    font-size: 1.6rem;
    line-height: 1.6rem;
    color: #f4f4f4;
    padding: 10px;
}

.productlist .bottom .left > div .title img {
    margin-right: 5px;
    width: 36px;
    height: auto;
}


.productlist .bottom .left .item a {
    color: #676767;
}

.productlist .bottom .left .item a:hover{
    color: var(--font-color);
}
.productlist .bottom .left .product-category .content {
    padding: 0 10px;
}

.productlist .bottom .left .product-category .item {
    justify-content: space-between;
    padding: 20px 15px 15px 10px;
    border-bottom: 2px dashed #bcbcbc;
}

.productlist .bottom .left .product-category .item.active a {
    color: var(--font-color);
}

.productlist .bottom .left .product-category .item.active:after {
    content: '>>';
    color: var(--font-color);
}

.productlist .bottom .left .service-category .item {
    margin: 10px 0;
    padding: 10px 15px;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(0, 0, 0, 0.1);
    cursor: pointer;
}

.productlist .bottom .left .service-category .item:hover {
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.3);

}
.productlist .bottom .left .service-category .item:before{
    content:' ';
    color: #676767;
    display: block;
    width: 8px;
    font-size: var(--font-size-title-3);
    font-weight: bold;
    margin-right: 10px;
}

.productlist .bottom .left .service-category .item:hover:before {
    content: '·';
}


.productlist .bottom .left .product-form .title {
    color: #464646;
    background-color: initial;
    margin-bottom: 5px;
}

.productlist .bottom .left .product-form .content {
    padding: 0 10px;
}

.productlist .bottom .left .product-form .content form {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.productlist .bottom .left .product-form .content dl {
    margin-bottom: 25px;
    width: 100%;
}
.productlist .bottom .left .product-form .content dl.form4 textarea{
    height: 77px;
}

.productlist .bottom .left .product-form .content dt {
    display: flex;
    align-items: center;
    margin-bottom: 5px;
}

.productlist .bottom .left .product-form .content dd p {
    color: #a0a0a0;
    font-size: var(--font-size-content);
    line-height: var(--line-height-content);
    margin-top: 20px;
}

.productlist .bottom .left .product-form .content input,
.productlist .bottom .left .product-form .content textarea {
    padding-left: 0;
    border: none;
    border-bottom: 1px #dddddd solid;
}

.productlist .bottom .left .product-form .content button:before {
    content: url("/upload/photo/icon/E-mail.png");
    margin-right: 10px;
    height: 30px;
}

.productlist .bottom .left .product-form .content button {
    background-color: #bcbcbc;
    color: #f9f9f9;

    display: flex;
    align-items: center;

    font-size: var(--font-size-title-3);
    line-height: var(--line-height-title-2-3);

    padding: 5px 50px;
    border: none;

    cursor: pointer;
}
.productlist .bottom .left .product-form .content button:hover{
    background-color: var(--font-color);
}

.productlist .bottom .right {
    display: grid;
    grid-template-rows: 1fr 150px;
}

.productlist .bottom .right > dir {
    padding-bottom: 60px;
    display: flex;
    flex-direction: column-reverse;
}


.productlist .bottom .right .container {
    display: grid;
    grid-template-rows: repeat(4, minmax(0,1fr));
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--interval-global) var(--interval);
}

.productlist .bottom .right .container .item {
    aspect-ratio: 16/21;
    display: grid;
    grid-template-rows: 16fr 5fr;
}

.productlist .bottom .right .container .item:hover {
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.3);
}

.productlist .bottom .right .container .item .img {
    outline: 1px solid #c3c3c3;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

.productlist .bottom .right .container .item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 裁剪图片以适应容器 */
}

.productlist .bottom .right .container .item .text {
    display: flex;
    align-items: flex-start;
    padding: 10px 5px 0;
}

.productlist .bottom .right .container .item .text p {
    font-size: 16px;
    line-height: 32px;
    color: #515151;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
}

.productlist .bottom .right .container .item:hover p {
    color: var(--font-color);
}

@media screen and (max-width: 768px) {
    .productlist .top {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: var(--interval-global);
    }

    .productlist .top > div {
        width: 100%;
    }

    .productlist .top .product-category .title {
        background-color: #bcbcbc;
        font-size: 24px;
        color: #f4f4f4;

        display: flex;
        align-items: center;
    }

    .productlist .top .product-category .title img {
        width: 32px;
        height: auto;
        margin: 0 10px;
    }

    .productlist .top .product-category .title span {
        flex: 1;
        display: flex;
        justify-content: space-between;
        padding-right: 10px;
    }

    .productlist .top .product-category .title span:after {
        content: '+';
    }

    .productlist .top .product-category.active .title span:after{
        content: '-';
    }

    .productlist .top .product-category .content {
        display: none;
    }

    .productlist .top .product-category.active .content {
        display: block;
        padding: 5px 10px;
    }
    .productlist .top .product-category.active .content .item{
        border-bottom: 2px dashed #bcbcbc;
        font-size: 18px;
        color: #676767;
        padding: 5px 10px;
        display: flex;
        justify-content: space-between;

    }
    .productlist .top .product-category.active .content .item.active a {
        color: var(--font-color);
    }
    .productlist .top .product-category.active .content .item.active:after {
        content: '>>';
        color: var(--font-color);
    }


    .productlist .bottom{
        display: block;
    }
    .productlist .bottom .right .container{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: normal;
    }
    .productlist .bottom .right .container .item{

        width: 49%;
        margin: 10px 0;
    }

}