section {
	max-width: 1137px;


}


.botao-itbi {
	font-size: 1.125rem;

	position: relative;

	display: flex;
	place-self: center;
	gap: auto;

	padding: 10px 20px;
	margin-bottom: 16px;
	border: 1px solid var(--verde-escuro);
	border-radius: 10px;
	width: fit-content;

	background-color: transparent;
	color: var(--verde-escuro);
	overflow: hidden;
	text-decoration: none;
	transition: 500ms;

	&::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%) scale(0);
		width: 150%;
		height: 150%;
		z-index: -1;
		transition: 500ms;
		background-color: var(--verde-escuro);
		border-radius: 50%;
		padding-bottom: 150%;
	}

	&:hover {
		color: white;

		&::before {
			background-color: var(--verde-escuro);
			z-index: -1;
			transform: translate(-50%, -50%) scale(1);
			border-radius: 50%;
		}
	}
}



.container-instrucoes {
	display: flex;
	flex-direction: column;
	gap: 20px;

	margin-block: 30px;
	padding: 1em;
	border: 1px solid #979797;
	border-radius: 20px;

	list-style: none;
	counter-reset: passo;

	.item-passo {

		display: flex;
		align-items: flex-start;
		gap: 20px;

		&::before {
			counter-increment: passo;
			content: "Passo " counter(passo) ": ";
			min-width: 5em;
			text-align: center;
			font-weight: 700;
		}

		.linha {
			width: 1px;
			height: stretch;
			background-color: #979797;
		}

		.conteudo-passo {
			p {
				margin-bottom: 5px;
			}
		}
	}
}

.lista-divulgacao {
	list-style: none;
}

.decretos {
	margin: 0;
	padding: 0;
	padding-inline: 10%;

	.anexo {
		display: flex;

		height: 60px;

		&:nth-child(even) a {
			background: #D9D9D9;
		}

		a {
			all: unset;

			display: flex;
			align-items: center;
			text-align: justify;
			box-sizing: border-box;

			height: 100%;
			width: 100%;

			position: relative;
			left: 0;

			padding-inline: 70px;

			color: var(--verde-escuro);
			background: #F6F5F5;

			transition: 250ms;
			cursor: pointer;

			&::before {
				content: '';
				height: 0;
				width: 2px;

				position: absolute;
				left: 0;

				background-color: var(--verde-escuro);
				transition: 250ms;
			}

			&:hover,
			&:focus-visible,
			&:focus {
				.icone-link-externo {
					margin-left: 10px;
					opacity: 1;
				}
			}

			&:hover,
			&:focus-visible {
				left: 10px;
				text-decoration: none;
			}

			&:hover::before,
			&:focus-visible::before {
				content: '';
				height: 100%;
			}

			.icone-link-externo {
				width: 10px;
				opacity: 0;
				transition: 250ms;
			}
		}

		p {
			margin: 0px;
			font-size: 1.2rem;

			overflow: hidden;
			text-overflow: ellipsis;
			text-wrap-mode: nowrap;

			color: var(--verde-escuro);
		}
	}
}



.container-requisitos {
	ul {
		display: grid;
		gap: 20px;

		margin-block: 20px;
		padding-inline: 20px;

		list-style: none;

		li {
			position: relative;
			padding-left: 40px;

			&::before {
				content: "";
				position: absolute;
				left: 0;
				top: 0.25em;
				width: 20px;
				height: 20px;
				background: url("../img/check-image.svg") no-repeat center;
				background-size: contain;
			}
		}
	}
}

.aviso-atencao {
	text-indent: 25px;

	margin: 0;
	margin-block: 30px;
	padding: 20px;
	border: 2px solid #ff010126;
	border-radius: 20px;

	background-color: #ff000008;

	p {
		margin: 0;
	}
}


.container-mais-informacoes {
	display: flex;
	justify-content: space-evenly;
	gap: 30px;

	box-sizing: border-box;
	border-radius: 30px;

	padding: 2em 2.5em;
	margin: 0 auto 40px auto;

	.container-links {
		display: flex;
		flex-direction: column;
		gap: 16px;
		width: 100%;
		color: #333;

		h3 {
			display: flex;
			align-items: center;
			gap: 8px;
			margin: 0;
			color: #147a3d;

			.material-symbols-outlined {
				font-size: 1.5rem;
			}
		}

		p {
			margin: 0;
			line-height: 1.6;
			color: #555;
		}

		.lista-links {
			list-style: none;
			/* Remove as "bolinhas" padrão do HTML */
			padding: 0;
			margin: 8px 0 0 0;
			display: flex;
			flex-direction: column;
			gap: 12px;

			li {
				.link-util {
					display: flex;
					justify-content: space-between;
					/* Separa o texto da seta */
					align-items: center;

					padding: 16px 20px;
					background-color: #ffffff;
					border: 1px solid rgba(0, 0, 0, 0.1);
					border-radius: 12px;

					text-decoration: none;
					color: #333;
					font-weight: 500;
					font-size: 0.95rem;

					transition: all 0.3s ease;
					box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);

					.icone-seta {
						color: #147a3d;
						font-size: 1.2rem;
						transition: transform 0.3s ease;
						/* Prepara a seta para a animação */
					}

					/* Efeitos ao passar o mouse */
					&:hover {
						background-color: #f4faf6;
						color: #147a3d;
						transform: translateY(-2px);

						/* Move a setinha levemente para a direita */
						.icone-seta {
							transform: translateX(4px);
						}
					}
				}
			}
		}
	}

	.linha {
		width: 1px;
		height: stretch;
		background-color: #979797;
	}

	.links-uteis {
		width: stretch;

		list-style: none;

		a {
			/* color: white; */
		}
	}

	.container-duvida {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 16px;
		/* Aumentado levemente para respirar melhor */
		width: 100%;
		color: #333;
		/* Cor base mais suave que o preto puro */

		h3 {
			display: flex;
			align-items: center;
			gap: 8px;
			margin: 0;
			color: #147a3d;

			.material-symbols-outlined {
				font-size: 1.5rem;
			}
		}

		p {
			margin: 0;
			line-height: 1.6;
			color: #555;
		}

		.container-contato {
			display: flex;
			flex-direction: column;
			gap: 16px;
			margin-top: 8px;

			.contato-link {
				/* inline-flex alinha o ícone e o texto perfeitamente */
				display: inline-flex;
				align-items: center;
				gap: 10px;

				color: #147a3d;
				padding: 12px 20px;
				/* Reduzido o padding vertical para formato de botão */

				border: 1px solid rgba(0, 0, 0, 0.1);
				border-radius: 12px;
				/* Cantos um pouco mais suaves */
				background-color: #ffffff;

				width: max-content;
				text-decoration: none;
				font-size: 0.95rem;
				font-weight: 500;
				/* Dá um leve destaque ao texto */

				/* Transições para o hover do card inteiro */
				transition: all 0.3s ease;
				box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);

				i {
					font-size: 1.1rem;
				}

				span {
					--reversed-link-gap: min(100%, 1.35em);
					background: linear-gradient(to right, currentColor, currentColor) 0 var(--reversed-link-gap)/0 1px no-repeat;
					background-position-x: right;
					transition: background-size .5s cubic-bezier(.3, 1, .3, 1);
				}

				&:hover {
					/* border-color: #147a3d; Borda fica verde no hover */
					background-color: #f4faf600;
					/* Fundo levemente esverdeado */
					transform: translateY(-2px);
					/* Efeito de elevação */

					/* Mantida a sua animação original de sublinhado! */
					span {
						background-position-x: left;
						background-size: 100% 1px;
					}
				}
			}
		}
	}


}

.subtitulo-icone h3 {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 1.75rem;
}


.subtitulo-icone h3 i {
	font-size: 0.8em;
	display: inline-block;
}

@media (max-width: 575px) {
	.decretos {
		padding-inline: 30px;

		.anexo {
			a {
				padding-inline: 20px;
			}
		}
	}

	.container-contato {
		flex-wrap: wrap;

		.linha {
			width: 0px;
			height: 0px;
		}
	}
}

@media (max-width: 768px) {

	#itbi {

		.container-instrucoes {

			.item-passo {

				&::before {
					counter-increment: passo;
					content: "Passo " counter(passo);
					text-align: center;
				}
			}
		}
	}

	.links-container {

		li {
			display: flex;
			flex-direction: column;
			width: 100%;

			strong {
				margin-bottom: 5px;
			}
		}
	}
}