/* =============================================================
   nova · X5 皮肤层
   作用：把 Discuz X5 原生 class 重新按 nova 设计语言渲染
   依赖：base.css 里的 --nv-* 变量
   ============================================================= */

/* ---------- 全局 ---------- */
body {
	background: var(--nv-canvas) !important;
	color: var(--nv-text);
	font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif;
	font-size: 14px;
	line-height: 1.7;
}

a { color: var(--nv-text); }
a:hover { color: var(--nv-accent); }

.wp { max-width: 1280px !important; margin: 0 auto; padding: 0 20px; }

/* ---------- 顶栏 ---------- */
#toptb,
.dz_layer_top {
	background: var(--nv-surface) !important;
	border-bottom: 1px solid var(--nv-line) !important;
	box-shadow: none !important;
	height: 40px;
	line-height: 40px;
}
#toptb a, .dz_layer_top a { color: var(--nv-muted); font-size: 13px; }
#toptb a:hover, .dz_layer_top a:hover { color: var(--nv-accent); }

/* ---------- 头部 / Logo / 导航 ---------- */
.dz_btm_layer {
	background: var(--nv-surface) !important;
	border-bottom: 1px solid var(--nv-line) !important;
	box-shadow: var(--nv-shadow);
}

.dz_nav_logo a,
.dz_nav_logo .dzlogo {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	font-weight: 700;
	color: var(--nv-heading) !important;
}

.dz_layer_nav ul li a {
	display: inline-block;
	padding: 8px 16px !important;
	border-radius: 999px;
	color: var(--nv-text) !important;
	font-size: 15px;
	transition: all .15s ease;
}
.dz_layer_nav ul li a:hover { background: var(--nv-accent-soft); color: var(--nv-accent) !important; }
.dz_layer_nav ul li.a a,
.dz_layer_nav ul li.on a {
	background: var(--nv-accent) !important;
	color: #fff !important;
	font-weight: 600;
}

.header-right .login_btn,
.login_btn {
	display: inline-block;
	padding: 7px 22px !important;
	border-radius: 8px !important;
	background: var(--nv-accent) !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: 500;
}
.header-right .login_btn:hover { background: var(--nv-accent-dark) !important; }

/* 搜索框 */
.dz_layer_top input[type="text"],
.dz_layer_top input[type="search"],
.header-search input {
	height: 34px !important;
	padding: 0 12px !important;
	border: 1px solid var(--nv-input-border) !important;
	border-radius: 8px !important;
	background: var(--nv-input) !important;
	font-size: 13px;
}
.dz_layer_top input:focus { border-color: var(--nv-accent) !important; outline: none; }

/* ---------- 主内容容器 ---------- */
#ct { padding-top: 20px; }

/* ---------- 卡片化：所有 .bm ---------- */
.bm {
	background: var(--nv-surface) !important;
	border: 1px solid var(--nv-line) !important;
	border-radius: var(--nv-radius-lg) !important;
	box-shadow: var(--nv-shadow);
	margin-bottom: var(--nv-gap) !important;
	overflow: hidden;
}

.bm_h {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 52px;
	padding: 0 22px !important;
	border-bottom: 1px solid var(--nv-line) !important;
	background: var(--nv-surface) !important;
	color: var(--nv-heading) !important;
	font-size: 16px;
	font-weight: 600;
	line-height: 52px;
}
.bm_h h2, .bm_h h3 { color: var(--nv-heading) !important; font-size: 16px; font-weight: 600; margin: 0; }
.bm_h a { color: var(--nv-muted); font-size: 13px; font-weight: 400; }
.bm_h a:hover { color: var(--nv-accent); }

.bm_c {
	padding: 18px 22px !important;
	background: var(--nv-surface) !important;
	border: 0 !important;
}

/* ---------- 版块列表（表格）---------- */
.fl_tb { width: 100%; border-collapse: collapse; }
.fl_tb td { padding: 12px 10px !important; border-bottom: 1px solid var(--nv-line) !important; vertical-align: middle; }
.fl_tb tr:last-child td { border-bottom: 0 !important; }
.fl_tb tr:hover td { background: var(--nv-canvas); }

.fl_g { width: 44px; }
.fl_icn_g { width: 44px; height: 44px; border-radius: 12px; background: var(--nv-accent-soft); display: flex; align-items: center; justify-content: center; }
.fl_icn_g img { width: 24px; height: 24px; }

.fl_tb dt a { color: var(--nv-heading) !important; font-size: 15px; font-weight: 600; }
.fl_tb dt a:hover { color: var(--nv-accent) !important; }
.fl_tb dd { color: var(--nv-muted) !important; font-size: 12px; line-height: 1.7; margin-top: 3px; }
.fl_tb dd em { font-style: normal; color: var(--nv-light); }

/* 版块图标/文字列间距 */
.fl_tb dl { margin: 0; }

/* ---------- 侧栏 ---------- */
.sd .bm, .fl .bm { margin-bottom: var(--nv-gap) !important; }
.sd .bm_c, .fl .bm_c { padding: 16px 18px !important; }
.sd .bm_c li, .fl .bm_c li { padding: 6px 0; border-bottom: 1px dashed var(--nv-line); font-size: 13px; }
.sd .bm_c li:last-child, .fl .bm_c li:last-child { border-bottom: 0; }

/* ---------- 统计/欢迎条 ---------- */
.dz_footc { margin-top: 10px; }

/* ---------- 分页 ---------- */
.pg, .pgb { margin-top: 14px; }
.pg a, .pg strong, .pgb a {
	display: inline-block;
	min-width: 30px;
	margin: 0 3px;
	padding: 4px 9px;
	border: 1px solid var(--nv-line);
	border-radius: var(--nv-radius);
	background: var(--nv-surface);
	color: var(--nv-text);
	font-size: 13px;
	text-align: center;
}
.pg a:hover, .pgb a:hover { border-color: var(--nv-accent); color: var(--nv-accent); }
.pg strong { border-color: var(--nv-accent); background: var(--nv-accent); color: #fff; }

/* ---------- 按钮 ---------- */
.pn, .pnc, .pnpost .pn {
	display: inline-block;
	padding: 7px 18px !important;
	border: 0 !important;
	border-radius: var(--nv-radius) !important;
	background: var(--nv-accent) !important;
	color: #fff !important;
	font-size: 14px;
	cursor: pointer;
}
.pn:hover, .pnc:hover { background: var(--nv-accent-dark) !important; }

/* ---------- 弹层 ---------- */
.p_pop {
	border: 1px solid var(--nv-line) !important;
	border-radius: var(--nv-radius-lg) !important;
	box-shadow: var(--nv-shadow-hover) !important;
	background: var(--nv-surface) !important;
}
.p_pop li a { color: var(--nv-text); font-size: 13px; }
.p_pop li a:hover { background: var(--nv-canvas); color: var(--nv-accent); }

/* ---------- 页脚 ---------- */
.dz_footc, #ft {
	background: var(--nv-surface) !important;
	border-top: 1px solid var(--nv-line) !important;
	color: var(--nv-muted) !important;
	font-size: 13px;
	padding: 18px 0 !important;
	margin-top: 24px;
}
.dz_footc a, #ft a { color: var(--nv-muted) !important; }
.dz_footc a:hover, #ft a:hover { color: var(--nv-accent) !important; }

/* ---------- 窄屏 ---------- */
@media (max-width: 760px) {
	.wp { padding: 0 14px; }
	.bm_h { padding: 0 16px !important; }
	.bm_c { padding: 14px 16px !important; }
	.fl_tb td { padding: 10px 6px !important; }
}
