@charset "UTF-8";
/*
 * 文章列表页 / 详情页公共样式
 * 覆盖：新闻动态(/news/)、建站干货(/guide/) 的列表页与详情页
 * 类名统一用 art- 前缀，避免与主题已有样式冲突
 * 由 mall/views/{news,guide}/{index,view}.php 通过 registerCssFile 引入
 */

/* ==================== 列表页 ==================== */
.tit-i h1 {
	font-size: 32px;
	color: #002;
	margin: 0 0 12px 0;
	letter-spacing: 1px;
}
.art-intro {
	text-align: center;
	color: #9aa0a6;
	font-size: 14px;
	line-height: 1.9;
	margin: -28px 0 45px;
}
.art-empty {
	text-align: center;
	color: #bbb;
	padding: 70px 0;
}

/* 首篇「精选」大卡 */
.art-featured {
	display: block;
	position: relative;
	box-sizing: border-box;
	padding: 34px 40px 30px;
	margin: 0 0 26px;
	border-radius: 14px;
	background: linear-gradient(135deg, #fff6f5 0%, #fdf0ee 55%, #ffffff 100%);
	border: 1px solid #f7e2df;
	transition: transform .3s ease, box-shadow .3s ease;
}
.art-featured:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 34px rgba(228, 57, 42, .12);
}
.art-featured-tag {
	display: inline-block;
	font-size: 12px;
	letter-spacing: 1px;
	line-height: 1;
	color: #fff;
	background: #e4392a;
	padding: 5px 12px;
	border-radius: 20px;
	margin-bottom: 16px;
}
.art-featured-title {
	font-size: 24px;
	line-height: 1.45;
	color: #1a1a1a;
	font-weight: 600;
	margin: 0 0 12px;
}
.art-featured:hover .art-featured-title {
	color: #e4392a;
}
.art-featured-desc {
	font-size: 14px;
	line-height: 1.9;
	color: #7b8794;
	margin: 0 0 18px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.art-featured-meta {
	font-size: 13px;
	color: #adb5bd;
}
.art-featured-meta em {
	font-style: normal;
	color: #e4392a;
}

/* 卡片网格 */
.art-grid {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -12px;
}
.art-card {
	display: block;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	width: calc(33.3333% - 24px);
	margin: 0 12px 24px;
	padding: 24px 24px 20px;
	background: #fff;
	border: 1px solid #eef0f3;
	border-radius: 12px;
	transition: transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.art-card::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, #e4392a, #ff8a70);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s ease;
}
.art-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 14px 30px rgba(0, 0, 0, .09);
	border-color: #f6ded9;
}
.art-card:hover::before {
	transform: scaleX(1);
}
.art-card-date {
	display: block;
	font-size: 12px;
	color: #b0b8c1;
	letter-spacing: .5px;
	margin-bottom: 12px;
}
.art-card:hover .art-card-date {
	color: #e4392a;
}
.art-card-title {
	font-size: 17px;
	line-height: 1.55;
	font-weight: 600;
	color: #1a1a1a;
	margin: 0 0 10px;
	height: 53px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.art-card:hover .art-card-title {
	color: #e4392a;
}
.art-card-desc {
	font-size: 13px;
	line-height: 1.85;
	color: #8b95a1;
	margin: 0 0 16px;
	height: 72px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.art-card-more {
	font-size: 13px;
	color: #c3cad3;
	transition: color .3s ease;
}
.art-card:hover .art-card-more {
	color: #e4392a;
}

/* 热门推荐 */
.art-hot {
	margin: 6px 0 20px;
	padding: 26px 28px;
	background: #fafbfc;
	border-radius: 12px;
}
.art-hot h3 {
	font-size: 16px;
	font-weight: 600;
	color: #1a1a1a;
	margin: 0 0 14px;
}
.art-hot ul {
	overflow: hidden;
}
.art-hot li {
	float: left;
	width: 50%;
	line-height: 34px;
}
.art-hot li a {
	color: #5b6572;
	font-size: 14px;
}
.art-hot li a:hover {
	color: #e4392a;
}
.art-hot li a::before {
	content: '·';
	color: #e4392a;
	font-weight: 700;
	margin-right: 8px;
}

/* ==================== 详情页 ==================== */
.art-detail {
	max-width: 880px;
	margin: 40px auto 60px;
}
.art-detail-head {
	padding-bottom: 28px;
	border-bottom: 1px solid #eef0f3;
	margin-bottom: 32px;
}
.art-detail-title {
	font-size: 30px;
	line-height: 1.45;
	color: #1a1a1a;
	font-weight: 600;
	margin: 0 0 18px;
}
.art-detail-meta {
	font-size: 13px;
	color: #adb5bd;
}
.art-detail-meta span {
	display: inline-block;
	margin-right: 18px;
}
.art-detail-meta span::before {
	content: '';
	display: inline-block;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #d8dde3;
	vertical-align: middle;
	margin-right: 8px;
}
.art-detail-body {
	font-size: 16px;
	line-height: 1.95;
	color: #3f4a56;
	word-wrap: break-word;
}
.art-detail-body p {
	margin: 0 0 20px;
}
.art-detail-body h2 {
	font-size: 21px;
	line-height: 1.5;
	color: #1a1a1a;
	font-weight: 600;
	margin: 38px 0 16px;
	padding-left: 12px;
	border-left: 4px solid #e4392a;
}
.art-detail-body h3 {
	font-size: 18px;
	color: #1a1a1a;
	font-weight: 600;
	margin: 30px 0 14px;
}
.art-detail-body h4 {
	font-size: 16px;
	color: #1a1a1a;
	font-weight: 600;
	margin: 24px 0 12px;
}
.art-detail-body img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 8px 0;
}
.art-detail-body ul,
.art-detail-body ol {
	margin: 0 0 20px;
	padding-left: 24px;
}
.art-detail-body li {
	list-style: disc;
	margin-bottom: 8px;
}
.art-detail-body ol li {
	list-style: decimal;
}
.art-detail-body blockquote {
	margin: 0 0 20px;
	padding: 14px 20px;
	background: #fafbfc;
	border-left: 4px solid #e4e8ee;
	color: #6b7684;
}
.art-detail-body table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 20px;
	font-size: 14px;
}
.art-detail-body th,
.art-detail-body td {
	border: 1px solid #eef0f3;
	padding: 10px 12px;
	text-align: left;
}
.art-detail-body th {
	background: #fafbfc;
	color: #1a1a1a;
}
.art-detail-body a {
	color: #e4392a;
	text-decoration: underline;
}
.art-detail-body pre {
	background: #f7f8fa;
	border-radius: 8px;
	padding: 16px;
	overflow-x: auto;
	font-size: 13px;
	line-height: 1.7;
}

/* 标签 */
.art-detail-tags {
	margin: 34px 0 0;
	padding-top: 22px;
	border-top: 1px solid #eef0f3;
	font-size: 13px;
	color: #adb5bd;
}
.art-detail-tags .tag-item {
	display: inline-block;
	margin: 0 8px 8px 0;
	padding: 4px 12px;
	background: #f5f7fa;
	border-radius: 20px;
	color: #6b7684;
}

/* 上一篇 / 下一篇 */
.art-detail-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin: 34px 0 0;
}
.art-detail-nav a,
.art-detail-nav span {
	flex: 1 1 calc(50% - 7px);
	box-sizing: border-box;
	padding: 16px 20px;
	background: #fafbfc;
	border-radius: 10px;
	font-size: 14px;
	color: #5b6572;
	line-height: 1.6;
	transition: background .25s ease, color .25s ease;
}
.art-detail-nav a:hover {
	background: #fff3f1;
	color: #e4392a;
}
.art-detail-nav em {
	font-style: normal;
	display: block;
	font-size: 12px;
	color: #b0b8c1;
	margin-bottom: 6px;
}

/* 相关阅读 */
.art-related {
	max-width: 880px;
	margin: 50px auto 20px;
	padding-top: 34px;
	border-top: 1px solid #eef0f3;
}
.art-related h3 {
	font-size: 18px;
	font-weight: 600;
	color: #1a1a1a;
	margin: 0 0 20px;
}
.art-related ul {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}
.art-related li {
	width: calc(50% - 20px);
	margin: 0 10px 14px;
	line-height: 1.7;
}
.art-related li a {
	color: #5b6572;
	font-size: 14px;
}
.art-related li a:hover {
	color: #e4392a;
}

/* ==================== 响应式 ==================== */
@media (max-width: 992px) {
	.art-card {
		width: calc(50% - 24px);
	}
}
@media (max-width: 768px) {
	.tit-i h1 {
		font-size: 24px;
	}
	.art-intro {
		margin: -20px 0 28px;
	}
	.art-featured {
		padding: 24px 22px 20px;
	}
	.art-featured-title {
		font-size: 19px;
	}
	.art-card {
		width: calc(100% - 24px);
		padding: 20px;
	}
	.art-card-title,
	.art-card-desc {
		height: auto;
	}
	.art-hot {
		padding: 20px;
	}
	.art-hot li {
		width: 100%;
	}
	.art-detail {
		margin: 24px 15px 40px;
	}
	.art-detail-title {
		font-size: 22px;
	}
	.art-detail-body {
		font-size: 15px;
	}
	.art-detail-body h2 {
		font-size: 19px;
	}
	.art-detail-nav a,
	.art-detail-nav span {
		flex: 1 1 100%;
	}
	.art-related {
		margin: 36px 15px 20px;
	}
	.art-related li {
		width: calc(100% - 20px);
	}
}
