/* 公告详情页 / 全部公告页 2026-10 改版测试版。配色、宽度规则同 index/home_v2.css */
:root { --hv-w: 1200px; }
@media (min-width: 1600px) { :root { --hv-w: 1400px; } }
@media (max-width: 1279px) { :root { --hv-w: calc(100vw - 80px); } }
@media (max-width: 1047px) { :root { --hv-w: 952px; } }
/* 旧 layout 里写死的 min-width: 1280px，这两页放开 */
body { min-width: 1000px !important; background-color: #F5F4FA; }
#app, #app2, #app2 + div { min-width: 0 !important; }

.nt-page {
    --nt-ink: #1F1D3A;
    --nt-mute: #75728C;
    --nt-brand: #7E7CFB;
    --nt-brand-ink: #5B57E8;
    --nt-line: #ECEAF5;
    width: 100%;
    min-width: 1000px;
    padding: 4px 0 48px;
    background: #F5F4FA;
    color: var(--nt-ink);
    font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Segoe UI Emoji", "Apple Color Emoji", sans-serif;
    text-align: left;
}
.nt-page *, .nt-page *::before, .nt-page *::after { box-sizing: border-box; }
.nt-page a { color: inherit; text-decoration: none; }
.nt-serif { font-family: "Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif; }
.nt-card { background: #FFFFFF; border: 1px solid var(--nt-line); border-radius: 18px; }

.nt-crumb { width: var(--hv-w); margin: 0 auto; display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--nt-mute); }
.nt-crumb > span:last-child { min-width: 0; color: #4A475C; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nt-page .nt-crumb a:hover { color: var(--nt-brand-ink); }
.nt-wrap { width: var(--hv-w); margin: 16px auto 0; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 24px; align-items: start; }
.nt-wrap.nt-list-wrap { grid-template-columns: minmax(0, 1fr) 300px; }

/* ===== 详情 ===== */
.nt-art { padding: 36px 48px 40px; }
.nt-badge { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: 13px; background: #EEEDFD; color: var(--nt-brand-ink); font-size: 12px; font-weight: 700; }
.nt-art h1 { margin: 14px 0 0; font-size: 30px; line-height: 1.4; color: var(--nt-ink); word-break: break-word; }
.nt-art .nt-badge + h1 { margin-top: 14px; }
.nt-art > h1:first-child { margin-top: 0; }
.nt-meta { margin-top: 12px; display: flex; align-items: center; gap: 16px; font-size: 13px; color: var(--nt-mute); }
.nt-meta i { width: 1px; height: 12px; background: #DCDAEA; }
.nt-rule { height: 1px; margin: 24px 0 28px; background: linear-gradient(90deg, #ECEAF5, #ECEAF5 60%, rgba(236, 234, 245, 0)); }
/* 正文：只给默认样式，编辑在后台设的颜色 / 字号 / 对齐照样生效 */
.nt-rich { font-size: 16px; line-height: 1.95; color: #2D2B44; word-break: break-word; overflow-wrap: anywhere; }
.nt-rich.nt-plain { white-space: pre-line; }
.nt-rich p { margin: 0 0 16px; }
.nt-rich h1, .nt-rich h2 { margin: 8px 0 18px; font-size: 24px; line-height: 1.5; color: var(--nt-ink); }
.nt-rich h3 { position: relative; margin: 30px 0 12px; padding-left: 14px; font-size: 19px; line-height: 1.5; color: var(--nt-ink); }
.nt-rich h3::before { content: ""; position: absolute; left: 0; top: 7px; bottom: 7px; width: 4px; border-radius: 2px; background: linear-gradient(180deg, #A9A7FF, #6E6BF0); }
.nt-rich h4 { margin: 20px 0 10px; font-size: 17px; color: var(--nt-ink); }
.nt-rich strong, .nt-rich b { color: var(--nt-ink); }
.nt-rich ul, .nt-rich ol { margin: 0 0 16px; padding: 14px 18px 14px 36px; border-radius: 12px; background: #F7F6FD; }
.nt-rich li { margin: 4px 0; }
.nt-rich li::marker { color: var(--nt-brand); }
.nt-page .nt-rich a { color: var(--nt-brand-ink); text-decoration: underline; text-underline-offset: 3px; }
.nt-rich table { max-width: 100%; border-collapse: collapse; margin: 0 0 16px; }
.nt-rich td, .nt-rich th { padding: 6px 10px; border: 1px solid var(--nt-line); }
.nt-rich pre { white-space: pre-wrap; }
.nt-rich img { max-width: 100%; height: auto; }
.nt-rich img.nt-pic { display: block; margin: 20px auto; border-radius: 12px; box-shadow: 0 10px 26px rgba(31, 29, 58, 0.12); cursor: zoom-in; }
.nt-rich img.nt-emo { display: inline-block; height: 1.5em; width: auto; margin: 0 2px; vertical-align: -0.35em; }
.nt-pics { margin-bottom: 8px; }
.nt-pics-hint { margin: -4px 0 18px; text-align: center; font-size: 12px; color: #9C99B5; }
.nt-empty { padding: 40px 0; text-align: center; font-size: 14px; color: var(--nt-mute); }
.nt-foot { margin-top: 32px; padding-top: 20px; border-top: 1px dashed #E4E2EF; display: flex; align-items: center; justify-content: space-between; font-size: 13px; color: var(--nt-mute); }
.nt-page a.nt-btn { display: inline-flex; align-items: center; gap: 6px; height: 36px; padding: 0 16px; border-radius: 18px; background: #F3F2F9; color: #4B47D6; font-size: 13px; font-weight: 700; transition: background .15s; }
.nt-page a.nt-btn:hover { background: #EAE9FB; }

/* ===== 侧栏 ===== */
.nt-side { display: flex; flex-direction: column; gap: 16px; }
.nt-box { padding: 18px 18px 14px; }
.nt-box h2 { margin: 0 0 10px; display: flex; align-items: center; gap: 8px; font-size: 16px; color: var(--nt-ink); }
.nt-tile { flex: none; width: 26px; height: 26px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(140deg, #A9A7FF 0%, #6E6BF0 100%); color: #FFFFFF; }
.nt-nlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.nt-nlist a, .nt-nlist span.nt-nl-off { display: flex; gap: 10px; padding: 10px 8px; border-radius: 10px; font-size: 14px; line-height: 1.5; color: #3A3850; word-break: break-word; }
.nt-nlist a { cursor: pointer; transition: background .15s; }
.nt-page .nt-nlist a:hover { background: #F6F5FD; color: var(--nt-brand-ink); }
.nt-page .nt-nlist a.on { background: #EEEDFD; color: #4B47D6; font-weight: 700; }
.nt-nlist span.nt-nl-off { color: #8B88A0; cursor: default; }
.nt-nlist em { flex: none; width: 6px; height: 6px; margin-top: 8px; border-radius: 50%; background: #C9C6F4; }
.nt-nlist a.on em { background: var(--nt-brand); }
.nt-page a.nt-all { display: block; margin-top: 6px; padding: 10px 0 2px; border-top: 1px solid #F0EFF6; text-align: center; font-size: 13px; color: var(--nt-brand-ink); }
.nt-page a.nt-all:hover { text-decoration: underline; text-underline-offset: 3px; }
.nt-app { display: flex; align-items: center; gap: 14px; padding: 16px; }
.nt-app img { flex: none; width: 84px; height: 84px; border-radius: 10px; background: #FFFFFF; border: 1px solid var(--nt-line); }
.nt-app b { display: block; font-size: 15px; color: var(--nt-ink); }
.nt-app span span { display: block; margin-top: 4px; font-size: 12px; line-height: 1.6; color: var(--nt-mute); }
.nt-links { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.nt-page .nt-links a { height: 40px; border-radius: 10px; background: #F6F5FD; display: flex; align-items: center; justify-content: center; font-size: 13px; color: #3A3850; transition: background .15s, color .15s; }
.nt-page .nt-links a:hover { background: #EEEDFD; color: var(--nt-brand-ink); }

/* ===== 全部公告列表 ===== */
.nt-head { position: relative; overflow: hidden; padding: 28px 32px; background: linear-gradient(135deg, #F1F0FE 0%, #FBF6FF 60%, #FFFFFF 100%); }
.nt-head h1 { margin: 0; display: flex; align-items: center; gap: 12px; font-size: 30px; color: var(--nt-ink); }
.nt-head h1 .nt-tile { width: 40px; height: 40px; border-radius: 12px; box-shadow: 0 6px 14px rgba(110, 100, 230, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.4); }
.nt-head p { margin: 8px 0 0; font-size: 14px; color: #6B6880; }
.nt-count { position: absolute; right: 32px; top: 34px; font-size: 13px; color: #6B6880; }
.nt-count b { margin-right: 4px; font-size: 24px; color: #4B47D6; }
.nt-list { margin-top: 16px; padding: 8px 0; }
.nt-list ol { list-style: none; margin: 0; padding: 0; }
.nt-item { display: flex; gap: 20px; padding: 20px 28px; border-bottom: 1px solid #F2F1F8; transition: background .15s; }
.nt-list li:last-child .nt-item { border-bottom: 0; }
a.nt-item { cursor: pointer; }
a.nt-item:hover { background: #FAFAFE; }
a.nt-item:hover h2 { color: var(--nt-brand-ink); }
.nt-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.nt-top { display: flex; align-items: center; gap: 8px; min-width: 0; }
.nt-tag { flex: none; height: 22px; padding: 0 8px; border-radius: 6px; font-size: 12px; font-weight: 700; line-height: 22px; }
.nt-t-notice { background: #EEEDFD; color: var(--nt-brand-ink); }
.nt-t-act { background: #FFEDE3; color: #D2551C; }
.nt-t-book { background: #E4F1FA; color: #2470A6; }
.nt-t-pay { background: #FDF0DA; color: #9A6514; }
.nt-t-app { background: #F2F1F9; color: var(--nt-mute); }
.nt-home { flex: none; height: 22px; padding: 0 8px; border-radius: 6px; font-size: 12px; line-height: 20px; color: var(--nt-brand); border: 1px solid #DAD8FB; }
.nt-item h2 { flex: 1; min-width: 0; margin: 0; font-size: 18px; font-weight: 700; line-height: 1.5; color: var(--nt-ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color .15s; }
.nt-excerpt { font-size: 14px; line-height: 1.75; color: #5A576E; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; word-break: break-word; }
.nt-imeta { display: flex; gap: 14px; font-size: 12px; color: #9C99B5; }
.nt-thumb { flex: none; width: 150px; height: 96px; border-radius: 12px; overflow: hidden; background: #F3F2FA; }
.nt-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nt-item.nt-muted h2 { color: #6B6880; }
.nt-item.nt-muted { cursor: default; }
.nt-pager { display: flex; justify-content: center; gap: 6px; padding: 20px 0 6px; }
.nt-pager a, .nt-pager span { min-width: 36px; height: 36px; padding: 0 10px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 14px; color: #4A475C; background: #FFFFFF; border: 1px solid var(--nt-line); }
.nt-page .nt-pager a:hover { border-color: #C9C6F4; color: var(--nt-brand-ink); }
.nt-pager span.on { background: var(--nt-brand); border-color: var(--nt-brand); color: #FFFFFF; font-weight: 700; }
.nt-pager span.off { color: #C9C6D9; }

/* ===== 看大图 ===== */
.nt-zoom { position: fixed; inset: 0; z-index: 100002; display: none; align-items: center; justify-content: center; padding: 32px; background: rgba(14, 12, 32, 0.82); cursor: zoom-out; }
.nt-zoom.on { display: flex; }
.nt-zoom img { max-width: 100%; max-height: 100%; border-radius: 8px; box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4); }

@media (max-width: 1279px) {
    .nt-art { padding: 30px 32px 34px; }
    .nt-wrap { grid-template-columns: minmax(0, 1fr) 280px; }
    .nt-wrap.nt-list-wrap { grid-template-columns: minmax(0, 1fr) 260px; }
    .nt-app img { width: 72px; height: 72px; }

    /* 页头页尾跟着变窄（同 index/home_v2.css） */
    .hvh-bar { gap: 14px; padding-left: 14px; }
    .hvh-logo b { display: none; }
    .hvh-nav { gap: 2px; }
    .hvh-nav a { padding: 0 10px; }
    .hvh-search { width: 180px; }
    .hvf-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) 270px; row-gap: 28px; }
    .hvf-brand { grid-column: 1 / -1; display: grid; grid-template-columns: 240px minmax(0, 1fr); column-gap: 32px; align-items: start; }
    .hvf-brand p { margin: 0; grid-column: 2; grid-row: 1 / span 2; }
    .hvf-pills { margin-top: 12px; }
}
@media (max-width: 1099px) {
    .hvh-nav a { padding: 0 8px; font-size: 14px; }
    .hvh-search { width: 160px; }
}
