/*
 * ETheme-Block — accordion-item（手风琴项）
 *
 * 交互内核复用 FAQ 已验证的实现：原生 <details>/<summary>，零 JS。
 * 展开态由 [open] 驱动，高度以 grid-template-rows: 0fr → 1fr 过渡，
 * 因而无需脚本就能获得平滑展开与浏览器原生的键盘 / 读屏语义。
 *
 * 编辑器内不使用 details（点击 summary 会折叠、干扰编辑），改由
 * editor.css 以 .is-open 类模拟同样的展开态。
 */

/* =========================================================
 * 条目
 * ========================================================= */
.etb-accordion__item {
	border-bottom: 1px solid var(--eth-border, rgba(0, 0, 0, 0.12));
	transition: opacity var(--etb-duration-normal) ease, transform var(--etb-duration-normal) ease;
}

/* =========================================================
 * 标题（summary）
 * ========================================================= */
.etb-accordion__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--eth-space-s, 1rem);
	padding: var(--eth-space-s, 1rem) 0;
	cursor: pointer;
	font-weight: var(--eth-fw-semibold, 600);
	color: var(--eth-text-title, #111);
	list-style: none;
	transition: color var(--eth-transition-s, var(--etb-duration-fast) ease);
}

.etb-accordion__question:hover {
	color: var(--eth-primary, #4f46e5);
}

.etb-accordion__question:focus-visible {
	outline: 3px solid var(--eth-primary-50, rgba(79, 70, 229, 0.5));
	outline-offset: 3px;
	border-radius: var(--eth-radius-xs, 0.25rem);
}

/* 隐藏 Safari / Chrome 的原生三角标记 */
.etb-accordion__question::-webkit-details-marker {
	display: none;
}

/* 展开指示：+ / × */
.etb-accordion__question::after {
	content: "+";
	flex: 0 0 auto;
	font-size: 1.25rem;
	line-height: 1;
	color: var(--eth-primary, #4f46e5);
	transition: transform var(--eth-transition-s, var(--etb-duration-fast) ease);
}

.etb-accordion__item[open] .etb-accordion__question::after,
.etb-accordion__item.is-open .etb-accordion__question::after {
	transform: rotate(45deg);
}

/* =========================================================
 * 正文：0fr → 1fr 高度过渡
 * ========================================================= */
.etb-accordion__answer {
	display: grid;
	grid-template-rows: 0fr;
	padding-bottom: 0;
	overflow: hidden;
	transition: grid-template-rows var(--eth-transition-m, var(--etb-duration-normal) ease), padding-bottom var(--eth-transition-m, var(--etb-duration-normal) ease);
}

.etb-accordion__answer-content {
	min-height: 0;
	line-height: var(--eth-lh-body, 1.6);
	color: var(--eth-text-body, #333);
}

.etb-accordion__item[open] .etb-accordion__answer,
.etb-accordion__item.is-open .etb-accordion__answer {
	grid-template-rows: 1fr;
	padding-bottom: var(--eth-space-s, 1rem);
}

/* 正文内首尾块不留多余外边距（避免展开态高度出现空隙） */
.etb-accordion__answer-content > :first-child {
	margin-top: 0;
}

.etb-accordion__answer-content > :last-child {
	margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
	.etb-accordion__item,
	.etb-accordion__answer,
	.etb-accordion__question,
	.etb-accordion__question::after {
		transition: none;
	}
}
