:root {
	--delay-default: 250ms;
	counter-reset: headings;
}



#faq {

	.sub-titulo-faq {
		font-size: 1rem;
		text-align: center;
		margin-bottom: 30px;
	}

	#pesquisaFaqContainer {
		display: flex;
		justify-content: center;

		width: 100%;
		margin-bottom: 60px;

		label {
			position: relative;

			width: 100%;
			max-width: 740px;
			height: 100%;

			margin: 0;

			.icone-lupa-pesquisa {
				position: absolute;
				top: 50%;
				left: 4px;

				transform: translateY(-50%);

				display: flex;
				justify-content: center;
				align-items: center;

				width: 38px;
				height: 38px;

				border-radius: 20px;
				background: var(--verde);
				color: #fff;

			}

			input {
				color: var(--cor-fonte);
				border: none;
				border-radius: 50px;
				padding-left: 50px;
				height: 46px;
				background: var(--cor-fundo);
				border: 1px solid var(--cor-borda-contraste);

				width: 100%;


				&:focus,
				&:focus-visible {
					outline: none;
					box-shadow: none;
					border-color: #a3c79d;
				}

				&::placeholder {
					color: var(--cor-fonte);
					opacity: 0.6;
					font-weight: 400;
					font-size: 0.875rem;
				}
			}

			#limparCampo {
				all: unset;

				display: flex;
				justify-content: center;
				align-items: center;

				position: absolute;
				right: 5px;
				top: 50%;
				transform: translateY(-50%);

				height: 40px;
				width: 40px;

				opacity: 0;
				color: var(--cor-borda-contraste);

				cursor: pointer;
				transition: var(--delay-default);

				&:hover {
					color: var(--vermelho);
				}
			}
		}
	}

	.details-perguntas {
		margin-bottom: 15px;

		border: 1px solid var(--cor-fundo-contraste);
		border-radius: 15px;

		font-size: 1rem;
		font-weight: 400;

		overflow: hidden;

		&[open] {

			.perguntas .seta {
				transform: rotate(180deg);
			}
		}

		.perguntas {
			display: unset;
			color: var(--cor-fonte);
			display: flex;
			gap: 10px;
			padding: 20px;
			counter-increment: headings;
			cursor: pointer;

			&::before {
				content: counter(headings)"."
			}

			.seta {
				align-self: center;
				transition: transform 0.5s ease;
				transform: rotate(0deg);
				margin-left: auto;
			}
		}

		.info {
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 10px;

			/* border-top: 1px solid #0000001c; */
			padding: 0px 20px 20px 20px;

			.respostas {
				font-size: 0.875rem;
				margin-bottom: 0px;
			}

			.link-faq {
				display: flex;
				justify-content: center;
				align-items: center;

				font-size: 0.8rem;
				color: var(--cor-fonte);
				text-decoration: none;

				padding: 5px 20px;
				border: 1px solid var(--cor-fundo-contraste);
				border-radius: 18px;
				width: calc(max-content + 10px);

				.icone-link-externo {
					opacity: 0;
					font-size: 0px;
					margin-left: 0px;
					transition: var(--delay-default);
				}

				&:hover .icone-link-externo,
				&:focus-visible .icone-link-externo,
				&:focus .icone-link-externo {
					opacity: 1;
					font-size: 1rem;
					margin-left: 5px;
				}
			}
		}
	}

	.aviso {
		border: 2px solid var(--cinza-claro);
		background-color: #ffffff08;

		.link {
			color: var(--verde-escuro);
		}
	}
}

::details-content {
	transition: height 0.5s ease, content-visibility 0.5s ease allow-discrete;
	height: 0;
	overflow: clip;
}

/* Browser supports interpolate-size */
@supports (interpolate-size: allow-keywords) {
	:root {
		interpolate-size: allow-keywords;
	}

	[open]::details-content {
		height: auto;
	}
}

/* Fallback for browsers with no interpolate-size support */
@supports not (interpolate-size: allow-keywords) {
	[open]::details-content {
		height: 150px;
		overflow-y: scroll;
		/* In case the contents should be taller than 150px */
	}
}

/* Animacoes */

/* FIM Animacoes END */


@media (prefers-color-scheme: dark) {
	#faq {
		.aviso {
			.link {
				color: var(--verde-lima);
			}
		}
	}
}


/* Media query */

@media(max-width: 427px) {

	.botao-faq {
		margin-top: 5px;
	}
}

/* FIM Media query END */