/*
 * Rodapé -- mesma estrutura do site da NexTool: bloco de marca largo seguido de
 * colunas estreitas de links, títulos discretos em caixa alta, redes como ícones
 * sem moldura e barra de copyright em três partes que empilham no celular.
 *
 * Diferença consciente: mantemos telefone, e-mail e endereço no bloco de marca.
 * A NexTool não os exibe, mas a JMBA atende empresas locais e esconder o contato
 * seria perder venda.
 */
.footer {
  background: var(--footer-bg);
  color: var(--footer-color);
  font-size: .875rem;
  border-top: 1px solid var(--footer-border);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.6fr repeat(4, 1fr);
  gap: 1.75rem 1.5rem;
  padding: 2.25rem 0 1.25rem;
}

/* --- Bloco de marca --- */
.footer-brand-block { max-width: 20rem; }
.footer-brand { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; }
.footer-brand:hover { text-decoration: none; }
.footer-brand img { width: 2.4rem; height: 2.4rem; }
.footer-brand strong {
  font-family: var(--heading-font);
  font-size: 1.15rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--footer-heading);
}
.footer-desc { margin: .75rem 0 0; line-height: 1.55; font-size: .84rem; color: var(--footer-color); }
.footer-cnpj { margin: 0; font-size: .8125rem; color: var(--footer-color); opacity: .8; }

.footer-contact { list-style: none; margin: .9rem 0 0; display: grid; gap: .4rem; }
.footer-contact li { display: flex; gap: .55rem; align-items: flex-start; }
.footer-contact svg { width: .95rem; height: .95rem; flex-shrink: 0; margin-top: .3rem; color: var(--brand-cyan); }
.footer-contact a, .footer-contact span { font-size: .84rem; line-height: 1.45; }

/* Ícones de rede sem moldura, só cor no hover */
.social { display: flex; gap: .9rem; margin-top: 1rem; }
.social a { display: inline-flex; color: var(--footer-color); transition: color var(--transition); }
.social a:hover { color: var(--footer-heading); }
.social svg { width: 1.15rem; height: 1.15rem; }

/* --- Colunas de links --- */
.footer h2 {
  color: var(--footer-color);
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0 0 .75rem;
  opacity: .85;
}
.footer-links ul { list-style: none; display: grid; gap: .45rem; font-size: .84rem; }
.footer a { color: var(--footer-color); text-decoration: none; transition: color var(--transition); }
.footer a:hover { color: var(--footer-heading); text-decoration: none; }
.footer-links a { display: inline-flex; align-items: center; gap: .3rem; line-height: 1.4; }
.footer-ext-icon { width: .6rem; height: .6rem; opacity: .5; }

/* Botão que se disfarça de link (abre as preferências de cookie) */
.footer-link-btn {
  padding: 0; border: 0; background: none; cursor: pointer;
  font: inherit; color: var(--footer-color); text-align: left;
  transition: color var(--transition);
}
.footer-link-btn:hover { color: var(--footer-heading); }

/* --- Barra de copyright --- */
.footer-bottom {
  border-top: 1px solid var(--footer-border);
  padding: 1rem 0;
  font-size: .8125rem;
  text-align: center;
}
.footer-bottom .cr-author { opacity: .9; }
.footer-author-link { color: var(--brand-cyan); font-weight: 600; }
.footer-author-link:hover { color: var(--footer-heading); }
.footer-bottom p { margin: 0; }
.footer-bottom .cr-brand strong { color: var(--footer-heading); }

@media (max-width: 991.98px) {
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-brand-block { grid-column: 1 / -1; max-width: none; }
}

@media (max-width: 575.98px) {
  .footer-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; padding-top: 2rem; }
  /* No celular a linha vira três, e "todos os direitos reservados" sai de cena */
  .footer-bottom .cr-brand, .footer-bottom .cr-author { display: block; }
  .footer-bottom .cr-rights { display: none; }
}
