/*
	树 · 自定义样式
	在 Striped (HTML5 UP) 基础上扩展，仅新增组件，不覆盖原模板规则。
	配色沿用原模板：主色 #c94663 / 深蓝 #364050 / 正文 #565656 / 浅底 #f4f4f4
*/

/* ---- 中文字体优化 ---- */
body, input, textarea, select {
	font-family: 'Source Sans Pro', 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', 'Source Han Sans SC', sans-serif;
}

h2, h3, h4, h5, h6,
header > p,
.box.post .info .date,
.pagination .pages,
.button,
input[type="button"], input[type="submit"], input[type="reset"], button {
	font-family: 'Open Sans Condensed', 'Microsoft YaHei', 'PingFang SC', 'Hiragino Sans GB', sans-serif;
}

/* 中文正文行距与字号（西文字体偏小，中文需要略放大） */
#content p, #content li {
	line-height: 1.85em;
}

/* ---- 页面大标题 ---- */
.page-head {
	border-bottom: solid 1px #ddd;
	padding: 0 0 1.5em 0;
	margin: 0 0 2.5em 0;
}

	.page-head h2 {
		font-size: 2em;
		letter-spacing: 0.05em;
		margin: 0 0 0.35em 0;
	}

	.page-head p {
		color: #999;
		margin: 0;
	}

/* =========================================================
   每日新闻
   ========================================================= */

/* 新闻筛选标签 */
.news-filter {
	list-style: none;
	padding-left: 0;
	margin: 0 0 2em 0;
}

	.news-filter li {
		display: inline-block;
		padding-left: 0;
		margin: 0 0.5em 0.5em 0;
	}

	.news-filter a {
		display: inline-block;
		padding: 0.35em 1.1em;
		border-radius: 1.5em;
		background-color: #f4f4f4;
		color: #565656;
		text-decoration: none;
		font-size: 0.85em;
		-moz-transition: background-color .25s ease-in-out, color .25s ease-in-out;
		-webkit-transition: background-color .25s ease-in-out, color .25s ease-in-out;
		-ms-transition: background-color .25s ease-in-out, color .25s ease-in-out;
		transition: background-color .25s ease-in-out, color .25s ease-in-out;
	}

		.news-filter a:hover {
			background-color: #e4e4e4;
		}

		.news-filter li.active a {
			background-color: #c94663;
			background-image: url("images/bg01.png");
			box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.15);
			color: #fff;
			font-weight: 700;
		}

/* 新闻列表 */
.news-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

	.news-list > li {
		padding-left: 0;
		margin-bottom: 1.75em;
		border-bottom: solid 1px #eee;
		padding-bottom: 1.75em;
	}

		.news-list > li:last-child {
			border-bottom: 0;
			padding-bottom: 0;
		}

	.news-list h3 {
		font-size: 1.35em;
		line-height: 1.4em;
		margin: 0 0 0.4em 0;
	}

	.news-list h3 a {
		text-decoration: none;
		color: #232323;
		-moz-transition: color .2s ease-in-out;
		-webkit-transition: color .2s ease-in-out;
		-ms-transition: color .2s ease-in-out;
		transition: color .2s ease-in-out;
	}

		.news-list h3 a:hover {
			color: #c94663;
		}

	.news-list .meta {
		font-size: 0.85em;
		color: #aaa;
		margin: 0 0 0.75em 0;
		font-family: 'Open Sans Condensed', 'Microsoft YaHei', sans-serif;
	}

		.news-list .meta .tag {
			display: inline-block;
			background-color: #f4f4f4;
			border-radius: 0.3em;
			padding: 0 0.6em;
			margin-left: 0.5em;
			color: #565656;
		}

	.news-list p {
		margin-bottom: 0.75em;
	}

	.news-list .more {
		font-size: 0.85em;
		font-weight: 700;
		text-decoration: none;
	}

/* 头条新闻 */
.news-lead {
	position: relative;
	margin-bottom: 2.5em;
	padding-bottom: 2.5em;
	border-bottom: solid 1px #eee;
}

	.news-lead .flag {
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		background-color: #c94663;
		background-image: url("images/bg01.png");
		box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.15);
		color: #fff;
		font-size: 0.75em;
		font-weight: 700;
		letter-spacing: 0.1em;
		padding: 0.3em 0.9em;
		border-radius: 0 0 0.4em 0;
	}

	.news-lead .image {
		display: block;
		border-radius: 0.4em;
		overflow: hidden;
		box-shadow: 0 0 0.25em 0 rgba(0, 0, 0, 0.2);
		margin-bottom: 1.25em;
	}

	.news-lead h3 {
		font-size: 1.8em;
		line-height: 1.35em;
		margin: 0 0 0.4em 0;
	}

	.news-lead h3 a {
		text-decoration: none;
		color: #232323;
	}

		.news-lead h3 a:hover {
			color: #c94663;
		}

/* 侧栏小工具：今日要闻 */
.box.headlines ul {
	list-style: none;
	padding-left: 0;
}

	.box.headlines li {
		border-top: solid 1px rgba(0, 0, 0, 0.25);
		box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 0.075);
		padding: 0.5em 0 0.5em 0;
	}

		.box.headlines li:first-child {
			border-top: 0;
			box-shadow: none;
			padding-top: 0;
		}

		.box.headlines li:last-child {
			padding-bottom: 0;
		}

	.box.headlines .num {
		display: inline-block;
		width: 1.5em;
		font-weight: 700;
		color: #fff;
		font-family: 'Open Sans Condensed', sans-serif;
	}

/* =========================================================
   家庭日记
   ========================================================= */

.diary-list {
	list-style: none;
	padding-left: 0;
	margin: 0;
}

	.diary-list > li {
		padding-left: 0;
	}

/* 单篇日记 */
.diary-entry {
	position: relative;
	border-bottom: solid 1px #eee;
	padding-bottom: 2.25em;
	margin-bottom: 2.25em;
}

	.diary-entry:last-child {
		border-bottom: 0;
		padding-bottom: 0;
		margin-bottom: 0;
	}

	.diary-entry .meta {
		font-family: 'Open Sans Condensed', 'Microsoft YaHei', sans-serif;
		margin: 0 0 0.9em 0;
	}

		.diary-entry .meta .date {
			display: inline-block;
			background-color: #364050;
			background-image: url("images/bg01.png");
			box-shadow: inset 0px 0px 0px 1px rgba(255, 255, 255, 0.15);
			color: #fff;
			font-size: 0.8em;
			font-weight: 700;
			letter-spacing: 0.05em;
			padding: 0.25em 0.8em;
			border-radius: 0.4em;
			margin-right: 0.75em;
		}

		.diary-entry .meta .weather {
			font-size: 0.85em;
			color: #aaa;
		}

		.diary-entry h3 {
			font-size: 1.5em;
			line-height: 1.4em;
			margin: 0 0 0.6em 0;
			color: #232323;
		}

	.diary-entry .body p {
		margin-bottom: 0.9em;
	}

		.diary-entry .body p:last-child {
			margin-bottom: 0;
		}

	/* 日记配图 */
	.diary-photos {
		list-style: none;
		padding-left: 0;
		margin: 1.25em 0 0 0;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		flex-wrap: wrap;
	}

		.diary-photos li {
			padding-left: 0;
			width: 33.33333%;
			padding-right: 0.75em;
			margin-bottom: 0.75em;
		}

			.diary-photos li:nth-child(3n) {
				padding-right: 0;
			}

			.diary-photos li .image {
				display: block;
				border-radius: 0.4em;
				overflow: hidden;
				box-shadow: 0 0 0.2em 0 rgba(0, 0, 0, 0.2);
			}

	/* 点赞 / 评论 */
	.diary-entry .actions {
		list-style: none;
		padding-left: 0;
		margin: 1.5em 0 0 0;
		font-size: 0.85em;
	}

		.diary-entry .actions li {
			display: inline-block;
			padding-left: 0;
			margin-right: 1.5em;
		}

		.diary-entry .actions a {
			text-decoration: none;
			color: #999;
			-moz-transition: color .2s ease-in-out;
			-webkit-transition: color .2s ease-in-out;
			-ms-transition: color .2s ease-in-out;
			transition: color .2s ease-in-out;
		}

			.diary-entry .actions a:hover {
				color: #c94663;
			}

			.diary-entry .actions a:before {
				margin-right: 0.4em;
			}

/* 侧栏小工具：家庭大事记 */
.box.milestones ul {
	list-style: none;
	padding-left: 0;
}

	.box.milestones li {
		position: relative;
		padding: 0 0 0.9em 1.5em;
		border-left: solid 1px rgba(0, 0, 0, 0.3);
		margin-left: 0.35em;
	}

		.box.milestones li:last-child {
			padding-bottom: 0;
		}

		.box.milestones li:before {
			content: '';
			position: absolute;
			left: -0.3em;
			top: 0.6em;
			width: 0.55em;
			height: 0.55em;
			border-radius: 50%;
			background-color: #c94663;
			box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.15);
		}

	.box.milestones .when {
		display: block;
		font-size: 0.8em;
		opacity: 0.7;
	}

/* =========================================================
   每日新闻 · 板块标签（六大板块）
   ========================================================= */

.section-tabs {
	list-style: none;
	padding-left: 0;
	margin: 0 0 2em 0;
	display: -moz-flex;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	flex-wrap: wrap;
	border-bottom: solid 2px #eee;
}

	.section-tabs > li {
		padding-left: 0;
		margin: 0;
		-moz-flex: 1 0 auto;
		-webkit-flex: 1 0 auto;
		-ms-flex: 1 0 auto;
		flex: 1 0 auto;
	}

	.section-tabs a {
		display: block;
		text-align: center;
		text-decoration: none;
		padding: 0.8em 0.75em 0.7em 0.75em;
		border-bottom: solid 3px transparent;
		margin-bottom: -2px;
		color: #999;
		font-family: 'Open Sans Condensed', 'Microsoft YaHei', sans-serif;
		font-size: 1.05em;
		font-weight: 700;
		letter-spacing: 0.03em;
		white-space: nowrap;
		-moz-transition: color .2s ease-in-out, border-color .2s ease-in-out, background-color .2s ease-in-out;
		-webkit-transition: color .2s ease-in-out, border-color .2s ease-in-out, background-color .2s ease-in-out;
		-ms-transition: color .2s ease-in-out, border-color .2s ease-in-out, background-color .2s ease-in-out;
		transition: color .2s ease-in-out, border-color .2s ease-in-out, background-color .2s ease-in-out;
	}

		.section-tabs a:hover {
			color: #565656;
			background-color: #fafafa;
		}

		.section-tabs a .count {
			display: inline-block;
			font-family: 'Source Sans Pro', 'Microsoft YaHei', sans-serif;
			font-size: 0.72em;
			font-weight: 400;
			opacity: 0.6;
			margin-left: 0.35em;
		}

	/* 各板块主题色 */
	.section-tabs li.s-all a.active   { color: #232323; border-bottom-color: #232323; }
	.section-tabs li.s-cn a.active    { color: #c94663; border-bottom-color: #c94663; }
	.section-tabs li.s-intl a.active  { color: #4a6fa5; border-bottom-color: #4a6fa5; }
	.section-tabs li.s-tech a.active  { color: #3d8b7d; border-bottom-color: #3d8b7d; }
	.section-tabs li.s-fin a.active   { color: #b8860b; border-bottom-color: #b8860b; }
	.section-tabs li.s-sport a.active { color: #d2691e; border-bottom-color: #d2691e; }
	.section-tabs li.s-teen a.active  { color: #7b68a6; border-bottom-color: #7b68a6; }

	.section-tabs a.active {
		background-color: transparent;
	}

/* =========================================================
   每日新闻 · 新闻条目（题图 + 文本 两列）
   ========================================================= */

.news-items {
	list-style: none;
	padding-left: 0;
	margin: 0 0 2em 0;
}

	.news-items > li {
		padding-left: 0;
		margin-bottom: 1.75em;
		padding-bottom: 1.75em;
		border-bottom: solid 1px #eee;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		align-items: flex-start;
		-moz-transition: background-color .2s ease-in-out;
		-webkit-transition: background-color .2s ease-in-out;
		-ms-transition: background-color .2s ease-in-out;
		transition: background-color .2s ease-in-out;
	}

		.news-items > li:last-child {
			border-bottom: 0;
			padding-bottom: 0;
			margin-bottom: 0;
		}

	/* 缩略图（左） */
	.news-items .thumb {
		-moz-flex: 0 0 auto;
		-webkit-flex: 0 0 auto;
		-ms-flex: 0 0 auto;
		flex: 0 0 auto;
		width: 11em;
		margin-right: 1.5em;
		border-radius: 0.4em;
		overflow: hidden;
		box-shadow: 0 0 0.2em 0 rgba(0, 0, 0, 0.2);
		background-color: #f4f4f4;
		position: relative;
	}

		.news-items .thumb img {
			display: block;
			width: 100%;
			height: 7.5em;
			object-fit: cover;
		}

		/* 图片缺失时的占位色块 */
		.news-items .thumb.is-empty {
			background-color: #e8e8e8;
			background-image: url("images/bg02.png");
		}

			.news-items .thumb.is-empty:after {
				content: '\f1ea';
				font-family: 'Font Awesome 5 Free';
				font-weight: 900;
				position: absolute;
				top: 50%;
				left: 50%;
				-moz-transform: translate(-50%, -50%);
				-webkit-transform: translate(-50%, -50%);
				-ms-transform: translate(-50%, -50%);
				transform: translate(-50%, -50%);
				font-size: 1.75em;
				color: #c4c4c4;
			}

	/* 文字区（右） */
	.news-items .text {
		-moz-flex: 1;
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;
		min-width: 0;
	}

	.news-items h3 {
		font-size: 1.25em;
		line-height: 1.45em;
		margin: 0 0 0.4em 0;
	}

		.news-items h3 a {
			text-decoration: none;
			color: #232323;
			-moz-transition: color .2s ease-in-out;
			-webkit-transition: color .2s ease-in-out;
			-ms-transition: color .2s ease-in-out;
			transition: color .2s ease-in-out;
		}

			.news-items h3 a:hover {
				color: #c94663;
			}

	.news-items .meta {
		font-size: 0.8em;
		color: #aaa;
		margin: 0 0 0.5em 0;
		font-family: 'Open Sans Condensed', 'Microsoft YaHei', sans-serif;
	}

		.news-items .meta .src {
			color: #565656;
			font-weight: 700;
		}

		.news-items .meta .sep {
			margin: 0 0.5em;
			opacity: 0.5;
		}

		.news-items .meta .badge {
			display: inline-block;
			border-radius: 0.3em;
			padding: 0 0.55em;
			margin-left: 0.5em;
			font-size: 0.95em;
			color: #fff;
		}

			.news-items .meta .badge.b-cn   { background-color: #c94663; }
			.news-items .meta .badge.b-intl { background-color: #4a6fa5; }
			.news-items .meta .badge.b-tech { background-color: #3d8b7d; }
			.news-items .meta .badge.b-fin  { background-color: #b8860b; }
			.news-items .meta .badge.b-sport{ background-color: #d2691e; }
			.news-items .meta .badge.b-teen { background-color: #7b68a6; }
			.news-items .meta .badge.b-en   { background-color: #8a9aa8; }

	.news-items .summary {
		margin: 0;
		font-size: 0.92em;
		color: #666;
		line-height: 1.75em;
	}

/* 板块分节标题（"全部"视图下用作分隔） */
.section-heading {
	margin: 2.5em 0 1.5em 0;
	padding: 0 0 0.6em 0;
	border-bottom: solid 2px #eee;
	font-size: 1.5em;
	letter-spacing: 0.03em;
}

	.section-heading:first-child {
		margin-top: 0;
	}

	.section-heading .sub {
		font-size: 0.6em;
		font-weight: 400;
		color: #aaa;
		margin-left: 0.75em;
		letter-spacing: 0;
	}

/* 数据状态提示 */
.news-status {
	text-align: center;
	padding: 4em 2em;
	color: #999;
	border: dashed 1px #ddd;
	border-radius: 0.4em;
	margin-bottom: 2em;
}

	.news-status .big {
		display: block;
		font-size: 1.5em;
		color: #565656;
		margin-bottom: 0.5em;
		font-family: 'Open Sans Condensed', 'Microsoft YaHei', sans-serif;
		font-weight: 700;
	}

	.news-status code {
		background-color: #f4f4f4;
		border-radius: 0.3em;
		padding: 0.1em 0.5em;
		font-size: 0.9em;
		color: #c94663;
	}

/* 小屏幕适配：图片移到上方 */
@media screen and (max-width: 736px) {

	.section-tabs a {
		font-size: 0.95em;
		padding: 0.6em 0.5em 0.55em 0.5em;
	}

		.section-tabs a .count {
			display: none;
		}

	.news-items > li {
		display: block;
	}

	.news-items .thumb {
		width: 100%;
		margin: 0 0 1em 0;
	}

		.news-items .thumb img {
			height: 10em;
		}

	.news-items h3 {
		font-size: 1.1em;
	}
}

/* =========================================================
   家庭日记 · 成员标签页
   ========================================================= */

/* 三栏切换标签 */
.diary-tabs {
	list-style: none;
	padding-left: 0;
	margin: 0 0 2.5em 0;
	display: -moz-flex;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	border-bottom: solid 2px #eee;
}

	.diary-tabs > li {
		padding-left: 0;
		margin: 0;
		-moz-flex: 1;
		-webkit-flex: 1;
		-ms-flex: 1;
		flex: 1;
	}

	.diary-tabs a {
		display: block;
		text-align: center;
		text-decoration: none;
		padding: 0.85em 0.5em 0.75em 0.5em;
		border-bottom: solid 3px transparent;
		margin-bottom: -2px;
		color: #999;
		font-family: 'Open Sans Condensed', 'Microsoft YaHei', sans-serif;
		font-size: 1.15em;
		font-weight: 700;
		letter-spacing: 0.05em;
		-moz-transition: color .2s ease-in-out, border-color .2s ease-in-out, background-color .2s ease-in-out;
		-webkit-transition: color .2s ease-in-out, border-color .2s ease-in-out, background-color .2s ease-in-out;
		-ms-transition: color .2s ease-in-out, border-color .2s ease-in-out, background-color .2s ease-in-out;
		transition: color .2s ease-in-out, border-color .2s ease-in-out, background-color .2s ease-in-out;
	}

		.diary-tabs a:hover {
			color: #565656;
			background-color: #fafafa;
		}

		.diary-tabs a .label {
			display: block;
			font-family: 'Source Sans Pro', 'Microsoft YaHei', sans-serif;
			font-size: 0.7em;
			font-weight: 400;
			letter-spacing: 0;
			opacity: 0.7;
			margin-top: 0.15em;
		}

	/* 各成员的选中色 */
	.diary-tabs li.dad a.active {
		color: #364050;
		border-bottom-color: #364050;
		background-color: transparent;
	}

	.diary-tabs li.mom a.active {
		color: #c94663;
		border-bottom-color: #c94663;
		background-color: transparent;
	}

	.diary-tabs li.kid a.active {
		color: #d68b3a;
		border-bottom-color: #d68b3a;
		background-color: transparent;
	}

/* 成员色变量：用修饰类统一控制 */
.diary-panel.member-dad .diary-entry .meta .date {
	background-color: #364050;
}

.diary-panel.member-mom .diary-entry .meta .date {
	background-color: #c94663;
}

.diary-panel.member-kid .diary-entry .meta .date {
	background-color: #d68b3a;
}

.diary-panel.member-dad .diary-entry .member-tag {
	color: #364050;
}

.diary-panel.member-mom .diary-entry .member-tag {
	color: #c94663;
}

.diary-panel.member-kid .diary-entry .member-tag {
	color: #d68b3a;
}

/* 作者署名 */
.diary-entry .member-tag {
	font-size: 0.85em;
	font-weight: 700;
	margin-left: 0.75em;
	letter-spacing: 0.05em;
}

/* 面板显隐（无 JS 时默认全部显示，由脚本接管） */
.diary-panel {
	display: block;
}

	.diary-panel.is-hidden {
		display: none;
	}

/* 成员简介条 */
.member-intro {
	position: relative;
	background-color: #f8f8f8;
	border-left: solid 4px #ddd;
	border-radius: 0.4em;
	padding: 1em 1.25em;
	margin: 0 0 2em 0;
	font-size: 0.9em;
}

	.member-intro .avatar {
		display: inline-block;
		width: 2.5em;
		height: 2.5em;
		line-height: 2.5em;
		text-align: center;
		border-radius: 50%;
		color: #fff;
		font-size: 1.1em;
		font-weight: 700;
		margin-right: 0.75em;
		vertical-align: middle;
	}

	.member-intro .name {
		font-weight: 700;
		color: #232323;
	}

	.member-intro p {
		margin: 0.6em 0 0 0;
		opacity: 0.8;
	}

	.member-intro.dad {
		border-left-color: #364050;
	}

		.member-intro.dad .avatar {
			background-color: #364050;
		}

	.member-intro.mom {
		border-left-color: #c94663;
	}

		.member-intro.mom .avatar {
			background-color: #c94663;
		}

	.member-intro.kid {
		border-left-color: #d68b3a;
	}

		.member-intro.kid .avatar {
			background-color: #d68b3a;
		}

/* =========================================================
   共用：页面底部导航
   ========================================================= */

.page-nav {
	margin: 2.5em 0 0 0;
	padding-top: 1.5em;
	border-top: solid 1px #ddd;
	text-align: center;
}

/* 小屏幕适配 */
@media screen and (max-width: 736px) {

	.page-head h2 {
		font-size: 1.6em;
	}

	.news-lead h3 {
		font-size: 1.4em;
	}

	.diary-entry h3 {
		font-size: 1.25em;
	}

	.diary-photos li {
		width: 50%;
	}

		.diary-photos li:nth-child(3n) {
			padding-right: 0.75em;
		}

		.diary-photos li:nth-child(2n) {
			padding-right: 0;
		}

	/* 成员标签：小屏改为文字为主、说明换行 */
	.diary-tabs a {
		font-size: 0.95em;
		padding: 0.75em 0.25em 0.65em 0.25em;
	}

		.diary-tabs a .label {
			font-size: 0.65em;
		}

	.member-intro .avatar {
		width: 2em;
		height: 2em;
		line-height: 2em;
		font-size: 1em;
	}
}
