/**
 * 问答页 - Material Design 3（对齐 Material Web / m3.material.io）
 * 用于 template/responsive/extend/faq.htm
 * 结构排版：M3 layout density、typescale、4dp 间距、卡片/列表/表单组件规范
 * 参考：https://m3.material.io/foundations/layout https://m3.material.io/styles/typography
 */
.mdc-faq-page {
	/* 间距（M3 4dp 网格：space12/16/24） */
	--md-sys-spacing-space-4: 4px;
	--md-sys-spacing-space-8: 8px;
	--md-sys-spacing-space-12: 12px;
	--md-sys-spacing-space-16: 16px;
	--md-sys-spacing-space-24: 24px;
	--mdc-faq-gap: var(--md-sys-spacing-space-16);

	/* MD3 字体层级（Material Web typescale：title/body/label） */
	--md-ref-typeface-plain: system-ui, 'Segoe UI', Roboto, sans-serif;
	--md-sys-typescale-title-large-size: 22px;
	--md-sys-typescale-title-large-line-height: 28px;
	--md-sys-typescale-title-large-weight: 400;
	--md-sys-typescale-title-medium-size: 16px;
	--md-sys-typescale-title-medium-line-height: 24px;
	--md-sys-typescale-title-medium-weight: 500;
	--md-sys-typescale-body-large-size: 16px;
	--md-sys-typescale-body-large-line-height: 24px;
	--md-sys-typescale-body-medium-size: 14px;
	--md-sys-typescale-body-medium-line-height: 20px;
	--md-sys-typescale-body-small-size: 12px;
	--md-sys-typescale-body-small-line-height: 16px;
	--md-sys-typescale-label-large-size: 14px;
	--md-sys-typescale-label-large-line-height: 20px;
	--md-sys-typescale-label-medium-size: 12px;
	--md-sys-typescale-label-medium-line-height: 16px;
	--md-sys-typescale-label-medium-weight: 500;

	/* MD3 背色灰度：蓝灰色系（与全站 md3-reset 一致，不用紫） */
	--md-sys-color-background: #fafbff;
	--md-sys-color-surface: #fafbff;
	--md-sys-color-surface-bright: #ffffff;
	--md-sys-color-surface-dim: #dde1e8;
	--md-sys-color-surface-container-lowest: #ffffff;
	--md-sys-color-surface-container-low: #f5f9ff;
	--md-sys-color-surface-container: #eef4fc;
	--md-sys-color-surface-container-high: #e9f1fb;
	--md-sys-color-surface-container-highest: #e0eaf5;
	--md-sys-color-surface-variant: #eef5ff;
	--md-sys-color-on-surface: #1c1b1f;
	--md-sys-color-on-surface-variant: #49454f;
	--md-sys-color-outline: #5c6b7a;
	--md-sys-color-outline-variant: #c7d7ea;
	--md-sys-color-primary: #1976d2;
	--md-sys-color-on-primary: #ffffff;
	--md-sys-color-primary-container: #d0e4ff;
	--md-sys-color-on-primary-container: #001d35;
	--md-sys-color-secondary: #535e71;
	--md-sys-color-on-secondary: #ffffff;
	--md-sys-color-secondary-container: #d7e3f7;
	--md-sys-color-on-secondary-container: #101c2b;
	--md-sys-color-tertiary: #1565c0;
	--md-sys-color-on-tertiary: #ffffff;
	--md-sys-color-tertiary-container: #e3f2fd;
	--md-sys-color-on-tertiary-container: #001d35;
	--md-sys-color-error: #b3261e;
	--md-sys-color-on-error: #ffffff;
	--md-sys-color-error-container: #f9dedc;
	--md-sys-color-on-error-container: #410e0b;

	/* MD3 形状令牌（m3.material.io/styles/shape） */
	--md-sys-shape-corner-none: 0;
	--md-sys-shape-corner-extra-small: 4px;
	--md-sys-shape-corner-small: 4px;
	--md-sys-shape-corner-medium: 8px;
	--md-sys-shape-corner-large: 12px;
	--md-sys-shape-corner-extra-large: 16px;
	--md-sys-shape-corner-full: 9999px;

	/* 阴影（elevation） */
	--md-sys-elevation-level0: 0 1px 2px rgba(0,0,0,.06);
	--md-sys-elevation-level1: 0 1px 3px 1px rgba(0,0,0,.07), 0 1px 2px rgba(0,0,0,.06);

	background: var(--md-sys-color-surface-container-lowest);
	min-height: 50vh;
	padding: var(--md-sys-spacing-space-16) 0;
	box-sizing: border-box;
}
.mdc-faq-page__inner {
	max-width: none;
	width: 100%;
	margin: 0 auto;
	padding: 0 var(--md-sys-spacing-space-16);
	box-sizing: border-box;
}
.mdc-faq-page__inner > .sanxio-path-bar {
	margin-bottom: var(--md-sys-spacing-space-16);
}
.mdc-faq-layout {
	display: flex;
	gap: var(--md-sys-spacing-space-16);
	align-items: flex-start;
}
.mdc-faq-main {
	flex: 1 1 0;
	min-width: 0;
}
.mdc-faq-title {
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-title-large-size);
	font-weight: var(--md-sys-typescale-title-large-weight);
	line-height: var(--md-sys-typescale-title-large-line-height);
	letter-spacing: 0;
	color: var(--md-sys-color-on-surface);
	margin: 0 0 var(--mdc-faq-gap);
	padding-bottom: var(--md-sys-spacing-space-16);
	border-bottom: 1px solid var(--md-sys-color-outline-variant);
}

/* 卡片（M3 outlined card：容器 + 圆角 + 描边） */
.mdc-faq-card {
	background: var(--md-sys-color-surface-container-lowest);
	border: 1px solid var(--md-sys-color-outline-variant);
	border-radius: var(--md-sys-shape-corner-extra-large);
	box-shadow: var(--md-sys-elevation-level0);
	padding: var(--md-sys-spacing-space-16);
	margin-bottom: var(--md-sys-spacing-space-16);
	box-sizing: border-box;
}
.mdc-faq-card.sanxio-card--style5 {
	padding: 0;
	overflow: hidden;
}
.mdc-faq-card.sanxio-card--style5 > .sanxio-card__body {
	padding: var(--md-sys-spacing-space-16);
	box-sizing: border-box;
}
.mdc-faq-form-card {
	margin-top: var(--md-sys-spacing-space-16);
}
.mdc-faq-card--empty {
	text-align: center;
	border-style: dashed;
	background: var(--md-sys-color-surface-container-low);
	cursor: pointer;
	transition: background .2s;
}
.mdc-faq-card--empty:hover {
	background: var(--md-sys-color-surface-container);
}
.mdc-faq-card--empty:focus-visible {
	outline: 2px solid var(--md-sys-color-primary);
	outline-offset: 2px;
}

/* 列表/空卡头部：「我要提问」放在卡片内 */
.mdc-faq-card__head {
	min-height: var(--sanxio-card-head-min-height);
	padding: var(--sanxio-card-head-padding-y) var(--sanxio-card-head-padding-x);
	margin: calc(var(--md-sys-spacing-space-16) * -1) calc(var(--md-sys-spacing-space-16) * -1) var(--md-sys-spacing-space-16);
	background: var(--sanxio-card-head-bg);
	border-radius: var(--md-sys-shape-corner-extra-large) var(--md-sys-shape-corner-extra-large) 0 0;
	border-bottom: 1px solid var(--sanxio-card-head-border);
}
.mdc-faq-card.sanxio-card--style5 > .mdc-faq-card__head {
	margin: 0;
	border-radius: 0;
	height: var(--sanxio-card-head-min-height);
	padding-top: 0;
	padding-bottom: 0;
	align-items: center;
}
.mdc-faq-card__title {
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-title-medium-size);
	font-weight: var(--md-sys-typescale-title-medium-weight);
	line-height: var(--md-sys-typescale-title-medium-line-height);
	color: var(--md-sys-color-on-surface);
	margin: 0;
}
.mdc-faq-card--empty .mdc-faq-card__head {
	margin-bottom: var(--md-sys-spacing-space-16);
}
.mdc-faq-card--empty.sanxio-card--style5 > .mdc-faq-card__head {
	margin-bottom: 0;
}

/* 静态模板：面包屑（M3 label-large） */
.mdc-faq-page__inner > .sanxio-path-bar:first-of-type {
	margin-bottom: var(--md-sys-spacing-space-16);
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-label-large-size);
	line-height: var(--md-sys-typescale-label-large-line-height);
	color: var(--md-sys-color-on-surface-variant);
}
.mdc-faq-page__inner > .sanxio-path-bar a {
	color: var(--md-sys-color-primary);
	text-decoration: none;
}
.mdc-faq-page__inner > .sanxio-path-bar a:hover { text-decoration: underline; }
.mdc-faq-page__inner > .sanxio-path-bar .sanxio-path-bar__sep {
	margin: 0 6px;
	opacity: 0.7;
}

/* 静态模板：头像占位 */
.mdc-faq-form__avatar-placeholder {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--md-sys-color-surface-container);
	border: 1px dashed var(--md-sys-color-outline-variant);
}
.mdc-faq-form__icon--img,
.mdc-faq-form__icon--video {
	display: inline-block;
	width: 24px;
	height: 24px;
	background: var(--md-sys-color-outline-variant);
	border-radius: 4px;
	opacity: 0.8;
}
.mdc-faq-form__icon--video { border-radius: 50%; }

/* 问答列表（M3 list：leading 徽标 + 主内容 + supporting 元信息） */
.mdc-faq-list {
	display: flex;
	flex-direction: column;
	gap: var(--md-sys-spacing-space-12);
}
.mdc-faq-item {
	display: grid;
	grid-template-columns: 32px 1fr;
	grid-template-rows: auto auto;
	gap: var(--md-sys-spacing-space-8) var(--md-sys-spacing-space-12);
	align-items: start;
	padding: var(--md-sys-spacing-space-12) 0;
	border-bottom: 1px solid var(--md-sys-color-outline-variant);
}
.mdc-faq-item:last-child {
	border-bottom: none;
}
.mdc-faq-item__badge {
	grid-row: 1 / -1;
	width: 28px;
	height: 28px;
	border-radius: var(--md-sys-shape-corner-full);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-label-medium-size);
	font-weight: var(--md-sys-typescale-label-medium-weight);
	line-height: 1;
	background: var(--md-sys-color-primary-container);
	color: var(--md-sys-color-on-primary-container);
}
.mdc-faq-item--answer .mdc-faq-item__badge {
	background: var(--md-sys-color-secondary-container);
	color: var(--md-sys-color-on-secondary-container);
}
.mdc-faq-item__body {
	grid-column: 2;
	min-width: 0;
}
.mdc-faq-item__content {
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-body-medium-size);
	line-height: var(--md-sys-typescale-body-medium-line-height);
	color: var(--md-sys-color-on-surface);
	word-break: break-word;
}
.mdc-faq-item__content a {
	color: var(--md-sys-color-primary);
	text-decoration: none;
}
.mdc-faq-item__content a:hover {
	text-decoration: underline;
}
.mdc-faq-tag {
	display: inline-block;
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-label-medium-size);
	line-height: var(--md-sys-typescale-label-medium-line-height);
	padding: var(--md-sys-spacing-space-4) var(--md-sys-spacing-space-8);
	border-radius: var(--md-sys-shape-corner-extra-small);
	margin-right: var(--md-sys-spacing-space-8);
}
.mdc-faq-tag--best {
	background: var(--md-sys-color-tertiary-container);
	color: var(--md-sys-color-on-tertiary-container);
}
.mdc-faq-tag--bought {
	background: var(--md-sys-color-primary-container);
	color: var(--md-sys-color-on-primary-container);
}
.mdc-faq-item__meta {
	grid-column: 2;
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-body-small-size);
	line-height: var(--md-sys-typescale-body-small-line-height);
	color: var(--md-sys-color-on-surface-variant);
}
.mdc-faq-item__user {
	margin-right: var(--md-sys-spacing-space-8);
}
.mdc-faq-actions {
	margin-top: var(--md-sys-spacing-space-8);
	display: flex;
	flex-wrap: wrap;
	gap: var(--md-sys-spacing-space-8);
	align-items: center;
}
.mdc-faq-btn {
	background: none;
	border: none;
	padding: 0 var(--md-sys-spacing-space-4);
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-label-medium-size);
	line-height: var(--md-sys-typescale-label-medium-line-height);
	color: var(--md-sys-color-on-surface-variant);
	cursor: pointer;
}
.mdc-faq-btn--text:hover {
	color: var(--md-sys-color-primary);
}
.mdc-faq-meta {
	font-size: var(--md-sys-typescale-label-medium-size);
	line-height: var(--md-sys-typescale-label-medium-line-height);
	color: var(--md-sys-color-on-surface-variant);
}
.mdc-faq-role {
	color: var(--md-sys-color-error);
	font-weight: 500;
}

/* 空状态 */
.mdc-faq-empty-block {
	display: block;
	cursor: pointer;
	border: 1px dashed var(--md-sys-color-outline-variant);
	border-radius: var(--md-sys-shape-corner-extra-large);
	background: var(--md-sys-color-surface-container-low);
	margin-bottom: var(--md-sys-spacing-space-16);
	transition: background .2s;
}
.mdc-faq-empty-block:hover {
	background: var(--md-sys-color-surface-container);
}
.mdc-faq-empty-block:focus-visible {
	outline: 2px solid var(--md-sys-color-primary);
	outline-offset: 2px;
}
.mdc-faq-empty {
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-body-medium-size);
	line-height: var(--md-sys-typescale-body-medium-line-height);
	color: var(--md-sys-color-on-surface-variant);
	text-align: center;
	padding: var(--md-sys-spacing-space-24) var(--md-sys-spacing-space-16);
	margin: 0;
}
/* 分页：MD3 风格（与页面蓝灰/主色一致）
 * 列表/搜索页分页来自 tag 模板，使用 .pages；详情页使用 .mdc-faq-pages */
.mdc-faq-pages,
.mdc-faq-page .pages {
	margin-top: var(--md-sys-spacing-space-24);
	margin-bottom: var(--md-sys-spacing-space-16);
	text-align: center;
	font-size: var(--md-sys-typescale-body-medium-size);
	line-height: 1.5;
}
.mdc-faq-pages a,
.mdc-faq-pages strong,
.mdc-faq-page .pages a,
.mdc-faq-page .pages strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	margin: 0 2px;
	border-radius: var(--md-sys-shape-corner-full);
	text-decoration: none;
	color: var(--md-sys-color-on-surface);
	transition: background .2s, color .2s;
}
.mdc-faq-pages a:hover,
.mdc-faq-page .pages a:hover {
	background: var(--md-sys-color-surface-container-high);
	color: var(--md-sys-color-primary);
}
/* 上一页/下一页：不用 « » 字符，复用全站 sanxio-scroll-arrow 的箭头样式（CSS 绘制），核心只能输出 <a> 故用 ::before 绘制 */
.mdc-faq-pages a:first-of-type,
.mdc-faq-pages a:last-of-type,
.mdc-faq-page .pages a:first-of-type,
.mdc-faq-page .pages a:last-of-type {
	min-width: 48px;
	width: 48px;
	height: 48px;
	padding: 0;
	font-size: 0;
	line-height: 0;
	overflow: hidden;
	color: var(--md-sys-color-on-surface-variant);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.mdc-faq-pages a:first-of-type:hover,
.mdc-faq-pages a:last-of-type:hover,
.mdc-faq-page .pages a:first-of-type:hover,
.mdc-faq-page .pages a:last-of-type:hover {
	color: var(--md-sys-color-on-surface);
}
/* 左箭头（与 scroll-arrows.css 中 .sanxio-scroll-arrow--prev 一致） */
.mdc-faq-pages a:first-of-type::before,
.mdc-faq-page .pages a:first-of-type::before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border-left: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	margin-left: 2px;
}
/* 右箭头（与 .sanxio-scroll-arrow--next 一致） */
.mdc-faq-pages a:last-of-type::before,
.mdc-faq-page .pages a:last-of-type::before {
	content: '';
	display: block;
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-top: 2px solid currentColor;
	transform: rotate(45deg);
	margin-right: 2px;
}
.mdc-faq-pages strong,
.mdc-faq-page .pages strong {
	background: var(--md-sys-color-primary);
	color: var(--md-sys-color-on-primary);
	font-weight: 500;
}
.mdc-faq-pages .pages_inp,
.mdc-faq-page .pages .pages_inp {
	width: 48px;
	height: 36px;
	margin: 0 6px 0 12px;
	padding: 0 8px;
	border: 1px solid var(--md-sys-color-outline-variant);
	border-radius: var(--md-sys-shape-corner-small);
	background: var(--md-sys-color-surface-container-lowest);
	color: var(--md-sys-color-on-surface);
	font-size: var(--md-sys-typescale-body-medium-size);
	text-align: center;
	vertical-align: middle;
}
.mdc-faq-pages .pages_inp:focus,
.mdc-faq-page .pages .pages_inp:focus {
	outline: none;
	border-color: var(--md-sys-color-primary);
	box-shadow: 0 0 0 2px rgba(25, 118, 210, 0.2);
}
.mdc-faq-pages .pages_btn,
.mdc-faq-page .pages .pages_btn {
	height: 36px;
	padding: 0 16px;
	margin-left: 4px;
	border: none;
	border-radius: var(--md-sys-shape-corner-full);
	background: var(--md-sys-color-primary);
	color: var(--md-sys-color-on-primary);
	font-size: var(--md-sys-typescale-label-large-size);
	font-weight: 500;
	cursor: pointer;
	transition: box-shadow .2s, background .2s;
	vertical-align: middle;
}
.mdc-faq-pages .pages_btn:hover,
.mdc-faq-page .pages .pages_btn:hover {
	box-shadow: var(--md-sys-elevation-level1);
}
.mdc-faq-pages .pages_btn:active,
.mdc-faq-page .pages .pages_btn:active {
	background: var(--md-sys-color-tertiary);
}
/* 分页中的“共 x 条 y 页”等说明文字 */
.mdc-faq-pages input[type="hidden"] + a + a,
.mdc-faq-pages input[type="text"].pages_inp,
.mdc-faq-page .pages input[type="text"].pages_inp {
	vertical-align: middle;
}
.mdc-faq-pages .pages_inp::before,
.mdc-faq-pages .pages_inp::after,
.mdc-faq-page .pages .pages_inp::before,
.mdc-faq-page .pages .pages_inp::after {
	content: none;
}

/* 隐藏的上传行：强制隐藏且不参与点击，避免误触打开文件选择器 */
.mdc-faq-page #mt-image.dsn,
.mdc-faq-page #mt-video.dsn {
	display: none !important;
	pointer-events: none !important;
	visibility: hidden !important;
}
/* WebUploader 可能把可点层挂到 body，限制本页上传相关 id 的任意子元素不覆盖主内容区 */
.mdc-faq-page .mdc-faq-card--empty {
	position: relative;
	z-index: 2;
}
.mdc-faq-page .mdc-faq-card--empty .mdc-faq-empty {
	pointer-events: none;
}

/* 表单（M3 text field outlined + checkbox + filled button） */
.mdc-faq-form__row {
	margin-bottom: var(--md-sys-spacing-space-16);
}
.mdc-faq-form__row--editor {
	display: flex;
	gap: var(--md-sys-spacing-space-12);
	align-items: flex-start;
}
.mdc-faq-form__avatar {
	flex-shrink: 0;
}
.mdc-faq-form__avatar img {
	display: block;
	width: 48px;
	height: 48px;
	border-radius: var(--md-sys-shape-corner-full);
	object-fit: cover;
	background: var(--md-sys-color-surface-container);
}
.mdc-faq-form__field {
	flex: 1;
	min-width: 0;
}
.mdc-textfield {
	display: block;
	position: relative;
}
.mdc-textfield--outlined .mdc-textfield__input {
	width: 100%;
	box-sizing: border-box;
	padding: var(--md-sys-spacing-space-12) var(--md-sys-spacing-space-16);
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-body-medium-size);
	line-height: var(--md-sys-typescale-body-medium-line-height);
	color: var(--md-sys-color-on-surface);
	background: transparent;
	border: 1px solid var(--md-sys-color-outline-variant);
	border-radius: var(--md-sys-shape-corner-extra-small);
	transition: border-color .2s, box-shadow .2s;
}
.mdc-textfield--outlined .mdc-textfield__input::placeholder {
	color: var(--md-sys-color-on-surface-variant);
	opacity: 0.8;
}
.mdc-textfield--outlined .mdc-textfield__input:hover {
	border-color: var(--md-sys-color-outline);
}
.mdc-textfield--outlined .mdc-textfield__input:focus {
	outline: none;
	border-color: var(--md-sys-color-primary);
	box-shadow: 0 0 0 2px var(--md-sys-color-primary-container);
}
.mdc-textfield--textarea .mdc-textfield__input {
	min-height: 100px;
	resize: vertical;
}
.mdc-faq-form__opts {
	display: flex;
	flex-wrap: wrap;
	gap: var(--md-sys-spacing-space-12);
	align-items: center;
	margin-top: var(--md-sys-spacing-space-8);
}
.mdc-checkbox {
	display: inline-flex;
	align-items: center;
	gap: var(--md-sys-spacing-space-8);
	cursor: pointer;
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-label-large-size);
	line-height: var(--md-sys-typescale-label-large-line-height);
	color: var(--md-sys-color-on-surface-variant);
}
.mdc-checkbox input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}
.mdc-checkbox__box {
	width: 18px;
	height: 18px;
	border: 2px solid var(--md-sys-color-outline);
	border-radius: var(--md-sys-shape-corner-extra-small);
	flex-shrink: 0;
}
.mdc-checkbox input:checked + .mdc-checkbox__box {
	background: var(--md-sys-color-primary);
	border-color: var(--md-sys-color-primary);
}
.mdc-checkbox input:focus-visible + .mdc-checkbox__box {
	outline: 2px solid var(--md-sys-color-primary);
	outline-offset: 2px;
}
.mdc-faq-form__icon {
	width: 24px;
	height: 24px;
	cursor: pointer;
	opacity: 0.7;
}
.mdc-faq-form__icon:hover {
	opacity: 1;
}
.mdc-faq-form__label {
	display: block;
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-label-large-size);
	line-height: var(--md-sys-typescale-label-large-line-height);
	color: var(--md-sys-color-on-surface-variant);
	margin-bottom: var(--md-sys-spacing-space-8);
}
.mdc-faq-form__value {
	min-height: 24px;
}
.mdc-faq-form__tip {
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-label-medium-size);
	line-height: var(--md-sys-typescale-label-medium-line-height);
	color: var(--md-sys-color-on-surface-variant);
	margin: 0;
}
.mdc-faq-form__row--actions {
	display: flex;
	align-items: center;
	gap: var(--md-sys-spacing-space-12);
	flex-wrap: wrap;
	position: relative;
}
/* 提交按钮外包一层，Dlock() 插入的 .ui-lock 落在该层内；按钮与遮盖同大小、同形状 */
.mdc-faq-form__submit-wrap {
	position: relative;
	display: inline-flex;
	width: fit-content;
	height: fit-content;
	border-radius: var(--md-sys-shape-corner-small, 8px);
	overflow: hidden;
}
.mdc-faq-form__submit-wrap .mdc-button {
	margin: 0 !important;  /* 避免按钮 margin 把包裹层撑大，保证包裹层=按钮尺寸 */
}
.mdc-faq-form__row--actions .mdc-faq-form__submit-wrap .ui-lock {
	position: absolute !important;
	inset: 0 !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	transform: none !important;
	background-size: 20px 20px !important;
	background-position: center !important;
	border-radius: var(--md-sys-shape-corner-small, 8px) !important;  /* 四角与按钮同圆 8px */
	opacity: 0.35 !important;  /* 透明度大一点，不挡按钮 */
	z-index: 1;
}
.mdc-faq-form__row--actions .mdc-faq-form__submit-wrap .ui-lock + button {
	opacity: 0.85;  /* 遮盖更透时，按钮稍亮一点 */
}
/* 表单校验错误提示：与登录页 .mdc-field-error 统一（MD3 错误高亮卡片） */
.mdc-faq-field-error:empty {
	display: none !important;
	padding: 0;
	margin: 0;
	border: none;
	background: transparent;
}
.mdc-faq-field-error:not(:empty) {
	display: block;
	margin-top: var(--md-sys-spacing-space-8);
	margin-bottom: var(--md-sys-spacing-space-4);
	padding: 8px 12px;
	border-radius: var(--md-sys-shape-corner-medium);
	border-left: 3px solid var(--md-sys-color-error);
	background: rgba(179, 38, 30, 0.08);
	color: var(--md-sys-color-error);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	animation: mdc-faq-field-error-in 0.18s ease-out;
}
@keyframes mdc-faq-field-error-in {
	from { opacity: 0; transform: translateY(-2px); }
	to { opacity: 1; transform: translateY(0); }
}
.mdc-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px var(--md-sys-spacing-space-24);
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-label-large-size);
	font-weight: var(--md-sys-typescale-label-medium-weight);
	line-height: var(--md-sys-typescale-label-large-line-height);
	border: none;
	border-radius: var(--md-sys-shape-corner-full);
	cursor: pointer;
	transition: box-shadow .2s, background .2s;
}
.mdc-button--filled {
	background: var(--md-sys-color-primary);
	color: var(--md-sys-color-on-primary);
}
.mdc-button--filled:hover {
	box-shadow: var(--md-sys-elevation-level1);
}

/* 侧栏 */
/* 侧栏（M3 navigation：列表 + 当前态） */
.mdc-faq-side {
	width: 240px;
	flex-shrink: 0;
}
@media (max-width: 768px) {
	.mdc-faq-layout {
		flex-direction: column;
	}
	.mdc-faq-side {
		width: 100%;
		order: -1;
	}
}
.mdc-faq-side-card {
	padding: var(--md-sys-spacing-space-16);
}
.mdc-faq-nav {
	list-style: none;
	margin: 0;
	padding: 0;
}
.mdc-faq-nav__item {
	margin: 0;
	border-radius: var(--md-sys-shape-corner-extra-small);
}
.mdc-faq-nav__link {
	display: block;
	padding: var(--md-sys-spacing-space-12);
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-body-medium-size);
	line-height: var(--md-sys-typescale-body-medium-line-height);
	color: var(--md-sys-color-on-surface);
	text-decoration: none;
	border-radius: var(--md-sys-shape-corner-extra-small);
	transition: background .2s;
}
.mdc-faq-nav__link:hover {
	background: var(--md-sys-color-surface-container-low);
}
.mdc-faq-nav__item--on .mdc-faq-nav__link {
	background: var(--md-sys-color-secondary-container);
	color: var(--md-sys-color-on-secondary-container);
	font-weight: var(--md-sys-typescale-label-medium-weight);
}
/* 侧栏搜索框：与主表单一致的轮廓样式，宽度占满 */
.mdc-faq-search {
	margin-top: var(--md-sys-spacing-space-16);
	width: 100%;
}
.mdc-faq-search .mdc-textfield--outlined {
	display: block;
	width: 100%;
}
.mdc-faq-search .mdc-textfield__input {
	width: 100%;
	box-sizing: border-box;
	padding: var(--md-sys-spacing-space-12) var(--md-sys-spacing-space-16);
	font-family: var(--md-ref-typeface-plain);
	font-size: var(--md-sys-typescale-body-medium-size);
	line-height: var(--md-sys-typescale-body-medium-line-height);
	color: var(--md-sys-color-on-surface);
	background: var(--md-sys-color-surface-container-lowest);
	border: 1px solid var(--md-sys-color-outline-variant);
	border-radius: var(--md-sys-shape-corner-extra-small);
	transition: border-color .2s, box-shadow .2s;
}
.mdc-faq-search .mdc-textfield__input::placeholder {
	color: var(--md-sys-color-on-surface-variant);
	opacity: 0.8;
}
.mdc-faq-search .mdc-textfield__input:hover {
	border-color: var(--md-sys-color-outline);
}
.mdc-faq-search .mdc-textfield__input:focus {
	outline: none;
	border-color: var(--md-sys-color-primary);
	box-shadow: 0 0 0 2px var(--md-sys-color-primary-container);
}
.mdc-textfield--search .mdc-textfield__input {
	padding: var(--md-sys-spacing-space-12);
}

/* 媒体：mm-video / mm-image / mm-thumb 保持可用 */
.mdc-faq-page .mm-video,
.mdc-faq-page .mm-image,
.mdc-faq-page .mm-thumb {
	margin-top: 8px;
}
.mdc-faq-page .mm-thumb ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.mdc-faq-page .mm-thumb ul li img {
	max-width: 120px;
	height: auto;
	border-radius: 4px;
	cursor: pointer;
}
.mdc-faq-page .f_red {
	color: var(--md-sys-color-error);
	font-size: 12px;
}

/* 列表页保持单行信息：隐藏标题下方重复的用户/时间二行展示 */
.mdc-faq-page .faqs .mdc-faq-card__meta {
	display: none;
}
