/* Guia Ecila — shortcodes [principais_cidades_guia] e [principais_termos_busca].
   Carregado só nas páginas que usam os shortcodes. Herda a fonte do tema. */
.eg-sc {
  --eg-sc-escuro: #011c1d;
  --eg-sc-verde: #00a856;
  --eg-sc-verde-claro: #e6fbef;
  --eg-sc-texto: #0f2b2c;
  --eg-sc-suave: #5b6b6c;
  --eg-sc-borda: #e1e8e7;
  --eg-sc-raio: 12px;
  box-sizing: border-box;
  max-width: 100%;
  color: var(--eg-sc-texto);
  margin: 0 0 24px;
}
.eg-sc *, .eg-sc *::before, .eg-sc *::after { box-sizing: border-box; }
.eg-sc ul { list-style: none; margin: 0; padding: 0; }
.eg-sc li { margin: 0; padding: 0; }
.eg-sc li::before { content: none; }
.eg-sc a { text-decoration: none; }
.eg-sc-titulo { font-size: 1.1em; font-weight: 700; margin: 0 0 12px; line-height: 1.3; color: var(--eg-sc-escuro); }

/* ── Cidades ── */
.eg-sc--grade .eg-sc-cidades-lista {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
  gap: 10px;
}
.eg-sc-cidade {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-height: 44px;
  height: 100%;
  padding: 12px 14px;
  background: #fff;
  border: 1px solid var(--eg-sc-borda);
  border-radius: var(--eg-sc-raio);
  color: var(--eg-sc-texto);
  transition: border-color .15s, box-shadow .15s;
}
.eg-sc-cidade:hover, .eg-sc-cidade:focus-visible { border-color: var(--eg-sc-verde); box-shadow: 0 2px 10px rgba(1, 28, 29, .08); color: var(--eg-sc-texto); }
.eg-sc-cidade-nome { font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.eg-sc-uf { font-weight: 600; font-size: .8em; color: var(--eg-sc-suave); }
.eg-sc-cidade-total { font-size: .85em; color: var(--eg-sc-verde); font-weight: 600; }

.eg-sc--lista .eg-sc-cidades-lista { display: flex; flex-direction: column; border-top: 1px solid var(--eg-sc-borda); }
.eg-sc--lista .eg-sc-cidade {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border: 0;
  border-bottom: 1px solid var(--eg-sc-borda);
  border-radius: 0;
  padding: 12px 4px;
  background: transparent;
}
.eg-sc--lista .eg-sc-cidade:hover { box-shadow: none; background: rgba(0, 168, 86, .04); }
.eg-sc--lista .eg-sc-cidade-total { white-space: nowrap; }

/* ── Termos ── */
.eg-sc--chips .eg-sc-termos-lista { display: flex; flex-wrap: wrap; gap: 8px; }
.eg-sc-termo {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  min-height: 40px;
  padding: 8px 14px;
  background: #fff;
  border: 1px solid var(--eg-sc-borda);
  border-radius: 999px;
  color: var(--eg-sc-texto);
  font-weight: 600;
  font-size: .9em;
  line-height: 1.2;
  overflow-wrap: anywhere;
  transition: border-color .15s, background .15s;
}
.eg-sc-termo svg { flex-shrink: 0; color: var(--eg-sc-verde); }
.eg-sc-termo:hover, .eg-sc-termo:focus-visible { border-color: var(--eg-sc-verde); background: var(--eg-sc-verde-claro); color: var(--eg-sc-texto); }

.eg-sc--lista .eg-sc-termos-lista { display: flex; flex-direction: column; }
.eg-sc--lista .eg-sc-termo { border: 0; border-bottom: 1px solid var(--eg-sc-borda); border-radius: 0; padding: 10px 4px; width: 100%; background: transparent; }

@media (max-width: 720px) {
  .eg-sc--grade .eg-sc-cidades-lista { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .eg-sc-cidade { padding: 10px 12px; }
  .eg-sc-termo { min-height: 44px; }
}
@media (max-width: 340px) {
  .eg-sc--grade .eg-sc-cidades-lista { grid-template-columns: minmax(0, 1fr); }
}
