/* Mega Child – variáveis, cabeçalho e rodapé */

:root {
	/* Cores */
	--mega-bg-light: #f5f5f5;
	--mega-bg-card: #f4f3f3;
	--mega-yellow: #f7b623;
	--mega-yellow-alt: #f9b107;
	--mega-blue-dark: #08141f;
	--mega-black: #000000;
	--mega-red: #ff0000; /* mesmo vermelho do logo (assets/img/logo.png) */
	--mega-white: #ffffff;
	--mega-whatsapp: #25d366;
	--mega-whatsapp-dark: #0fa83c;

	/* Tipografia */
	--mega-font-heading: "Inter", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--mega-font-body: "Roboto", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;

	/* Layout */
	--mega-header-h: 124px; /* altura do cabeçalho no desktop; o hero desconta isso da janela */
	--mega-container: 1240px;
	--mega-gutter: 24px;
}

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

body {
	font-family: var(--mega-font-body);
	color: var(--mega-blue-dark);
}

/* Seleção de texto desabilitada no site. Campos de formulário e o editor do
   Elementor continuam selecionáveis. */
body:not(.elementor-editor-active) {
	-webkit-user-select: none;
	user-select: none;
	-webkit-touch-callout: none; /* sem menu "copiar" ao segurar o dedo no iPhone */
}

body input,
body textarea,
body select,
body [contenteditable="true"] {
	-webkit-user-select: text;
	user-select: text;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--mega-font-heading);
	color: var(--mega-blue-dark);
}

/* Âncoras não ficam coladas no topo */
[id] { scroll-margin-top: 16px; }

.skip-link:focus {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 10000;
	padding: 8px 16px;
	background: var(--mega-white);
	color: var(--mega-black);
	clip: auto;
	clip-path: none;
	width: auto;
	height: auto;
}

/* Telefone com ícone de WhatsApp ---------------------------------------- */

.mega-tel {
	display: inline-flex;
	align-items: center;
	gap: 20px;
	color: var(--mega-white);
	text-decoration: none;
	white-space: nowrap;
}

.mega-tel:hover,
.mega-tel:focus { color: var(--mega-white); }

.mega-tel__ddd {
	font-family: var(--mega-font-heading);
	font-size: 0.6em;
	font-weight: 400;
	vertical-align: 0.1em;
}

.mega-tel__num {
	font-family: var(--mega-font-heading);
	font-weight: 700;
	letter-spacing: 0.01em;
}

/* Ícone do WhatsApp no mesmo estilo dos ícones de redes (contorno branco circular). */
.mega-whats-icone {
	display: inline-flex;
	flex: 0 0 auto;
	color: var(--mega-white);
	transition: color 0.2s ease, transform 0.2s ease;
}

.mega-whats-icone svg { display: block; width: 38px; height: 38px; }
.mega-footer .mega-whats-icone svg { width: 56px; height: 56px; }

/* Círculo verde com o símbolo branco; mesmo diâmetro dos ícones de redes. */
.mega-whats-icone svg circle {
	fill: var(--mega-whatsapp);
	stroke: var(--mega-whatsapp);
	transition: fill 0.2s ease, stroke 0.2s ease;
}

.mega-whats-icone svg path { fill: var(--mega-white); }

.mega-tel:hover .mega-whats-icone,
.mega-tel:focus-visible .mega-whats-icone { transform: translateY(-2px); }

.mega-tel:hover .mega-whats-icone svg circle,
.mega-tel:focus-visible .mega-whats-icone svg circle {
	fill: var(--mega-whatsapp-dark);
	stroke: var(--mega-whatsapp-dark);
}

/* Cabeçalho ------------------------------------------------------------- */

.mega-header {
	position: relative;
	z-index: 100;
	background: var(--mega-black);
	color: var(--mega-white);
}

.mega-header__inner {
	display: flex;
	align-items: center;
	gap: 32px;
	/* Mesma largura útil do conteúdo (grid de imóveis): 1240px + respiro lateral. */
	max-width: calc(var(--mega-container) + 2 * var(--mega-gutter));
	margin: 0 auto;
	padding: 20px var(--mega-gutter);
}

.mega-header__logo { flex: 0 0 auto; line-height: 0; }

.mega-header .mega-logo {
	width: auto;
	height: 84px;
	max-width: none;
}

.mega-header__tel {
	margin-left: auto;
	font-size: 30px;
}

/* Redes sociais dentro do menu: só no celular/tablet (ver media 1024px) */
.mega-nav__redes { display: none; }

/* Redes sociais no cabeçalho */
.mega-header__redes {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-left: auto;
}

.mega-header__redes + .mega-header__tel { margin-left: 36px; }

.mega-header__siga {
	margin: 0;
	color: var(--mega-white);
	font-family: var(--mega-font-heading);
	font-size: 14px;
	line-height: 1.2;
	white-space: nowrap;
}

.mega-header__siga strong { font-weight: 700; }

.mega-header__icons { display: flex; gap: 8px; }

.mega-header__icons a,
.mega-header__icons .mega-rede-sem-link {
	display: inline-flex;
	color: var(--mega-white);
	transition: color 0.2s ease, transform 0.2s ease;
}

.mega-header__icons a:hover,
.mega-header__icons a:focus-visible { color: var(--mega-yellow); transform: translateY(-2px); }

.mega-header__icons svg { width: 38px; height: 38px; }

.mega-nav { margin-left: 40px; }

.mega-menu {
	display: flex;
	gap: 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mega-menu li { margin: 0; }

.mega-menu a {
	display: block;
	padding: 6px 0;
	color: var(--mega-white);
	font-family: var(--mega-font-heading);
	font-size: 20px;
	font-weight: 300;
	text-transform: uppercase;
	white-space: nowrap;
	text-decoration: none;
	letter-spacing: 0.01em;
	border-bottom: 2px solid transparent;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.mega-menu a:hover,
.mega-menu a:focus-visible,
.mega-menu .current-menu-item > a {
	color: var(--mega-yellow);
	border-bottom-color: var(--mega-yellow);
}

.mega-burger {
	display: none;
	position: relative;
	width: 44px;
	height: 44px;
	margin-left: 12px;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	color: var(--mega-white);
	cursor: pointer;
}

.mega-burger:hover,
.mega-burger:focus { background: rgba(255, 255, 255, 0.08); }

.mega-burger__bar,
.mega-burger__bar::before,
.mega-burger__bar::after {
	position: absolute;
	left: 10px;
	width: 24px;
	height: 2px;
	border-radius: 2px;
	background: currentColor;
	transition: transform 0.2s ease, opacity 0.2s ease;
	content: "";
}

.mega-burger__bar { top: 21px; }
.mega-burger__bar::before { top: -7px; left: 0; }
.mega-burger__bar::after { top: 7px; left: 0; }

.mega-burger[aria-expanded="true"] .mega-burger__bar { background: transparent; }
.mega-burger[aria-expanded="true"] .mega-burger__bar::before { transform: translateY(7px) rotate(45deg); background: var(--mega-white); }
.mega-burger[aria-expanded="true"] .mega-burger__bar::after { transform: translateY(-7px) rotate(-45deg); background: var(--mega-white); }

@media (max-width: 1360px) {
	.mega-header__siga { display: none; }
}

@media (max-width: 1200px) {
	.mega-header .mega-logo { height: 70px; } /* logo é largo (3,4:1); libera espaço para o menu */
	.mega-header__tel { font-size: 26px; }
	.mega-menu { gap: 18px; }
	.mega-menu a { font-size: 18px; }
	.mega-nav { margin-left: 16px; }
}

@media (max-width: 1024px) {
	.mega-header__inner { gap: 12px; padding-top: 16px; padding-bottom: 16px; }
	.mega-header .mega-logo { height: 64px; }
	.mega-header__tel { font-size: 22px; gap: 12px; }
	.mega-header__tel .mega-whats-icone svg { width: 36px; height: 36px; }

	.mega-burger { display: block; }

	.mega-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		margin: 0;
		background: var(--mega-black);
		border-top: 1px solid rgba(255, 255, 255, 0.12);
		visibility: hidden;
		opacity: 0;
		transform: translateY(-8px);
		transition: opacity 0.2s ease, transform 0.2s ease, visibility 0s linear 0.2s;
	}

	.mega-nav.is-open {
		visibility: visible;
		opacity: 1;
		transform: none;
		transition: opacity 0.2s ease, transform 0.2s ease;
	}

	.mega-menu {
		flex-direction: column;
		gap: 0;
		padding: 8px var(--mega-gutter) 16px;
	}

	.mega-menu a {
		padding: 14px 0;
		font-size: 18px;
		border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	}
}

@media (max-width: 1024px) {
	/* No celular/tablet as redes ficam dentro do menu hambúrguer, abaixo do último item. */
	.mega-header__redes { display: none; }
	.mega-header__redes + .mega-header__tel { margin-left: auto; }

	.mega-nav__redes {
		display: flex;
		align-items: center;
		gap: 16px;
		padding: 6px var(--mega-gutter) 22px;
	}

	.mega-nav__redes .mega-header__siga { display: block; font-size: 14px; }
	.mega-nav__redes .mega-header__icons svg { width: 40px; height: 40px; }
}

@media (max-width: 600px) {
	.mega-header__inner { padding-left: 16px; padding-right: 16px; }
	.mega-header .mega-logo { height: 52px; }
	/* No celular fica só o ícone do WhatsApp para caber o logo e o menu. */
	.mega-header__tel .mega-tel__texto { display: none; }
}

/* Rodapé ---------------------------------------------------------------- */

.mega-footer {
	background: var(--mega-black);
	color: var(--mega-white);
}

.mega-footer__inner {
	max-width: calc(var(--mega-container) + 2 * var(--mega-gutter));
	margin: 0 auto;
	padding: 120px var(--mega-gutter) 140px;
}

.mega-footer a { color: var(--mega-white); text-decoration: none; }
.mega-footer a:hover,
.mega-footer a:focus-visible { color: var(--mega-yellow); }

.mega-footer__top {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 32px 64px;
}

.mega-footer__logo { line-height: 0; }

.mega-footer .mega-logo {
	width: auto;
	height: 84px;
	max-width: none;
}

.mega-footer__info {
	display: flex;
	align-items: center;
	gap: 22px;
	margin: 0;
	font-family: var(--mega-font-heading);
	font-size: 25px;
	line-height: 1.3;
}

.mega-footer__endereco { justify-self: center; white-space: nowrap; }

.mega-footer__icon { display: inline-flex; color: var(--mega-red); flex: 0 0 auto; }
.mega-footer__icon--pin svg { width: 38px; height: 54px; }
.mega-footer__icon--mail svg { width: 54px; height: 34px; }

.mega-footer__email strong { font-weight: 700; }

.mega-footer__promo {
	margin: 40px 0 0;
	font-family: var(--mega-font-body);
	font-size: 17px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--mega-white);
}

.mega-footer__bottom {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 32px 96px;
	margin-top: 40px;
}

.mega-footer__tel { gap: 30px; font-size: 44px; }

.mega-footer__social {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px 64px;
}

.mega-footer__siga {
	margin: 0;
	font-family: var(--mega-font-heading);
	font-size: 24px;
	line-height: 1.15;
}

.mega-footer__siga strong { font-weight: 700; }

.mega-footer__icons { display: flex; gap: 12px; }
.mega-footer__icons a,
.mega-footer__icons .mega-rede-sem-link { display: inline-flex; }
.mega-footer__icons svg { width: 56px; height: 56px; }

.mega-footer__handle {
	margin-left: -32px;
	font-family: var(--mega-font-heading);
	font-size: 44px;
	font-weight: 400;
}

@media (max-width: 1024px) {
	.mega-footer__inner { padding-top: 72px; padding-bottom: 72px; }
	.mega-footer__top { grid-template-columns: 1fr 1fr; }
	.mega-footer__logo { grid-column: 1 / -1; }
	.mega-footer__endereco { justify-self: start; white-space: normal; }
	.mega-footer__bottom { justify-content: flex-start; gap: 32px 48px; }
	.mega-footer__tel,
	.mega-footer__handle { font-size: 32px; }
	.mega-footer__handle { margin-left: 0; }
	.mega-footer__social { gap: 16px 24px; }
}

@media (max-width: 600px) {
	.mega-footer__inner { padding: 56px 16px; }
	.mega-footer__top { grid-template-columns: 1fr; gap: 24px; }
	.mega-footer .mega-logo { height: 80px; }
	.mega-footer__info { font-size: 18px; gap: 16px; }
	.mega-footer__email span:last-child { word-break: break-all; }
	.mega-footer__icon--pin svg { width: 28px; height: 40px; }
	.mega-footer__icon--mail svg { width: 40px; height: 26px; }
	.mega-footer__promo { font-size: 15px; line-height: 1.45; }
	.mega-footer__bottom { flex-direction: column; align-items: center; }
	.mega-footer__tel { font-size: 28px; gap: 16px; }
	.mega-footer__handle { font-size: 28px; }

	/* Celular: tudo centralizado; ícones de endereço e e-mail sobem para cima do texto. */
	.mega-footer__inner { text-align: center; }
	.mega-footer__top { justify-items: center; }
	.mega-footer__logo { justify-self: center; }
	.mega-footer__endereco { justify-self: center; }
	.mega-footer__info { flex-direction: column; gap: 10px; }
	.mega-footer__social { flex-direction: column; justify-content: center; gap: 16px; }
	.mega-footer__icons { justify-content: center; }
}
