/* Estrutura Local — visual das páginas geradas.
 *
 * Duas regras que vêm de erro cometido antes:
 *
 * 1. Nenhuma cor de cliente cravada aqui. A versão antiga trazia seis cores do
 *    primeiro cliente (marrom e bege de salão) e elas foram parar nas páginas
 *    do segundo. O que existir de cor sai de variável, e o kit do cliente
 *    redefine no custom_css.
 *
 * 2. Herdar do tema não basta. Medido na Agência Alpha em 14/10/2026: o tema é
 *    de fundo escuro (h2 branco, texto cinza claro) mas a página renderiza com
 *    fundo branco — os títulos ficavam brancos no branco, invisíveis. Por isso
 *    daqui em diante o bloco controla o próprio tamanho e a própria cor de
 *    título, caindo para `inherit` quando ninguém definir, nunca para o valor
 *    do tema que pode estar brigando com o fundo.
 *
 * Tudo vive dentro de .nnm-local-content. Nenhum seletor global: um body{color}
 * solto já apagou a identidade de um cliente.
 */

.nnm-local-content {
  /* o kit do cliente sobrescreve estas */
  --nnm-tinta: inherit;
  --nnm-titulo: inherit;
  --nnm-discreto: color-mix(in srgb, currentColor 78%, transparent);
  --nnm-superficie: color-mix(in srgb, currentColor 4%, transparent);
  --nnm-borda: color-mix(in srgb, currentColor 22%, transparent);
  --nnm-linha: color-mix(in srgb, currentColor 14%, transparent);
  --nnm-acao-fundo: transparent;
  --nnm-acao-texto: currentColor;
  --nnm-raio: 14px;

  color: var(--nnm-tinta);
  line-height: 1.7;
  max-width: 820px;
}

/* ---------- títulos: tamanho e cor nossos ---------- */
.nnm-local-content h2 {
  color: var(--nnm-titulo);
  font-size: clamp(1.3rem, 2.4vw, 1.75rem);
  line-height: 1.25;
  margin: 40px 0 14px;
}

.nnm-local-content h3 {
  color: var(--nnm-titulo);
  font-size: clamp(1.02rem, 1.6vw, 1.15rem);
  line-height: 1.35;
  margin: 22px 0 6px;
}

.nnm-local-content p { margin: 0 0 14px; }

.nnm-local-content a { color: inherit; }
.nnm-local-content a:hover { text-decoration: underline; }

/* ---------- hero ---------- */
.nnm-local-content .nnm-hero {
  padding-bottom: 26px;
  margin-bottom: 26px;
  border-bottom: 1px solid var(--nnm-linha);
}

.nnm-local-content .nnm-eyebrow {
  font-size: .76rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--nnm-discreto);
  margin: 0 0 10px;
}

.nnm-local-content .nnm-lead {
  font-size: clamp(1.15rem, 2.2vw, 1.4rem);
  line-height: 1.45;
  font-weight: 500;
  color: var(--nnm-titulo);
  margin: 0 0 20px;
}

.nnm-local-content .nnm-hero-acao { margin: 0; }

/* ---------- foto ---------- */
.nnm-local-content .nnm-foto { margin: 0 0 28px; }

.nnm-local-content .nnm-foto img {
  display: block;
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: var(--nnm-raio);
}

/* ---------- trilha ---------- */
.nnm-local-content .nnm-trilha {
  font-size: .82rem;
  line-height: 1.9;
  color: var(--nnm-discreto);
  margin: 0 0 26px;
}
.nnm-local-content .nnm-trilha a { color: var(--nnm-discreto); }

/* ---------- grade de links ---------- */
.nnm-local-content .nnm-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 10px;
  list-style: none;
  padding: 0;
  margin: 0 0 10px;
}

.nnm-local-content .nnm-grid li {
  margin: 0;
  background: var(--nnm-superficie);
  border: 1px solid var(--nnm-borda);
  border-radius: var(--nnm-raio);
}

.nnm-local-content .nnm-grid a {
  display: block;
  padding: 14px 16px;
  font-weight: 500;
  text-decoration: none;
}

.nnm-local-content .nnm-grid li:hover { border-color: currentColor; }

/* ---------- botão ---------- */
.nnm-local-content .nnm-button {
  display: inline-block;
  padding: 13px 24px;
  border: 2px solid var(--nnm-acao-fundo, currentColor);
  border-radius: 999px;
  background: var(--nnm-acao-fundo);
  color: var(--nnm-acao-texto);
  font-weight: 600;
  text-decoration: none;
}

.nnm-local-content .nnm-button:hover {
  filter: brightness(.94);
  text-decoration: none;
}

/* ---------- chamada para ação ---------- */
.nnm-local-content .nnm-cta {
  margin: 40px 0;
  padding: 26px;
  border: 1px solid var(--nnm-borda);
  border-radius: var(--nnm-raio);
  background: var(--nnm-superficie);
}

.nnm-local-content .nnm-cta-titulo {
  margin: 0 0 8px;
  font-weight: 700;
  font-size: 1.1rem;
  color: var(--nnm-titulo);
}

.nnm-local-content .nnm-cta p:last-child { margin-bottom: 0; }

.nnm-local-content .nnm-cta-pe {
  font-size: .88rem;
  color: var(--nnm-discreto);
  margin-top: 14px;
}

/* ---------- mais buscadas ---------- */
.nnm-local-content .nnm-mais-titulo {
  margin: 40px 0 12px;
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--nnm-discreto);
}

.nnm-local-content .nnm-mais {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  list-style: none;
  padding: 0;
  margin: 0 0 26px;
  font-size: .88rem;
}

.nnm-local-content .nnm-mais li { margin: 0; }
.nnm-local-content .nnm-mais a { color: var(--nnm-discreto); }

/* ---------- rodapé do bloco ---------- */
.nnm-local-content .nnm-address {
  border-top: 1px solid var(--nnm-linha);
  padding-top: 18px;
  font-size: .88rem;
  color: var(--nnm-discreto);
}

@media (max-width: 600px) {
  .nnm-local-content .nnm-grid { grid-template-columns: 1fr; }
  .nnm-local-content .nnm-cta { padding: 20px; }
}

/* navegador sem color-mix: cai para a cor do tema, nunca para a de outro cliente */
@supports not (color: color-mix(in srgb, currentColor 10%, transparent)) {
  .nnm-local-content .nnm-grid li,
  .nnm-local-content .nnm-cta,
  .nnm-local-content .nnm-address,
  .nnm-local-content .nnm-hero { border-color: currentColor; }
  .nnm-local-content .nnm-eyebrow,
  .nnm-local-content .nnm-trilha,
  .nnm-local-content .nnm-address,
  .nnm-local-content .nnm-mais-titulo { opacity: .8; }
}
