img.lazy{
    opacity: 0;
    transition: all 200ms linear;
}
img.lazy.loaded{
    opacity: 1;
}
.fix-box{
    padding:4rem 0
}
.fix-more{
    margin-top:2rem
}
.tw-box-item{
    background-color:white;
    padding:1rem;
    box-shadow: 0px 4px 25px 0px rgba(0, 0, 0, 0.15);
    border-radius:8px;
    overflow: hidden;
    border:1px solid transparent;
    transition: all 0.3s ease-in;
}
.tw-box-item:hover{
    border-color:#ed1b24;
    transition: all 0.3s ease-in;
}
.tw-box-image img{
    border-radius:4px;
    overflow: hidden;
}
.tw-box-desc{
    padding: 1rem 0
}
.tw-box-name{
    text-align: center;
}
.tw-box-name a{
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size:14px;
    font-weight: bold;
    line-height: 1.5;
    /* height:calc(14px * 3); */
    color:#212121;
}
.tw-box-price{
    text-align: center;
}
.tw-box-price span{
    color:#f00;
    font-size: 13px;
    font-weight: 600;
}
.tw-box-star{
    margin:0.5rem 0
}
.tw-box-star span{
    display: block;
    text-align: center;
}
.tw-box-star span:before{
    --rating: 100%;
    --color-star: #ffb700;
    content: "★★★★★";
    -webkit-text-fill-color: transparent;
    background: linear-gradient(90deg, var(--color-star) var(--rating), #d7d7d7 0);
    background-clip: text;
    -webkit-background-clip: text;
    font-size: 20px;
}
.coverimg{
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: cover;
    -webkit-object-fit: cover;
    -moz-object-fit: cover;
    -ms-object-fit: cover;
    -o-object-fit: cover;
}
.fix-grid{
    display: grid;
}
.fix-grid-template-4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.fix-grid-template-5{
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.gap-4{
    gap: 1rem
}
.gap-5{
    gap: 1.25rem
}
.gap-6{
    gap: 1.5rem
}
@media (max-width:768px) {
    .fix-grid{
        margin:0 5px;
    }
    .fix-grid-template-2m{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .fix-grid-template-3m{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .gap-4-m{
        gap: 1rem
    }
    .gap-5-m{
        gap: 1.25rem
    }
    .gap-6-m{
        gap: 1.5rem
    }
    .sanpham{
        width: 90%;
    }
    .tw-box-name a{
        height:calc(14px * 3);
    }
}