/* ============================================================
 * 作者详情页(author.php)· v6.0.12 · 微信朋友圈风
 * 顶部封面(背景图 / 纯色 + 左下头像 + 昵称 + 签名)
 * 下方两栏:左 sticky 信息卡 + 右(文章列表 / 朋友圈预览)
 * 全部用主题令牌(--card-bg / --text / --primary …),浅暗双模式自适应
 * ============================================================ */

.author-page {
	max-width: var(--site-width);   /* 1000 → site-width(1280):两边对齐顶栏 logo / 小太阳(同 .site-header__inner / .resources-main:border-box max-width=site-width + clamp padding + auto 居中 → content 左右缘 = logo/toggle 缘)· v6.0.57 */
	margin: 2rem auto 0;
	padding: 0 clamp(1rem, 4vw, 2rem) 4rem;
}

/* —— 1) 封面 banner + 左下头像 / 昵称 / 签名 —— */
.author-cover {
	position: relative;
	margin-bottom: 2rem;             /* 头像昵称已移入 banner,常规间距 */
}
.author-cover__banner {
	width: 100%;
	height: clamp(220px, 28vw, 300px); /* 头像昵称移入 banner,略加高留位 */
	border-radius: var(--radius-large);
	background-size: cover;
	background-position: center;
	/* 无封面图时的主题色兜底(随 --primary 浅 / 暗自动切换) */
	background-color: var(--primary);
	background-image: linear-gradient(135deg, var(--primary) 0%, var(--primary-strong) 100%);
}
.author-cover__id {
	position: absolute;
	left: 1.5rem;
	bottom: 1.5rem;                   /* 头像昵称移入 banner 左下(banner 背景在身后遮盖) */
	display: flex;
	align-items: flex-end;
	gap: 1rem;
}
.author-cover__avatar-wrap { flex: 0 0 auto; line-height: 0; }
.author-cover__avatar {
	width: 5.5rem;                    /* ≈88px */
	height: 5.5rem;
	border-radius: 16px;              /* 微信圆角方头像(与朋友圈封面一致) */
	object-fit: cover;
	display: block;
	border: 4px solid var(--card-bg); /* 卡色描边:与 banner / 页面分离 */
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
}
.author-cover__meta { padding-bottom: 0.35rem; }
.author-cover__name {
	margin: 0;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.6);   /* 压在照片 / 渐变上保清晰 */
}
.author-cover__signature {
	margin: 0.2rem 0 0;
	color: #fff;
	font-size: 0.95rem;
	opacity: 0.92;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.6);
}

/* —— 2) 主体两栏 —— */
.author-body {
	display: grid;
	grid-template-columns: 19rem minmax(0, 1fr);
	gap: 2rem;
	align-items: start;
}

/* —— 左:信息卡(sticky)—— */
.author-info {
	position: sticky;
	top: calc(var(--topbar-height) + 1rem);  /* 避开 sticky 顶栏 */
	background: var(--card-bg);
	border: 1px solid var(--line);
	border-radius: var(--radius-large);
	padding: 1.5rem 1.4rem;
	box-shadow: var(--shadow);
}
/* 地区:单独一栏(置顶突出,主色 + 下分隔线)· v6.0.18 */
.author-info__region {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0 0 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--line);
	font-size: 1.02rem;
	font-weight: 600;
	color: var(--primary);
}
.author-info__region .icon { width: 1.1rem; height: 1.1rem; flex: 0 0 auto; }
/* 自定义字段行(无图标;标签左留位与带图标行对齐) */
.author-info__row--custom dt { padding-left: 1.35rem; }

/* 统计 */
.author-info__stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
	margin: 1.3rem 0 0;              /* 移到卡底(加入于之下),只留上分隔线 */
	padding: 1.1rem 0 0;
	border-top: 1px solid var(--line);
}
.author-info__stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.15rem;
}
.author-info__stat strong {
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--text);
	line-height: 1;
}
.author-info__stat small {
	font-size: 0.75rem;
	color: var(--text-faint);
}

/* 资料行 */
.author-info__list { margin: 0; }   /* 去掉头像昵称头后,dl 升为卡内首元素 */
.author-info__row {
	display: grid;
	grid-template-columns: 5.5rem 1fr;
	gap: 0.5rem;
	align-items: start;
	padding: 0.7rem 0;
	border-bottom: 1px solid var(--line);
}
.author-info__row:last-child { border-bottom: 0; }
.author-info__row dt {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.8rem;
	color: var(--text-faint);
}
.author-info__row dt .icon { width: 0.95rem; height: 0.95rem; flex: 0 0 auto; }
.author-info__row dd {
	margin: 0;
	font-size: 0.9rem;
	color: var(--text);
	line-height: 1.55;
	word-break: break-word;
}
.author-info__row dd p { margin: 0 0 0.3rem; }
.author-info__row dd p:last-child { margin-bottom: 0; }
.author-info__row dd a {
	color: var(--primary);
	text-decoration: none;
}
.author-info__row dd a:hover { text-decoration: underline; }

/* —— 右:内容流 —— */
.author-feed {
	min-width: 0;
	background: var(--card-bg);
	border: 1px solid var(--line);
	border-radius: var(--radius-large);
	box-shadow: var(--shadow);
}
/* 右侧整体一张卡:内层列表 / 朋友圈去自带卡背景,融入外卡 · v6.0.14 */
.author-feed .author-posts { background: none; border: 0; border-radius: 0; }
.author-feed .moments-feed { background: none; border: 0; border-radius: 0; max-width: none; }
.author-feed .pagination,
.author-feed .navigation.pagination { margin: 0; padding: 0.5rem 1.1rem 1.1rem; }
.author-section { margin-bottom: 2.5rem; }
.author-section:last-child { margin-bottom: 0; }
.author-section__title {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0 0 1rem;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--text);
}
.author-section__title .icon { width: 1.1rem; height: 1.1rem; color: var(--primary); }
.author-section__more {
	margin-left: auto;
	font-size: 0.82rem;
	font-weight: 500;
	color: var(--primary);
	text-decoration: none;
}
.author-section__more:hover { text-decoration: underline; }

/* 紧凑文章列表(不重复作者头像,适合资料页) */
.author-posts {
	list-style: none;
	margin: 0;
	padding: 0;
	background: var(--card-bg);
	border: 1px solid var(--line);
	border-radius: var(--radius-large);
	overflow: hidden;
}
.author-posts__item { border-bottom: 1px solid var(--line); }
.author-posts__item:last-child { border-bottom: 0; }
.author-posts__link {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	padding: 0.85rem 1.1rem;
	color: inherit;
	text-decoration: none;
	transition: background 0.15s ease;
}
.author-posts__link:hover { background: var(--btn-bg); }
.author-posts__thumb {
	flex: 0 0 auto;
	width: 5rem;
	height: 3.75rem;
	border-radius: var(--radius-medium);
	overflow: hidden;
	background: var(--btn-bg);
	display: flex;
	align-items: center;
	justify-content: center;
}
.author-posts__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.author-posts__thumb--ph .icon { width: 1.4rem; height: 1.4rem; color: var(--text-faint); }
.author-posts__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}
.author-posts__name {
	font-size: 0.98rem;
	font-weight: 600;
	color: var(--text);
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.author-posts__item:hover .author-posts__name { color: var(--primary); }
.author-posts__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.3rem 0.85rem;
	font-size: 0.76rem;
	color: var(--text-faint);
}
.author-posts__meta-item { display: inline-flex; align-items: center; gap: 0.2rem; }
.author-posts__meta .icon { width: 0.85rem; height: 0.85rem; }

.author-empty {
	text-align: center;
	color: var(--text-faint);
	padding: 3rem 0;
}

/* 作者页内的朋友圈流复用 moments.css(.moments-feed / .moment …) */
.author-feed .moments-feed { max-width: none; }

/* —— 分页:复用 layout.css .pagination 全局样式 —— */

/* —— 响应式:平板 / 手机 —— */
@media (max-width: 900px) {
	.author-body {
		display: block;               /* 单栏:信息卡在上,内容在下 */
	}
	.author-info {
		position: static;             /* 关闭 sticky */
		margin-bottom: 1.5rem;
	}
}
@media (max-width: 768px) {
	.author-page { margin-top: 1.25rem; }
	.author-cover { margin-bottom: 1.5rem; }
	.author-cover__banner { height: clamp(180px, 36vw, 240px); }
	.author-cover__id { left: 1rem; bottom: 1rem; gap: 0.75rem; }
	.author-cover__avatar { width: 4.25rem; height: 4.25rem; border-width: 3px; }
	.author-cover__name { font-size: 1.3rem; }
	.author-cover__signature { font-size: 0.88rem; }
}
@media (max-width: 480px) {
	.author-cover__id { bottom: 0.75rem; }
	.author-cover__avatar { width: 3.5rem; height: 3.5rem; }
	.author-cover__name { font-size: 1.1rem; }
	.author-posts__link { padding: 0.75rem 0.85rem; gap: 0.7rem; }
	.author-posts__thumb { width: 4rem; height: 3rem; }
	.author-posts__name { font-size: 0.92rem; }
}

/* —— 标签栏(文章 / 朋友圈)· v6.0.13 —— */
.author-tabs {
	display: flex;
	gap: 0.25rem;
	border-bottom: 1px solid var(--line);
	margin-bottom: 0;          /* 卡头:贴顶,下边框作与内容的分隔线 */
	padding: 0 0.2rem;
}
.author-tabs__btn {
	background: none;
	border: 0;
	padding: 0.6rem 1rem;
	position: relative;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--text-faint);
	cursor: pointer;
	transition: color 0.15s ease;
}
.author-tabs__btn:hover,
.author-tabs__btn:focus,
.author-tabs__btn:active { background: none; }   /* 压过全局 button :hover/:focus 的蓝底 · v6.0.17 */
.author-tabs__btn:hover { color: var(--text-muted); }
/* 选中态只用底部蓝线(::after),按钮不改文字色 / 无其他选中样式 · v6.0.16 */
.author-tabs__btn.is-active::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	background: var(--primary);
	border-radius: 2px;
}

.author-tab { display: none; }
.author-tab.is-active { display: block; }

.author-tab__more {
	display: block;
	margin: 0;
	padding: 0 1.1rem 1.2rem;   /* 入卡后补内边距,与列表左对齐 */
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--primary);
	text-decoration: none;
}
.author-tab__more:hover { text-decoration: underline; }
