.theoasso-faq {
	position: relative;
	padding: 127px 32px;
	background: url("../../assets/images/bg_nuage.png") no-repeat center / cover;
	box-sizing: border-box;
	text-align: center;
}

/* Keep the block aligned with page padding (32px) even when alignfull is used */
.theoasso-faq.alignfull,
.wp-block-theoasso-faq.alignfull{
	width: calc(100vw - 64px);
	max-width: calc(100vw - 64px);
	margin-left: calc(50% - 50vw + 32px);
	margin-right: calc(50% - 50vw + 32px);
}

/* Back-compat: some saved pages may still have alignwide */
.theoasso-faq.alignwide,
.wp-block-theoasso-faq.alignwide{
	width: calc(100vw - 64px);
	max-width: calc(100vw - 64px);
	margin-left: calc(50% - 50vw + 32px);
	margin-right: calc(50% - 50vw + 32px);
}


.theoasso-faq__inner {
	max-width: 920px;
	margin: 0 auto;
	padding: 0 32px;
}

.theoasso-faq__title {
	margin: 0;
	text-align: center;
	font-family: var(--wp--preset--font-family--google-sans-flex);
	font-weight: 400;
	letter-spacing: -0.02em;
	font-size: clamp(32px, 3vw + 10px, 48px);
	line-height: 1.05;
	color: var(--wp--preset--color--contrast);
}

.theoasso-faq__panel {
	max-width: 820px;
	margin: 48px auto 0;
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 16px;
	overflow: hidden;
	text-align: left;
    background: #FFFFFF33;
    backdrop-filter: blur(40px);
    box-shadow: 0px 4px 40px 0px #0000000D;

}

.theoasso-faq__panel :where(details.wp-block-details) {
	padding: 18px 22px;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
}

.theoasso-faq__panel :where(details.wp-block-details:first-child) {
	border-top: none;
}

.theoasso-faq__panel :where(details.wp-block-details > summary) {
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	font-weight: 600;
	font-size: 18px;
	line-height: 1.2;
	color: var(--wp--preset--color--contrast);
}

.theoasso-faq__panel :where(details.wp-block-details > summary::-webkit-details-marker) {
	display: none;
}

.theoasso-faq__panel :where(details.wp-block-details > summary)::after {
	content: "\276F";
	flex: 0 0 auto;
	font-size: 18px;
	opacity: 0.7;
	transform: rotate(90deg);
	transition: transform 160ms ease;
}


.theoasso-faq__panel :where(details.wp-block-details[open] > summary)::after {
	transform: rotate(-90deg);
}

/* Answer wrapper injected by blocks/faq/view.js (front only) */
.theoasso-faq__panel :where(details.wp-block-details > .theoasso-faq__answer){
	overflow: hidden;
	height: 0;
	opacity: 0;
	transform: translateY(-4px);
	transition: height 260ms ease, opacity 200ms ease, transform 200ms ease;
	will-change: height, opacity, transform;
}

.theoasso-faq__panel :where(details.wp-block-details.is-opening > .theoasso-faq__answer),
.theoasso-faq__panel :where(details.wp-block-details[open] > .theoasso-faq__answer){
	opacity: 1;
	transform: translateY(0);
}

.theoasso-faq__panel :where(details.wp-block-details > :not(summary)) {
	margin-top: 12px;
	color: color-mix(in srgb, currentColor 78%, transparent);
	font-size: 15px;
	line-height: 1.55;
}

@media (prefers-reduced-motion: reduce){
	.theoasso-faq__panel :where(details.wp-block-details > summary)::after{
		transition: none;
	}
	.theoasso-faq__panel :where(details.wp-block-details > .theoasso-faq__answer){
		transition: none;
		transform: none;
	}
}

@media (max-width: 720px){
	.theoasso-faq{
		padding: 48px 32px;
	}
}

@media (max-width: 600px) {
	.theoasso-faq__inner {
		padding: 0 18px;
	}

	.theoasso-faq__panel :where(details.wp-block-details) {
		padding: 16px 16px;
	}
}
