/* ============================================================
   Luirgi Machado — estilos do cabeçalho e rodapé
   Valores extraídos do CSS real (post-2000.css / post-2001.css / post-1885.css)
   ============================================================ */

* { box-sizing: border-box; }
body { margin: 0; }
/* `height:auto` é obrigatório: as tags <img> trazem width/height originais no
   HTML, e sem isso qualquer regra de largura em CSS deixa a altura presa no
   valor do atributo — a imagem estica e borra. */
img { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; margin: 0; padding: 0; }

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

.topbar {
	background: var(--cor-primaria);
	color: var(--cor-branco);
}
/* Bloco 01 — barra superior. Valores conferidos 1:1 contra o post-2000.css do
   site atual (container b3cfcfd + lista de ícones fd2c980):
   texto 16px / ícone 16px #FCB900 / 50px entre itens; no mobile 14/14/10px. */
.topbar__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 10px;
}
.topbar__list {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
	justify-content: center;
}
.topbar__list a {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--fonte-titulo);
	font-size: 16px;
	font-weight: 400;
}
.topbar .icon {
	width: 16px;
	height: 16px;
	fill: #FCB900;
	flex-shrink: 0;
}

@media (max-width: 480px) {
	.topbar__list { gap: 10px; }
	.topbar__list a { font-size: 14px; gap: 4px; }
	.topbar .icon { width: 14px; height: 14px; }
}

.mainbar {
	background: var(--cor-branco);
	border-bottom: 1px solid #eee;
}
.mainbar__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 15px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
}
.mainbar__logo img { max-height: 60px; width: auto; }

/* Bloco 02 — barra branca (logo + menu). Valores do post-2000.css, elemento
   43c4dc8: item Poppins peso 500 cor #1F1D1E; hover/ativo #FCB900. */
.mainnav__list {
	display: flex;
	gap: 28px;
}
.mainnav__link {
	font-family: var(--fonte-titulo);
	font-weight: 500;
	color: var(--cor-secundaria);
	transition: color .3s;
}
.mainnav__link:hover,
.mainnav__link:focus,
.mainnav__link--ativo {
	color: var(--cor-destaque);
}

/* Hambúrguer: as 3 barras são o próprio <span> + ::before/::after. Antes o botão
   existia sem desenho nenhum e sem JS, então no celular o menu não abria. */
.mainnav__toggle {
	display: none;
	background: none;
	border: 0;
	padding: 8px;
	cursor: pointer;
	line-height: 0;
}
.mainnav__toggle-icon,
.mainnav__toggle-icon::before,
.mainnav__toggle-icon::after {
	display: block;
	width: 26px;
	height: 3px;
	border-radius: 2px;
	background: var(--cor-primaria);
	transition: transform .3s, opacity .3s;
}
.mainnav__toggle-icon::before,
.mainnav__toggle-icon::after {
	content: '';
	position: relative;
}
.mainnav__toggle-icon::before { top: -8px; }
.mainnav__toggle-icon::after  { top: 5px; }

/* Vira um "X" quando o menu está aberto */
.mainnav__toggle[aria-expanded="true"] .mainnav__toggle-icon { background: transparent; }
.mainnav__toggle[aria-expanded="true"] .mainnav__toggle-icon::before { transform: translateY(8px) rotate(45deg); }
.mainnav__toggle[aria-expanded="true"] .mainnav__toggle-icon::after  { transform: translateY(-5px) rotate(-45deg); }

/* ≤768px: mesmo comportamento do site atual — logo menor e menu centralizado
   embaixo dela, ainda na horizontal (o hambúrguer só entra no celular). */
@media (max-width: 768px) {
	.mainbar { position: relative; }
	.mainbar__inner { flex-wrap: wrap; justify-content: center; gap: 20px; }
	.mainbar__logo { width: 55%; }
	.mainbar__logo img { max-height: none; width: 100%; height: auto; }
	.mainnav { width: 100%; }
	.mainnav__list { justify-content: center; flex-wrap: wrap; gap: 0; }
	.mainnav__link { display: block; padding: 3px 25px; }
}

/* ≤480px: aí sim vira hambúrguer, como no site atual */
@media (max-width: 480px) {
	.mainbar__inner { flex-wrap: nowrap; justify-content: space-between; gap: 10px; padding: 10px; }
	.mainbar__logo { width: 60%; }
	.mainnav { width: auto; }
	.mainnav__toggle { display: block; }
	.mainnav__list {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 20;
		background: var(--cor-branco);
		flex-direction: column;
		padding: 10px 0;
		gap: 0;
		border-radius: 0 0 5px 5px;
		box-shadow: 0 0 10px rgba(0,0,0,.22);
	}
	.mainnav__list.aberto { display: flex; }
	.mainnav__link { padding: 10px 27px; }
}

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

.site-footer {
	background: var(--cor-primaria);
	color: var(--cor-branco);
}
.footer__top {
	max-width: 1200px;
	margin: 0 auto;
	padding: 50px 20px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 30px;
}
.footer__col--logo { text-align: center; }
.footer__col--logo img { width: 165px; height: auto; margin: 0 auto; }

/* ⚠️ Títulos e CRECI PRECISAM declarar a cor. A regra global do base.css pinta
   todo h1..h6 de `--cor-secundaria` (quase preto), e num rodapé azul escuro
   isso some. Foi exatamente o que estava acontecendo. */
.footer__creci {
	font-family: var(--fonte-titulo);
	font-size: 30px;
	font-weight: 900;
	color: var(--cor-branco);
	margin-top: -6px;
}
.footer__titulo {
	font-family: var(--fonte-titulo);
	font-size: 18px;
	font-weight: 600;
	color: var(--cor-branco);
	letter-spacing: .5px;
	margin-bottom: 16px;
	border-bottom: 1px solid rgba(255,255,255,.3);
	padding-bottom: 8px;
}
.footer__lista li {
	margin-bottom: 10px;
	font-family: var(--fonte-titulo);
	font-size: 15px;
	font-weight: 300;
	color: var(--cor-branco);
}
.footer__lista a:hover { color: var(--cor-destaque); }

/* Lista de contato: ícone amarelo à esquerda, texto alinhado pelo topo (o
   endereço ocupa 3 linhas e o ícone precisa ficar na primeira).
   O `text-align: left` é obrigatório: no celular o rodapé inteiro fica
   centralizado (`.footer__top`), e isso puxava as linhas quebradas do
   endereço pro meio — a última linha ("29700-010") ficava solta no centro,
   fora do prumo do e-mail e do WhatsApp. Aqui o texto começa sempre colado
   no ícone, em qualquer largura. */
.footer__lista--contato li { display: flex; align-items: flex-start; gap: 10px; text-align: left; }
.footer__icone {
	width: 14px;
	height: 14px;
	fill: var(--cor-destaque);
	flex-shrink: 0;
	margin-top: 4px;
}

/* Sociais: círculo amarelo com o glifo escuro — estava ao contrário. */
.footer__social { display: flex; gap: 12px; margin-top: 16px; }
.footer__social svg {
	width: 18px;
	height: 18px;
	fill: var(--cor-primaria);
	background: var(--cor-destaque);
	border-radius: 50%;
	padding: 8px;
	box-sizing: content-box;
	transition: background .3s, fill .3s;
}
.footer__social a:hover svg { background: var(--cor-branco); fill: var(--cor-destaque); }

/* Sem `font-family` aqui o bloco herdava a Abel do corpo — no original é
   Poppins 15px/300, igual ao resto do rodapé. Valores do post-2001.css
   (contêiner f77c353, linha do copyright 6af66d4).
   O separador que eu tinha posto acima não existe no site atual: lá o azul é
   contínuo até embaixo. Removido. */
.footer__bottom {
	text-align: center;
	padding: 15px 20px;
	font-family: var(--fonte-titulo);
	font-size: 15px;
	font-weight: 300;
	color: var(--cor-branco);
}
.footer__bottom p { margin: 4px 0; }

@media (max-width: 768px) {
	.footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
	.footer__top { grid-template-columns: 1fr; text-align: center; }
	.footer__social { justify-content: center; }
}

/* ---------- Botão flutuante de WhatsApp ----------
   Medidas do próprio Joinchat do site atual: 60px, `#25d366`, sombra
   `1px 6px 24px rgba(7,94,84,.24)`, hover `#128c7e`, 20px da borda. */

.zap {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 50;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
}
.zap__botao {
	width: 60px;
	height: 60px;
	border: 0;
	border-radius: 50%;
	background: #25d366;
	box-shadow: 1px 6px 24px 0 rgba(7, 94, 84, .24);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	transition: background .3s, transform .3s;
}
.zap__botao:hover { background: #128c7e; transform: scale(1.06); }
.zap__botao svg { width: 32px; height: 32px; fill: #fff; }

.zap__caixa {
	width: 280px;
	background: var(--cor-branco);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 30px rgba(0, 0, 0, .22);
}
.zap__topo {
	background: #128c7e;
	color: var(--cor-branco);
	padding: 12px 14px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	font-family: var(--fonte-titulo);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
}
.zap__fechar {
	background: none;
	border: 0;
	color: inherit;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	padding: 0 2px;
}
.zap__corpo { padding: 16px 14px; background: #ece5dd; }
/* Balão de conversa, com a pontinha virada pra quem está falando */
.zap__balao {
	position: relative;
	margin: 0;
	background: var(--cor-branco);
	border-radius: 0 8px 8px 8px;
	padding: 10px 12px;
	font-family: var(--fonte-titulo);
	font-size: 14px;
	color: var(--cor-secundaria);
	box-shadow: 0 1px 2px rgba(0, 0, 0, .12);
}
.zap__balao::before {
	content: '';
	position: absolute;
	top: 0;
	left: -7px;
	border-top: 8px solid var(--cor-branco);
	border-left: 7px solid transparent;
}
.zap__abrir {
	display: block;
	text-align: center;
	background: #25d366;
	color: var(--cor-branco);
	font-family: var(--fonte-titulo);
	font-size: 15px;
	font-weight: 600;
	padding: 13px;
	transition: background .3s;
}
.zap__abrir:hover { background: #128c7e; }

/* ---------- Aviso de cookies ----------
   Cartão no canto ESQUERDO de propósito: o botão do WhatsApp mora no direito,
   e barra de largura cheia passaria por cima dele. No celular não cabem os
   dois lado a lado, então o aviso sobe pra ficar acima do botão. */

.cookies {
	position: fixed;
	left: 20px;
	bottom: 20px;
	z-index: 60;
	max-width: 420px;
	background: var(--cor-primaria);
	color: var(--cor-branco);
	border-radius: 10px;
	box-shadow: 0 8px 30px rgba(0, 0, 0, .25);
	padding: 18px 20px;
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
.cookies__texto {
	margin: 0;
	flex: 1 1 220px;
	font-family: var(--fonte-titulo);
	font-size: 13px;
	font-weight: 300;
	line-height: 1.5;
}
.cookies__texto a { color: var(--cor-destaque); text-decoration: underline; }
.cookies__ok {
	flex-shrink: 0;
	background: var(--cor-destaque);
	color: var(--cor-branco);
	border: 0;
	border-radius: 5px;
	padding: 11px 26px;
	font-family: var(--fonte-titulo);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background .3s;
}
.cookies__ok:hover { background: var(--cor-branco); color: var(--cor-primaria); }

@media (max-width: 768px) {
	/* 90px = os 60px do botão + os 20px da borda + folga */
	.cookies { left: 12px; right: 12px; bottom: 90px; max-width: none; }
	.zap__caixa { width: 240px; }
}
