/* =====================================================
   PÁGINA CONTATO
   Layout editorial + fundo único + glass Amalco

   PADRÕES APLICADOS:
   - Hero interna baseada na página Empreendimentos
   - Cards/botões baseados na Home
   - Fonte herdada do tema
   - Paleta Amalco: branco / cinza / amarelo #f7ad04
===================================================== */

.contato-page {
	position: relative;
	min-height: 100vh;
	color: #ffffff;
	overflow: hidden;
	background: #f6f5f1;
}

/* =====================================================
   FUNDO FIXO DA PÁGINA INTEIRA
===================================================== */

.contato-page::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;

	/* AJUSTE AQUI: imagem de fundo da página Contato */
	background-image: url("../../img/hero-contato3.jpg");

	background-size: cover;
	background-position: center right;
	background-repeat: no-repeat;

	opacity: 1;
	filter: none;

	transform: scale(1.01);
	pointer-events: none;
}

/* Sem overlay global */
.contato-page::after {
	display: none !important;
	content: none !important;
}

.contato-page > * {
	position: relative;
	z-index: 1;
}

/* =====================================================
   HERO CONTATO
   Padrão baseado na página Empreendimentos
===================================================== */

.contato-hero {
	position: relative;

	/* Mesmo padrão da hero interna */
	min-height: 100vh;

	display: flex;
	align-items: center;

	padding: 118px 0 58px;

	background: transparent !important;
	color: #ffffff;
	overflow: hidden;
}

/* Overlay apenas na hero para leitura */
.contato-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;

	background:
		linear-gradient(
			90deg,
			rgba(0, 0, 0, 0.48) 0%,
			rgba(0, 0, 0, 0.30) 38%,
			rgba(0, 0, 0, 0.10) 72%,
			rgba(0, 0, 0, 0.00) 100%
		),
		linear-gradient(
			180deg,
			rgba(0, 0, 0, 0.18) 0%,
			rgba(0, 0, 0, 0.04) 48%,
			rgba(0, 0, 0, 0.20) 100%
		);

	pointer-events: none;
}

.contato-hero::after {
	display: none !important;
	content: none !important;
}

.contato-hero .container {
	position: relative;
	z-index: 2;
}

.contato-hero__content {
	position: relative;
	z-index: 2;

	max-width: 680px;
	padding: 0 !important;

	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;

	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* Linha editorial amarela da hero */
.contato-hero__content::after {
	content: "";
	display: block;

	width: 112px;
	height: 1px;

	margin-top: 30px;

	background: rgba(247, 173, 4, 0.72);
}

/* =====================================================
   KICKERS / RÓTULOS
   Hero segue Empreendimentos.
   Kicker das seções segue o mesmo sistema, mas pode ser maior em blocos.
===================================================== */

.contato-hero__kicker {
	display: inline-block;
	margin-bottom: 18px;

	font-family: inherit;
	font-size: 13px;
	line-height: 1;
	font-weight: 800;
	letter-spacing: 0.30em;
	text-transform: uppercase;

	color: #f7ad04;

	text-shadow:
		0 8px 24px rgba(0, 0, 0, 0.28);
}

.contato-section__kicker {
	display: inline-block;
	margin-bottom: 18px;

	font-family: inherit;
	font-size: 13px;
	line-height: 1;
	font-weight: 800;
	letter-spacing: 0.30em;
	text-transform: uppercase;

	color: #f7ad04;

	text-shadow:
		0 8px 24px rgba(0, 0, 0, 0.28);
}

/* =====================================================
   TÍTULO DA HERO
   Padrão salvo da página Empreendimentos
===================================================== */

.contato-hero__title {
	max-width: 640px;
	margin: 0 0 22px;

	font-family: inherit;
	font-size: clamp(38px, 4.5vw, 72px);
	line-height: 1.05;
	font-weight: 300;

	text-transform: uppercase;
	letter-spacing: 0.045em;

	color: #ffffff;

	text-shadow:
		0 18px 48px rgba(0, 0, 0, 0.44);
}

/* =====================================================
   TEXTO DA HERO
   Padrão salvo da página Empreendimentos
===================================================== */

.contato-hero__text {
	max-width: 560px;
	margin: 0;

	font-family: inherit;
	font-size: clamp(12px, 0.9vw, 14px);
	line-height: 1.86;
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;

	color: rgba(215, 215, 215, 0.92);

	text-shadow:
		0 10px 28px rgba(0, 0, 0, 0.38);
}

/* =====================================================
   HEADERS DE SEÇÃO
===================================================== */

.contato-section__header {
	max-width: 860px;
	margin-bottom: 58px;
}

.contato-section__header h2 {
	margin: 0;

	font-family: inherit;

	/* Mais próximo do padrão premium das páginas internas */
	font-size: clamp(30px, 3.4vw, 50px);
	line-height: 1.08;
	font-weight: 300;

	text-transform: uppercase;
	letter-spacing: 0.035em;

	color: #ffffff;

	text-shadow:
		0 14px 36px rgba(0, 0, 0, 0.30);
}

/* =====================================================
   CANAIS DIRETOS
===================================================== */

.contato-canais {
	position: relative;
	padding: 96px 0;
	background: transparent !important;
}

.contato-canais__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.contato-canal {
	position: relative;

	display: flex;
	flex-direction: column;

	min-height: 340px;
	padding: 34px 30px;

	border: 1px solid rgba(255, 255, 255, 0.32);

	background: rgba(255, 255, 255, 0.050);

	backdrop-filter: blur(30px) saturate(170%);
	-webkit-backdrop-filter: blur(30px) saturate(170%);

	overflow: hidden;

	color: #ffffff;
	text-decoration: none;

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.15),
		0 18px 44px rgba(0, 0, 0, 0.11);

	transition:
		transform 0.35s ease,
		border-color 0.35s ease,
		background 0.35s ease,
		box-shadow 0.35s ease;
}

/* Remove faixa pesada superior */
.contato-canal::before {
	display: none !important;
	content: none !important;
}

.contato-canal:hover {
	transform: translateY(-6px);

	border-color: rgba(255, 255, 255, 0.46);
	background: rgba(255, 255, 255, 0.075);

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.20),
		0 28px 64px rgba(0, 0, 0, 0.15);
}

/* Número do card */
.contato-canal span {
	display: inline-block;

	margin-bottom: 44px;

	font-family: inherit;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0.18em;

	color: #f7ad04;
}

/* Título do card — aproximado do padrão Home/portfolio */
.contato-canal h3 {
	margin: 0 0 18px;

	font-family: inherit;
	font-size: 23px;
	line-height: 1.15;
	font-weight: 700;

	text-transform: uppercase;
	letter-spacing: 0.06em;

	color: #ffffff;
}

/* Texto do card */
.contato-canal p {
	margin: 0 0 28px;

	font-family: inherit;
	font-size: 15px;
	line-height: 1.78;

	color: rgba(235, 235, 235, 0.78);
}

/* Link final do card */
.contato-canal strong {
	margin-top: auto;

	font-family: inherit;
	font-size: 12px;
	line-height: 1.5;
	font-weight: 800;
	letter-spacing: 0.10em;
	text-transform: uppercase;

	color: #f7ad04;
}

/* =====================================================
   FORMULÁRIO / BLOCO PRINCIPAL
===================================================== */

.contato-form-section {
	position: relative;
	padding: 104px 0;
	background: transparent !important;
	color: #ffffff;
	overflow: hidden;
}

.contato-form-section::before,
.contato-form-section::after {
	display: none !important;
	content: none !important;
}

.contato-form-section__grid {
	position: relative;
	z-index: 1;

	display: grid;
	grid-template-columns: 1fr 0.95fr;
	gap: 54px;
	align-items: stretch;
}

/* Bloco texto do formulário */
.contato-form-section__content {
	position: relative;

	display: flex;
	flex-direction: column;
	justify-content: center;

	min-height: 620px;
	height: 100%;

	padding: 56px;

	border: 1px solid rgba(255, 255, 255, 0.30);

	background: rgba(255, 255, 255, 0.048);

	backdrop-filter: blur(32px) saturate(172%);
	-webkit-backdrop-filter: blur(20px) saturate(172%);

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.16),
		0 18px 44px rgba(0, 0, 0, 0.11);
}

/* Título do bloco de formulário */
.contato-form-section__content h2 {
	max-width: 760px;
	margin: 0 0 24px;

	font-family: inherit;
	font-size: clamp(30px, 3.4vw, 50px);
	line-height: 1.08;
	font-weight: 300;

	text-transform: uppercase;
	letter-spacing: 0.035em;

	color: #ffffff;

	text-shadow:
		0 14px 36px rgba(0, 0, 0, 0.30);
}

/* Texto do bloco de formulário */
.contato-form-section__content p {
	max-width: 720px;
	margin: 0 0 32px;

	font-family: inherit;
	font-size: 16px;
	line-height: 1.84;
	font-weight: 400;

	color: rgba(235, 235, 235, 0.82);
}

/* =====================================================
   INFO LIST
===================================================== */

.contato-info-list {
	display: grid;
	gap: 16px;
	max-width: 720px;
}

.contato-info {
	padding: 24px 22px;

	border: 1px solid rgba(255, 255, 255, 0.28);

	background: rgba(255, 255, 255, 0.050);

	backdrop-filter: blur(24px) saturate(160%);
	-webkit-backdrop-filter: blur(24px) saturate(160%);

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.14),
		0 14px 34px rgba(0, 0, 0, 0.09);
}

.contato-info strong {
	display: block;
	margin-bottom: 10px;

	font-family: inherit;
	font-size: 13px;
	line-height: 1;
	font-weight: 800;
	letter-spacing: 0.12em;
	text-transform: uppercase;

	color: #f7ad04;
}

.contato-info span {
	display: block;

	font-family: inherit;
	font-size: 14px;
	line-height: 1.65;

	color: rgba(255, 255, 255, 0.82);
}

/* =====================================================
   BOX DO FORMULÁRIO
===================================================== */

.contato-form-box {
	position: relative;

	display: flex;
	flex-direction: column;
	justify-content: center;

	min-height: 620px;
	height: 100%;

	padding: 34px;

	border: 1px solid rgba(255, 255, 255, 0.34);

	background: rgba(255, 255, 255, 0.055);

	backdrop-filter: blur(34px) saturate(175%);
	-webkit-backdrop-filter: blur(34px) saturate(175%);

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.18),
		0 20px 52px rgba(0, 0, 0, 0.14);
}

/* Placeholder enquanto não tiver formulário real */
.contato-form-placeholder {
	padding: 44px 34px;

	border: 1px solid rgba(255, 255, 255, 0.26);

	background: rgba(255, 255, 255, 0.94);

	color: #1f1f1f;
	text-align: center;
}

.contato-form-placeholder span {
	display: inline-block;
	margin-bottom: 14px;

	font-family: inherit;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;

	color: #f7ad04;
}

.contato-form-placeholder h3 {
	margin: 0 0 16px;

	font-family: inherit;
	font-size: 26px;
	line-height: 1.15;
	font-weight: 800;

	text-transform: uppercase;
	letter-spacing: 0.04em;

	color: #1f1f1f;
}

.contato-form-placeholder p {
	margin: 0 0 20px;

	font-family: inherit;
	font-size: 15px;
	line-height: 1.7;

	color: rgba(31, 31, 31, 0.72);
}

.contato-form-placeholder code {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 46px;
	padding: 0 18px;

	background: #f2f2f2;
	border: 1px solid rgba(31, 31, 31, 0.14);

	font-size: 13px;
	color: #1f1f1f;
}

/* =====================================================
   ESTILO BASE PARA FORMULÁRIOS REAIS
===================================================== */

.contato-form-box form {
	display: grid;
	gap: 18px;
}

.contato-form-box input,
.contato-form-box textarea,
.contato-form-box select {
	width: 100%;
	min-height: 52px;

	padding: 0 16px;

	border: 1px solid rgba(255, 255, 255, 0.28);
	background: rgba(255, 255, 255, 0.92);

	color: #1f1f1f;

	font-family: inherit;
	font-size: 15px;

	outline: none;

	transition:
		border-color 0.3s ease,
		box-shadow 0.3s ease;
}

.contato-form-box textarea {
	min-height: 140px;
	padding-top: 16px;
	resize: vertical;
}

.contato-form-box input:focus,
.contato-form-box textarea:focus,
.contato-form-box select:focus {
	border-color: #f7ad04;
	box-shadow: 0 0 0 3px rgba(247, 173, 4, 0.14);
}

/* Botão do formulário — padrão próximo ao botão Home */
.contato-form-box button,
.contato-form-box input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 270px;
	min-height: 60px;

	padding: 0 32px;

	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, 0.26);

	background:
		linear-gradient(
			135deg,
			#ffe07a 0%,
			#f7ad04 36%,
			#f9c33e 66%,
			#e4a000 100%
		);

	color: #ffffff;

	font-family: inherit;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;

	cursor: pointer;

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.36),
		0 10px 24px rgba(247, 173, 4, 0.24);

	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease,
		filter 0.3s ease;
}

.contato-form-box button:hover,
.contato-form-box input[type="submit"]:hover {
	transform: translateY(-2px);

	filter: brightness(1.05);

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.44),
		0 14px 30px rgba(247, 173, 4, 0.30);
}

/* =====================================================
   BLOCO FINAL
===================================================== */

.contato-final {
	position: relative;
	padding: 104px 0 128px;
	background: transparent !important;
}

.contato-final__box {
	position: relative;
	overflow: hidden;

	padding: 62px 54px;

	border: 1px solid rgba(255, 255, 255, 0.34);

	background: rgba(255, 255, 255, 0.055);

	backdrop-filter: blur(34px) saturate(175%);
	-webkit-backdrop-filter: blur(34px) saturate(175%);

	color: #ffffff;

	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.18),
		0 20px 52px rgba(0, 0, 0, 0.14);
}

.contato-final__box::before,
.contato-final__box::after {
	display: none !important;
	content: none !important;
}

.contato-final__box > * {
	position: relative;
	z-index: 1;
}

.contato-final__box h2 {
	max-width: 850px;
	margin: 0 0 24px;

	font-family: inherit;
	font-size: clamp(30px, 3.4vw, 50px);
	line-height: 1.08;
	font-weight: 300;

	text-transform: uppercase;
	letter-spacing: 0.035em;

	color: #ffffff;

	text-shadow:
		0 14px 36px rgba(0, 0, 0, 0.30);
}

.contato-final__box p {
	max-width: 720px;
	margin: 0;

	font-family: inherit;
	font-size: 16px;
	line-height: 1.84;
	font-weight: 400;

	color: rgba(235, 235, 235, 0.82);
}

/* =====================================================
   RESPONSIVO TABLET
===================================================== */

@media (max-width: 1100px) {
	.contato-canais__grid {
		grid-template-columns: 1fr;
	}

	.contato-form-section__grid {
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.contato-form-section__content,
	.contato-form-box {
		min-height: auto;
	}

	.contato-form-box {
		padding: 34px;
	}
}

/* =====================================================
   RESPONSIVO MOBILE
===================================================== */

@media (max-width: 700px) {
	.contato-page::before {
		background-position: center right;
	}

	.contato-hero {
		min-height: 82svh;
		padding: 100px 0 56px;
	}

	.contato-hero::before {
		background:
			linear-gradient(
				90deg,
				rgba(0, 0, 0, 0.56) 0%,
				rgba(0, 0, 0, 0.36) 60%,
				rgba(0, 0, 0, 0.16) 100%
			);
	}

	.contato-hero__content {
		max-width: 100%;
		padding: 0;
	}

	.contato-hero__content::after {
		width: 86px;
		margin-top: 26px;
	}

	.contato-hero__kicker,
	.contato-section__kicker {
		font-size: 10px;
		letter-spacing: 0.24em;
		margin-bottom: 18px;
	}

	.contato-hero__title {
		font-size: clamp(32px, 9.6vw, 50px);
		line-height: 1.08;
		font-weight: 300;
		letter-spacing: 0.035em;
		margin-bottom: 20px;
	}

	.contato-hero__text {
		font-size: 11.5px;
		line-height: 1.72;
		letter-spacing: 0.12em;
		color: rgba(215, 215, 215, 0.92);
	}

	.contato-canais,
	.contato-form-section,
	.contato-final {
		padding: 72px 0;
	}

	.contato-section__header {
		margin-bottom: 42px;
	}

	.contato-section__header h2,
	.contato-form-section__content h2,
	.contato-final__box h2 {
		font-size: clamp(28px, 8vw, 42px);
	}

	.contato-canal {
		min-height: auto;
		padding: 34px 28px;
	}

	.contato-canal span {
		margin-bottom: 34px;
	}

	.contato-form-section__content,
	.contato-form-box,
	.contato-final__box {
		padding: 36px 26px;
	}

	.contato-form-placeholder {
		padding: 36px 24px;
	}

	.contato-form-box button,
	.contato-form-box input[type="submit"] {
		width: 100%;
		min-width: 0;
		min-height: 60px;
	}
}

/* =====================================================
   OVERLAY PROGRESSIVO DAS PÁGINAS INTERNAS
   Efeito:
   - Página começa mais escura
   - Conforme rola, o overlay escuro vai sumindo
   - Não aplica blur na imagem

   AJUSTE AQUI:
   --internal-bg-overlay: força inicial do escurecimento
===================================================== */

.empreendimentos-page,
.contato-page,
.sobre-page {
	/* AJUSTE AQUI: escuro inicial da imagem */
	--internal-bg-overlay: 0.42;
}

/* Overlay global controlado pelo JS */
.empreendimentos-page::after,
.contato-page::after,
.sobre-page::after {
	content: "" !important;
	display: block !important;

	position: fixed;
	inset: 0;
	z-index: 0;

	background: rgba(0, 0, 0, var(--internal-bg-overlay));

	pointer-events: none;

	transition: background 0.08s linear;
}

/* Garante que o conteúdo continue acima da imagem e do overlay */
.empreendimentos-page > *,
.contato-page > *,
.sobre-page > * {
	position: relative;
	z-index: 1;
}

/* =====================================================
   DESLIGA OVERLAYS ANTIGOS DA HERO
   Importante para não escurecer duas vezes
===================================================== */

.contato-hero::before,
.sobre-hero::before {
	display: none !important;
	content: none !important;
}