/* ===== 页面样式：首页/文章页/数据查询页 ===== */
/* ========== 页面通用 ========== */
.page-title { font-size: 1.15rem; color: var(--ink); margin: 0; position: relative; font-weight: 700; letter-spacing: .3px; font-family:"FZXiaoBiaoSong-B05S","方正小标宋简体","STZhongsong","Songti SC","SimSun",serif; line-height: 1.25; }
.page-t-wrap { margin: 14px 0 10px; }
.panel { background: #fff; border: 1px solid var(--line); border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); margin-bottom: 22px; }
.panel .sec-t { margin-bottom: 12px; }
.hint { font-size: .82rem; color: var(--muted); margin-top: 10px; }
/* 板块标题：中文（方正小标宋）+ 英文副标题 */
.sec-t-wrap { display:flex; align-items:center; gap:9px; margin:4px 0; }
.sec-ico { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; flex-shrink:0; border-radius:9px; background:var(--brand-light); color:var(--brand); font-size:1.3rem; transition:.2s; }
.blk:hover .sec-ico { background:var(--brand); color:#fff; transform:rotate(-6deg) scale(1.05); }
.sec-t-text { display:flex; flex-direction:column; min-width:0; }
.sec-t { font-size: 1.08rem; color: var(--ink); margin: 0; position: relative; font-weight: 700; letter-spacing: .5px; line-height: 1.2; font-family:"FZXiaoBiaoSong-B05S","方正小标宋简体","STZhongsong","Songti SC","SimSun",serif; }
.sec-en { font-size:.7rem; letter-spacing:2.5px; color:var(--brand); text-transform:uppercase; font-weight:700; opacity:.82; margin-top:3px; }
.page-sub { font-size:.65rem; letter-spacing:2px; color:var(--muted); text-transform:uppercase; font-weight:700; margin-top:6px; }
/* 列表页头图（徽风皖韵）—— 全宽铺满，标题+图标浮于左下角，图作 CSS 背景（无法新标签打开） */
.list-banner {
  position: relative; width: 100%; min-height: 230px; line-height: 0;
  background-image: url("/public/list_banner.jpg"); background-size: cover; background-position: center;
  margin: 0 0 16px; display: flex; align-items: flex-end;
}
/* 底部遮罩：加深保证左下角标题可读 */
.list-banner .banner-mask { position:absolute; inset:0; pointer-events:none; background:linear-gradient(to top, rgba(0,0,0,.62) 0%, rgba(0,0,0,.28) 40%, rgba(0,0,0,0) 70%); }
.list-banner .banner-overlay { position:relative; z-index:1; width:100%; padding:20px 22px 18px 40px; }
.list-banner .page-t-wrap { margin:0; }
.list-banner .sec-t-wrap { gap:11px; margin:0; }
.list-banner .page-title, .list-banner .sec-t { color:#fff; text-shadow:0 1px 5px rgba(0,0,0,.5); }
.list-banner .page-sub { color:rgba(255,255,255,.92); text-shadow:0 1px 3px rgba(0,0,0,.45); }
.list-banner .sec-ico { background:rgba(255,255,255,.22); color:#fff; backdrop-filter:blur(2px); }
/* 数据页 Banner：科技感头图 + 标题右侧小字提醒 */
.data-banner { background-image: url("/public/data_banner.jpg"); }
.list-banner .banner-overlay { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.list-banner .banner-tip { flex-shrink:0; max-width:48%; text-align:right; font-size:.82rem; color:rgba(255,255,255,.92); text-shadow:0 1px 3px rgba(0,0,0,.45); line-height:1.5; }
/* 选项卡：居中并与 Banner 拉开距离 */
.data-tabs { justify-content:center; margin-top:22px; margin-bottom:22px; }
/* 查询按钮下方富文本提醒 */
.data-tip { margin-top:16px; padding:12px 14px; background:var(--bg); border:1px dashed var(--line); border-radius:var(--radius); font-size:.88rem; color:var(--muted); line-height:1.75; }
.data-tip:empty { display:none; }
.data-tip a { color:var(--brand); }
/* 后台：迷你富文本编辑器 */
.mini-rte { border:1px solid var(--line); border-radius:10px; overflow:hidden; box-shadow:0 1px 3px rgba(15,30,50,.04); }
.mini-rte-bar { display:flex; gap:4px; padding:7px 9px; background:linear-gradient(180deg,#fafdfc 0%,#f3f8f7 100%); border-bottom:1px solid var(--line); flex-wrap:wrap; align-items:center; }
.mini-rte-bar button { min-width:32px; height:32px; padding:0 7px; border:1px solid transparent; background:transparent; border-radius:6px; cursor:pointer; font-size:.9rem; color:var(--ink-soft); display:inline-flex; align-items:center; justify-content:center; font-weight:600; transition:all .15s; }
.mini-rte-bar button:hover { background:#fff; color:var(--brand); border-color:var(--brand-light); box-shadow:0 1px 3px rgba(80,196,188,.18); }
.mini-rte-area { min-height:120px; padding:14px 18px; background:#fff; outline:none; font-size:.92rem; line-height:1.85; }
.mini-rte-area:focus { box-shadow:inset 0 0 0 2px rgba(80,196,188,.18); }
.mini-rte-area a { color:var(--brand); }
.mini-rte-area img { max-width:100%; border-radius:6px; }
.rte-color-label { position:relative; width:32px; height:30px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--line); border-radius:6px; background:#fff; font-size:.9rem; user-select:none; }
.rte-color-label:hover { background:var(--brand-light); border-color:var(--brand); }
.rte-color { position:absolute; opacity:0; width:0; height:0; }
/* 广告位 */
.ad-slot { margin:0 0 18px; display:flex; flex-direction:column; gap:12px; }
.ad-slot:empty { display:none; }
.ad-link { position:relative; display:block; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); transition:.18s; }
.ad-link:hover { transform:translateY(-2px); box-shadow:var(--shadow-lg); }
.ad-link img { display:block; width:100%; height:auto; }
.ad-textbox { display:flex; align-items:center; justify-content:center; min-height:86px; padding:14px 18px; background:linear-gradient(135deg,#fff7f1,#fff); text-align:center; font-size:.95rem; color:var(--ink); line-height:1.6; }
.ad-textbox strong { color:var(--accent-dark); }
.ad-flag { position:absolute; top:8px; right:8px; background:rgba(0,0,0,.4); color:#fff; font-size:.64rem; padding:2px 7px; border-radius:5px; letter-spacing:1px; }
.more { color: var(--brand); font-weight: 600; font-size: .88rem; margin-left: auto; }
.more:hover { text-decoration: underline; }
.back { display:inline-block; color: var(--brand); font-weight:600; margin: 18px 0; }
.back:hover { text-decoration: underline; }
.chk-line { display:inline-flex; align-items:center; gap:6px; font-weight:600; font-size:.9rem; cursor:pointer; }
.topbtn { border:1px solid var(--line); background:var(--bg); color:var(--brand); border-radius:6px; padding:3px 10px; font-size:.78rem; cursor:pointer; font-weight:600; }
.topbtn.on { background:var(--brand); color:#fff; border-color:var(--brand); }
.tag.sm.ok { background:var(--brand); color:#fff; border-color:var(--brand); }

/* ========== 首页 ========== */
/* 轮播 */
.carousel { position: relative; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); margin-bottom: 12px; }
/* 桌面：aspect-ratio 定 16:7；老浏览器靠 min-height 兜底 */
.carousel .slides { position: relative; aspect-ratio: 16 / 7; min-height: 240px; max-height: 420px; }
.carousel .slide { position: absolute; top:0; left:0; width:100%; bottom:0; opacity: 0; transition: opacity .6s; display:flex; align-items:flex-end; text-decoration:none; color:#fff; pointer-events:none; }
.carousel .slide.active { opacity: 1; pointer-events:auto; }
.slide-inner { padding: 34px 38px; }
.slide-inner h2 { font-size: 1.9rem; font-weight: 800; text-shadow: 0 2px 12px rgba(0,0,0,.25); font-family:"FZXiaoBiaoSong-B05S","方正小标宋简体","STZhongsong","Songti SC","SimSun",serif; line-height:1.25; }
.slide-cta { display:inline-block; margin-top:10px; background: rgba(255,255,255,.22); padding:6px 16px; border-radius:20px; font-weight:700; font-size:.9rem; }
.car-dots { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; gap:8px; z-index:3; }
.car-dots .dot { width:10px; height:10px; border-radius:50%; background:rgba(255,255,255,.5); cursor:pointer; }
.car-dots .dot.active { background:#fff; width:22px; border-radius:6px; }
/* 首页首屏：轮播 + 快捷入口（电脑版并排，手机版堆叠） */
.container.home { padding-top: 16px; }
.home-hero { display:grid; grid-template-columns: minmax(0,1fr) 320px; gap:18px; align-items:stretch; margin-bottom:12px; }
/* 快捷入口面板（轮播右侧）——板块背景用渐变，按钮保持白底 */
.qe-panel {
  background: linear-gradient(135deg, #fff7f1, #fff);
  border:1px solid rgba(255,255,255,.7); border-radius: var(--radius);
  padding:16px 18px; box-shadow: var(--shadow); display:flex; flex-direction:column;
}
.qe-panel .sec-t-wrap { margin-bottom:14px; }
.qe-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap:10px; flex:1; align-content:center; }
.qe { background:#fff; border:1px solid var(--line); border-radius: var(--radius-sm); padding:12px 14px; display:flex; align-items:center; gap:10px; font-weight:700; color:var(--brand-dark); font-size:.9rem; transition:.18s; }
.qe:hover { border-color:var(--brand); background:var(--brand-light); color:var(--brand); transform:translateY(-2px); box-shadow:var(--shadow); }
.qe-ico { font-size:1.5rem; }
/* 两栏布局 */
.home-cols { display:grid; grid-template-columns: minmax(0,1fr) 320px; gap: 18px; align-items:start; }
.col-side { position: sticky; top: 86px; display:flex; flex-direction:column; gap:18px; }

/* 通知公告 / 考试日程：桌面在左栏顶部 / 右侧栏；手机端 flex 重排（日程在通知之上） */
.desk-notice { display:block; }
.desk-cal { display:block; }
/* 桌面端：若侧栏顶部有广告位，考试日程卡片外顶部 gap 清零（贴紧上方） */
@media (min-width: 1001px){ .col-side > .desk-cal:not(:first-child){ margin-top:-18px; } }
.mob-only { display:none; }
@media (max-width: 1000px) {
  .desk-notice, .desk-cal { display:none; }
  .col-side { display:none; }
  .home-cols { grid-template-columns: minmax(0,1fr); order:4; margin-bottom:0; }
  .mob-only { display:block; }
  /* 手机版首页各板块卡片间距统一（轮播↔导航条、通知↔广告、两广告均 16px） */
  .container.home { display:flex; flex-direction:column; gap:12px; padding-top:14px; }
  .home-hero { order:1; margin-bottom:0; gap:16px; }
  .mob-cal { order:2; margin-bottom:0; }
  .mob-notice { order:3; margin-bottom:0; display:flex; flex-direction:column; gap:16px; }
  .mob-notice .blk { margin:0; }
  .blk { margin-bottom:16px; }
  /* 手机版轮播：用 padding-top 撑出精确 16/7 高度（43.75% = 7/16），兼容所有浏览器，不依赖 aspect-ratio */
  .carousel .slides { aspect-ratio: auto; height: 0; width: 100%; padding-top: 43.75%; min-height: 0; max-height: none; }
  .ad-slot { margin:0 0 16px; }
  .ad-banner { margin:0 0 16px; }
  .slide-inner { padding:22px 26px; }
  .slide-inner h2 { font-size:1.45rem; }
}
/* 区块 */
.blk { background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow); margin-bottom: 18px; }
.blk-head { display:flex; align-items:flex-start; gap:14px; margin-bottom:16px; flex-wrap:wrap; }
/* 板块加载动画：打开页面时各区块淡入上移 */
@keyframes sectionIn { from { opacity:0; transform: translateY(18px); } to { opacity:1; transform:none; } }
/* 骨架屏加载动画（列表页/详情页进入时显示） */
@keyframes skeletonShimmer { 0%{ background-position:-400px 0; } 100%{ background-position:400px 0; } }
.skeleton { background:linear-gradient(90deg, #f0f0f0 25%, #e8e8e8 37%, #f0f0f0 63%); background-size:800px 100%; animation:skeletonShimmer 1.6s ease-in-out infinite; border-radius:6px; }
.skel-banner-wrap { width:100%; min-height:230px; display:flex; align-items:flex-end; margin:0 0 16px; }
.skel-title { width:180px; height:22px; margin:14px 0 6px; }
.skel-sub { width:120px; height:12px; margin-bottom:16px; }
.skel-tabs { display:flex; gap:8px; margin-bottom:14px; }
.skel-tab { width:56px; height:28px; border-radius:20px; }
.skel-bar { height:16px; margin-bottom:12px; }
.skel-bar-lg { height:20px; margin-bottom:14px; }
.skel-bar-sm { width:40%; height:14px; margin-bottom:10px; }
.skel-side { width:100%; height:200px; }
@media(max-width:680px){
  .skel-banner-wrap { min-height:160px; }
  .skel-side { height:160px; }
}
/* 骨架屏舞台 / 平滑淡出淡入（所有页面通用） */
.skel-stage { animation: skelStageIn .22s ease both; }
.skel-fade-out { opacity:0; transition: opacity .22s ease; pointer-events:none; }
@keyframes skelStageIn { from { opacity:0; } to { opacity:1; } }
.content-stage { } /* 真实内容包裹层 */
.content-fade-in { animation: contentFadeIn .38s ease both; }
@keyframes contentFadeIn { from { opacity:0; transform: translateY(8px); } to { opacity:1; transform:none; } }
/* 通用骨架元素尺寸 */
.skel-hero { width:100%; height:300px; border-radius:var(--radius); }
/* 首页骨架：快捷入口卡片网格（贴合 .qe-panel） */
.skel-qe-panel { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:16px; box-shadow:var(--shadow); }
.skel-qe-head { width:40%; height:20px; border-radius:6px; margin-bottom:14px; }
.skel-qe-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; }
.skel-qe { border-radius:10px; min-height:58px; }
/* 首页骨架：文章卡片板块（白色卡片壳 + 标题 + 列表行，贴合 .blk） */
.skel-card-block { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; box-shadow:var(--shadow); margin-bottom:16px; }
.skel-block-head { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.skel-sec-ico { width:26px; height:26px; border-radius:8px; flex:0 0 auto; }
.skel-sec-title { width:42%; height:18px; border-radius:5px; }
.skel-line { width:100%; height:14px; border-radius:5px; margin-bottom:12px; }
.skel-line:last-child { width:62%; }
.skel-tl { width:100%; height:14px; border-radius:5px; margin-bottom:12px; }
.skel-tl:last-child { width:55%; }
.skel-block { width:100%; height:140px; border-radius:var(--radius); margin-bottom:16px; }
.skel-card { width:100%; height:150px; border-radius:var(--radius); }
.skel-row { width:100%; height:54px; border-radius:8px; margin-bottom:10px; }
.skel-policy { width:100%; height:96px; border-radius:var(--radius); margin-bottom:14px; }
@media(max-width:680px){
  .skel-hero { height:200px; }
  .skel-card { height:130px; }
  .skel-block { height:120px; }
}
/* 服务端整页（文章/通知详情）骨架屏遮罩：DOM 就绪后淡出（内容已在初始 HTML，用较短最小延时） */
.article-shell { position:relative; }
/* 服务端文章/通知详情页骨架屏：铺满全高，且版式与真实文章一致（双栏 + 配图块） */
.page-skeleton { position:absolute; left:0; right:0; top:0; bottom:0; min-height:100%; background:#fff; z-index:50; padding:16px 0 40px; overflow:hidden; }
.page-skeleton.skel-fade-out { opacity:0; pointer-events:none; }
.ps-wrap { max-width:1120px; margin:0 auto; padding:0 20px; }
.ps-crumb { width:220px; height:14px; border-radius:4px; margin:6px 0 18px; }
.ps-layout { display:grid; grid-template-columns:minmax(0,720px) 280px; justify-content:center; gap:30px; align-items:start; }
.ps-main { min-width:0; }
.ps-title { width:70%; height:34px; border-radius:8px; margin:0 0 14px; }
.ps-meta { width:46%; height:14px; border-radius:4px; margin:0 0 22px; }
.ps-hero { width:100%; height:300px; border-radius:12px; margin:0 0 22px; }
.ps-sub { width:36%; height:20px; border-radius:6px; margin:22px 0 14px; }
.ps-line { width:100%; height:16px; border-radius:6px; margin:0 0 13px; }
.ps-side { display:flex; flex-direction:column; gap:18px; }
.ps-card { background:#fff; border:1px solid #f1f1f1; border-radius:12px; padding:14px; }
.ps-card-qr { display:flex; gap:14px; align-items:center; }
.ps-qr { width:74px; height:74px; border-radius:8px; flex:0 0 auto; }
.ps-qr-t { flex:1; display:flex; flex-direction:column; gap:9px; }
.ps-qr-t .skeleton { width:100%; height:12px; border-radius:4px; }
.ps-side-h { width:52%; height:18px; border-radius:6px; margin-bottom:12px; }
.ps-side-item { width:100%; height:30px; border-radius:6px; margin-bottom:10px; }
.ps-side-item:last-child { margin-bottom:0; }
@media (max-width:860px){ .ps-layout { grid-template-columns:1fr; } .ps-hero { height:200px; } }
@media (max-width:680px){ .ps-wrap { padding:0 14px; } .ps-title { height:26px; width:80%; } .ps-meta { width:60%; } .ps-hero { height:160px; } .page-skeleton { padding:12px 0 30px; } }
.blk, .qe-panel, .cal-box, .mob-notice, .ad-banner, .page-title, .ch-layout, .cd-hero { animation: sectionIn .5s ease both; }
.subtabs { display:flex; gap:8px; flex-wrap:wrap; }
.subtab { padding:6px 14px; border-radius:20px; background:var(--bg); border:1px solid var(--line); font-size:.85rem; cursor:pointer; color:var(--ink-soft); font-weight:600; }
.subtab.active { background:var(--brand); color:#fff; border-color:var(--brand); }
/* 手机端：分类标签可左右滑动显示 */
@media (max-width: 680px){
  .subtabs { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:4px; scrollbar-width:thin; }
  .subtab { flex-shrink:0; }
  .list-banner { min-height:160px; }
  .list-banner .banner-overlay { padding:13px 14px 12px; }
}
/* 卡片网格 */
.card-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:16px; }
.art-card { display:flex; flex-direction:column; padding:0; overflow:hidden; }
.art-cover { height:96px; display:grid; place-items:center; font-size:2.4rem; background: linear-gradient(135deg, var(--brand-light), #fff); }
.art-body { padding:14px 16px; }
.art-body h4 { font-size:1.02rem; line-height:1.4; margin:6px 0; color:var(--ink); }
.art-body .summary { font-size:.85rem; color:var(--ink-soft); margin:0 0 8px; }
.art-meta { font-size:.78rem; color:var(--muted); }
/* 子版块卡片 */
.subcard-grid { display:grid; grid-template-columns: repeat(5, 1fr); gap:12px; }
.subcard { background:var(--brand-light); border-radius: var(--radius-sm); padding:14px; display:block; transition:.18s; border:1px solid transparent; }
.subcard:hover { border-color:var(--brand); transform:translateY(-2px); }
.sc-top { display:flex; justify-content:space-between; align-items:center; font-weight:800; color:var(--brand-dark); }
.sc-more { color:var(--brand); }
.sc-latest { font-size:.8rem; color:var(--ink-soft); margin-top:8px; line-height:1.45; }
/* 政策列表 */
.pol-list { list-style:none; }
.pol-list li { display:flex; justify-content:space-between; gap:14px; padding:11px 4px; border-bottom:1px dashed var(--line); font-size:.92rem; }
.pol-list li a:hover { color:var(--brand); }
.pol-list .n-date { color:var(--muted); font-size:.8rem; white-space:nowrap; }

/* 普通文章列表（首页各板块） */
.art-list { list-style:none; }
.art-list .al-item { display:flex; align-items:baseline; gap:10px; padding:11px 4px; border-bottom:1px dashed var(--line); font-size:.94rem; }
.art-list .al-item:last-child { border-bottom:0; }
.art-list .al-title { flex:1; min-width:0; color:var(--ink); text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.art-list .al-title:hover { color:var(--brand); }
.art-list .al-cat { font-size:.74rem; background:var(--brand-light); color:var(--brand-dark); padding:2px 9px; border-radius:20px; white-space:nowrap; }
.art-list .al-date { color:var(--muted); font-size:.8rem; white-space:nowrap; }
.art-list .al-date-full { display:inline; }
.art-list .al-date-short { display:none; }
.art-list .al-empty { color:var(--muted); padding:12px 4px; }
/* 考试日程时间线 */
.timeline { list-style:none; position:relative; padding-left:18px; }
.timeline::before { content:""; position:absolute; left:5px; top:6px; bottom:6px; width:2px; background:var(--line); }
.timeline li { position:relative; padding:9px 0; display:grid; grid-template-columns: 86px 1fr; gap:10px; align-items:start; }
.tl-date { font-weight:700; font-size:.82rem; color:var(--brand-dark); }
.tl-dot { position:absolute; left:-17px; top:14px; width:11px; height:11px; border-radius:50%; background:var(--brand); }
.tl-dot.signup { background:var(--accent); } .tl-dot.exam { background:var(--brand); }
.tl-dot.score { background:var(--gold); } .tl-dot.apply { background:var(--c-music); }
.tl-event { font-size:.86rem; color:var(--ink-soft); }
/* 通知 */
.notice-box, .cal-box { background:#fff; border:1px solid var(--line); border-radius: var(--radius); padding:18px; box-shadow:var(--shadow); width:100%; box-sizing:border-box; }
.timeline .tl-event { word-break: break-word; }
.notice-list { list-style:none; }
.notice-list li { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 2px; border-bottom:1px dashed var(--line); font-size:.9rem; }
.notice-list li a { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-soft); font-weight:600; }
.notice-list li a:hover { color:var(--brand); }
.notice-list .n-date { color:var(--muted); font-size:.78rem; white-space:nowrap; flex-shrink:0; }
.notice-list li.empty { border-bottom:0; color:var(--muted); }
.pin { background:var(--accent); color:#fff; font-size:.68rem; padding:1px 7px; border-radius:5px; margin-right:6px; }
/* 通知公告向上滚动（视窗约 6 条，循环 10 条无缝滚动） */
.notice-list.scrollable { max-height: 235px; overflow: hidden; position: relative; }
.notice-list.scrollable .notice-track { animation: noticeScroll 20s linear infinite; }
.notice-list.scrollable:hover .notice-track { animation-play-state: paused; }
@keyframes noticeScroll { from { transform: translateY(0); } to { transform: translateY(-50%); } }
/* 广告横幅 */
.ad-banner { display:flex; align-items:center; gap:14px; flex-wrap:wrap; background: linear-gradient(135deg, #fff7f1, #fff); border:1px dashed var(--accent); border-radius: var(--radius); padding:14px 18px; width:100%; box-sizing:border-box; }
.ad-tag { background:var(--accent); color:#fff; font-size:.7rem; padding:2px 8px; border-radius:5px; flex-shrink:0; }
.ad-text { flex:1 1 200px; min-width:0; font-size:.92rem; }
.ad-btn { background:var(--accent); color:#fff; padding:9px 18px; border-radius:9px; font-weight:700; flex-shrink:0; }
.ad-btn:hover { background:var(--accent-dark); }

/* ========== 文章伪静态页 ========== */
.site-header { background:#fff; box-shadow:0 2px 12px rgba(0,0,0,.06); position:sticky; top:0; z-index:50; }
.site-header .wrap { max-width:var(--maxw); margin:0 auto; padding:0 20px; display:flex; align-items:center; height:64px; gap:24px; }
.site-header .brand { font-weight:800; color:var(--brand); font-size:1.2rem; }
.site-header .nav-links { display:flex; gap:4px; margin-left:auto; flex-wrap:wrap; }
.site-header .nav-links a { padding:8px 12px; border-radius:8px; color:var(--ink-soft); font-weight:600; font-size:.9rem; }
.site-header .nav-links a:hover { background:var(--brand-light); color:var(--brand); }
/* 文章页：纯白背景，取消卡片/边框/阴影 */
.article-page { background:#fff; }
.article-shell { max-width: 1120px; margin: 0 auto; padding: 16px 20px 40px; }
.crumb { font-size:.85rem; color:var(--muted); margin:16px 0; }
.crumb a:hover { color:var(--brand); }
/* 文章页美化面包屑（带图标） */
.crumb--art { display:flex; align-items:center; flex-wrap:wrap; gap:6px; font-size:.78rem; }
.crumb--art a {
  display:inline-flex; align-items:center; gap:5px;
  color:var(--ink-soft); text-decoration:none; font-weight:600;
  padding:4px 11px; border-radius:999px; background:var(--brand-light);
  transition:.18s; white-space:nowrap;
}
.crumb--art a:hover { background:var(--brand); color:#fff; box-shadow:0 3px 10px rgba(47,154,145,.25); }
.crumb--art a i { font-size:.82em; opacity:.85; }
.crumb--art .sep { color:var(--brand); font-size:.7rem; opacity:.55; }
.crumb--art .cur { color:var(--brand-dark); font-weight:700; padding:4px 4px; max-width:360px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:inline-block; vertical-align:middle; }
/* 回到顶部按钮（适时显示） */
.back-top {
  position:fixed; right:22px; bottom:26px; z-index:80;
  width:46px; height:46px; border-radius:50%;
  background:var(--brand); color:#fff; border:0; cursor:pointer;
  display:grid; place-items:center; font-size:1.15rem;
  box-shadow:0 6px 18px rgba(47,154,145,.35);
  opacity:0; transform:translateY(18px) scale(.9); pointer-events:none;
  transition:opacity .28s ease, transform .28s ease, background .2s;
}
.back-top.show { opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.back-top:hover { background:var(--brand-dark); }
.back-top:active { transform:translateY(0) scale(.94); }
.article-layout { display:grid; grid-template-columns: minmax(0, 720px) 280px; justify-content:center; gap:30px; align-items:start; margin-top:6px; }
.article-detail { background:transparent; padding:18px 0; }
.article-detail h1 { font-size:1.7rem; line-height:1.35; margin-bottom:10px; text-align:center; font-weight:700; font-family:"方正小标宋简体","FZXiaoBiaoSong-B15","STZhongsong","SimSun",serif; letter-spacing:1px; }
.article-detail .meta { color:var(--muted); font-size:.85rem; margin-bottom:22px; border-bottom:1px solid var(--line); padding-bottom:14px; text-align:center; }
.article-body { font-size:1rem; color:var(--ink-soft); line-height:1.8; }
.article-body h2 { font-size:1.25rem; margin:26px 0 12px; color:var(--brand-dark); }
.article-body h3 { font-size:1.05rem; margin:18px 0 8px; }
.article-body p { margin-bottom:13px; }
.article-body ul, .article-body ol { margin:0 0 14px 22px; }
.article-body li { margin-bottom:6px; }
.article-body .note { background:var(--brand-light); border-radius:10px; padding:12px 14px; color:var(--brand-dark); font-size:.88rem; }
.article-body .src-note { font-size:.82rem; color:var(--muted); border-top:1px dashed var(--line); margin-top:20px; padding-top:14px; }
.article-body img { max-width:100%; height:auto; border-radius:8px; margin:12px 0; display:block; }
.article-detail .back { margin-top:24px; }
.article-side { position:sticky; top:84px; display:flex; flex-direction:column; gap:18px; }
/* 竖版广告位 */
.ad-v { background: linear-gradient(160deg, #fff7f1, #fff); border:1px dashed var(--accent); border-radius:var(--radius); padding:18px 16px; text-align:center; }
.ad-v .ad-tag { display:inline-block; background:var(--accent); color:#fff; font-size:.68rem; padding:2px 8px; border-radius:5px; margin-bottom:10px; }
.ad-v-txt { font-size:.9rem; color:var(--ink-soft); line-height:1.7; }
.ad-v-txt strong { display:block; color:var(--accent-dark); font-size:1.05rem; margin-bottom:6px; }
/* 热门文章：取消卡片样式 */
.side-card { padding:6px 0; }
.side-t { font-size:.95rem; margin:0 0 10px; color:var(--brand-dark); }
.side-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:9px; }
.side-list li { font-size:.86rem; line-height:1.4; border-bottom:1px dashed var(--line); padding-bottom:8px; }
.side-list li:last-child { border-bottom:0; padding-bottom:0; }
.side-list a { color:var(--ink-soft); }
.side-list a:hover { color:var(--brand); }
.side-list .n-date { display:block; font-size:.74rem; color:var(--muted); margin-top:2px; }
.side-list .empty { color:var(--muted); font-size:.82rem; border:0; padding:0; }

/* 浏览量旁：分享图标按钮 */
.meta-act { display:inline-flex; align-items:center; gap:6px; margin-left:8px; vertical-align:middle; }
.ic-btn { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; border:1px solid var(--line); background:#fff; color:var(--muted); cursor:pointer; font-size:.85rem; transition:.16s; flex-shrink:0; }
.ic-btn:hover { border-color:var(--brand); color:var(--brand); }
.ic-btn.wx { background:linear-gradient(135deg,#3cc163,#09b83e); border-color:transparent; color:#fff; }
.ic-btn.wx:hover { opacity:.88; color:#fff; }

/* 侧栏二维码关注卡片（始终一行两码并排，文字在二维码下方，图片宽度自适应） */
.side-qr-card { background:linear-gradient(135deg,#ff8a2e,#ff6b00); border-radius:var(--radius); padding:16px 14px; display:flex; flex-direction:row; justify-content:center; align-items:flex-start; gap:14px; }
.side-qr-item { display:flex; flex-direction:column; align-items:center; gap:7px; color:#fff; flex:1 1 0; min-width:0; text-align:center; }
.side-qr-item img { width:100%; max-width:84px; height:auto; aspect-ratio:1 / 1; border-radius:6px; background:#fff; object-fit:cover; }
.side-qr-text { font-size:.74rem; line-height:1.45; font-weight:600; letter-spacing:.3px; min-width:0; }

@media (max-width:860px){
  .side-qr-card { gap:20px; padding:20px 16px; }
  .side-qr-item img { max-width:108px; }
  .side-qr-text { font-size:.8rem; }
}

/* 分享弹窗（微信扫码） */
.shr-modal { position:fixed; inset:0; z-index:200; display:none; }
.shr-modal.open { display:block; }
.shr-mask { position:absolute; inset:0; background:rgba(0,0,0,.5); }
.shr-box { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:280px; background:#fff; border-radius:14px; padding:22px 20px 24px; text-align:center; box-shadow:0 20px 60px rgba(0,0,0,.25); }
.shr-close { position:absolute; right:12px; top:8px; border:0; background:none; font-size:1.4rem; line-height:1; color:var(--muted); cursor:pointer; }
.shr-box h4 { margin:0 0 14px; font-size:1rem; color:var(--ink); }
.shr-box img { width:200px; height:200px; border:1px solid var(--line); border-radius:8px; }
.shr-box p { font-size:.8rem; color:var(--muted); margin:12px 0; word-break:break-all; }
.shr-box code { background:#f4f6fa; padding:2px 6px; border-radius:5px; }

/* 轻提示 toast */
.toast { position:fixed; left:50%; bottom:40px; transform:translateX(-50%) translateY(20px); background:rgba(20,30,50,.9); color:#fff; padding:10px 18px; border-radius:22px; font-size:.85rem; opacity:0; pointer-events:none; transition:.25s; z-index:300; }
.toast.show { opacity:1; transform:translateX(-50%) translateY(0); }

/* 公众号复制内容（如 xk-admit）：强制自适应，避免手机端宽度溢出 */
.article-body { overflow-wrap:break-word; word-break:break-word; }
.article-body img, .article-body table, .article-body iframe, .article-body video, .article-body embed, .article-body object { max-width:100% !important; height:auto !important; }
.article-body section, .article-body div, .article-body p, .article-body span, .article-body table { max-width:100% !important; box-sizing:border-box; }
.article-body [style*="width"] { max-width:100% !important; }
.article-body [style*="white-space:nowrap"], .article-body [style*="white-space: nowrap"] { white-space:normal !important; }
.article-body table { width:100% !important; }
.article-body img { margin:12px auto; }

@media (max-width:860px){ .article-layout { grid-template-columns:1fr; } .article-side { position:static; } }
@media (max-width:680px){
  .article-shell { padding:12px 14px 30px; }
  .article-detail { padding:8px 0; }
  .article-detail h1 { font-size:1.25rem; letter-spacing:.5px; line-height:1.3; }
  .back-top { right:14px; bottom:18px; width:42px; height:42px; font-size:1.05rem; }
  .crumb--art { font-size:.72rem; gap:5px; }
  .crumb--art .cur { max-width:46vw; }
  .article-body section, .article-body div { width:auto !important; max-width:100% !important; }
  .article-body img, .article-body table, .article-body iframe, .article-body video { max-width:100% !important; }
}
.site-footer { background:var(--brand-dark); color:#cdd9ee; padding:30px 0; margin-top:30px; text-align:center; font-size:.85rem; }

/* ========== 数据查询 ========== */
.calc-panel .calc-row { display:grid; grid-template-columns: 130px 1fr; gap:12px; align-items:center; margin-bottom:14px; }
.calc-panel label { font-weight:600; font-size:.92rem; }
.calc-panel input, .calc-panel select { padding:11px 13px; border:1px solid var(--line); border-radius:10px; }
.calc-panel input:focus, .calc-panel select:focus { outline:2px solid var(--brand-light); border-color:var(--brand); }
.calc-result { margin-top:16px; font-size:1.05rem; }
.calc-result .big { font-size:2.4rem; font-weight:800; color:var(--accent); }
.filter-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:14px; margin-bottom:16px; }
.filter-grid label { display:block; font-weight:600; font-size:.85rem; margin-bottom:6px; }
.filter-grid select, .filter-grid input { width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:9px; }
.filter-grid select:focus, .filter-grid input:focus { outline:2px solid var(--brand-light); border-color:var(--brand); }
/* 弹窗式筛选按钮 */
.fpick { display:flex; flex-direction:column; }
.fpick > label { font-weight:600; font-size:.85rem; margin-bottom:6px; }
/* ddown 内的 label */
.ddown { display:flex; flex-direction:column; }
.ddown > label { font-weight:600; font-size:.85rem; margin-bottom:6px; }
/* 院校库筛选：一行2个 */
.col-filter-grid { grid-template-columns: repeat(2, 1fr) !important; }
.fpick-btn { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; padding:10px 13px; border:1px solid var(--line); border-radius:9px; background:#fff; cursor:pointer; color:var(--ink-soft); font-size:.92rem; text-align:left; }
.fpick-btn:hover { border-color:var(--brand); }
.fpick-btn.ph { color:var(--muted); border-style:dashed; }
.fpick-btn i { color:var(--muted); font-size:.8rem; }
.query-bar { display:flex; align-items:center; gap:14px; margin-top:4px; }
.filter-opts { display:flex; flex-direction:column; gap:8px; max-height:52vh; overflow:auto; }
.filter-opts label { display:flex; align-items:center; gap:10px; padding:11px 13px; border:1px solid var(--line); border-radius:9px; cursor:pointer; font-size:.92rem; }
.filter-opts label:hover { border-color:var(--brand); background:var(--brand-light); }
.filter-opts input { width:16px; height:16px; accent-color:var(--brand); }

/* 数据表格（通用） */
.table-wrap { overflow-x:auto; border-radius:12px; box-shadow: 0 1px 3px rgba(15,30,50,.04); border:1px solid var(--line); background:#fff; }
.data-table { width:100%; min-width:max-content; border-collapse:collapse; background:#fff; font-size:.88rem; }
.data-table th, .data-table td { padding:10px 13px; text-align:left; border-bottom:1px solid var(--line); white-space:nowrap; }
.data-table th { background:#f7fafa; color:var(--ink); font-weight:700; font-size:.82rem; position:sticky; top:0; border-bottom:2px solid var(--line); }
.data-table tbody tr:hover { background:#fafdfc; }
.data-table tbody tr:last-child td { border-bottom:0; }
.data-table .score { color:var(--accent); font-weight:700; }
.data-table .batch { color:var(--brand-dark); }
.data-table a { color:var(--brand); font-weight:600; }
.data-table input { padding:6px 10px; border:1px solid var(--line); border-radius:7px; font-size:.85rem; background:#fff; }
.data-table input:focus { outline:none; border-color:var(--brand); }
/* 操作列：始终可见 */
.data-table .ops { position:sticky; right:0; background:inherit; z-index:1; box-shadow:-4px 0 8px rgba(0,0,0,.04); }
.data-table tr:hover .ops { background:#fafdfc; }
.data-table th.ops { background:#f7fafa; box-shadow:-4px 0 8px rgba(0,0,0,.06); }
/* 详情页表格标题行：主题色底 + 白字 */
.table-wrap-watermark .data-table thead th { background:var(--brand); color:#fff; border-bottom:2px solid var(--brand-dark); position:sticky; top:0; z-index:2; }

/* 院校/专业库筛选条 */
.filter-bar { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.filter-bar input, .filter-bar select { padding:10px 13px; border:1px solid var(--line); border-radius:9px; min-width:150px; }
.filter-bar input:focus, .filter-bar select:focus { outline:2px solid var(--brand-light); border-color:var(--brand); }
.filter-bar.sm { margin:0 0 12px; }
.filter-bar.sm select { padding:7px 10px; min-width:auto; font-size:.85rem; }
.filter-bar .hint { align-self:center; }

/* 院校卡片 */
.col-card { display:flex; gap:14px; align-items:center; padding:16px; min-width:0; }
.col-info { min-width:0; }
.col-logo { width:54px; height:54px; border-radius:12px; background:linear-gradient(135deg,var(--brand),var(--accent)); color:#fff; display:grid; place-items:center; font-size:1.4rem; font-weight:800; flex:none; overflow:hidden; }
.col-logo img { width:100%; height:100%; object-fit:cover; }
.col-info h4 { font-size:1.02rem; color:var(--ink); word-break:break-word; }
.col-sub { font-size:.8rem; color:var(--muted); margin:3px 0 6px; }
.badge { background:var(--gold); color:#fff; font-size:.68rem; padding:1px 7px; border-radius:5px; margin-left:6px; }
.col-cats { display:flex; gap:5px; flex-wrap:wrap; }
.tag.sm { font-size:.68rem; padding:1px 7px; }
/* 院校详情 */
.col-detail .cd-head { display:flex; gap:20px; align-items:center; margin-bottom:20px; flex-wrap:wrap; }
.cd-logo { width:88px; height:88px; border-radius:18px; background:linear-gradient(135deg,var(--brand),var(--accent)); color:#fff; display:grid; place-items:center; font-size:2rem; font-weight:800; flex:none; overflow:hidden; }
.cd-logo img { width:100%; height:100%; object-fit:cover; }
.cd-meta h2 { font-size:1.6rem; }
.cd-sub { color:var(--ink-soft); margin:6px 0; }
.cd-site { color:var(--brand); font-weight:600; font-size:.9rem; }
.cd-block { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; margin-bottom:16px; }
.cd-block h4 { font-size:1.02rem; color:var(--brand-dark); margin-bottom:8px; }
.cd-block p { color:var(--ink-soft); font-size:.92rem; }
.xiaokao-links { display:flex; gap:10px; flex-wrap:wrap; margin-top:14px; }
.xiaokao-link-box { margin-top:16px; padding:16px 18px; background:var(--brand-light); border:1px solid var(--brand); border-radius:var(--radius); }
.xk-main-link { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:14px; font-size:1.05rem; margin-bottom:12px; }
.xiaokao-sub-links { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; }
/* 院校详情：相关文章 */
.rel-articles { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.rel-articles li { display: flex; align-items: baseline; gap: 10px; border-bottom: 1px dashed var(--line); padding-bottom: 9px; }
.rel-articles li:last-child { border-bottom: 0; padding-bottom: 0; }
.rel-articles a { color: var(--ink); font-size: .94rem; font-weight: 600; flex: 1; min-width: 0; }
.rel-articles a:hover { color: var(--brand); }
.rel-articles .ra-date { flex-shrink: 0; font-size: .8rem; color: var(--muted); }
/* 专业卡片 */
.major-card .mc-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.major-card h4 { font-size:1.05rem; color:var(--ink); }
.mc-sub { font-size:.8rem; color:var(--muted); }
.hot { background:var(--accent); color:#fff; font-size:.68rem; padding:1px 7px; border-radius:5px; }
.major-detail h2 { font-size:1.6rem; }
.md-sub { color:var(--ink-soft); margin:8px 0 16px; }


/* ===== 院校库 / 专业库 卡片列表样式 ===== */
/* 院校/专业库的 banner — 复用 list_banner 但配色微调 */
.list-banner.list-banner-col .banner-mask { background:linear-gradient(120deg, rgba(15,30,45,.62) 0%, rgba(15,30,45,.18) 60%, rgba(0,0,0,0) 100%); }
.list-banner.list-banner-maj .banner-mask { background:linear-gradient(120deg, rgba(45,15,30,.62) 0%, rgba(45,15,30,.18) 60%, rgba(0,0,0,0) 100%); }

/* 宽下拉（占满整行） */
.ddown-wide { grid-column:span 1; }
.ddown-wide .ddown-trigger { width:100%; }
/* 院校库筛选网格：桌面 4 列，手机 2 列，字体与搜索框统一 */
.col-filter-grid { grid-template-columns:repeat(4, 1fr); }
.col-filter-grid .ddown-trigger { font-size:.75rem; height:38px; }
.col-filter-grid .ddown-trigger span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:680px){ .col-filter-grid { grid-template-columns:repeat(2, 1fr); } .maj-filter-grid { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:680px){ .col-filter-grid .ddown-trigger { font-size:.72rem; height:36px; } }

/* 卡片网格 — 桌面 2 列，手机 1 列 */
.col-card-grid { display:grid; grid-template-columns: repeat(2, 1fr); gap:16px; }
.maj-card-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap:16px; }
@media (max-width:900px){ .maj-card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width:600px){ .col-card-grid, .maj-card-grid { grid-template-columns: 1fr; } }

/* 院校卡片 V2 — 圆形 logo + 三行（名称主题色 / 12px 灰色 meta / 12px 灰色标签） */
.col-card-v2 { display:flex; gap:14px; padding:16px; align-items:flex-start; transition:all .15s; }
.col-card-v2:hover { border-color:var(--brand); transform:translateY(-2px); box-shadow:0 6px 18px rgba(15,30,50,.08); }
.col-card-v2 .col-logo { flex:0 0 auto; width:60px; height:60px; border-radius:50%; background:linear-gradient(135deg, #e7faf6, #cdebe5); display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:0 2px 6px rgba(15,30,50,.08); font-size:1.4rem; font-weight:800; color:var(--brand); }
.col-card-v2 .col-logo img { width:100%; height:100%; object-fit:cover; }
.col-card-v2 .col-info-v2 { flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; }
.col-card-v2 .col-name { margin:0; font-size:1.05rem; font-weight:700; color:var(--brand); line-height:1.3; word-break:break-word; }
.col-card-v2 .col-meta { font-size:.75rem; color:#94a3b8; line-height:1.5; }
.col-card-v2 .col-tags { font-size:.75rem; color:#94a3b8; display:flex; gap:6px; flex-wrap:wrap; }
.col-card-v2 .tag-line { padding:1px 8px; border:1px solid var(--line); border-radius:10px; background:#f7fafa; color:var(--ink-soft); white-space:nowrap; }
.col-card-v2 .tag-empty { background:transparent; border-color:transparent; padding:1px 0; }
.rating-stars { display:none; }
.rating-val { display:none; }
.col-card-v2 .col-cats { display:flex; gap:5px; flex-wrap:wrap; }
.col-card-v2 .col-cats .tag.sm { background:var(--brand-light); color:var(--brand-dark); }

/* 专业卡片 V2 */
.major-card-v2 { display:flex; flex-direction:column; gap:8px; padding:18px; min-height:170px; }
.major-card-v2:hover { border-color:var(--brand); transform:translateY(-2px); box-shadow:0 6px 18px rgba(15,30,50,.08); }
.major-card-v2 .mc-top { display:flex; gap:6px; align-items:center; }
.major-card-v2 .mc-top .hot { background:#e74c3c; color:#fff; padding:1px 7px; border-radius:4px; font-size:.7rem; font-weight:600; }
.major-card-v2 h4 { margin:0; font-size:1.02rem; font-weight:700; color:var(--ink); }
.major-card-v2 .mc-meta { display:flex; gap:12px; flex-wrap:wrap; font-size:.82rem; color:var(--ink-soft); }
.major-card-v2 .mc-meta span { display:inline-flex; align-items:center; gap:3px; }
.major-card-v2 .mc-meta i { color:var(--brand); }
.major-card-v2 .summary { margin:0; font-size:.84rem; color:var(--muted); line-height:1.55; }

/* 圆形骨架 */
.skel-circle { width:72px; height:72px; border-radius:50%; flex-shrink:0; }

/* ===== 数据页多选下拉的 .ddown-opts / .ddown-foot 在院校库、专业库复用 ===== */
/* 与 data 页同款；样式已在 layout.css / pages.css 中通用 */

/* 院校库的卡片图例 hover */
.col-card-v2 .col-logo { background:linear-gradient(135deg, #e7faf6, #cdebe5); }

/* ===== 院校库侧栏：推荐高校 Top 10 + 最新资讯 ===== */
.rank-list { padding:6px 4px; }
.rl-item { display:flex; align-items:center; gap:10px; padding:8px 6px; border-radius:8px; transition:background .15s; color:var(--ink); text-decoration:none; }
.rl-item:hover { background:var(--brand-light); }
.rl-rank { flex:0 0 auto; width:22px; height:22px; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.78rem; color:var(--muted); background:#f0f2f5; clip-path:polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.rl-rank.rk-top { background:#9ca3af; color:#fff; }
.rl-rank.rk-1 { background:linear-gradient(135deg,#fbbf24,#f59e0b); color:#fff; box-shadow:0 2px 6px rgba(245,158,11,.32); }
.rl-logo { flex:0 0 auto; width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,#e7faf6,#cdebe5); display:flex; align-items:center; justify-content:center; overflow:hidden; }
.rl-logo img { width:100%; height:100%; object-fit:cover; }
.rl-l { font-size:.85rem; font-weight:700; color:var(--brand); }
.rl-name { flex:1; min-width:0; font-size:.88rem; font-weight:600; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rl-fire { color:#ef4444; font-size:.82rem; flex-shrink:0; }
.rl-extra { font-size:.7rem; color:var(--muted); flex-shrink:0; }
/* 院校库搜索栏字体与筛选统一 */
.col-filter-grid + .filter-bar input[type="search"] { font-size:.75rem; }
/* 手机版隐藏侧栏两卡片(.side-pc-only)，分页居中 */
@media (max-width:920px){ .side-pc-only { display:none !important; } .col-side .side-loading { display:none; } }
/* 换页骨架加载动画（闪烁脉冲） */
.skel-load { animation: skelPulse .8s ease-in-out infinite; }
@keyframes skelPulse { 0%,100%{opacity:1} 50%{opacity:.55} }
/* 专业库筛选字体统一 */
.maj-filter-grid .ddown-trigger { font-size:.75rem; height:38px; }
.maj-filter-grid + .filter-bar input[type="search"] { font-size:.75rem; }

/* ===== 院校详情页 ===== */
.col-page { max-width:1180px; }
.crumb--col { max-width:1180px; margin:18px auto 0; padding:0 12px; font-size:.88rem; color:var(--ink-soft); display:flex; align-items:center; flex-wrap:wrap; gap:6px; }
.crumb--col a { color:var(--ink-soft); text-decoration:none; display:inline-flex; align-items:center; gap:4px; }
.crumb--col a:hover { color:var(--brand); }
.crumb--col .sep { color:var(--line); margin:0 2px; font-size:.7rem; }
.crumb--col .cur { color:var(--brand-dark); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:280px; }

.cd-head { display:flex; gap:22px; align-items:flex-start; padding:22px 22px; background:#fff; border:1px solid var(--line); border-radius:var(--radius); margin:14px 0 18px; box-shadow:var(--shadow); }
.cd-head .cd-logo { flex:0 0 auto; width:96px; height:96px; border-radius:50%; background:linear-gradient(135deg,#e7faf6,#cdebe5); display:flex; align-items:center; justify-content:center; overflow:hidden; box-shadow:0 2px 8px rgba(15,30,50,.1); font-size:2.4rem; font-weight:800; color:var(--brand); }
.cd-head .cd-logo img { width:100%; height:100%; object-fit:cover; }
.cd-head .cd-info { flex:1; min-width:0; display:flex; flex-direction:column; gap:10px; }
.cd-head .cd-name { margin:0; font-size:1.35rem; font-weight:700; color:var(--brand); font-family:"FZXiaoBiaoSong-B05S","方正小标宋简体","STZhongsong","Songti SC","SimSun",serif; line-height:1.25; word-break:break-word; }
.cd-head .cd-line2 { font-size:.88rem; color:var(--ink-soft); line-height:1.5; }
.cd-head .cd-tags { display:flex; gap:6px; flex-wrap:wrap; }
.cd-head .tag-line { padding:3px 12px; border:1px solid var(--brand); border-radius:14px; color:var(--brand); font-size:.78rem; font-weight:500; }

/* 标题卡片右侧的联系信息（咨询电话/招生官网/院校地址） */
.cd-head .cd-contact { margin-left:auto; display:flex; flex-direction:column; gap:11px; padding-left:22px; border-left:1px solid var(--line); min-width:210px; }
.cc-item { display:flex; gap:10px; align-items:flex-start; }
.cc-item > i { color:var(--brand); font-size:.92rem; width:16px; text-align:center; margin-top:3px; flex:none; }
.cc-text { display:flex; flex-direction:column; gap:2px; min-width:0; }
.cc-lbl { font-size:.72rem; color:var(--muted); font-weight:600; letter-spacing:.3px; }
.cc-val { font-size:.85rem; color:var(--ink); word-break:break-all; line-height:1.45; }
.cc-val[href]:hover { color:var(--brand); }

/* 表格下方的提醒小字 */
.cd-note { margin:12px 0 0; font-size:.78rem; line-height:1.65; color:var(--muted); background:#f7fafa; border-left:3px solid var(--brand); border-radius:0 6px 6px 0; padding:8px 12px; }


.sec-t.cd-sec { display:flex; align-items:center; gap:8px; font-family:"FZXiaoBiaoSong-B05S","方正小标宋简体","STZhongsong","Songti SC","SimSun",serif; font-size:1.15rem; font-weight:700; color:var(--brand-dark); }
.sec-t.cd-sec i { color:var(--brand); font-size:1.1rem; }
.col-detail section.blk { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:18px 22px; margin-bottom:18px; box-shadow:var(--shadow); }
.cd-desc { margin:8px 0 0; font-size:.85rem; color:var(--ink); line-height:1.65; white-space:pre-wrap; }

/* 表格背景水印（public/watermark.png 平铺） */
.table-wrap-watermark { position:relative; background:#fff; }
.table-wrap-watermark::before { content:''; position:absolute; inset:0; background:url('/public/watermark.png') repeat; background-size:200px auto; pointer-events:none; z-index:0; }
/* 表格背景透明，露出底层 ::before 水印；标题行（thead th）保留实底色 */
.table-wrap-watermark > table { position:relative; z-index:1; background:transparent; }

/* 历年统考录取筛选：与 /#/data 页同款自定义下拉（.ddown），由 style.css 统一驱动 */
.hist-filter-grid .btn.primary { height:38px; display:inline-flex; align-items:center; justify-content:center; }
@media (max-width:680px){ .hist-filter-grid { grid-template-columns:repeat(2,1fr); } }

/* 校考频道文章列表 - 复用 art-list 样式，加些细节 */
.side-art-list .al-cat { color:var(--ink-soft); }

/* 校考名单表格加表格背景图 */
/* 院校详情页侧栏：基本信息列表 */
.side-info-list { list-style:none; padding:0; margin:0; }
.side-info-list li { padding:8px 4px; border-bottom:1px dashed var(--line); display:flex; flex-direction:column; gap:3px; }
.side-info-list li:last-child { border-bottom:0; }
.side-info-list .lbl { font-size:.7rem; color:var(--muted); font-weight:600; }
.side-info-list span { font-size:.85rem; color:var(--ink); word-break:break-all; }
.side-info-list a { color:var(--brand); font-size:.85rem; word-break:break-all; }
.col-site-li span:last-child { max-width:100%; overflow:hidden; text-overflow:ellipsis; }
@media(max-width:920px){ .col-detail .ch-layout { gap:16px; } }
