/* Reset styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

a {
    text-decoration: none;
}

html, body {
    background: black;
    position: relative;
    width: 100%;
    height: 100%;
    font-family: "微软雅黑", "Arial", "宋体";
    font-size: 16px;
}

/* Center box layout */
.centerBox {
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.center-list {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.centerBody {
    width: 100%;
    text-align: center;
    margin-top: 15vh;
}

.centerBody img {
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

/* Button styles */
.btn-p {
    margin-top: 30px;
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
}

.btn-p a {
    font-size: 16px;
    color: #FFFFFF;
    padding: 10px 30px;
    border-radius: 30px;
    background: rgba(29, 29, 29, 0.5);
    border: 1px solid rgba(89, 129, 183, 0.2);
    display: inline-block;
    text-align: center;
}

.btn-p a:hover {
    color: #FFFFFF;
    background: linear-gradient(to right, #19c3ff, #0093ff);
}

/* Footer styles */
.footer {
    position: fixed;
    bottom: 20px;
    width: 100%;
}

.center-footer {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
}

.footer .banquan {
    text-align: center;
    font-size: 14px;
    color: #6a7179;
}

/* Main list styles */
.main-list {
    width: 100%;
    max-width: 1200px;
    margin: 40px auto 0 auto;
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.main-item {
    display: inline-block;
    margin: 20px;
    width: 146px;
    position: relative;
    height: 207px;
}

/* Info block styles */
.infoBlockWrap .infoBlock {
    width: 146px;
    height: 146px;
    transform-origin: center center;
    position: relative;
}

.infoBlockWrap .bg {
    width: 146px;
    height: 146px;
    background: #27c9f8;
    background: linear-gradient(145deg, #06e5f8, #3eb5f8);
    position: absolute;
    z-index: 0;
    left: 0;
    top: 0;
    border-radius: 73px;
    transition: all .3s;
    transform-origin: center center;
}

.infoBlockWrap .infoBlock-normal .bg {
    background: transparent;
}

.infoBlockWrap .infoIcon {
    background: url(../images/home_ico.png) no-repeat -1009px -1194px;
    width: 90px;
    height: 70px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -45px;
    margin-top: -35px;
    transition: opacity .3s;
}

/* Icon positions */
.infoBlockWrap .infoIcon-listedBrand {
    background-position: -1009px -1194px;
}

.infoBlockWrap .infoIcon-funcRich {
    background-position: -886px -1402px;
}

.infoBlockWrap .infoIcon-oneKey {
    background-position: -886px -1402px;
}

.infoBlockWrap .infoIcon-model {
    background-position: -886px -1402px;
}

.infoBlockWrap .infoIcon-site3to1 {
    background-position: -1009px -1194px;
}

.infoBlockWrap .infoIcon-easeMaintain {
    background-position: -1009px -1194px;
}

.infoBlockWrap .infoIcon-superSevice {
    background-position: -1009px -1400px;
}

/* Hover effects */
.main-itemHover .infoBlockWrap:hover .infoBlock-fasico .bg {
    height: 159px;
    width: 236px;
    left: -45px;
    top: -13px;
    border-radius: 20px 20px 0 0;
    background-color: #06e5f8;
    background: linear-gradient(90deg, #3eb5f8, #06e5f8);
}

/* Color variations for different blocks */
.infoBlockWrap-listedBrand .bg {
    background-color: #64aaf2;
    background: linear-gradient(145deg, #64edea, #64aaf2);
}

.infoBlockWrap-listedBrand:hover .infoBlock-fasico .bg {
    background: linear-gradient(90deg, #64edea, #64aaf2);
}

.infoBlockWrap-funcRich .bg {
    background-color: #f8788b;
    background: linear-gradient(145deg, #f8c84c, #f8788b);
}

.infoBlockWrap-funcRich:hover .infoBlock-fasico .bg {
    background: linear-gradient(90deg, #f8c84c, #f8788b);
}

.infoBlockWrap-oneKey .bg {
    background-color: #f65589;
    background: linear-gradient(145deg, #f26768, #f65589);
}

.infoBlockWrap-oneKey:hover .infoBlock-fasico .bg {
    background: linear-gradient(90deg, #f26768, #f65589);
}

.infoBlockWrap-model .bg {
    background-color: #c467ff;
    background: linear-gradient(145deg, #fe80fb, #c467ff);
}

.infoBlockWrap-model:hover .infoBlock-fasico .bg {
    background: linear-gradient(90deg, #fe80fb, #c467ff);
}

.infoBlockWrap-site3to1 .bg {
    background-color: #38cf7a;
    background: linear-gradient(145deg, #32dab7, #38cf7a);
}

.infoBlockWrap-site3to1:hover .infoBlock-fasico .bg {
    background: linear-gradient(90deg, #32dab7, #38cf7a);
}

.infoBlockWrap-easeMaintain .bg {
    background-color: #b376ff;
    background: linear-gradient(145deg, #44aaf8, #b376ff);
}

.infoBlockWrap-easeMaintain:hover .infoBlock-fasico .bg {
    background: linear-gradient(90deg, #44aaf8, #b376ff);
}

.infoBlockWrap-superSevice .bg {
    background-color: #6cbaf8;
    background: linear-gradient(145deg, #7ee1f9, #6cbaf8);
}

.infoBlockWrap-superSevice:hover .infoBlock-fasico .bg {
    background: linear-gradient(90deg, #7ee1f9, #6cbaf8);
}

/* Normal hover effects */
.main-itemHover .infoBlockWrap:hover .infoBlock-normal .bg {
    height: 159px;
    width: 236px;
    left: -45px;
    top: 0;
    bottom: -13px;
    background: #fff;
    border-radius: 0 0 20px 20px;
}

.infoBlockWrap {
    position: relative;
    width: 146px;
    height: 146px;
}

.infoBlockWrap .wrapBg {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 0;
    transition: all .3s;
}

.main-itemHover .infoBlockWrap:hover .wrapBg {
    width: 236px;
    height: 318px;
    box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
    left: -45px;
    top: -13px;
    border-radius: 20px;
}

.infoBlockWrap .infoWrap {
    position: absolute;
    top: 0;
    z-index: 2;
    text-align: center;
    width: 238px;
    left: -45px;
    transition: all .3s;
    opacity: 0;
}

.infoBlock-fasico .infoWrap {
    top: -13px;
    text-align: center;
}

/* Info block content styles */
.infoBlock .info-title {
    font-size: 16px;
    padding-top: 45px;
    padding-bottom: 25px;
    line-height: 1;
}

.infoBlock .info-desc {
    font-size: 14px;
    padding: 0 10px;
    line-height: 1.8;
    margin-top: -7px;
}

.infoBlock .button {
    background: #fff;
    display: inline-block;
    width: 100px;
    height: 30px;
    line-height: 30px;
    border-radius: 15px;
    z-index: 3;
    color: #2f82ff;
}

.infoBlock-fasico .info-title {
    font-size: 16px;
    padding-top: 35px;
    padding-bottom: 18px;
    line-height: 1;
}

.infoBlock-fasico .info-desc {
    font-size: 14px;
    padding: 0 10px;
    line-height: 1.8;
    margin-top: -7px;
    padding-bottom: 16px;
}

.infoBlock-fasico .button.raised {
    background: transparent;
    color: #fff;
    display: block;
    margin: 0 auto;
    width: 100px;
    height: 30px;
    line-height: 30px;
    border-radius: 15px;
    z-index: 3;
    font-size: 14px;
}

.infoBlock-fasico-mulLine .info-title {
    padding-top: 35px;
    padding-bottom: 10px;
}

.infoBlock-fasico-mulLine .info-desc {
    font-size: 14px;
    padding: 0 10px;
    line-height: 1.8;
    margin-top: -7px;
    padding-bottom: 10px;
}

.infoBlock-fasico .button.raised:hover {
    background-color: #fff;
    color: #666;
}

.infoBlock-normal .info-title {
    color: #333;
}

.infoBlock-normal .info-desc {
    color: #666;
}

.infoBlock-fasico .info-title,
.infoBlock-fasico .info-desc {
    color: #fff;
}

.main-itemHover .infoBlockWrap:hover .infoIcon {
    opacity: 0;
}

.main-itemHover .infoBlockWrap:hover .infoWrap {
    opacity: 1;
}

.infoBlock-name {
    padding-top: 45px;
    transition: opacity .1s;
    opacity: 1;
    text-align: center;
    font-size: 16px;
    color: #fff;
    line-height: 1;
    position: absolute;
    top: 146px;
    width: 100%;
    left: 0;
}

.main-itemHover:hover .infoBlock-name {
    opacity: 0;
}

.set_button {
    position: relative;
    font-weight: 400;
    text-align: center;
    line-height: 70px;
    font-size: 21px;
    overflow: hidden;
    position: relative;
    z-index: 0;
    cursor: pointer;
    color: #fff;
    border-radius: 35px;
    border: solid #fff 1px;
    width: 220px;
    text-align: center;
}

.set_button.raised {
    transition: all .1s;
}

/* Responsive styles */
@media screen and (max-width: 950px) {
    html, body {
        font-size: 14px;
    }
    
    .centerBody {
        margin-top: 20vh;
    }
    
    .centerBody img {
        width: 100%;
        max-width: 90%;
    }
    
    .center-list {
        width: 90%;
        margin: 0 auto;
    }
    
    .btn-p {
        flex-direction: column;
        align-items: center;
    }
    
    .btn-p a {
        margin: 5px 0;
        width: 80%;
        max-width: 250px;
    }
    
    .main-item {
        margin: 15px;
    }
}

@media screen and (max-width: 480px) {
    html, body {
        font-size: 12px;
    }
    
    .centerBody {
        margin-top: 15vh;
    }
    
    .btn-p a {
        font-size: 14px;
        padding: 8px 20px;
    }
    
    .footer .banquan {
        font-size: 12px;
    }
    
    .infoBlock .info-title,
    .infoBlock-fasico .info-title {
        font-size: 14px;
    }
    
    .infoBlock .info-desc,
    .infoBlock-fasico .info-desc {
        font-size: 12px;
    }
}