/* vip3mb00320 mobile theme - PKU red */
body { padding-top: 50px; padding-bottom: 60px; }

/* Mobile Header */
.m-header {
    position: fixed; top: 0; left: 0; right: 0; height: 50px;
    background: #94070a; color: #fff; z-index: 99; display: flex; align-items: center;
    padding: 0 12px; border-bottom: 2px solid #d8ac5c;
}
.m-header .m-menu-btn { width: 36px; font-size: 22px; color: #fff; background: none; border: 0; }
.m-header .m-logo { flex: 1; text-align: center; color: #fff; font-family: "Source Han Serif","SimSun",serif; font-size: 17px; letter-spacing: 3px; }
.m-header .m-logo img { height: 30px; display: inline-block; vertical-align: middle; margin-right: 6px; }
.m-header .m-search-btn { width: 36px; text-align: right; font-size: 20px; color: #fff; }

/* search popup */
.m-search-bar { display: none; position: fixed; top: 50px; left: 0; right: 0; padding: 10px 12px; background: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.1); z-index: 98; }
.m-search-bar.on { display: block; }
.m-search-bar form { display: flex; border: 2px solid #94070a; }
.m-search-bar input[type=text] { flex: 1; border: 0; outline: 0; padding: 8px 12px; font-size: 14px; }
.m-search-bar button { border: 0; background: #94070a; color: #fff; padding: 0 18px; }

/* drawer */
.m-drawer-mask { display: none; position: fixed; inset: 0; background: rgba(0,0,0,.55); z-index: 100; }
.m-drawer-mask.on { display: block; }
.m-drawer { position: fixed; top: 0; left: -260px; width: 260px; height: 100%; background: #fff; z-index: 101; transition: left .25s; overflow-y: auto; }
.m-drawer.on { left: 0; }
.m-drawer .d-head { padding: 18px 16px; background: #94070a; color: #fff; font-size: 16px; font-family: "Source Han Serif","SimSun",serif; letter-spacing: 2px; border-bottom: 2px solid #d8ac5c; }
.m-drawer .d-menu li { border-bottom: 1px solid #ebddc0; }
.m-drawer .d-menu li > a { display: block; padding: 14px 16px; color: #333; font-size: 15px; }
.m-drawer .d-menu li.on > a { color: #94070a; }

/* Banner */
.m-banner { width: 100%; overflow: hidden; }
.m-banner img { width: 100%; display: block; }

/* Section */
.m-section { background: #fff; margin-top: 10px; padding: 16px 12px; }
.m-sec-head { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 1px solid #ebddc0; padding-bottom: 10px; margin-bottom: 12px; }
.m-sec-head h2 { font-size: 18px; color: #94070a; letter-spacing: 2px; padding-left: 12px; position: relative; }
.m-sec-head h2::before { content: ''; position: absolute; left: 0; top: 4px; bottom: 4px; width: 3px; background: #94070a; }
.m-sec-head .more { font-size: 12px; color: #8b6a3b; }

/* Headline */
.m-headline { margin-bottom: 10px; }
.m-headline .pic { width: 100%; height: 180px; background: #e5d7b9; overflow: hidden; }
.m-headline .pic img { width: 100%; height: 100%; object-fit: cover; }
.m-headline h3 { font-size: 17px; margin: 10px 0 6px; line-height: 1.5; }
.m-headline .date { font-size: 12px; color: #94070a; font-family: "Times New Roman",serif; }

/* News list */
.m-news li { display: flex; align-items: center; padding: 10px 0; border-bottom: 1px dashed #ebddc0; }
.m-news li .date { width: 66px; color: #94070a; text-align: center; border-right: 1px solid #ebddc0; margin-right: 14px; font-family: "Times New Roman",serif; line-height: 1.2; }
.m-news li .date .d { display: block; font-size: 18px; font-weight: bold; }
.m-news li .date .m { display: block; font-size: 11px; color: #8b6a3b; }
.m-news li h4 { flex: 1; font-size: 14px; font-family: "PingFang SC","Microsoft YaHei",sans-serif; }
.m-news li h4 a { color: #333; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Two-col wall */
.m-2col { display: flex; flex-wrap: wrap; gap: 10px; }
.m-2col .col { flex: 1 1 calc(50% - 5px); background: #fff; border-top: 3px solid #94070a; padding: 10px 12px; }
.m-2col .col h3 { font-size: 15px; color: #94070a; padding-bottom: 6px; border-bottom: 1px solid #ebddc0; margin-bottom: 6px; letter-spacing: 1px; }
.m-2col .col ul li { padding: 5px 0 5px 10px; position: relative; font-size: 13px; border-bottom: 1px dashed #ebddc0; }
.m-2col .col ul li:last-child { border-bottom: 0; }
.m-2col .col ul li::before { content: ''; position: absolute; left: 0; top: 50%; width: 3px; height: 3px; background: #94070a; transform: translateY(-50%); border-radius: 50%; }
.m-2col .col ul li a { color: #333; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Topics */
.m-topics .card { position: relative; height: 150px; overflow: hidden; margin-bottom: 10px; background: #e5d7b9; }
.m-topics .card img { width: 100%; height: 100%; object-fit: cover; }
.m-topics .card .mask { position: absolute; left: 0; right: 0; bottom: 0; padding: 10px 14px; background: linear-gradient(180deg,transparent,rgba(148,7,10,.92)); color: #fff; }
.m-topics .card .mask h3 { font-size: 15px; letter-spacing: 1px; }

/* Quick */
.m-quick { display: flex; flex-wrap: wrap; background: #fff; border-top: 1px solid #ebddc0; }
.m-quick a { width: 33.33%; text-align: center; padding: 14px 6px; border-right: 1px solid #ebddc0; border-bottom: 1px solid #ebddc0; font-size: 13px; color: #333; }
.m-quick a .ico { display: block; font-size: 22px; color: #94070a; margin-bottom: 4px; }
.m-quick a:nth-child(3n) { border-right: 0; }

/* Page banner */
.m-page-banner { height: 130px; background: #94070a; color: #fff; padding: 36px 12px 0; text-align: center; border-bottom: 3px solid #d8ac5c; }
.m-page-banner h2 { font-size: 22px; letter-spacing: 3px; font-weight: bold; }
.m-page-banner .en { font-size: 12px; color: #f3d7a1; letter-spacing: 3px; margin-top: 4px; font-family: "Times New Roman",serif; }

.m-crumb { background: #fff; border-bottom: 1px solid #ebddc0; padding: 10px 12px; font-size: 12px; color: #777; }
.m-crumb a { color: #777; }

/* list */
.m-list { background: #fff; margin-top: 10px; padding: 0 12px; }
.m-list li { display: flex; padding: 12px 0; border-bottom: 1px dashed #ebddc0; }
.m-list li .date { width: 60px; text-align: center; color: #94070a; border-right: 1px solid #ebddc0; margin-right: 12px; font-family: "Times New Roman",serif; line-height: 1.2; }
.m-list li .date .d { display: block; font-size: 20px; font-weight: bold; }
.m-list li .date .m { display: block; font-size: 11px; color: #8b6a3b; }
.m-list li .txt { flex: 1; }
.m-list li .txt h3 { font-size: 15px; margin-bottom: 6px; font-family: "PingFang SC",sans-serif; }
.m-list li .txt h3 a { color: #222; }
.m-list li .txt p { color: #888; font-size: 12px; line-height: 1.6; }

.m-pages { padding: 16px 0; text-align: center; }
.m-pages .pagelist { display: inline-flex; flex-wrap: wrap; justify-content: center; }
.m-pages .pagelist li { margin: 3px; }
.m-pages .pagelist li a, .m-pages .pagelist li span { display: inline-block; padding: 5px 11px; border: 1px solid #e5d7b9; background: #fff; color: #555; font-size: 12px; }
.m-pages .pagelist li.thisclass span, .m-pages .pagelist li a:hover { background: #94070a; color: #fff; border-color: #94070a; }

/* article */
.m-arc { background: #fff; margin-top: 10px; padding: 16px 14px; }
.m-arc .title { font-size: 20px; color: #222; line-height: 1.5; letter-spacing: 1px; text-align: center; }
.m-arc .meta { color: #8b6a3b; font-size: 12px; padding: 8px 0 12px; border-bottom: 1px solid #ebddc0; margin-bottom: 14px; text-align: center; font-family: "Times New Roman","SimSun",serif; }
.m-arc .meta span { margin: 0 6px; }
.m-arc .body { font-size: 15px; color: #333; line-height: 2; font-family: "Source Han Serif","SimSun",serif; }
.m-arc .body p { margin: 0 0 12px; text-indent: 2em; }
.m-arc .body img { max-width: 100%; height: auto; margin: 8px 0; }
.m-arc .tags { margin-top: 20px; padding-top: 14px; border-top: 1px dashed #ebddc0; }
.m-arc .tags a { display: inline-block; padding: 4px 10px; margin: 0 6px 6px 0; background: #f5f1ea; color: #94070a; border: 1px solid #e5d7b9; font-size: 12px; }
.m-arc .prev-next { margin-top: 16px; padding: 10px 12px; background: #f5f1ea; border-left: 3px solid #94070a; font-size: 13px; line-height: 1.9; }
.m-arc .prev-next a { color: #94070a; }

/* topic */
.m-tag-cloud { display: flex; flex-wrap: wrap; padding: 12px; }
.m-tag-cloud li { margin: 4px; }
.m-tag-cloud li a { display: inline-block; padding: 6px 14px; background: #f5f1ea; color: #94070a; border: 1px solid #e5d7b9; font-size: 12px; }

/* Footer */
.m-flinks { background: #7a0608; color: #d7b88a; padding: 12px; font-size: 12px; border-top: 2px solid #d8ac5c; }
.m-flinks .label { color: #f3d7a1; margin-right: 6px; }
.m-flinks a { color: #d7b88a; margin-right: 10px; }

.m-footer { background: #5e0405; color: #cbb489; padding: 16px 12px 72px; font-size: 12px; line-height: 1.8; text-align: center; }
.m-footer a { color: #cbb489; }
.m-footer strong { color: #f3d7a1; letter-spacing: 2px; }
.m-footer .beian img { height: 14px; vertical-align: middle; margin-right: 4px; }

/* Fixed bottom bar */
.m-fixbar { position: fixed; bottom: 0; left: 0; right: 0; height: 50px; background: #fff; border-top: 2px solid #94070a; z-index: 50; display: flex; }
.m-fixbar a { flex: 1; text-align: center; padding-top: 6px; font-size: 11px; color: #555; border-right: 1px solid #ebddc0; }
.m-fixbar a:last-child { border-right: 0; background: #94070a; color: #fff; }
.m-fixbar a i { display: block; font-size: 18px; margin-bottom: 2px; font-style: normal; }

/* ===== PKU 5 类移动端覆写 ===== */
/* 学者 */
.m-people-star { position: relative; margin-bottom: 12px; height: 200px; overflow: hidden; background: #e5d7b9; }
.m-people-star img { width: 100%; height: 100%; object-fit: cover; }
.m-people-star .info { position: absolute; left: 0; right: 0; bottom: 0; padding: 12px 14px; background: linear-gradient(180deg,transparent,rgba(94,4,5,.9)); color: #fff; }
.m-people-star .info h3 { font-size: 17px; letter-spacing: 2px; }
.m-people-star .info .role { font-size: 12px; color: #f3d7a1; margin-top: 2px; }
.m-people-list .it { display: flex; align-items: center; padding: 10px 12px; background: #fff; border: 1px solid #e5d7b9; border-left: 3px solid #94070a; margin-bottom: 8px; }
.m-people-list .it .num { color: #d8ac5c; font-family: "Times New Roman",serif; font-size: 22px; font-style: italic; margin-right: 12px; }
.m-people-list .it h4 { font-size: 14px; }

/* 双栏堆叠 */
.m-twocol-block { background: #fff; border: 1px solid #ebddc0; padding: 12px 14px; margin-bottom: 10px; }
.m-twocol-block .h { display: flex; justify-content: space-between; align-items: baseline; padding-bottom: 8px; border-bottom: 2px solid #94070a; margin-bottom: 8px; }
.m-twocol-block .h h3 { font-size: 16px; color: #94070a; letter-spacing: 2px; }
.m-twocol-block .h a { font-size: 12px; color: #8b6a3b; }
.m-twocol-block ul li { padding: 6px 0 6px 12px; position: relative; font-size: 13px; border-bottom: 1px dashed #ebddc0; }
.m-twocol-block ul li:last-child { border-bottom: 0; }
.m-twocol-block ul li::before { content: ''; position: absolute; left: 0; top: 50%; width: 3px; height: 3px; background: #94070a; transform: translateY(-50%); }
.m-twocol-block ul li a { color: #333; display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* 数字 */
.m-stats { padding: 30px 12px; background: linear-gradient(135deg,#94070a 0%,#5e0405 100%); color: #fff; }
.m-stats .h { text-align: center; margin-bottom: 20px; }
.m-stats .h h2 { font-size: 20px; letter-spacing: 3px; color: #fff; }
.m-stats .h em { font-style: normal; font-size: 12px; color: #f3d7a1; display: block; margin-top: 4px; letter-spacing: 3px; font-family: "Times New Roman",serif; }
.m-stats .grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.m-stats .grid .it { text-align: center; padding: 12px 4px; border: 1px solid rgba(243,215,161,.25); }
.m-stats .grid .it .n { font-size: 24px; color: #f3d7a1; font-family: "Times New Roman",serif; font-weight: bold; }
.m-stats .grid .it .n sup { font-size: 12px; vertical-align: super; }
.m-stats .grid .it .lbl { margin-top: 4px; font-size: 11px; color: #f5e6c8; letter-spacing: 1px; }

/* 影音 */
.m-pics .big { position: relative; height: 200px; overflow: hidden; background: #e5d7b9; margin-bottom: 8px; }
.m-pics .big img { width: 100%; height: 100%; object-fit: cover; }
.m-pics .big .ttl { position: absolute; left: 0; right: 0; bottom: 0; padding: 8px 12px; background: linear-gradient(180deg,transparent,rgba(0,0,0,.7)); color: #fff; font-size: 13px; }
.m-pics .row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.m-pics .row2 .it { position: relative; height: 110px; overflow: hidden; background: #e5d7b9; }
.m-pics .row2 .it img { width: 100%; height: 100%; object-fit: cover; }
.m-pics .row2 .it .ttl { position: absolute; left: 0; right: 0; bottom: 0; padding: 4px 8px; background: linear-gradient(180deg,transparent,rgba(94,4,5,.88)); color: #fff; font-size: 11px; }

/* 院系 */
.m-colleges { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.m-colleges a { display: block; text-align: center; padding: 12px 6px; background: #fff; border: 1px solid #e5d7b9; font-size: 12px; color: #333; }
.m-colleges a:hover { background: #94070a; color: #fff; }
