@charset "utf-8";
/*!
 * vip3mb00336 TJU style — 仿同济大学官网
 * 同济蓝 #1B57A6 | TONGJI BLUE
 * 布局分区：
 *   1. CSS 变量 & Reset
 *   2. 顶部蓝色工具条 + Logo 轮播 + 横向导航
 *   3. Banner 首屏（红/金大图轮播）
 *   4. 通用 section title (蓝色印章)
 *   5. 8 大板块（top-news / events / news / video / media / album / data / topics）
 *   6. 快速通道 + 服务图标
 *   7. Footer（蓝底 + 联系 + 社交 + 友链 + 备案）
 *   8. 内页（list / article / right）
 *   9. 抽屉 / 搜索浮层 / 二维码浮层
 *  10. 响应式与可访问性
 */

/* ============ 1. CSS 变量 & Reset ============ */
:root{
    --tj-blue:#1B57A6;
    --tj-blue-deep:#0D3B7C;
    --tj-blue-light:#2E7AC0;
    --tj-blue-pale:#E8EFF8;
    --tj-gold:#d6a866;
    --tj-red:#c92a2a;
    --tj-cream:#f4f6fa;
    --tj-line:#e3e8f0;
    --tj-text:#1f2a3a;
    --tj-muted:#6c7790;
    --tj-topbar-h:60px;
    --tj-nav-h:56px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{overflow-x:hidden}
body{font-family:"Source Han Sans","Noto Sans SC","PingFang SC","Microsoft YaHei",Arial,sans-serif;color:var(--tj-text);background:#fff;line-height:1.7;min-width:0}
ul,ol,li{list-style:none}
a{color:inherit;text-decoration:none;transition:color .2s ease}
a:hover{color:var(--tj-blue)}
img{display:block;max-width:100%;border:0}
h1,h2,h3,h4{font-weight:600;line-height:1.4}
button{font:inherit;color:inherit;background:transparent;border:0;cursor:pointer;padding:0}
:focus-visible{outline:2px dashed var(--tj-gold);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}}

/* ============ 2. 顶部蓝色工具条 + Logo 轮播 + 横向导航 ============ */

/* 2.1 顶部蓝色横条 (logo + slogan + 用户类型 + 工具) */
.tj-topbar{height:var(--tj-topbar-h);background:var(--tj-blue);color:#fff;position:sticky;top:0;z-index:90;display:flex;align-items:center;padding:0 30px;box-shadow:0 2px 8px rgba(13,59,124,.18)}
.tj-topbar .t-inner{width:100%;max-width:1400px;margin:0 auto;display:flex;align-items:center;gap:24px}
.tj-topbar .t-logo{display:flex;align-items:center;gap:14px;flex-shrink:0;color:#fff}
.tj-topbar .t-logo img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:50%;padding:3px}
.tj-topbar .t-logo .tt{font-size:22px;letter-spacing:5px;font-weight:600;font-family:"Source Han Serif","Noto Serif SC",serif;line-height:1}
.tj-topbar .t-logo .en{font-family:"Times New Roman",serif;font-size:11px;letter-spacing:2.5px;color:rgba(255,255,255,.78);margin-top:5px;display:block}
.tj-topbar .t-slogan{flex:1;display:flex;align-items:center;justify-content:flex-start;padding-left:18px;border-left:1px solid rgba(255,255,255,.25);min-width:0;height:42px;overflow:hidden;position:relative}
.tj-topbar .t-slogan .s-track{position:relative;width:100%;height:100%}
.tj-topbar .t-slogan .s-item{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-start;font-family:"Source Han Serif","STKaiti",serif;font-size:18px;letter-spacing:6px;color:#f6e5b8;opacity:0;transform:translateY(20%);transition:opacity .8s,transform .8s}
.tj-topbar .t-slogan .s-item.on{opacity:1;transform:translateY(0)}
.tj-topbar .t-slogan .s-item small{font-size:13px;letter-spacing:3px;color:rgba(255,255,255,.85);margin-left:14px;font-family:inherit}
.tj-topbar .t-roles{display:flex;gap:14px;font-size:13px;letter-spacing:1.5px;color:rgba(255,255,255,.92)}
.tj-topbar .t-roles a{color:rgba(255,255,255,.92)}
.tj-topbar .t-roles a:hover{color:#fff;text-shadow:0 0 8px rgba(255,255,255,.6)}
.tj-topbar .t-tools{display:flex;gap:14px;font-size:13px;letter-spacing:1.5px;color:rgba(255,255,255,.92);align-items:center}
.tj-topbar .t-tools a{color:rgba(255,255,255,.92)}
.tj-topbar .t-tools a:hover{color:#fff}
.tj-topbar .t-lang{display:flex;gap:8px;font-size:13px;letter-spacing:1px;font-style:italic;font-family:"Times New Roman",serif;border-left:1px solid rgba(255,255,255,.25);padding-left:14px;margin-left:6px}
.tj-topbar .t-lang a{color:#fff;font-style:normal}
.tj-topbar .t-lang a:hover{text-decoration:underline}
.tj-topbar .t-search{cursor:pointer;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.16);font-size:14px;color:#fff;flex-shrink:0}
.tj-topbar .t-search:hover{background:#fff;color:var(--tj-blue)}

/* 2.2 横向白色导航 (10 个一级栏目) */
.tj-nav{height:var(--tj-nav-h);background:#fff;border-bottom:3px solid var(--tj-blue);position:sticky;top:var(--tj-topbar-h);z-index:88;box-shadow:0 4px 14px rgba(0,0,0,.04)}
.tj-nav .n-inner{max-width:1400px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 30px}
.tj-nav .n-list{display:flex;align-items:center;justify-content:space-between;flex:1;height:100%;list-style:none}
.tj-nav .n-list > li{flex:1;text-align:center;height:100%;display:flex;align-items:center;justify-content:center;position:relative}
.tj-nav .n-list > li > a{display:inline-flex;align-items:center;gap:6px;font-size:16px;color:#222;letter-spacing:2px;font-weight:600;padding:6px 4px;height:100%;line-height:var(--tj-nav-h);position:relative;transition:.25s}
.tj-nav .n-list > li > a::after{content:"▾";font-size:10px;color:var(--tj-blue);opacity:.7;margin-left:2px}
.tj-nav .n-list > li > a:hover,.tj-nav .n-list > li.active > a{color:var(--tj-blue)}
.tj-nav .n-list > li > a::before{content:"";position:absolute;left:50%;bottom:0;width:0;height:3px;background:var(--tj-blue);transform:translateX(-50%);transition:.25s}
.tj-nav .n-list > li:hover > a::before,.tj-nav .n-list > li.active > a::before{width:50%}

/* ============ 3. Banner 首屏 (大图红金轮播) ============ */
.tj-banner{position:relative;height:calc(100vh - var(--tj-topbar-h) - var(--tj-nav-h));min-height:540px;max-height:760px;overflow:hidden;background:linear-gradient(120deg,#a02020,#c83232 60%,#d84545 100%);color:#fff}
.tj-banner .b-bg{position:absolute;inset:0;background:radial-gradient(rgba(255,255,255,.06) 2px,transparent 2px) 0 0/40px 40px;opacity:.4;z-index:0}
.tj-banner .b-slides{position:absolute;inset:0;z-index:1}
.tj-banner .b-slide{position:absolute;inset:0;display:block;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s;text-decoration:none;color:#fff}
.tj-banner .b-slide.on{opacity:1;visibility:visible;z-index:2}
.tj-banner .b-slide img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.tj-banner .b-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(160,32,32,.25) 0%,rgba(0,0,0,.4) 100%)}
.tj-banner .b-slide .b-cap{position:absolute;left:80px;right:80px;bottom:80px;z-index:3;font-size:32px;line-height:1.45;color:#fff;font-weight:600;text-shadow:0 4px 16px rgba(0,0,0,.5);letter-spacing:6px;font-family:"Source Han Serif",serif;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tj-banner .b-slide .b-cap small{display:block;font-size:18px;font-weight:400;color:#f6e5b8;letter-spacing:4px;margin-top:8px;font-family:inherit}
/* 同济大学透明印章式 LOGO 浮水印 */
.tj-banner .b-stamp{position:absolute;left:60px;top:30px;display:flex;align-items:center;gap:10px;color:#fff;z-index:5;opacity:.92}
.tj-banner .b-stamp img{width:48px;height:48px;background:rgba(255,255,255,.18);border-radius:50%;padding:3px}
.tj-banner .b-stamp .tt{font-size:24px;letter-spacing:6px;font-family:"Source Han Serif",serif;font-weight:600}
.tj-banner .b-stamp .en{font-family:"Times New Roman",serif;font-size:10px;letter-spacing:3px;display:block;color:rgba(255,255,255,.85);margin-top:3px}
/* 数字翻页 */
.tj-banner .b-dots{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;z-index:4}
.tj-banner .b-dots span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;display:inline-block;transition:.2s;font-size:0}
.tj-banner .b-dots span.on{background:#fff;width:32px;border-radius:6px}
/* 左右箭头 */
.tj-banner .b-prev,.tj-banner .b-next{position:absolute;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:32px;line-height:50px;text-align:center;border:1px solid rgba(255,255,255,.4);z-index:5;cursor:pointer;transition:all .25s}
.tj-banner .b-prev:hover,.tj-banner .b-next:hover{background:#fff;color:var(--tj-blue);border-color:#fff}
.tj-banner .b-prev{left:30px}
.tj-banner .b-next{right:30px}
/* 右侧悬浮日历快捷条 */
.tj-banner .b-calendar{position:absolute;right:0;top:50%;transform:translateY(-50%);width:64px;background:rgba(27,87,166,.78);color:#fff;padding:18px 10px;border-radius:6px 0 0 6px;text-align:center;z-index:5}
.tj-banner .b-calendar .ico{font-size:22px;display:block;margin-bottom:6px}
.tj-banner .b-calendar .lbl{font-size:12px;letter-spacing:1px;line-height:1.4}
/* 底部下滑提示 */
.tj-banner .b-down{position:absolute;left:50%;bottom:6px;transform:translateX(-50%);font-size:24px;color:rgba(255,255,255,.7);animation:tj-bounce 1.6s infinite;cursor:pointer;z-index:4}
@keyframes tj-bounce{0%,100%{transform:translate(-50%,0)}50%{transform:translate(-50%,8px)}}

/* ============ 4. 通用 section title (印章风格) ============ */
.tj-stitle{position:relative;text-align:center;margin-bottom:40px;padding-top:8px}
.tj-stitle::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:160px;height:160px;background:url('../images/logo.png') center/contain no-repeat;opacity:.06;z-index:0;pointer-events:none}
.tj-stitle h2{position:relative;font-size:36px;color:var(--tj-blue);letter-spacing:6px;font-weight:600;font-family:"Source Han Serif","Noto Serif SC",serif;line-height:1.2;display:inline-block;padding:0 60px;z-index:1}
.tj-stitle h2::before,.tj-stitle h2::after{content:"";position:absolute;top:50%;width:50px;height:1px;background:var(--tj-blue);opacity:.5}
.tj-stitle h2::before{left:0}
.tj-stitle h2::after{right:0}
.tj-stitle em{position:relative;font-style:normal;font-family:"Times New Roman",serif;font-size:15px;color:var(--tj-muted);letter-spacing:3px;margin-top:6px;display:block;z-index:1}
.tj-stitle .more{position:absolute;right:0;bottom:-6px;font-size:13px;color:var(--tj-muted);letter-spacing:2px;display:inline-flex;align-items:center;gap:6px;padding:4px 0}
.tj-stitle .more::before{content:"→";display:inline-block;color:var(--tj-blue)}
.tj-stitle .more:hover{color:var(--tj-blue)}

/* ============ 5. 8 大板块 ============ */
.tj-content{max-width:1400px;margin:0 auto;padding:0 30px}

/* 5.1 同济要闻 Top News */
.tj-topnews{padding:60px 0 50px}
.tj-topnews .tn-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.tj-topnews .tn-grid > *{min-width:0}
.tj-topnews .tn-card{position:relative;background:#fff;border:1px solid var(--tj-line);transition:.3s}
.tj-topnews .tn-card:hover{box-shadow:0 16px 40px rgba(27,87,166,.18);transform:translateY(-4px)}
.tj-topnews .tn-card .pic{height:230px;overflow:hidden;background:var(--tj-cream)}
.tj-topnews .tn-card .pic img{width:100%;height:100%;object-fit:cover;transition:.4s}
.tj-topnews .tn-card:hover .pic img{transform:scale(1.04)}
/* 蓝色斜角标题块 */
.tj-topnews .tn-card .info{position:relative;background:var(--tj-blue);color:#fff;padding:18px 20px;margin-top:-20px;clip-path:polygon(0 18px,100% 0,100% 100%,0 100%);min-height:100px}
.tj-topnews .tn-card .info::before{content:"";position:absolute;left:0;top:0;width:60px;height:60px;background:url('../images/logo.png') center/contain no-repeat;opacity:.08}
.tj-topnews .tn-card .info h3{position:relative;font-size:15px;line-height:1.55;color:#fff;font-weight:600;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:1px}

/* 5.2 同济公告 Tongji Events (左右两栏 蓝色日期块) */
.tj-events{padding:50px 0}
.tj-events .ev-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:start}
.tj-events .ev-grid > *{min-width:0}
.tj-events .ev-col{display:flex;flex-direction:column;gap:18px}
.tj-events .ev-row{display:flex;gap:18px;align-items:center;padding:14px 0;border-bottom:1px dashed var(--tj-line)}
.tj-events .ev-row:last-child{border-bottom:0}
.tj-events .ev-row .date{flex-shrink:0;width:60px;height:60px;background:var(--tj-blue);color:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center;border-radius:2px}
.tj-events .ev-row .date b{font-size:22px;font-weight:600;font-family:"Times New Roman",serif;line-height:1;display:block}
.tj-events .ev-row .date span{font-size:11px;letter-spacing:1px;margin-top:3px;display:block;font-family:"Times New Roman",serif}
.tj-events .ev-row .ttl{flex:1;font-size:15px;line-height:1.6;color:#222;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:500}
.tj-events .ev-row:hover .ttl{color:var(--tj-blue)}

/* 5.3 同舟济事 Tongji News (左1大图 + 右3卡片有日期) */
.tj-news{padding:60px 0;background:#fafbfd}
.tj-news .nw-grid{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(3,minmax(0,1fr));gap:24px}
.tj-news .nw-grid > *{min-width:0}
.tj-news .nw-feat{background:#fff;border:1px solid var(--tj-line);transition:.3s}
.tj-news .nw-feat:hover{box-shadow:0 12px 36px rgba(27,87,166,.14)}
.tj-news .nw-feat .pic{height:280px;overflow:hidden;background:var(--tj-cream)}
.tj-news .nw-feat .pic img{width:100%;height:100%;object-fit:cover}
.tj-news .nw-feat .body{padding:18px 22px}
.tj-news .nw-feat .body h3{font-size:17px;color:#222;line-height:1.55;margin-bottom:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600}
.tj-news .nw-feat .body .d{font-size:13px;color:var(--tj-blue);font-family:"Times New Roman",serif;letter-spacing:1px;margin-bottom:10px}
.tj-news .nw-feat .body p{font-size:13px;color:var(--tj-muted);line-height:1.85;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.tj-news .nw-card{background:#fff;border:1px solid var(--tj-line);padding:22px 20px;display:flex;flex-direction:column;justify-content:space-between;transition:.3s}
.tj-news .nw-card:hover{background:var(--tj-blue);color:#fff;transform:translateY(-4px)}
.tj-news .nw-card:hover .nw-clock,.tj-news .nw-card:hover h3,.tj-news .nw-card:hover p{color:#fff}
.tj-news .nw-card h3{font-size:16px;line-height:1.55;color:#222;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600}
.tj-news .nw-card .nw-clock{font-size:12px;color:var(--tj-muted);font-family:"Times New Roman",serif;margin-bottom:14px;display:flex;align-items:center;gap:5px}
.tj-news .nw-card .nw-clock::before{content:"⏱";font-size:13px}
.tj-news .nw-card p{font-size:13px;color:var(--tj-muted);line-height:1.8;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.tj-news .nw-dots{grid-column:1 / -1;display:flex;justify-content:center;gap:8px;margin-top:20px}
.tj-news .nw-dots span{width:10px;height:10px;border-radius:50%;background:#cdd5e3}
.tj-news .nw-dots span.on{background:var(--tj-blue);width:30px;border-radius:5px}

/* 5.4 同心济世 Tongji Video (蓝底视频区) */
.tj-video{padding:60px 0;background:linear-gradient(180deg,var(--tj-blue) 0%,var(--tj-blue-deep) 100%);color:#fff;position:relative;overflow:hidden;margin:0 -100vw;padding-left:100vw;padding-right:100vw}
.tj-video > .tj-content{margin-left:auto;margin-right:auto}
.tj-video .tj-stitle h2{color:#fff}
.tj-video .tj-stitle h2::before,.tj-video .tj-stitle h2::after{background:#fff;opacity:.8}
.tj-video .tj-stitle em{color:rgba(255,255,255,.75)}
.tj-video .tj-stitle .more{color:rgba(255,255,255,.85)}
.tj-video .tj-stitle::before{filter:invert(1);opacity:.04}
.tj-video .vd-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:30px;align-items:stretch;position:relative;z-index:1}
.tj-video .vd-grid > *{min-width:0}
.tj-video .vd-main{position:relative;background:#000;height:420px;border-radius:4px;overflow:hidden}
.tj-video .vd-main img{width:100%;height:100%;object-fit:cover;opacity:.85}
.tj-video .vd-main .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:78px;height:78px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--tj-blue);font-size:28px;display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;transition:.25s}
.tj-video .vd-main .play:hover{transform:translate(-50%,-50%) scale(1.06);background:#fff}
.tj-video .vd-side{background:rgba(255,255,255,.95);color:var(--tj-blue);border-radius:4px;display:flex;flex-direction:column;justify-content:center;padding:50px 30px;text-align:center;font-family:"Source Han Serif",serif}
.tj-video .vd-side h3{font-size:34px;letter-spacing:8px;color:var(--tj-blue);font-weight:700;line-height:1.4}
.tj-video .vd-side .dot{display:inline-block;width:6px;height:6px;background:var(--tj-blue);border-radius:50%;margin:0 8px;vertical-align:middle}
/* 视频翻页指示器（横线 + 数字 + 当前红） */
.tj-video .vd-pager{margin-top:30px;display:flex;align-items:center;justify-content:center;gap:14px;font-family:"Times New Roman",serif;font-size:14px;color:rgba(255,255,255,.85);position:relative;z-index:1}
.tj-video .vd-pager .line{flex:1;max-width:520px;height:1px;background:rgba(255,255,255,.3)}
.tj-video .vd-pager .dots{display:flex;align-items:center;gap:10px}
.tj-video .vd-pager .dots span{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer}
.tj-video .vd-pager .dots span.on{background:var(--tj-red);transform:scale(1.2)}
.tj-video .vd-arrow{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.5);color:#fff;background:transparent;cursor:pointer;font-size:18px}
.tj-video .vd-arrow:hover{background:rgba(255,255,255,.18)}

/* 5.5 同行济语 Tongji Media (5列网格 多卡片) */
.tj-media{padding:60px 0}
.tj-media .md-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.tj-media .md-grid > *{min-width:0}
.tj-media .md-card{background:#fff;border:1px solid var(--tj-line);transition:.3s;display:flex;flex-direction:column}
.tj-media .md-card:hover{box-shadow:0 10px 28px rgba(27,87,166,.14);transform:translateY(-3px)}
.tj-media .md-card.with-pic .pic{height:140px;overflow:hidden;background:var(--tj-cream)}
.tj-media .md-card.with-pic .pic img{width:100%;height:100%;object-fit:cover;transition:.4s}
.tj-media .md-card .info{padding:14px 14px;display:flex;flex-direction:column;flex:1;justify-content:space-between}
.tj-media .md-card .info h3{font-size:14px;color:#222;line-height:1.5;font-weight:600;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:14px}
.tj-media .md-card .info p{font-size:12px;color:var(--tj-muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:14px}
.tj-media .md-card .info .d{font-size:12px;color:var(--tj-muted);font-family:"Times New Roman",serif;letter-spacing:1px;display:flex;align-items:center;gap:5px}
.tj-media .md-card .info .d::before{content:"⏱"}

/* 5.6 同济映像 Tongji Album (5图横排) */
.tj-album{padding:60px 0;background:#fafbfd}
.tj-album .ab-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;height:340px}
.tj-album .ab-grid > *{min-width:0}
.tj-album .ab-cell{position:relative;overflow:hidden;height:340px;cursor:pointer;transition:flex .35s}
.tj-album .ab-cell img{width:100%;height:100%;object-fit:cover;transition:.4s}
.tj-album .ab-cell:hover img{transform:scale(1.06)}
.tj-album .ab-cell::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(0,0,0,.55));z-index:1}
.tj-album .ab-cell .ttl{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;color:#fff;background:#fff;color:#222;text-align:center;font-size:14px;letter-spacing:2px;font-weight:600;z-index:2}
.tj-album .ab-row2{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:0;background:#fff;border-top:1px solid var(--tj-line)}
.tj-album .ab-row2 > a{padding:18px 12px;text-align:center;font-size:14px;color:#222;letter-spacing:2px;font-weight:600;border-right:1px solid var(--tj-line);transition:.2s;display:block}
.tj-album .ab-row2 > a:last-child{border-right:0}
.tj-album .ab-row2 > a:hover{background:var(--tj-blue);color:#fff}

/* 5.7 数据同济 Tongji Data (6印章数字墙) */
.tj-data{padding:60px 0;position:relative}
.tj-data .da-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 50px;max-width:1100px;margin:0 auto}
.tj-data .da-grid > *{min-width:0}
.tj-data .da-row{display:flex;align-items:center;gap:18px;padding:24px 14px}
.tj-data .da-row .seal{flex-shrink:0;width:96px;height:96px;background:url('../images/logo.png') center/64% no-repeat;background-color:rgba(214,168,102,.1);border:1px dashed var(--tj-gold);display:flex;align-items:center;justify-content:center;color:var(--tj-gold);position:relative}
.tj-data .da-row .seal::before{content:"";position:absolute;inset:6px;border:1px solid rgba(214,168,102,.4);pointer-events:none}
.tj-data .da-row .info .n{font-size:38px;font-weight:600;color:var(--tj-blue);font-family:"Times New Roman",serif;letter-spacing:1px;line-height:1}
.tj-data .da-row .info .lbl{font-size:13px;color:#444;line-height:1.6;margin-top:6px;letter-spacing:.5px}
.tj-data .da-dots{text-align:center;margin-top:30px;display:flex;justify-content:center;gap:10px}
.tj-data .da-dots span{width:8px;height:8px;border-radius:50%;background:#cdd5e3}
.tj-data .da-dots span.on{background:var(--tj-blue);transform:scale(1.4)}

/* 5.8 红色专题轮播 Topics */
.tj-topics{padding:30px 0 50px;background:#fafbfd}
.tj-topics .tp-wrap{position:relative;background:#eef2f7;padding:24px 70px;border-radius:4px}
.tj-topics .tp-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.tj-topics .tp-row > *{min-width:0}
.tj-topics .tp-card{height:90px;border-radius:3px;overflow:hidden;position:relative;background:linear-gradient(120deg,var(--tj-red),#e74c3c);color:#fff}
.tj-topics .tp-card img{width:100%;height:100%;object-fit:cover}
.tj-topics .tp-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(160,32,32,.15),rgba(0,0,0,.3))}
.tj-topics .tp-card .ttl{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);text-align:center;color:#fff;font-size:15px;letter-spacing:3px;font-weight:600;text-shadow:0 2px 8px rgba(0,0,0,.5);z-index:2;padding:0 10px;line-height:1.4}
.tj-topics .tp-prev,.tj-topics .tp-next{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:var(--tj-blue);color:#fff;cursor:pointer;font-size:20px;line-height:38px;text-align:center;border:0;z-index:3}
.tj-topics .tp-prev{left:18px}
.tj-topics .tp-next{right:18px}
.tj-topics .tp-prev:hover,.tj-topics .tp-next:hover{background:var(--tj-blue-deep)}

/* ============ 6. 快速通道 + 服务图标 ============ */
.tj-quick{padding:30px 0 50px;background:#fafbfd}
.tj-quick .qk-wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.tj-quick .qk-tt{display:flex;flex-direction:column;align-items:center;color:var(--tj-blue);min-width:100px;border-right:1px solid var(--tj-line);padding-right:24px}
.tj-quick .qk-tt b{font-size:18px;letter-spacing:3px;font-weight:600}
.tj-quick .qk-tt span{font-size:18px;margin-top:4px}
.tj-quick .qk-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;flex:1}
.tj-quick .qk-list > *{min-width:0}
.tj-quick .qk-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:14px 6px;border-radius:4px;color:#222;transition:.2s}
.tj-quick .qk-item:hover{background:var(--tj-blue-pale);color:var(--tj-blue);transform:translateY(-2px)}
.tj-quick .qk-item .ico{width:46px;height:46px;border-radius:6px;background:var(--tj-blue-pale);color:var(--tj-blue);display:flex;align-items:center;justify-content:center;margin-bottom:8px;font-size:20px;font-weight:600;border:1px solid var(--tj-line)}
.tj-quick .qk-item:hover .ico{background:var(--tj-blue);color:#fff;border-color:var(--tj-blue)}
.tj-quick .qk-item .lbl{font-size:13px;letter-spacing:1px}

/* ============ 7. Footer ============ */
.tj-footer{background:linear-gradient(180deg,var(--tj-blue) 0%,var(--tj-blue-deep) 100%);color:rgba(255,255,255,.85);padding:50px 30px 0;position:relative;overflow:hidden}
.tj-footer::before{content:"";position:absolute;right:-40px;top:-40px;width:280px;height:280px;background:url('../images/logo.png') center/contain no-repeat;opacity:.05;pointer-events:none}
.tj-footer .f-top{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:220px minmax(0,1fr) 260px;gap:40px;align-items:start;position:relative;z-index:1}
.tj-footer .f-emblem{display:flex;align-items:center;gap:14px}
.tj-footer .f-emblem img{width:74px;height:74px;background:transparent;border-radius:50%;padding:4px;border:1px solid rgba(255,255,255,.25)}
.tj-footer .f-emblem h2{font-size:20px;color:#fff;letter-spacing:4px;font-weight:600}
.tj-footer .f-emblem em{font-style:normal;display:block;margin-top:4px;font-family:"Times New Roman",serif;font-size:12px;color:rgba(255,255,255,.78);letter-spacing:2px}
/* 校区横排4列 */
.tj-footer .f-contact{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tj-footer .f-contact .c h3{font-size:15px;color:#fff;letter-spacing:2px;font-weight:700;margin-bottom:8px}
.tj-footer .f-contact .c p{font-size:13px;color:rgba(255,255,255,.8);line-height:1.8;letter-spacing:.5px}
.tj-footer .f-info{font-size:13px;line-height:2.2;letter-spacing:.5px}
.tj-footer .f-info a{color:rgba(255,255,255,.85)}
.tj-footer .f-info a:hover{color:#fff}
/* 社交图标骑在分割线上 */
.tj-footer .f-divider{position:relative;border-top:1px solid rgba(255,255,255,.16);margin-top:30px}
.tj-footer .f-social{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;position:relative;top:-19px;padding-right:30px;margin-bottom:-19px}
.tj-footer .f-social li{list-style:none}
.tj-footer .f-social .s-icn{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;border:1px solid rgba(255,255,255,.18);transition:.2s;font-family:inherit;cursor:pointer}
.tj-footer .f-social .s-icn:hover,.tj-footer .f-social .s-icn:focus-visible{background:#fff;color:var(--tj-blue);transform:translateY(-2px)}
/* 友链 */
.tj-footer .f-flinks{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:16px auto;padding:0;list-style:none;max-width:1400px}
.tj-footer .f-flinks:empty{display:none}
.tj-footer .f-flinks > a,.tj-footer .f-flinks li{font-size:12.5px;color:rgba(255,255,255,.78);position:relative;padding-right:18px;display:inline-block}
.tj-footer .f-flinks > a::after,.tj-footer .f-flinks li::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:11px;background:rgba(255,255,255,.25)}
.tj-footer .f-flinks > a:last-child,.tj-footer .f-flinks li:last-child{padding-right:0}
.tj-footer .f-flinks > a:last-child::after,.tj-footer .f-flinks li:last-child::after{display:none}
.tj-footer .f-flinks li a{color:rgba(255,255,255,.78)}
.tj-footer .f-flinks > a:hover,.tj-footer .f-flinks li a:hover{color:#fff}
/* 版权3行居中 */
.tj-footer .copy{text-align:center;font-size:13px;color:rgba(255,255,255,.7);line-height:2.2;letter-spacing:1px;padding:20px 0 30px;background:rgba(0,0,0,.08)}
.tj-footer .copy p{margin:0}
.tj-footer .copy a{color:rgba(255,255,255,.78)}
.tj-footer .copy a:hover{color:#fff}
.tj-footer .copy strong{color:#fff;font-weight:600}

/* ============ 8. 内页 list / article / right ============ */
.tj-page-banner{position:relative;height:240px;background:linear-gradient(120deg,var(--tj-blue-deep) 0%,var(--tj-blue) 100%);display:flex;align-items:center;color:#fff;padding:0 30px}
.tj-page-banner::before{content:"";position:absolute;inset:0;background:radial-gradient(rgba(255,255,255,.06) 2px,transparent 2px) 0 0/30px 30px;opacity:.6}
.tj-page-banner > div{max-width:1400px;margin:0 auto;width:100%;position:relative}
.tj-page-banner h1,.tj-page-banner h2{font-size:32px;letter-spacing:6px;margin-bottom:10px;font-weight:700}
.tj-page-banner .crumb{font-size:13px;opacity:.9;letter-spacing:1px}
.tj-page-banner .crumb a{color:#fff}
.tj-list-wrap,.tj-article{max-width:1400px;margin:0 auto;padding:50px 30px 70px;min-height:400px}
.tj-list-wrap .layout,.tj-article .layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:36px;align-items:flex-start}
.tj-article .layout{grid-template-columns:minmax(0,1fr) 280px}
.tj-list-wrap .layout > *,.tj-article .layout > *{min-width:0}
.tj-aside-col{background:#fff;border-radius:4px;overflow:hidden;border:1px solid var(--tj-line)}
.tj-aside-col .side-tt{background:var(--tj-blue);color:#fff;padding:14px 22px;font-size:18px;letter-spacing:3px;font-weight:600}
.tj-aside-col ul li{border-bottom:1px solid var(--tj-line)}
.tj-aside-col ul li:last-child{border-bottom:0}
.tj-aside-col ul li a{display:block;padding:14px 22px;font-size:14.5px;color:#333;border-left:3px solid transparent;letter-spacing:1px}
.tj-aside-col ul li a:hover,.tj-aside-col ul li a.thisclass,.tj-aside-col ul li.active a{background:var(--tj-blue-pale);color:var(--tj-blue);border-left-color:var(--tj-blue)}
.tj-main-col{background:#fff;border-radius:4px;padding:30px 36px;border:1px solid var(--tj-line)}
.tj-main-col .arc-list li{padding:18px 0;border-bottom:1px dashed var(--tj-line);display:flex;justify-content:space-between;gap:20px;align-items:center}
.tj-main-col .arc-list li a{flex:1;font-size:15.5px;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:22px;position:relative}
.tj-main-col .arc-list li a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:7px;height:7px;background:var(--tj-blue)}
.tj-main-col .arc-list li .date{font-size:13px;color:var(--tj-muted);font-family:"Times New Roman",serif}
.tj-pager{margin-top:30px;text-align:center}
.tj-pager .pagelist{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:center}
.tj-pager .pagelist li{display:inline-block}
.tj-pager .pagelist li a,.tj-pager .pagelist li span{display:inline-block;padding:6px 14px;border:1px solid var(--tj-line);background:#fff;color:#444;font-size:13px}
.tj-pager .pagelist li.thisclass span,.tj-pager .pagelist li a:hover{background:var(--tj-blue);color:#fff;border-color:var(--tj-blue)}

.tj-article .article-box{background:#fff;border-radius:4px;padding:40px 50px;border:1px solid var(--tj-line)}
.tj-article .article-box h1{font-size:30px;color:var(--tj-blue);text-align:center;line-height:1.5;letter-spacing:1px;margin-bottom:16px;font-weight:700}
.tj-article .article-meta{text-align:center;color:var(--tj-muted);font-size:13px;padding:14px 0 18px;border-bottom:1px solid var(--tj-line);margin-bottom:24px}
.tj-article .article-meta span{margin:0 10px}
.tj-article .article-content{font-size:16px;line-height:2;color:#333}
.tj-article .article-content p{margin-bottom:14px}
.tj-article .article-content img{max-width:100%;height:auto;margin:14px auto;display:block;border-radius:2px}
.tj-article .article-pn{margin-top:30px;padding:18px;background:var(--tj-cream);border-left:3px solid var(--tj-blue);font-size:14px}
.tj-article .article-pn p{padding:4px 0}

/* ============ 9. 抽屉 / 搜索 / 二维码浮层 ============ */
.tj-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:998}
.tj-mask.on{display:block}
.tj-drawer{position:fixed;top:0;left:-380px;width:380px;height:100vh;background:#fff;z-index:999;transition:left .3s ease;padding:60px 36px 30px;overflow-y:auto}
.tj-drawer.on{left:0;box-shadow:6px 0 22px rgba(0,0,0,.2)}
.tj-drawer .close{position:absolute;top:18px;right:22px;font-size:32px;color:var(--tj-blue);cursor:pointer;line-height:1}
.tj-drawer h3{font-size:22px;color:var(--tj-blue);margin-bottom:24px;letter-spacing:4px;border-bottom:2px solid var(--tj-blue);padding-bottom:14px}
.tj-drawer ul li a{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--tj-line);font-size:15px;color:#333;letter-spacing:2px}
.tj-drawer ul li a i{font-style:normal;color:var(--tj-blue);font-size:18px}
.tj-drawer ul li a:hover{color:var(--tj-blue);padding-left:6px}

.tj-search-mask{display:none;position:fixed;inset:0;background:rgba(13,59,124,.95);z-index:9999;align-items:center;justify-content:center}
.tj-search-mask form{display:flex;width:680px;max-width:90%;border-bottom:2px solid #fff}
.tj-search-mask input{flex:1;background:transparent;border:0;outline:none;color:#fff;font-size:24px;padding:14px 8px}
.tj-search-mask input::placeholder{color:rgba(255,255,255,.6)}
.tj-search-close{position:absolute;top:24px;right:34px;color:#fff;font-size:36px;cursor:pointer}

.tj-qrcode-mask{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9998;align-items:center;justify-content:center}
.tj-qrcode-mask .qr-box{background:#fff;border-radius:6px;padding:28px 36px;text-align:center;width:280px;box-shadow:0 18px 40px rgba(0,0,0,.3);position:relative}
.tj-qrcode-mask .qr-close{position:absolute;top:8px;right:14px;font-size:26px;line-height:1;color:#666}
.tj-qrcode-mask h3{font-size:18px;color:var(--tj-blue);letter-spacing:3px;margin-bottom:16px}
.tj-qrcode-mask .qr-img{width:180px;height:180px;margin:0 auto 12px;background:repeating-linear-gradient(45deg,#222 0 6px,#fff 6px 12px);display:flex;align-items:center;justify-content:center;color:#fff;font-size:30px;font-family:monospace;letter-spacing:6px}
.tj-qrcode-mask .qr-tip{color:#666;font-size:12px;letter-spacing:1px}

/* ============ 10. 响应式与可访问性 ============ */
@media (max-width:1380px){
    .tj-banner .b-slide .b-cap{font-size:24px;letter-spacing:3px;left:50px;right:50px}
    .tj-stitle h2{font-size:30px;padding:0 40px}
    .tj-quick .qk-list{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media (max-width:1100px){
    .tj-topbar .t-roles{display:none}
    .tj-nav .n-list > li > a{font-size:14px;letter-spacing:1px}
    .tj-news .nw-grid{grid-template-columns:1fr 1fr}
    .tj-news .nw-feat{grid-column:1 / -1}
    .tj-media .md-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .tj-album .ab-grid,.tj-album .ab-row2{grid-template-columns:repeat(3,minmax(0,1fr))}
    .tj-data .da-grid{grid-template-columns:1fr 1fr}
    .tj-quick .qk-list{grid-template-columns:repeat(4,minmax(0,1fr))}
    .tj-footer .f-row{grid-template-columns:1fr;text-align:center}
    .tj-footer .f-emblem{justify-content:center}
    .tj-footer .f-social{justify-content:center}
}
