/* ============================================
   vip3mb00329 北航官网移动端
   bh-m- 前缀，主色 BUAA 蓝 #002b6d
============================================ */

:root{
    --bh-blue:#002b6d;
    --bh-blue-d:#001a3d;
    --bh-blue-l:#1a4690;
    --bh-gold:#c8a96a;
    --bh-text:#222;
    --bh-mute:#666;
    --bh-line:#eaeaea;
    --bh-bg:#f5f6f8;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;-webkit-text-size-adjust:100%}
body{font:14px/1.65 -apple-system,"PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--bh-text);background:#fff;padding-bottom:60px}
img{max-width:100%;display:block;border:0}
a{color:inherit;text-decoration:none}
ul,ol{margin:0;padding:0;list-style:none}
h1,h2,h3,h4,h5,h6{margin:0;font-weight:600}

@media (min-width:980px){
    .bh-m-header,.bh-m-nav,.bh-m-flinks,.bh-m-footer,.bh-m-tabbar,.bh-m-banner,.bh-m-sec{display:none}
}

/* ===== 顶部固定头 ===== */
.bh-m-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bh-blue);color:#fff;position:sticky;top:0;z-index:100;min-height:54px}
.bh-m-logo{flex:1;display:flex;align-items:center;gap:10px;min-width:0;color:#fff}
.bh-m-logo img{width:36px;height:36px;flex-shrink:0;background:#fff;border-radius:50%;padding:2px}
.bh-m-logo span{font-size:16px;font-weight:700;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bh-m-toggle{width:36px;height:36px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:rgba(255,255,255,.15);border-radius:4px;flex-shrink:0;cursor:pointer}
.bh-m-toggle span{width:18px;height:2px;background:#fff;border-radius:2px;transition:transform .3s,opacity .3s}
.bh-m-header.open .bh-m-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.bh-m-header.open .bh-m-toggle span:nth-child(2){opacity:0}
.bh-m-header.open .bh-m-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ===== 抽屉式导航 ===== */
.bh-m-nav{position:fixed;top:54px;left:0;right:0;background:#fff;max-height:0;overflow:hidden;transition:max-height .3s;z-index:99;box-shadow:0 6px 16px rgba(0,0,0,.12);border-top:3px solid var(--bh-gold)}
.bh-m-nav.on{max-height:80vh;overflow:auto;-webkit-overflow-scrolling:touch}
.bh-m-nav ul{padding:6px 0}
.bh-m-nav li{padding:0 18px;border-bottom:1px solid var(--bh-line)}
.bh-m-nav li a{display:block;padding:14px 0;font-size:15px;color:#222;font-weight:500}
.bh-m-tools{padding:14px 18px 18px;display:flex;flex-wrap:wrap;gap:8px;background:#f5f6f8}
.bh-m-tools a{padding:6px 14px;background:#fff;border:1px solid var(--bh-line);border-radius:14px;font-size:13px;color:var(--bh-blue)}

/* ===== 通用板块 ===== */
.bh-m-sec{padding:24px 14px;background:#fff}
.bh-m-sec.alt{background:var(--bh-bg)}
.bh-m-sec-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:2px solid var(--bh-blue);padding-bottom:10px;margin-bottom:16px}
.bh-m-sec-head h2{font-size:18px;color:var(--bh-blue);letter-spacing:2px}
.bh-m-sec-head .en{font-size:11px;color:var(--bh-gold);letter-spacing:2px;font-weight:600;margin-left:6px}
.bh-m-sec-head .more{font-size:12px;color:var(--bh-mute)}

/* ===== 顶部 Banner ===== */
.bh-m-banner{margin:0;background:var(--bh-blue-d);position:relative}
.bh-m-banner .swiper-container,.bh-m-banner .swiper-wrapper{height:200px}
.bh-m-banner .swiper-slide{position:relative}
.bh-m-banner .swiper-slide img{width:100%;height:100%;object-fit:cover}
.bh-m-banner .mask{position:absolute;left:0;right:0;bottom:0;padding:30px 16px 18px;background:linear-gradient(180deg,transparent,rgba(0,26,61,.92));color:#fff}
.bh-m-banner .tag{display:inline-block;padding:2px 10px;background:var(--bh-gold);font-size:11px;border-radius:2px;margin-bottom:6px}
.bh-m-banner .title{font-size:15px;font-weight:600;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bh-m-banner .swiper-pagination{bottom:6px!important}
.bh-m-banner .swiper-pagination-bullet{background:rgba(255,255,255,.5);opacity:1;width:6px;height:6px;margin:0 3px!important}
.bh-m-banner .swiper-pagination-bullet-active{background:var(--bh-gold);width:18px;border-radius:3px}

/* ===== 新闻头条 + 列表 ===== */
.bh-m-news-feature{display:block;position:relative;overflow:hidden;border-radius:4px;background:var(--bh-blue-d);margin-bottom:14px}
.bh-m-news-feature img{width:100%;height:200px;object-fit:cover}
.bh-m-news-feature .mask{position:absolute;left:0;right:0;bottom:0;padding:24px 14px 14px;background:linear-gradient(180deg,transparent,rgba(0,26,61,.92));color:#fff}
.bh-m-news-feature .tag{display:inline-block;padding:2px 8px;background:var(--bh-gold);font-size:11px;border-radius:2px;margin-bottom:6px}
.bh-m-news-feature h3{font-size:15px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bh-m-news-list .bh-m-news-item{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px dashed var(--bh-line)}
.bh-m-news-list .bh-m-news-thumb{flex-shrink:0;width:108px;height:68px;object-fit:cover;border-radius:3px;background:var(--bh-blue-d)}
.bh-m-news-list .bh-m-news-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;align-self:stretch;padding:2px 0}
.bh-m-news-list .bh-m-news-tt{font-size:14px;line-height:1.5;color:#222;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bh-m-news-list .bh-m-news-date{font-size:11px;color:var(--bh-mute);margin-top:6px}

/* ===== 北航人物 ===== */
.bh-m-people-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bh-m-ppl{display:block;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 2px 8px rgba(0,26,61,.06)}
.bh-m-ppl .cover{position:relative;aspect-ratio:4/3;background:var(--bh-blue-d);overflow:hidden}
.bh-m-ppl .cover img{width:100%;height:100%;object-fit:cover}
.bh-m-ppl .cover .tag{position:absolute;left:0;top:8px;padding:2px 8px;background:var(--bh-blue);color:#fff;font-size:11px}
.bh-m-ppl .body{padding:10px 12px 14px}
.bh-m-ppl h3{font-size:13px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;font-weight:600}

/* ===== 教学科研 + 媒体 ===== */
.bh-m-rs-feature{display:block;position:relative;overflow:hidden;border-radius:4px;background:var(--bh-blue-d);margin-bottom:12px}
.bh-m-rs-feature img{width:100%;height:180px;object-fit:cover}
.bh-m-rs-feature .mask{position:absolute;left:0;right:0;bottom:0;padding:20px 14px 12px;background:linear-gradient(180deg,transparent,rgba(0,26,61,.92));color:#fff}
.bh-m-rs-feature .cat{display:inline-block;padding:2px 8px;background:var(--bh-gold);font-size:11px;border-radius:2px;margin-bottom:5px}
.bh-m-rs-feature h3{font-size:14px;line-height:1.45;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bh-m-list a{display:block;padding:12px 0;border-bottom:1px dashed var(--bh-line);font-size:14px;line-height:1.55}
.bh-m-list .cat-line{display:inline-block;padding:1px 6px;background:#eef2f7;color:var(--bh-blue);font-size:11px;border-radius:2px;margin-right:6px;font-weight:500}
.bh-m-list .date{display:block;color:var(--bh-mute);font-size:11px;margin-top:4px}

/* ===== 媒体卡片列表 ===== */
.bh-m-md-list{display:flex;flex-direction:column;gap:12px}
.bh-m-md-card{display:flex;gap:12px;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 1px 6px rgba(0,26,61,.06);padding:10px}
.bh-m-md-thumb{flex-shrink:0;width:120px;height:78px;object-fit:cover;border-radius:3px;background:var(--bh-blue-d)}
.bh-m-md-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:1px 0}
.bh-m-md-cat{align-self:flex-start;padding:1px 7px;background:var(--bh-blue);color:#fff;font-size:11px;border-radius:2px;font-weight:500}
.bh-m-md-tt{margin:5px 0 0;font-size:14px;line-height:1.5;color:#222;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bh-m-md-date{font-size:11px;color:var(--bh-mute);margin-top:6px}

/* ===== 学术文化卡 ===== */
.bh-m-acad{display:flex;align-items:stretch;gap:12px;background:#fff;border:1px solid var(--bh-line);border-left:3px solid var(--bh-gold);padding:10px;margin-bottom:10px}
.bh-m-acad-thumb{flex-shrink:0;width:120px;height:84px;object-fit:cover;border-radius:3px;background:var(--bh-blue-d)}
.bh-m-acad-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;padding:2px 0}
.bh-m-acad .cat{align-self:flex-start;padding:1px 8px;background:var(--bh-blue);color:#fff;font-size:11px;border-radius:2px}
.bh-m-acad h3{margin:6px 0 0;font-size:14px;line-height:1.5;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.bh-m-acad .date-line{margin-top:6px;font-size:11px;color:var(--bh-mute);line-height:1.5}

/* ===== 数据北航 ===== */
.bh-m-facts{background:linear-gradient(135deg,var(--bh-blue),var(--bh-blue-d));color:#fff;padding:24px 14px;position:relative;overflow:hidden}
.bh-m-facts .bh-m-sec-head{border-bottom-color:rgba(255,255,255,.25)}
.bh-m-facts .bh-m-sec-head h2{color:#fff}
.bh-m-facts .bh-m-sec-head .en{color:var(--bh-gold)}
.bh-m-facts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 10px}
.bh-m-fact{text-align:center;padding:10px 4px;background:rgba(255,255,255,.05);border-radius:4px}
.bh-m-fact .num{font-size:30px;font-weight:700;color:var(--bh-gold);line-height:1;font-family:Georgia,serif}
.bh-m-fact .label{margin-top:6px;font-size:11px;color:#cfd8e8}

/* ===== 友链 + 页脚 + 底部 tabbar ===== */
.bh-m-flinks{background:var(--bh-blue-d);color:#cfd8e8;padding:18px 14px;font-size:13px;line-height:1.6}
.bh-m-flinks .label{color:var(--bh-gold);font-weight:700;margin-right:8px;display:inline-block;margin-bottom:6px}
.bh-m-flinks ul{display:flex;flex-wrap:wrap;list-style:none!important;margin:0;padding:0;row-gap:8px}
.bh-m-flinks li{flex:0 0 auto;list-style:none!important;position:relative;padding-right:14px;margin-right:14px;display:inline-block}
.bh-m-flinks li::marker{content:none}
.bh-m-flinks li::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:12px;background:rgba(255,255,255,.22)}
.bh-m-flinks li:last-child{padding-right:0;margin-right:0}
.bh-m-flinks li:last-child::after{display:none}
.bh-m-flinks a{display:inline-block;color:#cfd8e8;font-size:13px;line-height:1.6;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;text-decoration:none}
.bh-m-flinks a:hover{color:#fff}

.bh-m-footer{background:var(--bh-blue);color:#cfd8e8;padding:18px 14px;text-align:center;font-size:12px;line-height:1.8}
.bh-m-footer a{color:#fff}

.bh-m-tabbar{position:fixed;left:0;right:0;bottom:0;height:54px;background:#fff;border-top:1px solid var(--bh-line);display:flex;z-index:200;box-shadow:0 -2px 10px rgba(0,0,0,.06)}
.bh-m-tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;color:var(--bh-mute)}
.bh-m-tabbar a.active{color:var(--bh-blue);font-weight:600}
.bh-m-ic{width:22px;height:22px;background:currentColor;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.bh-m-ic-home{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 3l9 8h-3v9h-4v-6h-4v6H6v-9H3z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M12 3l9 8h-3v9h-4v-6h-4v6H6v-9H3z'/></svg>")}
.bh-m-ic-cat{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M3 5h18v2H3zm0 6h18v2H3zm0 6h18v2H3z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M3 5h18v2H3zm0 6h18v2H3zm0 6h18v2H3z'/></svg>")}
.bh-m-ic-tel{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M6 3h4l2 5-2.5 1.5a11 11 0 005 5L16 12l5 2v4a2 2 0 01-2 2A17 17 0 014 5a2 2 0 012-2z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'><path d='M6 3h4l2 5-2.5 1.5a11 11 0 005 5L16 12l5 2v4a2 2 0 01-2 2A17 17 0 014 5a2 2 0 012-2z'/></svg>")}

/* ===== 文章/列表页通用 ===== */
.bh-m-bread{padding:10px 14px;background:#f5f6f8;font-size:12px;color:var(--bh-mute)}
.bh-m-bread a{color:var(--bh-blue)}
.bh-m-art{padding:18px 14px;background:#fff}
.bh-m-art h1{font-size:20px;line-height:1.5;color:#222;font-weight:700;margin-bottom:10px}
.bh-m-art-meta{padding:8px 0;border-top:1px solid var(--bh-line);border-bottom:1px solid var(--bh-line);font-size:12px;color:var(--bh-mute);display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.bh-m-art-body{font-size:15px;line-height:1.85;color:#333}
.bh-m-art-body p{margin:0 0 14px}
.bh-m-art-body img{margin:14px auto;max-width:100%;height:auto}
.bh-m-pagebar{padding:14px;border-top:1px solid var(--bh-line);font-size:13px;background:#fff}
.bh-m-pagebar a{display:block;padding:6px 0;color:var(--bh-blue)}
.bh-m-list-page{padding:10px 14px}
.bh-m-list-page a{display:block;padding:14px 0;border-bottom:1px solid var(--bh-line);font-size:14px;color:#222;line-height:1.55}
.bh-m-list-page a:hover{color:var(--bh-blue)}
.bh-m-list-page .pubdate{display:block;color:var(--bh-mute);font-size:11px;margin-top:4px}
.bh-m-pages{padding:18px 14px;text-align:center;font-size:13px}
.bh-m-pages a,.bh-m-pages span{display:inline-block;padding:4px 10px;margin:0 2px;border:1px solid var(--bh-line);border-radius:2px;color:var(--bh-blue)}
.bh-m-pages .thisclass{background:var(--bh-blue);color:#fff;border-color:var(--bh-blue)}
