/* Identidade compartilhada das novas páginas internas do guia. */
body.catalog-page {
  --ink: #080e38;
  --red: #0054dc;
  --banner-blue: #0756bb;
  --lime: #ffda32;
  --cream: #fff;
  --page-bg: #f3f8ff;
  color: var(--ink);
  padding-bottom: calc(72px + env(safe-area-inset-bottom));
}
.catalog-page svg:not(:where(.leaflet-container *, .maplibregl-map *)) { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.catalog-page .catalog-icon-definitions { position: absolute; width: 0; height: 0; overflow: hidden; }
.catalog-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.catalog-page :is(a, button, input):focus-visible { outline: 3px solid #3489ef; outline-offset: 4px; }
.catalog-page main { min-height: 0; padding: 24px 0 32px; }
.public-bottom-nav { position: fixed; z-index: 60; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 max(12px, calc((100% - 650px) / 2)) env(safe-area-inset-bottom); border-top: 1px solid #e2eaf4; background: #fffffff5; box-shadow: 0 -4px 18px #142a4f08; backdrop-filter: blur(12px); }
.public-bottom-nav a { position: relative; display: grid; min-height: 68px; align-content: center; justify-items: center; gap: 3px; color: var(--ink); font-size: 13px; }
.public-bottom-nav svg { width: 25px; height: 25px; }
.public-bottom-nav a[aria-current="page"] { color: #0054dc; font-weight: 700; }
.public-bottom-nav a[aria-current="page"]::before { content: ''; position: absolute; top: 0; width: 65px; height: 3px; border-radius: 0 0 4px 4px; background: #0054dc; }
@media (max-width: 760px) {
  .catalog-page main { padding: 0 0 24px; }
  .catalog-page .site-footer-inner { width: 100%; padding: 24px 20px; gap: 20px; }
  .catalog-page .site-footer-nav { gap: 10px 14px; }
}
