/**
 * Widget FAQ accordéon.
 */
.snf-faq {
	max-width: 820px;
	margin: 0 auto;
}
.snf-faq__item {
	border: 1px solid var(--snf-border, #E8E2D8);
	border-radius: 12px;
	background: var(--snf-white, #fff);
	margin-bottom: 12px;
	overflow: hidden;
	transition: box-shadow .2s;
}
.snf-faq__item.is-open {
	box-shadow: 0 8px 26px rgba(0, 0, 0, .07);
}
.snf-faq__q {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	text-align: left;
	padding: 18px 22px;
	background: none;
	border: none;
	cursor: pointer;
	font-family: var(--fh, 'Josefin Sans', sans-serif);
	font-size: 1rem;
	font-weight: 700;
	color: var(--snf-navy, #1A2A3A);
}
.snf-faq__chev {
	flex-shrink: 0;
	width: 12px;
	height: 12px;
	border-right: 2px solid var(--snf-green, #00A8E8);
	border-bottom: 2px solid var(--snf-green, #00A8E8);
	transform: rotate(45deg);
	transition: transform .3s ease;
	margin-top: -4px;
}
.snf-faq__item.is-open .snf-faq__chev {
	transform: rotate(-135deg);
	margin-top: 2px;
}
/* Dépliage fluide sans saut (0fr → 1fr). */
.snf-faq__a-wrap {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .32s ease;
}
.snf-faq__item.is-open .snf-faq__a-wrap {
	grid-template-rows: 1fr;
}
.snf-faq__a {
	overflow: hidden;
}
.snf-faq__a > * {
	margin: 0 22px 18px;
	font-size: .92rem;
	line-height: 1.7;
	color: #444;
}
.snf-faq__q:focus-visible {
	outline: 2px solid var(--snf-green, #00A8E8);
	outline-offset: -2px;
}

@media (prefers-reduced-motion: reduce) {
	.snf-faq__a-wrap,
	.snf-faq__chev { transition: none; }
}
