.sfp-faq-wrap {
	margin: 40px 0;
}

.entry-content .sfp-faq-wrap .sfp-faq-title,
body .entry-content h2.sfp-faq-title {
	margin: 0 0 18px;
	font-size: 20px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
}

.sfp-faq-wrap .sfp-faq-list {
	display: block;
	border-top: 1px solid #d9d9d9;
}

.sfp-faq-wrap .sfp-faq-item-front {
	border-bottom: 1px solid #d9d9d9;
	background: transparent;
}

.sfp-faq-wrap .sfp-faq-item-front details {
	display: block;
}

.sfp-faq-wrap .sfp-faq-item-front summary {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 0;
	cursor: pointer;
	list-style: none;
}

.sfp-faq-wrap .sfp-faq-item-front summary::-webkit-details-marker {
	display: none;
}

.entry-content .sfp-faq-wrap .sfp-faq-question,
body .entry-content h3.sfp-faq-question {
	margin: 0 !important;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
}

.sfp-faq-wrap .sfp-faq-icon {
	position: relative;
	flex: 0 0 24px;
	width: 24px;
	height: 24px;
	border-radius: 0;
	background: transparent;
}

.sfp-faq-wrap .sfp-faq-icon::before,
.sfp-faq-wrap .sfp-faq-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 2px;
	background: #2fc38a;
	border-radius: 999px;
	transform: translate(-50%, -50%);
	transform-origin: center;
	transition: transform 0.2s ease;
}

.sfp-faq-wrap .sfp-faq-icon::before {
	transform: translate(-50%, -50%) rotate(0deg);
}

.sfp-faq-wrap .sfp-faq-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
}

.sfp-faq-wrap .sfp-faq-item-front details[open] .sfp-faq-icon::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.sfp-faq-wrap .sfp-faq-item-front details[open] .sfp-faq-icon::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.entry-content .sfp-faq-wrap .sfp-faq-answer {
	padding: 0 0 18px;
	font-size: 16px;
	line-height: 1.6;
}

.entry-content .sfp-faq-wrap .sfp-faq-answer p {
	margin: 0 0 10px;
}

.entry-content .sfp-faq-wrap .sfp-faq-answer p:last-child {
	margin-bottom: 0;
}

@media (max-width: 767px) {
	.entry-content .sfp-faq-wrap .sfp-faq-title,
	body .entry-content h2.sfp-faq-title {
		font-size: 20px !important;
		margin-bottom: 16px !important;
	}

	.sfp-faq-wrap .sfp-faq-item-front summary {
		padding: 16px 0;
		gap: 14px;
	}

	.entry-content .sfp-faq-wrap .sfp-faq-question,
	body .entry-content h3.sfp-faq-question {
		font-size: 18px !important;
		line-height: 1.25 !important;
	}

	.sfp-faq-wrap .sfp-faq-icon {
		flex-basis: 22px;
		width: 22px;
		height: 22px;
	}

	.sfp-faq-wrap .sfp-faq-icon::before,
	.sfp-faq-wrap .sfp-faq-icon::after {
		width: 16px;
		height: 2px;
	}

	.entry-content .sfp-faq-wrap .sfp-faq-answer {
		padding: 0 0 14px;
		font-size: 15px;
	}
}