/* ==========================================================================
   .leqa-faq — accessible <details> accordion (T-D)
   Narrow well (--leqa-maxw-narrow). Composes with primitives. Tokens only.
   ========================================================================== */

.leqa-faq__head {
	display: flex;
	flex-direction: column;
	gap: var(--leqa-space-3);
	margin-bottom: var(--leqa-space-6);
}

.leqa-faq__title {
	font-size: var(--leqa-fs-h2);
}

.leqa-faq__list {
	display: flex;
	flex-direction: column;
	gap: var(--leqa-space-3);
}

.leqa-faq__item {
	border: var(--leqa-border-width) solid var(--leqa-border);
	border-radius: var(--leqa-radius);
	background: var(--leqa-bg-elev);
	overflow: hidden;
	transition: border-color var(--leqa-dur) var(--leqa-ease),
		background var(--leqa-dur) var(--leqa-ease);
}

.leqa-faq__item[open] {
	border-color: var(--leqa-border-strong);
}

.leqa-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--leqa-space-4);
	padding: var(--leqa-space-5);
	cursor: pointer;
	list-style: none;
	font-family: var(--leqa-font-display);
	font-weight: var(--leqa-weight-medium);
	font-size: var(--leqa-fs-h5);
	color: var(--leqa-text);
}

/* Hide the native disclosure triangle across engines. */
.leqa-faq__q::-webkit-details-marker {
	display: none;
}

.leqa-faq__q:focus-visible {
	outline: 2px solid var(--leqa-accent);
	outline-offset: -2px;
}

.leqa-faq__q-text {
	flex: 1;
}

.leqa-faq__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	inline-size: 28px;
	block-size: 28px;
	flex: none;
	border-radius: var(--leqa-radius-pill);
	border: var(--leqa-border-width) solid var(--leqa-border-strong);
	color: var(--leqa-accent);
	transition: transform var(--leqa-dur) var(--leqa-ease),
		background var(--leqa-dur-fast) var(--leqa-ease);
}

.leqa-faq__item[open] .leqa-faq__icon {
	transform: rotate(45deg);
	background: var(--leqa-accent-soft);
}

.leqa-faq__a {
	padding: 0 var(--leqa-space-5) var(--leqa-space-5);
	color: var(--leqa-text-muted);
	font-size: var(--leqa-fs-small);
	line-height: var(--leqa-lh-body);
}

.leqa-faq__a code {
	padding: 0.1em 0.4em;
	border-radius: var(--leqa-radius-sm);
	background: var(--leqa-bg-elev-2);
	color: var(--leqa-accent);
}

.leqa-faq__a a {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.leqa-faq__a strong {
	color: var(--leqa-text);
}

@media (prefers-reduced-motion: reduce) {
	.leqa-faq__item,
	.leqa-faq__icon {
		transition: none;
	}
}
