/*
=========================
基础重置
=========================
*/


*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}



html,
body{

    min-height:100%;

}



body{

    font-family:
    "Microsoft YaHei",
    "PingFang SC",
    Arial,
    sans-serif;

    color:#333;

    background:#fff;

    line-height:1.8;

}



img{

    max-width:100%;

    height:auto;

    display:block;

}



a{

    text-decoration:none;

    color:inherit;

}



ul{

    list-style:none;

}




/*
=========================
公共容器
=========================
*/


.container{

    width:1200px;

    max-width:92%;

    margin:0 auto;

}




.section{

    padding:80px 0;

}




h1,
h2,
h3{

    font-weight:700;

}




h2{

    text-align:center;

    font-size:36px;

    margin-bottom:50px;

    color:#12365a;

}




.btn-primary{


    display:inline-block;

    background:#0d4d8b;

    color:#fff;

    padding:12px 35px;

    border-radius:3px;

    transition:.3s;


}



.btn-primary:hover{


    background:#08345f;


}





/*
=========================
页面结构
=========================
*/


#page{


    min-height:100vh;

    display:flex;

    flex-direction:column;


}



#content{


    flex:1;


}




.site-footer,
footer{


    margin-top:auto;


}






/*
=========================
内页Banner
=========================
*/


.inner-banner{


    width:1200px;

    max-width:92%;

    height:220px;

    margin:30px auto;

    background:#f5f8fb;

    display:flex;

    align-items:center;

}



.inner-banner .container{


    width:100%;

    padding:0 40px;


}




.inner-banner h1{


    color:#12365a;

    font-size:36px;

}





/*
=========================
列表页面
project
certificate
service
=========================
*/


.project-grid,
.certificate-grid,
.service-grid{


    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;


}




.project-item,
.certificate-item,
.service-card{


    background:#fff;

    border:1px solid #eee;

    border-radius:6px;

    overflow:hidden;

    transition:.3s;


}




.project-item:hover,
.certificate-item:hover,
.service-card:hover{


    transform:translateY(-5px);

    box-shadow:0 8px 25px rgba(0,0,0,.08);


}





.project-item a,
.certificate-item a,
.service-card a{


    display:block;


}





.project-item img,
.certificate-item img,
.service-card img{


    width:100%;

    height:260px;

    object-fit:cover;


}





.project-info,
.certificate-info{


    padding:20px;

}





.project-info h3,
.certificate-info h3,
.service-card h3{


    font-size:20px;

    color:#12365a;

    margin-bottom:10px;


}




.project-info p,
.certificate-info p,
.service-card p{


    font-size:14px;

    color:#666;


}





.certificate-category{


    display:inline-block;

    margin-top:10px;

    padding:5px 12px;

    background:#f1f4f7;

    font-size:13px;


}






/*
=========================
Single详情页
=========================
*/


.single-page{


    padding:70px 0;


}





.single-title{


    text-align:center;

    color:#12365a;

    font-size:36px;

    margin-bottom:50px;


}





.single-layout{


    display:flex;

    gap:50px;

    align-items:flex-start;

    margin-bottom:60px;


}





.single-image{


    width:40%;


}




.single-image img{


    width:100%;

    max-height:420px;

    object-fit:contain;


}




.single-info{


    flex:1;

    font-size:16px;


}





.single-info p{


    margin-bottom:15px;


}





.single-content{


    margin-top:40px;

    line-height:2;


}





.single-content h2{


    text-align:left;

    font-size:28px;

    margin-bottom:25px;


}





.project-navigation{


    display:flex;

    justify-content:space-between;

    margin-top:50px;

    padding-top:30px;

    border-top:1px solid #eee;


}







/*
=========================
Footer
=========================
*/


.site-footer{


    background:#fff;

    border-top:1px solid #eee;

}






/*
=========================
响应式 平板
=========================
*/


@media(max-width:1000px){



.container{


    max-width:94%;


}




.project-grid,
.certificate-grid,
.service-grid{


    grid-template-columns:repeat(2,1fr);


}




.single-layout{


    flex-direction:column;


}



.single-image{


    width:100%;


}



}






/*
=========================
响应式 手机
=========================
*/


@media(max-width:600px){



.section{


    padding:50px 0;


}




h2{


    font-size:28px;

    margin-bottom:30px;


}




.inner-banner{


    height:180px;


}



.inner-banner .container{


    padding:0 20px;


}



.inner-banner h1{


    font-size:30px;


}





.project-grid,
.certificate-grid,
.service-grid{


    grid-template-columns:1fr;

    gap:20px;


}





.project-item img,
.certificate-item img,
.service-card img{


    height:210px;


}





.single-page{


    padding:40px 0;


}





.single-title{


    font-size:28px;

    margin-bottom:30px;


}





.single-layout{


    gap:25px;

    margin-bottom:40px;


}





.single-image img{


    max-height:300px;


}





.single-content{


    margin-top:25px;


}





.single-content h2{


    font-size:24px;


}





.project-navigation{


    font-size:14px;


}


}



/* =================================
single页面恢复卡片布局
================================= */


.single-layout{


    background:#fff;

    border:1px solid #eee;

    padding:40px;

    border-radius:6px;

}



.single-image{


    display:flex;

    align-items:center;

    justify-content:center;

}



.single-info{


    padding-top:10px;

}





.single-content{


    background:#fff;

    border:1px solid #eee;

    padding:40px;

    border-radius:6px;


}





/* =================================
业务介绍/工程案例卡片高度统一
================================= */


.service-card,
.project-card,
.certificate-card{


    display:flex;

    flex-direction:column;

    height:100%;


}




.service-card h3,
.project-card h3,
.certificate-card h3{


    min-height:60px;


}




.service-card>a:last-child,
.project-card>a:last-child,
.certificate-card>a:last-child{


    margin-top:auto;


}



/* =================================
工程案例文字区域
================================= */


.project-card span{


    margin-top:auto;

    display:block;

    padding:0 20px 20px;

}





/* =================================
业务优势文字对齐
================================= */


.service-card p{


    min-height:50px;


}




/* =================================
手机端恢复正常
================================= */


@media(max-width:600px){


.home-contact .container{


    display:block;


}


.home-contact p{


    margin-bottom:15px;


}



.single-layout{


    padding:20px;


}



.single-content{


    padding:20px;


}


}

.contact-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

text-align:center;

}



@media(max-width:900px){

.contact-grid{

grid-template-columns:repeat(2,1fr);

}

}



@media(max-width:600px){

.contact-grid{

grid-template-columns:1fr;

}

}

/*
=========================
首页联系我们
=========================
*/


.home-contact{

    background:#f5f7fa;

}



.home-contact h2{

    text-align:center;

}



.contact-grid{


    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:30px;

    margin-top:20px;


}



.contact-item{


    background:#fff;

    border:1px solid #eee;

    padding:30px 20px;

    text-align:center;

    border-radius:6px;

}



.contact-item h3{


    font-size:20px;

    color:#12365a;

    margin-bottom:15px;


}



.contact-item p{


    font-size:16px;

    color:#555;

    margin:0;

    line-height:1.8;


}





@media(max-width:900px){


.contact-grid{


    grid-template-columns:repeat(2,1fr);


}


}




@media(max-width:600px){


.contact-grid{


    grid-template-columns:1fr;


}



.contact-item{


    padding:25px 15px;


}


}


/*
=========================
404 错误页面样式
=========================
*/

.error-404 {
    min-height: 70vh;
    display: flex;
    align-items: center;
    padding: 60px 0;
    background: #f8fafc;
}

.error-content {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
    padding: 40px 30px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.06);
}

/* 404 数字 */
.error-icon {
    margin-bottom: 30px;
    position: relative;
}

.error-number {
    font-size: 140px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -6px;
    background: linear-gradient(145deg, #12365a 0%, #1a6b8a 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    display: inline-block;
    position: relative;
}

.error-line {
    width: 80px;
    height: 4px;
    background: linear-gradient(90deg, #12365a, #1a6b8a);
    margin: 10px auto 0;
    border-radius: 2px;
}

/* 标题和描述 */
.error-title {
    font-size: 36px;
    font-weight: 700;
    color: #12365a;
    margin-bottom: 18px;
}

.error-description {
    font-size: 17px;
    line-height: 1.9;
    color: #666;
    margin-bottom: 35px;
}

/* 按钮 */
.error-actions {
    display: flex;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}

.error-actions .btn-primary {
    display: inline-flex;
    align-items: center;
    padding: 14px 32px;
    background: #12365a;
    color: #fff;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s ease;
    text-decoration: none;
}

.error-actions .btn-primary:hover {
    background: #0a2640;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(18, 54, 90, 0.25);
}

.error-actions .btn-secondary {
    display: inline-flex;
    align-items: center;
    padding: 14px 32px;
    background: transparent;
    color: #12365a;
    border: 2px solid #12365a;
    border-radius: 6px;
    font-size: 16px;
    font-weight: 500;
    transition: all 0.3s ease;
    text-decoration: none;
}

.error-actions .btn-secondary:hover {
    background: #12365a;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(18, 54, 90, 0.15);
}

/* 搜索框 */
.error-search {
    margin: 30px 0 35px;
    padding-top: 30px;
    border-top: 1px solid #eee;
}

.search-hint {
    font-size: 15px;
    color: #888;
    margin-bottom: 15px;
}

.search-wrapper {
    max-width: 480px;
    margin: 0 auto;
}

.search-wrapper form {
    display: flex;
    gap: 0;
    border-radius: 6px;
    overflow: hidden;
    border: 2px solid #e2e8f0;
    transition: border-color 0.3s;
}

.search-wrapper form:focus-within {
    border-color: #12365a;
}

.search-input {
    flex: 1;
    padding: 12px 18px;
    border: none;
    outline: none;
    font-size: 15px;
    background: #fff;
    min-width: 0;
}

.search-input::placeholder {
    color: #aaa;
}

.search-btn {
    padding: 12px 28px;
    background: #12365a;
    color: #fff;
    border: none;
    cursor: pointer;
    font-size: 15px;
    font-weight: 500;
    transition: background 0.3s;
    white-space: nowrap;
}

.search-btn:hover {
    background: #0a2640;
}

/* 快速导航链接 */
.error-quick-links {
    padding-top: 30px;
    border-top: 1px solid #eee;
}

.quick-links-title {
    font-size: 15px;
    color: #888;
    margin-bottom: 15px;
}

.quick-links-grid {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.quick-link {
    display: inline-block;
    padding: 8px 20px;
    background: #f1f4f7;
    color: #12365a;
    border-radius: 20px;
    font-size: 14px;
    transition: all 0.3s ease;
    text-decoration: none;
}

.quick-link:hover {
    background: #12365a;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(18, 54, 90, 0.2);
}

/*
=========================
404 响应式适配
=========================
*/

@media (max-width: 768px) {
    .error-404 {
        min-height: auto;
        padding: 40px 0;
    }

    .error-content {
        padding: 30px 20px;
    }

    .error-number {
        font-size: 100px;
        letter-spacing: -4px;
    }

    .error-title {
        font-size: 28px;
    }

    .error-description {
        font-size: 15px;
    }

    .error-actions {
        flex-direction: column;
        align-items: center;
    }

    .error-actions .btn-primary,
    .error-actions .btn-secondary {
        width: 100%;
        max-width: 280px;
        justify-content: center;
    }

    .search-wrapper form {
        flex-direction: column;
        border-radius: 6px;
        border: 2px solid #e2e8f0;
    }

    .search-wrapper form:focus-within {
        border-color: #12365a;
    }

    .search-input {
        border-radius: 4px 4px 0 0;
        padding: 14px 18px;
    }

    .search-btn {
        border-radius: 0 0 4px 4px;
        padding: 14px 28px;
    }

    .quick-links-grid {
        gap: 10px;
    }

    .quick-link {
        padding: 6px 16px;
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .error-number {
        font-size: 72px;
    }

    .error-title {
        font-size: 22px;
    }

    .error-content {
        padding: 20px 15px;
    }
}
