/* ==================================================
   BLOCO PERGUNTAS FREQUENTES
================================================== */

.bloco_perguntas_frequentes {
	width: 100%;
	display: block;
	position: relative;
	padding: 75px 0;
	background-color: #ffffff;
	overflow: hidden;
}

.bloco_perguntas_frequentes,
.bloco_perguntas_frequentes * {
	box-sizing: border-box;
}

.bloco_perguntas_frequentes .container {
	width: calc(100% - 40px);
	max-width: 1440px;
	margin: 0 auto;
}

.bloco_perguntas_frequentes .conteudo {
	width: 100%;
	display: block;
}


/* ==================================================
   TÍTULO PRINCIPAL
================================================== */

.bloco_perguntas_frequentes .titulo {
	width: 100%;
	display: block;
	margin-bottom: 38px;
	text-align: center;
}

.bloco_perguntas_frequentes .titulo .titulo_principal {
	width: 100%;
	margin: 0;
	color: #071b48;
	font-size: 29px;
	font-weight: 800;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
}

.bloco_perguntas_frequentes .titulo .titulo_principal span,
.bloco_perguntas_frequentes .titulo .titulo_principal strong {
	color: #e51b27;
}


/* ==================================================
   LISTAGEM
================================================== */

.bloco_perguntas_frequentes .itens {
	width: 100%;
	display: grid;
	align-items: start;
	gap: 14px 35px;
}


/* Uma pergunta por linha */

.bloco_perguntas_frequentes.qnt_1 .itens {
	grid-template-columns: 1fr;
	max-width: 950px;
	margin-right: auto;
	margin-left: auto;
}


/* Duas perguntas por linha */

.bloco_perguntas_frequentes.qnt_2 .itens {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}


/* ==================================================
   ITEM
================================================== */

.bloco_perguntas_frequentes .item {
	width: 100%;
	min-width: 0;
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	background-color: #ffffff;
	border: 1px solid #dfe4e9;
	border-radius: 7px;
	box-shadow: 0 4px 15px rgba(7, 27, 72, 0.06);
	overflow: hidden;
	transition:
		border-color 0.3s ease,
		box-shadow 0.3s ease,
		transform 0.3s ease;
}

.bloco_perguntas_frequentes .item:hover {
	border-color: #cbd5df;
	box-shadow: 0 7px 20px rgba(7, 27, 72, 0.1);
	transform: translateY(-2px);
}

.bloco_perguntas_frequentes .item[open] {
	border-color: rgba(229, 27, 39, 0.35);
	box-shadow: 0 8px 24px rgba(7, 27, 72, 0.1);
}


/* ==================================================
   PERGUNTA
================================================== */

.bloco_perguntas_frequentes .pergunta {
	width: 100%;
	min-height: 62px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	position: relative;
	padding: 16px 24px;
	color: #071b48;
	background-color: #ffffff;
	border: 0;
	outline: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
	cursor: pointer;
	list-style: none;
	user-select: none;
	transition:
		color 0.3s ease,
		background-color 0.3s ease;
}

/* Remove a seta padrão do details */

.bloco_perguntas_frequentes .pergunta::-webkit-details-marker {
	display: none;
}

.bloco_perguntas_frequentes .pergunta::marker {
	display: none;
	content: "";
}

.bloco_perguntas_frequentes .item:hover .pergunta {
	background-color: #fafbfd;
}

.bloco_perguntas_frequentes .item[open] .pergunta {
	color: #e51b27;
	background-color: #fafbfd;
}


/* ==================================================
   TEXTO DA PERGUNTA
================================================== */

.bloco_perguntas_frequentes .texto_pergunta {
	width: calc(100% - 35px);
	display: block;
}


/* ==================================================
   ÍCONE DE ABRIR E FECHAR
================================================== */

.bloco_perguntas_frequentes .pergunta .icone {
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 24px;
	position: relative;
}

.bloco_perguntas_frequentes .pergunta .icone::before,
.bloco_perguntas_frequentes .pergunta .icone::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: #071b48;
	border-radius: 2px;
	transform: translate(-50%, -50%);
	transition:
		background-color 0.3s ease,
		transform 0.3s ease,
		opacity 0.3s ease;
}

/* Linha horizontal */

.bloco_perguntas_frequentes .pergunta .icone::before {
	width: 16px;
	height: 2px;
}

/* Linha vertical */

.bloco_perguntas_frequentes .pergunta .icone::after {
	width: 2px;
	height: 16px;
}

.bloco_perguntas_frequentes .item:hover .pergunta .icone::before,
.bloco_perguntas_frequentes .item:hover .pergunta .icone::after,
.bloco_perguntas_frequentes .item[open] .pergunta .icone::before,
.bloco_perguntas_frequentes .item[open] .pergunta .icone::after {
	background-color: #e51b27;
}

/* Quando estiver aberto, transforma o + em − */

.bloco_perguntas_frequentes .item[open] .pergunta .icone::after {
	opacity: 0;
	transform: translate(-50%, -50%) rotate(90deg);
}


/* ==================================================
   RESPOSTA
================================================== */

.bloco_perguntas_frequentes .resposta {
	width: 100%;
	display: block;
	padding: 0 24px 22px;
	background-color: #fafbfd;
	border-top: 1px solid #edf0f3;
}

.bloco_perguntas_frequentes .texto_resposta {
	width: 100%;
	padding-top: 18px;
	color: #536078;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.65;
}

.bloco_perguntas_frequentes .texto_resposta p {
	margin: 0;
}

.bloco_perguntas_frequentes .texto_resposta p + p {
	margin-top: 12px;
}

.bloco_perguntas_frequentes .texto_resposta ul,
.bloco_perguntas_frequentes .texto_resposta ol {
	margin: 12px 0 0;
	padding-left: 22px;
}

.bloco_perguntas_frequentes .texto_resposta li {
	margin-bottom: 5px;
}

.bloco_perguntas_frequentes .texto_resposta li:last-child {
	margin-bottom: 0;
}

.bloco_perguntas_frequentes .texto_resposta a {
	color: #e51b27;
	font-weight: 600;
	text-decoration: none;
}

.bloco_perguntas_frequentes .texto_resposta a:hover {
	text-decoration: underline;
}


/* ==================================================
   AJUSTE PARA UMA COLUNA
================================================== */

.bloco_perguntas_frequentes.qnt_1 .pergunta {
	min-height: 66px;
	padding-right: 28px;
	padding-left: 28px;
	font-size: 16px;
}

.bloco_perguntas_frequentes.qnt_1 .resposta {
	padding-right: 28px;
	padding-left: 28px;
}


/* ==================================================
   RESPONSIVO — ATÉ 1199PX
================================================== */

@media screen and (max-width: 1199px) {

	.bloco_perguntas_frequentes {
		padding: 65px 0;
	}

	.bloco_perguntas_frequentes .titulo {
		margin-bottom: 32px;
	}

	.bloco_perguntas_frequentes .titulo .titulo_principal {
		font-size: 26px;
	}

	.bloco_perguntas_frequentes .itens {
		gap: 13px 25px;
	}

	.bloco_perguntas_frequentes .pergunta {
		min-height: 60px;
		padding: 15px 20px;
		font-size: 14px;
	}

	.bloco_perguntas_frequentes .resposta {
		padding-right: 20px;
		padding-bottom: 20px;
		padding-left: 20px;
	}

	.bloco_perguntas_frequentes .texto_resposta {
		font-size: 13px;
	}
}


/* ==================================================
   RESPONSIVO — ATÉ 900PX
================================================== */

@media screen and (max-width: 900px) {

	.bloco_perguntas_frequentes.qnt_2 .itens {
		grid-template-columns: 1fr;
		max-width: 850px;
		margin-right: auto;
		margin-left: auto;
	}

	.bloco_perguntas_frequentes .pergunta {
		min-height: 62px;
		font-size: 15px;
	}
}


/* ==================================================
   RESPONSIVO — ATÉ 767PX
================================================== */

@media screen and (max-width: 767px) {

	.bloco_perguntas_frequentes {
		padding: 55px 0;
	}

	.bloco_perguntas_frequentes .container {
		width: calc(100% - 30px);
	}

	.bloco_perguntas_frequentes .titulo {
		margin-bottom: 28px;
	}

	.bloco_perguntas_frequentes .titulo .titulo_principal {
		font-size: 23px;
	}

	.bloco_perguntas_frequentes .itens {
		gap: 12px;
	}

	.bloco_perguntas_frequentes .pergunta,
	.bloco_perguntas_frequentes.qnt_1 .pergunta {
		min-height: 58px;
		padding: 14px 18px;
		font-size: 14px;
	}

	.bloco_perguntas_frequentes .resposta,
	.bloco_perguntas_frequentes.qnt_1 .resposta {
		padding-right: 18px;
		padding-bottom: 19px;
		padding-left: 18px;
	}

	.bloco_perguntas_frequentes .texto_resposta {
		padding-top: 16px;
		font-size: 13px;
	}
}


/* ==================================================
   RESPONSIVO — ATÉ 480PX
================================================== */

@media screen and (max-width: 480px) {

	.bloco_perguntas_frequentes {
		padding: 45px 0;
	}

	.bloco_perguntas_frequentes .titulo {
		margin-bottom: 25px;
	}

	.bloco_perguntas_frequentes .titulo .titulo_principal {
		font-size: 20px;
	}

	.bloco_perguntas_frequentes .item {
		border-radius: 6px;
	}

	.bloco_perguntas_frequentes .pergunta,
	.bloco_perguntas_frequentes.qnt_1 .pergunta {
		min-height: 56px;
		gap: 12px;
		padding: 13px 15px;
		font-size: 13px;
	}

	.bloco_perguntas_frequentes .texto_pergunta {
		width: calc(100% - 32px);
	}

	.bloco_perguntas_frequentes .pergunta .icone {
		width: 21px;
		height: 21px;
		flex-basis: 21px;
	}

	.bloco_perguntas_frequentes .pergunta .icone::before {
		width: 14px;
	}

	.bloco_perguntas_frequentes .pergunta .icone::after {
		height: 14px;
	}

	.bloco_perguntas_frequentes .resposta,
	.bloco_perguntas_frequentes.qnt_1 .resposta {
		padding-right: 15px;
		padding-bottom: 17px;
		padding-left: 15px;
	}

	.bloco_perguntas_frequentes .texto_resposta {
		padding-top: 14px;
		font-size: 12px;
		line-height: 1.6;
	}
}