/* ============================================================
   Páginas institucionais (Sobre Nós, Contato, Cadastre seu Imóvel,
   Políticas de Privacidade) — banner de título + conteúdo
   Valores extraídos do CSS real (post-92.css e afins)
   ============================================================ */

.pagina-titulo {
	background: var(--cor-primaria);
	padding: 50px;
	text-align: center;
}
.pagina-titulo h2 {
	font-family: var(--fonte-titulo);
	font-size: 28px;
	font-weight: 600;
	color: var(--cor-branco);
	margin: 0;
}

/* ---------- Sobre Nós ---------- */

.sobre-layout {
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px;
	display: flex;
	align-items: center;
	gap: 40px;
}
.sobre-texto { width: 50%; flex: 0 0 50%; }
.sobre-texto__titulo {
	font-family: var(--fonte-titulo);
	font-size: 28px;
	font-weight: 800;
	color: var(--cor-secundaria);
	margin: 0 0 20px;
}
.sobre-texto h2 {
	font-family: var(--fonte-titulo);
	font-size: 22px;
	font-weight: 600;
	color: var(--cor-secundaria);
	margin: 20px 0 10px;
}
.sobre-texto p {
	font-family: var(--fonte-titulo);
	font-size: 15px;
	font-weight: 400;
	color: var(--cor-texto);
	line-height: 1.6;
	margin: 0 0 12px;
}
.sobre-imagem { width: 50%; flex: 0 0 50%; }
.sobre-imagem img { width: 100%; display: block; }

.btn-whatsapp-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #117D09;
	color: var(--cor-branco);
	padding: 12px 28px;
	border-radius: 30px;
	font-family: var(--fonte-titulo);
	font-weight: 500;
	font-size: 15px;
	text-decoration: none;
	margin-top: 10px;
}
.btn-whatsapp-pill svg { width: 18px; height: 18px; fill: currentColor; }

@media (max-width: 768px) {
	.sobre-layout { flex-direction: column; padding: 30px 20px; }
	.sobre-texto, .sobre-imagem { width: 100%; flex-basis: 100%; }
	.sobre-imagem { order: -1; max-width: 320px; margin: 0 auto; }
}

/* ---------- Contato ---------- */

.contato-layout {
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px;
	display: flex;
	gap: 40px;
}
.contato-info, .contato-form-col { width: 50%; flex: 0 0 50%; }
.contato-info__titulo {
	font-family: var(--fonte-titulo);
	font-size: 28px;
	font-weight: 800;
	line-height: 36px;
	color: var(--cor-primaria);
	margin: 0 0 20px;
}
.contato-info__lista { list-style: none; margin: 0 0 24px; padding: 0; }
.contato-info__lista li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; font-family: var(--fonte-titulo); font-size: 16px; font-weight: 500; color: var(--cor-texto); }
.contato-info__lista .icon { width: 18px; height: 18px; fill: var(--cor-texto); flex-shrink: 0; margin-top: 2px; }
.contato-info__lista a { color: inherit; }

.contato-redes-titulo { font-family: var(--fonte-titulo); font-size: 16px; font-weight: 500; color: var(--cor-secundaria); margin: 0 0 10px; }
.contato-redes { display: flex; gap: 10px; margin-bottom: 24px; }
.contato-redes a {
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--cor-primaria);
	display: flex; align-items: center; justify-content: center;
}
.contato-redes svg { width: 16px; height: 16px; fill: var(--cor-branco); }

.form-subtitulo { text-align: center; font-family: var(--fonte-titulo); font-size: 16px; font-weight: 500; color: #8D8989; margin: 0 0 16px; }
.form-campo { margin-bottom: 12px; }
.form-campo label { display: block; font-family: var(--fonte-titulo); font-size: 15px; margin-bottom: 4px; }
.form-campo input, .form-campo textarea {
	width: 100%;
	font-family: var(--fonte-titulo);
	font-size: 14px;
	padding: 10px 12px;
	border: 1px solid var(--cor-texto);
	border-radius: 4px;
	background: var(--cor-branco);
}
.form-enviar {
	width: 100%;
	background: var(--cor-primaria);
	color: var(--cor-branco);
	border: none;
	border-radius: 4px;
	padding: 12px;
	font-family: var(--fonte-titulo);
	font-weight: 500;
	cursor: pointer;
}
.form-sucesso {
	background: #E7F8E7;
	color: #117D09;
	border-radius: 4px;
	padding: 10px 12px;
	font-family: var(--fonte-titulo);
	font-size: 14px;
	text-align: center;
}

@media (max-width: 768px) {
	.contato-layout { flex-direction: column; padding: 30px 20px; }
	.contato-info, .contato-form-col { width: 100%; flex-basis: 100%; }
}

/* ---------- Cadastre seu Imóvel ---------- */

.cadastro-layout {
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px;
	display: flex;
	gap: 40px;
}
.cadastro-texto, .cadastro-form-col { width: 50%; flex: 0 0 50%; }
.cadastro-texto__titulo {
	font-family: var(--fonte-titulo);
	font-size: 28px;
	font-weight: 800;
	color: var(--cor-primaria);
	margin: 0 0 16px;
}
.cadastro-texto p {
	font-family: var(--fonte-titulo);
	font-size: 15px;
	color: var(--cor-texto);
	line-height: 1.6;
	margin: 0 0 12px;
}

.form-grid { display: flex; flex-wrap: wrap; gap: 0 12px; }
.form-grid .form-campo { flex: 1 1 100%; }
.form-grid .form-campo--50 { flex: 1 1 calc(50% - 6px); }
.form-grid .form-campo--33 { flex: 1 1 calc(33.33% - 8px); }
.form-grid .form-campo--80 { flex: 1 1 calc(80% - 6px); }
.form-grid .form-campo--20 { flex: 1 1 calc(20% - 6px); }
.form-campo select {
	width: 100%;
	font-family: var(--fonte-titulo);
	font-size: 14px;
	padding: 10px 12px;
	border: 1px solid var(--cor-texto);
	border-radius: 4px;
	background: var(--cor-branco);
}

@media (max-width: 768px) {
	.cadastro-layout { flex-direction: column; padding: 30px 20px; }
	.cadastro-texto, .cadastro-form-col { width: 100%; flex-basis: 100%; }
	.form-grid .form-campo--50, .form-grid .form-campo--33, .form-grid .form-campo--80, .form-grid .form-campo--20 { flex-basis: 100%; }
}

/* ---------- Texto corrido (Políticas de Privacidade e afins) ---------- */

.pagina-texto {
	max-width: 900px;
	margin: 0 auto;
	padding: 50px;
	font-family: var(--fonte-titulo);
	font-size: 15px;
	color: var(--cor-texto);
	line-height: 1.7;
}
.pagina-texto h2 {
	font-family: var(--fonte-titulo);
	font-size: 20px;
	font-weight: 600;
	color: var(--cor-secundaria);
	margin: 28px 0 10px;
}
.pagina-texto p { margin: 0 0 14px; }
.pagina-texto ul { margin: 0 0 14px; padding-left: 20px; }
.pagina-texto li { margin-bottom: 6px; }
.pagina-texto hr { border: none; border-top: 1px solid #7A7A7A30; margin: 24px 0; }
.pagina-texto em { color: var(--cor-texto); }

@media (max-width: 768px) {
	.pagina-texto { padding: 30px 20px; }
}
