.faq_item {
	border-bottom: 1px solid #e3e3e3;
}

.faq_question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	width: 100%;
	padding: 18px 0;
	background: none;
	border: none;
	text-align: left;
	font-size: 17px;
	line-height: 1.2;
	font-weight: 600;
	color: #222;
	cursor: pointer;
}

.faq_question:hover {
	color: #555;
}

.faq_toggle {
	position: relative;
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
}

.faq_toggle::before,
.faq_toggle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background: #555;
	transform: translate(-50%, -50%);
	transition: transform .25s ease, opacity .25s ease;
}

.faq_toggle::before {
	width: 18px;
	height: 2px;
}

.faq_toggle::after {
	width: 2px;
	height: 18px;
}

.faq_item.open .faq_toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
	opacity: 0;
}

.faq_answer {
	overflow: hidden;
	max-height: none;
	transition: max-height .3s ease;
}

.faq_ready .faq_item:not(.open) .faq_answer {
	max-height: 0;
}

.faq_answer_text {
	padding: 0 0 20px;
	font-size: 15px;
	line-height: 1.2;
	color: #555;
}

.faq_answer_text p {
	margin: 0 0 12px;
}

.faq_answer_text p:last-child {
	margin-bottom: 0;
}
