/* Guia de Visitação e Lugares de A a Z — só o que não tem widget nativo: o campo de busca,
 * o mapa com vários pontos e a lista de A a Z. O resto da página é controle do Elementor.
 * Cores pelas variáveis da paleta do núcleo (--a12-*), que trocam de cor por núcleo. */

/* busca do herói: o botão é o .elementor-button do kit; aqui só a forma de pílula */
.a12-guia-busca { display: flex; gap: 12px; width: min(100%, 640px); }
.a12-guia-busca input { flex: 1; min-width: 0; height: 56px; padding: 0 24px; border: 1px solid #D5D4D4; border-radius: 32px; background: #fff; font: inherit; color: var(--a12-secundaria, #4B2D22); }
.a12-guia-busca input:focus-visible, .a12-az__busca:focus-visible { outline: 3px solid var(--a12-principal, #7B4A32); outline-offset: 2px; }
.a12-guia-busca .elementor-button { height: 56px; padding: 0 28px; border: 0; border-radius: 32px; background: var(--a12-principal, #7B4A32); color: #fff; }
.a12-guia-busca .elementor-button:hover, .a12-guia-busca .elementor-button:focus-visible { background: var(--a12-secundaria, #4B2D22); }
/* espera: o ícone gira enquanto a busca carrega (regra de UI do portal) */
.a12-guia-busca .elementor-button { display: inline-flex; align-items: center; gap: 10px; }
.a12-guia-girando { display: none; width: 18px; height: 18px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: a12-guia-gira .7s linear infinite; }
.a12-guia-busca.is-buscando .a12-guia-girando { display: inline-block; }
.a12-guia-busca.is-buscando .elementor-button { cursor: progress; }
@keyframes a12-guia-gira { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .a12-guia-girando { animation-duration: 2s; } }
.a12-guia-busca__az { padding-top: 20px; } /* mesmo widget da busca: o respiro do container não chega aqui, e o kit zera margem de p com !important */
.a12-guia-busca__az a { color: var(--a12-secundaria, #4B2D22); font-weight: 500; }
@media (max-width: 767px) {
	.a12-guia-busca { flex-direction: column; }
	.a12-guia-busca .elementor-button { width: 100%; }
}

/* mapa de ponta a ponta */
.a12-guia-mapa { width: 100%; height: 560px; z-index: 0; background: var(--a12-fundo-suave, #EFE1D8); }
@media (max-width: 767px) { .a12-guia-mapa { height: 420px; } }
.a12-guia-pino { display: block; width: 26px; height: 26px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); border: 2px solid #fff; box-shadow: 0 1px 4px rgba(0, 0, 0, .35); }
.a12-guia-pop strong { display: block; color: var(--a12-secundaria, #4B2D22); font-size: 1rem; }
.a12-guia-pop span { display: block; color: #616161; font-size: .85rem; margin: 2px 0 8px; }
.a12-guia-pop a { color: var(--a12-principal, #7B4A32); font-weight: 600; }

/* A a Z */
.a12-az__topo { position: sticky; top: var(--a12-az-topo, 0px); z-index: 2; display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 16px 0; background: var(--a12-fundo-minimo, #FAF5F2); border-bottom: 1px solid #D5D4D4; }
.a12-az__busca { flex: 1 1 240px; height: 48px; padding: 0 20px; border: 1px solid #D5D4D4; border-radius: 32px; background: #fff; font: inherit; }
.a12-az__letras { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: thin; max-width: 100%; }
.a12-az__letras a, .a12-az__letras span { flex: none; display: grid; place-items: center; min-width: 32px; height: 32px; border-radius: 16px; font-weight: 600; text-decoration: none; }
.a12-az__letras a { color: var(--a12-secundaria, #4B2D22); background: var(--a12-fundo-suave, #EFE1D8); }
.a12-az__letras a:hover, .a12-az__letras a.is-atual { color: #fff; background: var(--a12-principal, #7B4A32); }
.a12-az__letras span { color: #BDBDBD; }
.a12-az__letra { display: grid; grid-template-columns: 96px 1fr; gap: 24px; padding: 32px 0; border-bottom: 1px solid #EFEFEF; scroll-margin-top: calc(var(--a12-az-topo, 0px) + 96px); }
.a12-az__capitular { margin: 0; font-family: var(--e-global-typography-075d21b-font-family), sans-serif; font-size: 4rem; font-weight: 400; line-height: 1; color: var(--a12-principal, #7B4A32); }
.a12-az__letra ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 32px; }
.a12-az__letra li a { font-weight: 600; color: var(--a12-secundaria, #4B2D22); text-decoration: none; }
.a12-az__letra li a:hover { text-decoration: underline; }
.a12-az__letra li span { display: block; margin-top: 2px; font-size: .9rem; color: #616161; }
.a12-az__vazio { padding: 32px; text-align: center; border-radius: 16px; background: var(--a12-fundo-suave, #EFE1D8); }
@media (max-width: 1024px) { .a12-az__letra ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.a12-az__letra { grid-template-columns: 1fr; gap: 8px; padding: 24px 0; }
	.a12-az__capitular { font-size: 2.5rem; }
	.a12-az__letra ul { grid-template-columns: 1fr; }
}
