.dpi-faq {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.dpi-faq__item {
	border-radius: 0;
	overflow: hidden;
}

.dpi-faq__question {
	margin: 0;
}

.dpi-faq__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin: 0;
	padding: 24px 38px;
	background-color: #f5f6fa;
	border: none;
	appearance: none;
	color: var(--dpi-lime-fg);
	font: inherit;
	text-align: left;
	white-space: normal; /* Hello Elementor's button reset sets nowrap, which stops long titles from wrapping on mobile */
	cursor: pointer;
	transition: background-color 0.3s ease, color 0.3s ease; /* matches Hello Elementor's button reset (all .3s) so it no longer depends on the theme */
}

.dpi-faq__trigger:hover {
	color: var(--dpi-orange);
}

.dpi-faq__item.is-open .dpi-faq__trigger {
	color: var(--dpi-orange);
}

.dpi-faq__title {
	flex: 1 1 auto;
	min-width: 0; /* flex items default to min-width: auto, which blocks wrapping and lets long text overflow instead */
	overflow-wrap: break-word;
	word-break: break-word;
}

.dpi-faq__icon {
	position: relative;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: inherit;
}

.dpi-faq__icon--open {
	display: none;
}

.dpi-faq__item.is-open .dpi-faq__icon--close {
	display: none;
}

.dpi-faq__item.is-open .dpi-faq__icon--open {
	display: inline-flex;
}

.dpi-faq__content {
	height: 0;
	overflow: hidden;
	background-color: var(--dpi-fg-on-dark);
	transition: height var(--dpi-faq-duration, 400ms) ease, background-color 0.3s ease; /* color timing matches the question trigger */
}

.dpi-faq__content-inner {
	padding: 0 38px 24px 38px;
	color: #4b5563;
	transition: color 0.3s ease;
}

@media (max-width: 767px) {
	.dpi-faq {
		gap: 12px;
	}

	.dpi-faq__trigger {
		padding: 18px 12px;
	}

	.dpi-faq__content-inner {
		padding: 0 12px 18px 12px;
	}
}
