* {
    margin: 0 auto;
    font-family: "Helvetica Neue", Helvetica, Arial, "Microsoft Yahei", "Hiragino Sans GB", "Heiti SC", "WenQuanYi Micro Hei", sans-serif;
}

a:hover {
    color: #1882cd !important;
    text-decoration: underline;
}

ul { overflow: hidden; }
li { float: left; line-height: 26px; max-width: 100%; }

body {
    background-color: #fff;
    background-image: url("../images/bj.jpg");
    background-repeat: no-repeat;
    background-size: 100rem;
    background-position: top center;
}

footer { margin-top: 20px; }

@media only screen and (min-width: 1001px) {
    body { background-size: 100%; }
}
@media only screen and (max-width: 1000px) {
    body { background-size: 1000px; }
}

a { text-decoration: none; }

header, nav, .container { width: 1000px; padding: 0px; }

.container {
    background-color: #fff;
    margin: 2px auto;
    overflow: hidden;
}

header { margin-bottom: 5px; }

header h1 {
    height: 155px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    background-color: #1c8bd1;
    margin: 0;
    overflow: hidden;
}

header h1 img {
    height: 118px;
    width: auto;
    max-width: 100%;
    flex: 0 0 auto;
    /* 全局 *{margin:0 auto} 会让 flex 子项各吃一份剩余空间，必须归零才能靠拢 */
    margin: 0;
}

.logo-text {
    color: #fff;
    font-size: 46px;
    font-weight: bold;
    letter-spacing: 6px;
    text-shadow: 0 2px 4px rgba(0,0,0,.2);
    margin: 0;
}
.logo-text small {
    display: block;
    font-size: 15px;
    letter-spacing: 2px;
    font-weight: normal;
    margin-top: 6px;
    opacity: .92;
}

header aside {
    padding: 5px 15px;
    overflow: hidden;
    color: #fff;
    background: #2c6ead;
    font-size: 14px;
}

header aside time { float: left; line-height: 30px; }

header aside form { float: left; padding-left: 15px; }

header aside form input {
    background-color: transparent;
    border: 2px solid #61b2e7;
    width: 300px;
    padding-left: 5px;
    border-radius: 2px;
    font-size: 12px;
    line-height: 24px;
    color: #fff;
}

header aside form input::placeholder { color: #c3d0e2; }

header aside ul { list-style: none; float: right; margin-bottom: 5px; }

header aside ul li { float: left; line-height: 30px; }

header aside ul li a { color: #fff; }

header aside ul li a:hover { color: #fff !important; }

header aside ul li::after { content: "|"; margin: 0 15px; }
header aside ul li:last-child::after { display: none; }

nav {
    background-color: #1c8bd1;
    height: 40px;
    overflow: hidden;
}

nav ul { list-style: none; overflow: hidden; padding: 0px; margin-bottom: 0px; width: 100%; }

nav ul li {
    float: left;
    /* 原来写死 125px：8 项刚好 1000px，手机上布局视口被滚动条占掉十几像素时，
       第 8 项「网上办公」就会被 nav 的 overflow:hidden 裁掉，改为百分比均分 */
    width: 12.5%;
    box-sizing: border-box;
    text-align: center;
    height: 40px;
    transition: 0.5s;
}

nav a:after {
    content: "|";
    color: #fff;
    display: inline;
    float: right;
}

nav ul li:last-child a::after { display: none; }

nav ul li:hover { background-color: #1c8bd1; }

nav ul li a {
    font-size: 16px;
    color: #fff;
    display: inline-block;
    width: 100%;
    line-height: 40px;
}

nav ul li a:hover { text-decoration: none; color: #fff !important; }

.friend-link { width: 1000px; }

.friend-link hr {
    border: none;
    border-top: 6px solid #1c8bd1;
    width: 100%;
    height: 0;
    margin-bottom: 0px;
}

.friend-link h2 {
    position: relative;
    background-color: #fff;
    width: 150px;
    left: 50%;
    margin-left: -75px;
    text-align: center;
    top: -14px;
    color: #2470ae;
    font-size: 16px;
}

.friend-link-box { overflow: hidden; width: 1000px; }

.friend-category-title {
    width: 105px;
    float: left;
    display: block;
    color: #2470ae;
    border-left: 4px solid #2470ae;
    position: relative;
    top: 2px;
}

.friend-category-title h4 {
    font-size: 14px;
    margin-bottom: 0px;
    padding-left: 10px;
    line-height: 22px;
    font-weight: bold;
}

.friend-links { display: block; margin-left: 106px; margin-bottom: 15px; }

.friend-links a { color: #5d5c5c; font-size: 13px; text-decoration: none; line-height: 22px; }

.friend-links > span { display: inline; }
.friend-links > span:last-child > a { color: #1c8bd1; }
.friend-links > span::after { content: "|"; color: #5d5c5c; }
.friend-links > span:last-child::after { display: none; }

.footer-copyright {
    height: 200px;
    background-color: #1c8bd1;
    bottom: 0px;
    position: relative;
}

@media only screen and (min-width: 1001px) {
    .footer-copyright { width: 100%; }
}
@media only screen and (max-width: 1000px) {
    .footer-copyright { width: 1000px; }
}

.footer-copyright > section {
    width: 1000px;
    margin: 0 auto;
    text-align: center;
    padding-top: 15px;
    overflow: hidden;
}

.footer-copyright > .aboutus > a { color: #ccc; font-size: 12px; text-decoration: none; }
.footer-copyright a:hover { color: #fff !important; }

.footer-copyright > .aboutus > a::after {
    content: "|";
    margin-left: 10px;
    margin-right: 5px;
    position: relative;
    top: -2px;
}

.footer-copyright > .aboutus > a:last-child::after { display: none; }

.footer-copyright .copyright { font-size: 12px; color: #ccc; }

.footer-copyright .copyright p { margin-bottom: 0px; line-height: 32px; }
.footer-copyright .copyright p a { color: #ccc; text-decoration: none; }
.footer-copyright .copyright label { color: #fff; }

/* 轮播 */
section[id^="silder_"] { display: none; position: relative; overflow: hidden; }

section[id^="silder_"] > .bd > ul {
    padding-left: 0px;
    width: 100%;
    padding-top: 5px;
    min-height: 300px;
    list-style: none;
}

section[id^="silder_0"] > .bd > ul { padding-top: 0px; }
section[id^="silder_7"] > .bd > ul { padding-top: 0px; }

section[id^="silder_"] > .bd > ul > li {
    list-style: none;
    overflow: hidden;
    float: left;
    width: 100%;
    display: none;
}
section[id^="silder_"] > .bd > ul > li.active { display: block; }

section[id^="silder_"] > .bd > ul > li > img { width: 100%; object-fit: cover; }
section[id^="silder_0"] > .bd > ul > li > img { max-height: 300px; width: 1000px; }
.silder_1 .bd > ul > li > img { max-height: 300px; height: 300px; width: 480px; object-fit: cover; }

.slide-img {
    height: 300px;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 40px;
    font-weight: bold;
    letter-spacing: 8px;
}
.slide-img.b1 { background: linear-gradient(120deg,#1c8bd1,#2c6ead); }
.slide-img.b2 { background: linear-gradient(120deg,#2c6ead,#4a90d9); }
.slide-img.b3 { background: linear-gradient(120deg,#1882cd,#1c8bd1); }
.slide-img.b4 { background: linear-gradient(120deg,#2470ae,#3d92d4); }

.dianji {
    width: 200px;
    height: 30px;
    position: absolute;
    left: 50%;
    bottom: 10px;
    margin-left: -100px;
}

.tit_1 { left: 25%; }

.dianji ul li {
    width: 10px;
    height: 10px;
    list-style: none;
    float: left;
    margin-right: 10px;
    border-radius: 15px;
    border: 2px solid #f49c3b;
    cursor: pointer;
}

.dianji .bj2 { background: #f49c3b; }

.silder_1 { float: left; width: 480px; overflow: hidden; }
.silder_1 .slide-img { height: 300px; }

.hot-news {
    width: 495px;
    margin-left: 15px;
    float: left;
    line-height: 32px;
    margin-top: 5px;
}

.hot-news > p { border-bottom: 1px solid #ccc; }

.hot-news h1 {
    overflow: hidden;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: red;
    margin: 0;
}

.hot-news h1 a { color: red; font-weight: 600; font-size: 18px; line-height: 25px; }

.hot-news ul { width: 100%; padding-left: 15px; margin-top: 5px; }

.hot-news ul li { color: #272a30; line-height: 30px !important; width: 100%; }

.hot-news ul li a { color: #272a30; font-size: 14px; }

.hot-news ul li a > h2 {
    color: #272a30;
    font-size: 14px;
    font-weight: initial;
    width: 415px;
    float: left;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    margin: 0;
}

.hot-news ul li a > span { float: right; color: #999; }

.hot-news .tab { overflow: hidden; }

.tab span {
    cursor: pointer;
    display: inline-block;
    float: left;
    min-width: 82px;
    width: 98px;
    text-align: center;
}

.tab .more {
    cursor: pointer;
    display: inline-block;
    float: right;
    text-align: center;
    line-height: 40px;
}

.tab .more > a { color: #1882cd; }

.hot-news .tab span > a { color: #272a30; }

.tab .active { border-bottom: 2px solid #1c8bd1 !important; }
.tab .active a { color: #1882cd !important; }

.hot-news .school-list ul { list-style: none; overflow: hidden; padding-left: 0px; }

.hot-news .school-list ul li {
    width: 50%;
    float: left;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    font-size: 14px;
    cursor: default;
}

.xueli {
    padding: 15px 5px;
    background-color: #ececec;
    overflow: hidden;
    height: 210px;
}

.xueli > h2 { margin-bottom: 10px; text-align: center; color: rgb(85,85,85); font-size: 20px; }
.xueli > h2 > a { color: #1882cd; }
.xueli > p { padding: 0 5px; font-size: 13px; color: #555; line-height: 1.7; }

.area-section {
    width: 100%;
    height: 40px;
    background: #f3fbfe;
    border: 1px solid #b3d3ec;
    line-height: 40px;
    margin-top: 5px;
}

.area-section > .icon { color: #1c8bd1; float: left; font-size: 20px; margin-left: 15px; line-height: 40px; }
.area-section > .icon::before { content: "▶"; }

.area-section > ul { list-style: none; float: left; overflow: hidden; padding-left: 5px; }

.area-section > ul > li { float: left; min-width: 25px; line-height: 40px; }

.area-section > ul > li > h1 { font-size: 16px; font-weight: 500; margin: 0; }

.area-section > ul > li > a { color: #5d5c5c; text-align: center; font-size: 14px; }

.col-4 { width: 32%; overflow: hidden; float: left; margin-right: 1.333%; }

.news-recommend p { height: 40px; border-bottom: 1px solid #ccc; margin: 0; }

.news-recommend p > span {
    font-size: 16px;
    line-height: 38px;
    display: inline-block;
    min-width: 90px;
    text-align: center;
}

.news-recommend p > span > a { color: #272a30; }
.news-recommend p > span:first-child { color: #1882cd; }

.news-recommend p > span:first-child::before {
    content: " ";
    position: relative;
    text-align: left;
    border-left: 3px solid #1c8bd1;
    left: -10px;
}

.news-recommend .tab-content {
    padding-left: 20px;
    padding-top: 5px;
    min-height: 250px;
    position: relative;
    list-style: none;
}

.news-recommend .tab-content li { width: 100%; }

.news-recommend .tab-content li a {
    display: block;
    width: 100%;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    font-size: 14px;
    color: #272a30;
    line-height: 29px;
    float: left;
}

.nianjian ul { list-style: none; padding-left: 0px; padding-top: 5px; }
.nianjian ul li a { white-space: nowrap; text-overflow: ellipsis; overflow: hidden; color: #272a30; line-height: 29px; }
.nianjian ul { padding-left: 20px !important; list-style-type: disc; font-weight: 600; }
.nianjian li { font-size: 14px; height: 29px; line-height: 29px; width: 100%; }
.nianjian section { margin-top: 5px; }
.nianjian li a { display: inline-block; width: 200px; float: left; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; line-height: 29px; font-weight: 400; }
.nianjian li span { display: inline-block; float: left; width: 40px; line-height: 29px; text-align: center; font-weight: 400; }
.nianjian li > span:last-child { width: 60px; }
.nianjian li > span:first-child { text-align: right; }
.nianjian > p > span:last-child { float: right; text-align: right; padding-right: 2px; }
.nianjian > p > span:last-child > a { color: #1c8bd1; }

.middlead {
    padding-top: 15px;
    overflow: hidden;
    width: 100%;
    position: relative;
}

.middlead .bd { width: 100%; overflow: hidden; }
.middlead ul { width: 100%; list-style: none; padding-left: 0px; }
.middlead .bd ul li { height: 120px; width: 100%; overflow: hidden; float: left; display: none; }
.middlead .bd ul li.active { display: block; }
.middlead .bd ul li .slide-img { height: 120px; font-size: 24px; }
.middlead .dianji { position: absolute; }

.class-section { overflow: hidden; margin-top: 15px; width: 100%; }
.class-section div h1 { display: inline-block; float: left; line-height: 41px; font-size: 16px; margin: 0; }
.class-titles > div > h1::before { border-left: 3px solid #1882cd; content: " "; margin-right: 10px; }
.class-section div h2 { display: inline-block; float: right; line-height: 41px; font-size: 14px; font-weight: 500; color: #333; cursor: pointer; margin: 0; }
.class-titles > div { overflow: hidden; border-bottom: 1px solid #ccc; color: #1882cd; }

.col-3 { width: 660px; float: left; margin-top: 15px; }
.inline { display: inline; }
.font16 { font-size: 16px; }
.line41 { line-height: 41px; }
.floatRight { float: right; }
.paddingleft0 { padding-left: 0px; }
.list-none { list-style: none; }

#topSchool ul { list-style: none; padding-left: 0; overflow: hidden; }
#topSchool ul > li { float: left; margin-right: 3%; width: 30%; }
#topSchool ul > li img { width: 100%; min-height: 144px; height: 175px; object-fit: cover; display: block; }
#topSchool ul li p { position: relative; top: -24px; color: #fff; font-size: 14px; background-color: #1c8bd1; line-height: 32px; padding: 0 15px; margin: 0; }
#topSchool ul li a { overflow: hidden; position: relative; display: block; }

.school-area { width: 320px; float: right; }
.school-area .school-area-title { height: 40px; text-align: right; line-height: 40px; border-bottom: 1px solid #ccc; margin-top: 15px; }
.school-area .school-area-title h1 { display: inline-block; font-size: 16px; color: #1882cd; text-align: left; float: left; margin: 0; }
.school-area .school-area-title h1::before { border-left: 3px solid #1882cd; content: " "; margin-right: 10px; }
.school-area .school-area-title span { line-height: 41px; font-size: 14px; font-weight: 500; color: #333; cursor: pointer; padding: 0 3px; }
.school-area .school-area-title .active { color: #1882cd; font-weight: 600; }

.school-area-content ul { padding-left: 0px; display: none; overflow: hidden; padding-top: 5px; }
.school-area-content ul.active { display: block; }
.school-area-content ul li { list-style: none; float: left; display: inline-block; line-height: 30px; width: 64px; font-size: 14px; text-align: center; }
.school-area-content .total { display: block; color: #1882cd; font-size: 14px; padding: 5px 0; }
.school-area-content a { color: #272a30; }

.teacher-recommend ul { list-style: none; padding-left: 0px; float: left; width: 100%; overflow: hidden; }
.teacher-recommend ul li { box-sizing: border-box; float: left; width: 320px; margin: 0 10px; overflow: hidden; position: relative; margin-top: 10px; line-height: normal !important; border: 1px solid #ccc; padding: 5px; }
.teacher-recommend ul li:nth-child(3n+1) { margin-left: 0px; }
.teacher-recommend ul li:nth-child(3n) { margin-right: 0px; }

.img-header-container-sm { width: 100px; height: 75px; float: left; overflow: hidden; background: #eef4fc; display: flex; align-items: center; justify-content: center; color: #1c8bd1; font-size: 22px; font-weight: bold; }
.img-header-container-sm img { width: 100px; height: 75px; object-fit: cover; display: block; }
.teacher-info { width: 195px; float: left; padding-left: 10px; box-sizing: border-box; }
.teacher-info .teacher-name { color: #1882cd; font-size: 14px; font-weight: 600; }
.teacher-info .teacher-description { font-size: 13px; color: #272a30; overflow: hidden; text-overflow: ellipsis; -webkit-line-clamp: 3; height: 70px; }

.teacher-recommend { overflow: hidden; }
.teacher-recommend > div { overflow: hidden; border-bottom: 1px solid #ccc; }
.teacher-recommend h1 { display: inline-block; float: left; line-height: 41px; font-size: 16px; color: #1882cd; margin: 0; }
.teacher-recommend h1::before { border-left: 3px solid #1882cd; content: " "; margin-right: 10px; }
.teacher-operater { display: inline-block; float: right; line-height: 41px; }
.teacher-operater > a { font-size: 14px; font-weight: 500; color: #1882cd; margin-left: 15px; }
.teacher-operater span { cursor: pointer; width: 16px; display: inline-block; background-color: #ccc; height: 16px; position: relative; top: 13px; }
.teacher-operater .active { background-color: #1c8bd1; }

.tipshow { display: none; }

/* ============ 子页面样式 ============ */
.sub-crumb {
    font-size: 13px;
    color: #666;
    padding: 12px 0;
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 15px;
}
.sub-crumb a { color: #1882cd; }
.sub-crumb span { color: #999; }

.sub-hot { overflow: hidden; margin-bottom: 5px; }

.sub-cols { overflow: hidden; width: 100%; }

.sub-col { margin-bottom: 20px; }
.sub-col .tab-wrap { overflow: hidden; }

.sub-col-tab span { min-width: 70px; width: auto; padding: 0 12px; }

.sub-recommend { overflow: hidden; border-top: 3px solid #1c8bd1; margin-top: 20px; padding-top: 10px; }
.sub-recommend > div { overflow: hidden; border-bottom: 1px solid #ccc; }
.sub-recommend h1 { display: inline-block; float: left; line-height: 41px; font-size: 16px; color: #1882cd; margin: 0; }
.sub-recommend h1::before { border-left: 3px solid #1882cd; content: " "; margin-right: 10px; }
.sub-recommend > ul { list-style: none; padding: 12px 0; overflow: hidden; }
.sub-recommend > ul > li { float: left; width: 25%; line-height: 30px; font-size: 14px; }
.sub-recommend > ul > li a { color: #272a30; }

/* 黄页 */
.hy-schools { margin-bottom: 5px; }
.hy-schools .tab { border-bottom: 1px solid #ccc; overflow: hidden; }
.hy-schools .tab span { min-width: 90px; width: auto; line-height: 40px; }
.hy-schools .school-list { padding-top: 10px; }
.hy-list li { width: 25%; float: left; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; font-size: 14px; line-height: 30px; }

.discover { border-top: 3px solid #1c8bd1; }
.discover-cols { overflow: hidden; padding-top: 10px; }
.discover-col { width: 20%; float: left; padding: 0 10px; box-sizing: border-box; margin-bottom: 15px; }
.discover-col h4 { font-size: 14px; color: #1882cd; border-bottom: 1px solid #eee; padding-bottom: 6px; margin-bottom: 6px; }
.discover-col ul { list-style: none; padding: 0; overflow: hidden; }
.discover-col ul li { width: 100%; float: left; line-height: 26px; font-size: 13px; }
.discover-col ul li a { color: #272a30; }

/* 查询中心 */
.inquiry-xueli .tab { border-bottom: 1px solid #ccc; overflow: hidden; }
.inquiry-xueli .tab span { min-width: 90px; width: auto; line-height: 40px; }
.inquiry-xueli .school-list { padding-top: 10px; }
.online-cols { overflow: hidden; padding-top: 10px; }
.online { border-top: 3px solid #1c8bd1; }

/* ============================================================
   窄屏适配说明（2026-11-05）
   原站为固定 1000px 门户，手机端不做单列重排，而是由浏览器把
   整页等比缩放后完整呈现（结构完整、不截断、不错位）。
   因此这里不再保留 768px / 480px 等手机断点，仅保留：
   1) 以下一条：把固定宽度容器改为 100%，避免 980~1000px 视口横向溢出
   2) 文件末尾：声明弹窗在触屏上按 vw 放大，保证首屏看得清、点得动
   ============================================================ */

/* 固定 1000px 容器在 1020px 以下改为 100% */
@media (max-width: 1020px) {
    header, nav, .container,
    .friend-link, .friend-link-box,
    .footer-copyright > section {
        width: 100%;
        max-width: 100%;
    }
    body { background-size: 100% 100%; }
}

/* ============================================================
   学生信息查询页（仿 xy.cnhsi.com.cn）
   ============================================================ */
.search-page {
    width: 100%;
    min-height: 560px;
    background: linear-gradient(180deg, #1c8bd1 0%, #4a9fdd 55%, #eef4fb 100%);
    padding: 40px 0 60px;
    box-sizing: border-box;
    overflow: hidden;
}
.search-wrap {
    width: 900px;
    max-width: 94%;
    margin: 0 auto;
}
.search-title {
    text-align: center;
    color: #fff;
    font-size: 28px;
    font-weight: 700;
    margin: 0 0 30px;
    letter-spacing: 2px;
    text-shadow: 0 1px 3px rgba(0,0,0,0.25);
}
.search-body {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}
.search-form-box {
    flex: 1;
    background: #fff;
    border: 2px solid #f49c3b;
    border-radius: 8px;
    padding: 30px 24px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.12);
}
.form-row {
    display: flex;
    align-items: center;
    margin-bottom: 18px;
}
.form-row label {
    width: 90px;
    font-size: 15px;
    color: #333;
    font-weight: 600;
}
.form-row input {
    flex: 1;
    height: 40px;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 0 12px;
    font-size: 14px;
    box-sizing: border-box;
    outline: none;
}
.form-row input:focus { border-color: #1c8bd1; }
.btn-row { justify-content: center; padding-top: 6px; }
.btn-search {
    background: #1c8bd1;
    color: #fff;
    border: none;
    border-radius: 4px;
    height: 44px;
    padding: 0 50px;
    font-size: 16px;
    letter-spacing: 4px;
    cursor: pointer;
    transition: 0.25s;
}
.btn-search:hover { background: #2c6ead; }
.search-tip {
    margin-top: 14px;
    font-size: 12px;
    color: #999;
    text-align: center;
}
.search-notice {
    width: 300px;
    background: #fff;
    border-radius: 8px;
    padding: 20px 22px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.12);
    box-sizing: border-box;
}
.search-notice h3 {
    color: #f00;
    font-size: 15px;
    margin: 0 0 12px;
}
.search-notice ol {
    padding-left: 18px;
    margin: 0;
}
.search-notice ol li {
    float: none;
    list-style: decimal;
    line-height: 1.8;
    font-size: 13px;
    color: #444;
    margin-bottom: 4px;
}
.result-box {
    background: #fff;
    border-radius: 8px;
    padding: 30px 26px;
    box-shadow: 0 4px 18px rgba(0,0,0,0.12);
}
.result-box.center { text-align: center; }
.result-head {
    text-align: center;
    font-size: 24px;
    color: #1c8bd1;
    margin: 0 0 20px;
    padding-bottom: 14px;
    border-bottom: 2px solid #eef4fc;
}
.result-table {
    width: 100%;
    border-collapse: collapse;
}
.result-table td {
    border: 1px solid #d5e5f3;
    padding: 12px 14px;
    font-size: 14px;
    color: #333;
}
.result-table td.k {
    background: #eef4fc;
    color: #1c8bd1;
    font-weight: 600;
    width: 110px;
    white-space: nowrap;
}
.status-ok { color: #e60012; font-weight: 700; }
.result-actions { text-align: center; margin-top: 24px; }
.btn-back {
    background: #1c8bd1;
    color: #fff;
    border: none;
    border-radius: 4px;
    height: 42px;
    padding: 0 40px;
    font-size: 15px;
    cursor: pointer;
    transition: 0.25s;
}
.btn-back:hover { background: #2c6ead; }
.notfound-text {
    font-size: 20px;
    color: #333;
    margin: 12px 0;
    font-weight: 600;
}

/* ============================================================
   学生照片（一寸照占位）
   ============================================================ */
/* 照片在上、信息在下：固定垂直单列布局，任何缩放/响应式下都不改变 */
.result-layout {
    display: block;
}
.photo-col {
    width: 100%;
    margin-bottom: 20px;
}
.photo-box {
    width: 130px;
    height: 200px;
    margin: 0 auto;
    border: 1px solid #c9c9c9;
    background: #fafafa;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}
.photo-placeholder {
    font-size: 24px;
    color: #b0b0b0;
    letter-spacing: 4px;
}
.photo-size {
    font-size: 12px;
    color: #c0c0c0;
}
.photo-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.info-col {
    width: 100%;
}

/* ============================================================
   网站声明弹窗（左下角小弹窗，fixed 跟随页面）
   ============================================================ */
.declare-mask {
    position: fixed;
    left: 0;
    top: auto;
    right: auto;
    bottom: 0;
    z-index: 9999;
    width: 400px;
    max-width: 100vw;
    /* 全局 *{margin:0 auto} 会追加 auto 外边距，这里必须彻底归零才能贴边 */
    margin: 0 !important;
    pointer-events: none;
}
.declare-mask[hidden] { display: none; }
.declare-dialog {
    width: 100%;
    height: 330px;
    max-height: 68vh;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #1c8bd1;
    border-left: none;
    border-bottom: none;
    border-radius: 0;
    box-shadow: 2px -2px 14px rgba(0, 0, 0, 0.16);
    pointer-events: auto;
}
.declare-head {
    position: relative;
    padding: 10px 32px 10px 14px;
    background: #1c8bd1;
}
.declare-head h3 {
    margin: 0;
    font-size: 15px;
    color: #fff;
    text-align: center;
    font-weight: bold;
}
.declare-close {
    position: absolute;
    top: 50%;
    right: 6px;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    border: none;
    background: transparent;
    font-size: 22px;
    line-height: 1;
    color: #fff;
    cursor: pointer;
    padding: 0;
}
.declare-close:hover { color: #ffe9b3; }
.declare-body {
    padding: 12px 14px 14px;
}
.declare-body p {
    font-size: 12px;
    line-height: 1.7;
    color: #333;
    margin: 0 0 10px;
    text-align: justify;
}
.declare-body p:last-child { margin-bottom: 0; }

/* ============================================================
   简洁首页（备案期间：新闻内容隐藏时展示）
   ============================================================ */
.home-simple {
    background: #fff;
    padding: 100px 20px 120px;
    text-align: center;
}
.home-simple-inner {
    max-width: 760px;
    margin: 0 auto;
}
.home-simple h1 {
    font-size: 32px;
    font-weight: bold;
    color: #1c8bd1;
    margin: 0 0 26px;
    letter-spacing: 2px;
}
.home-simple-desc {
    font-size: 15px;
    line-height: 2.1;
    color: #666;
    margin: 0 0 40px;
}
.home-simple-btn {
    display: inline-block;
    height: 46px;
    line-height: 46px;
    padding: 0 52px;
    background: #1c8bd1;
    color: #fff !important;
    font-size: 16px;
    border-radius: 3px;
    text-decoration: none;
    transition: background .2s;
}
.home-simple-btn:hover {
    background: #1679b8;
    color: #fff !important;
}

/* 备案期间隐藏导航中的新闻类栏目（恢复时删掉 HTML 上对应的 nav-hide 类） */
nav ul li.nav-hide { display: none !important; }

/* 导航隐藏后，最后一个可见项不带分隔竖线 */
nav ul li.nav-last a::after { display: none; }

/* 简洁首页：让页脚贴底，避免内容过少时页面底部出现空白断层 */
html, body { height: 100%; }
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}
body > main.container { flex: 1 0 auto; }
body > footer { flex: 0 0 auto; margin-top: auto; }

/* 简洁首页内容垂直居中（main 被撑满时） */
.container:has(.home-simple) { display: flex; flex-direction: column; }
.home-simple {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 20px;
}

/* flex 布局下防止 header / nav 被压缩 */
body > header,
body > nav { flex: 0 0 auto; }

/* 身份证号单元格：长串允许换行，数字等宽对齐 */
.result-table td.v.idno {
    word-break: break-all;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0.3px;
}

/* 窄屏下身份证号独占整行，字号略小更整齐 */
@media (max-width: 640px) {
    .result-table td.v.idno { font-size: 13px; letter-spacing: 0; }
}

/* ============================================================
   手机端（布局视口固定 1000px，由浏览器整页等比缩放，效果同原站）
   仅对"声明弹窗"用 vw 放大，保证首屏弹窗在手机上看得清、点得动
   ============================================================ */
@media (max-width: 1000px) and (pointer: coarse) {
    .declare-mask { width: 74vw; max-width: 74vw; }
    .declare-dialog {
        height: auto;
        max-height: 44vh;
        border-left: none;
        border-radius: 0;
    }
    .declare-head { padding: 2.6vw 8vw 2.6vw 3.6vw; }
    .declare-head h3 { font-size: 3.6vw; }
    .declare-close { width: 6.6vw; height: 6.6vw; font-size: 6vw; right: 1.2vw; }
    .declare-body { padding: 3.2vw 3.8vw 3.6vw; }
    .declare-body p { font-size: 3.4vw; line-height: 1.8; margin-bottom: 2.8vw; }
}

/* ============================================================
   查询结果页 —— 认证报告版式（浅绿证书底 + 印章 + 二维码）
   ============================================================ */
.cert-wrap { width: 860px; }
.cert-report {
    position: relative;
    box-sizing: border-box;
    padding: 15px;
    margin: 0 auto;
    background-color: #b7e3d5;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.85) 3px, transparent 3.6px),
        radial-gradient(circle, rgba(72,163,135,.30) 3px, transparent 3.6px);
    background-size: 16px 16px, 16px 16px;
    background-position: 0 0, 8px 8px;
    border: 1px solid #8ecfba;
    border-radius: 2px;
    box-shadow: 0 6px 26px rgba(0,0,0,.20);
}
.cert-inner {
    position: relative;
    box-sizing: border-box;
    padding: 34px 48px 30px;
    border: 1px solid rgba(60,150,124,.55);
    background:
        radial-gradient(ellipse at 15% 8%, rgba(255,255,255,.72), transparent 55%),
        linear-gradient(158deg, #ecfaf5 0%, #dcf4ea 55%, #e8f8f0 100%);
    color: #20302b;
    font-family: "SimSun", "Songti SC", "STSong", "Noto Serif CJK SC", serif;
}
.cert-inner::after {
    content: "";
    position: absolute;
    inset: 7px;
    border: 1px solid rgba(60,150,124,.20);
    pointer-events: none;
}
.cert-legal {
    margin: 0 0 14px;
    font-size: 12.5px;
    line-height: 1.85;
    color: #4a6058;
    text-align: justify;
    text-indent: 2em;
}
.cert-title {
    margin: 6px 0 14px;
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 5px;
    color: #17241f;
}
/* 报告编号 / 打印日期与下方照片同宽同列，左右边界完全对齐 */
.cert-meta {
    width: 190px;
    margin: 0 0 8px auto;
    text-align: left;
    font-size: 13px;
    line-height: 1.9;
}
.cert-meta b { font-weight: 600; letter-spacing: .5px; }
.cert-meta b.red { color: #d33a3a; }
.cert-main { display: flex; align-items: flex-start; }
.cert-fields { flex: 1; list-style: none; padding: 0; margin: 0; }
.cert-fields li {
    display: flex;
    align-items: baseline;
    margin: 0;
    /* 全局 li{float:left} 会把字段挤成横排，这里必须彻底清掉 */
    float: none;
    clear: both;
    width: 100%;
    font-size: 16px;
    line-height: 2.08;
    letter-spacing: .4px;
}
.cert-fields .k { flex: 0 0 108px; white-space: nowrap; letter-spacing: 1px; }
.cert-fields .cl { flex: 0 0 18px; }
.cert-fields .v { flex: 1; word-break: break-all; }
.cert-fields .v.idno { letter-spacing: .3px; font-variant-numeric: tabular-nums; }
.cert-fields .v.status-ok { color: #c62828; font-weight: 700; }
.cert-photo { flex: 0 0 190px; margin: 0 0 0 24px; padding-top: 30px; }
.cert-photo .photo-box {
    width: 190px;
    height: 240px;
    box-sizing: border-box;
    margin: 0;
    border: 1px solid #b9cdd8;
    background: linear-gradient(180deg, #4c7fc9 0%, #6c9bdc 100%);
    box-shadow: 0 2px 8px rgba(0,0,0,.10);
}
.cert-photo .photo-placeholder { color: rgba(255,255,255,.88); font-size: 20px; }
.cert-photo .photo-size { color: rgba(255,255,255,.78); font-size: 11px; }
.cert-photo .photo-img { object-fit: cover; }
.cert-conclusion { margin: 16px 0 4px; font-size: 16px; letter-spacing: 1px; }
.cert-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    min-height: 178px;
    margin-top: 8px;
}
/* 全局 *{margin:0 auto} 会给 flex 子项加 auto 外边距，必须显式归零才能贴齐左正文线 */
.cert-qr { margin: 0; text-align: center; }
.cert-qr img {
    display: block;
    width: 134px;
    height: 134px;
    margin: 0;
    border: none;
    box-shadow: none;
}
.cert-qr p { margin: 8px 0 0; font-size: 14px; letter-spacing: 2px; font-weight: 600; }
.cert-seal { text-align: center; margin: 0 12px 0 0; }
.cert-seal img {
    display: block;
    width: 156px;
    height: 156px;
    margin: 0;
    opacity: .9;
    transform: rotate(-9deg);
    mix-blend-mode: multiply;
}
.cert-seal p { margin: 0; font-size: 12px; color: #5b6f67; letter-spacing: 1px; }
.cert-notes {
    margin-top: 18px;
    padding-top: 12px;
    border-top: 1px solid rgba(60,150,124,.28);
    font-size: 12.5px;
    line-height: 1.9;
    color: #43564e;
}
.cert-notes h3 { margin: 0 0 4px; font-size: 14px; font-weight: 700; }
.cert-notes ol { margin: 0; padding-left: 20px; }
.cert-notes li { margin: 2px 0; float: none; width: auto; line-height: 1.9; }
.cert-actions { margin-top: 24px; }
