/* Navegação pública: os destinos essenciais permanecem visíveis no celular. */
.public-header .public-action--home::before { content: none; }
.public-header .public-actions a[aria-current="page"] { color: #61269d; text-decoration: underline; text-underline-offset: 5px; }
.public-header .public-actions a:focus-visible { outline: 3px solid #61269d; outline-offset: 3px; border-radius: 5px; }
@media (max-width: 1100px) {
  body.public-page .public-header { height: auto; min-height: 58px; }
  body.public-page .public-header .public-header-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 0; }
  body.public-page .public-header .public-search-wrap { display: none; }
  body.public-page .public-header .public-actions { display: flex; flex: 1 1 100%; flex-wrap: wrap; gap: 6px 12px; margin: 0; justify-content: flex-start; min-width: 0; }
  body.public-page .public-header .public-actions .public-action { display: inline-flex !important; align-items: center; min-height: 44px; padding: 6px 4px; font-size: 13px; white-space: normal; }
  body.public-page .public-header .public-actions .public-action--contact { display: inline-flex !important; }
  body.public-page .public-header .public-profile-link { min-height: 44px; }
  body.public-page .public-header .public-profile-name { display: inline; max-width: 140px; overflow: hidden; text-overflow: ellipsis; }
}
.public-contact-main .public-breadcrumb { margin-bottom: 24px; }

/* As seis categorias compartilham uma única linha. Em telas pequenas, deslize. */
.discovery-home .discover-category-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 760px) {
  .discovery-home .discover-category-grid { grid-template-columns: repeat(7, minmax(128px, 1fr)); overflow-x: auto; padding: 4px 4px 14px; scroll-snap-type: x proximity; }
  .discovery-home .discover-category-grid a { scroll-snap-align: start; }
}

/* Pesquisa com ação explícita; todos e filtros acessíveis sem JavaScript. */
.public-header .public-search-wrap { position:relative; }
.public-header .public-search { padding-right:76px; }
.public-header .public-search-submit { position:absolute; right:5px; top:5px; bottom:5px; border:0; border-radius:6px; background:#61269d; color:white; padding:0 14px; cursor:pointer; }
.discovery-home .discover-filter-state { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 20px; font-size:13px; }
.discovery-home .discover-filter-state a { display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; border:1px solid #d9c8ed; border-radius:24px; background:#f5effb; }
.discovery-home .discover-reset { font-weight:700; color:#61269d; }
.discovery-home .discover-result-count { font-size:13px; color:#656b73; margin:0 0 18px; }
.discovery-home #eventos-destaque { scroll-margin-top:24px; }
@media(max-width:1100px) { body.public-page .public-header .public-search-wrap { display:block; order:3; flex:1 1 100%; width:100%; } }
@media(max-width:760px) { .discovery-home .discover-category-grid { grid-template-columns:repeat(7,minmax(112px,1fr)); } .discovery-home .discover-shelf>header { flex-wrap:wrap; } }
.public-header .public-search { height:44px; }
.public-header .public-search-submit { min-width:64px; }
.public-agenda .public-agenda-search { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.public-agenda .public-agenda-search .public-input { flex:1 1 210px; min-width:0; }

/* O menu reserva sua largura real; a busca ocupa somente o espaço restante. */
.public-header .public-search-wrap,
.public-header .public-search { box-sizing: border-box; min-width: 0; }
@media (min-width: 1101px) {
  body.public-page .public-header { height: auto; min-height: 58px; }
  body.public-page .public-header .public-header-inner {
    grid-template-columns: auto minmax(180px, 1fr) auto;
    column-gap: clamp(12px, 1.4vw, 24px);
    height: auto;
    min-height: 58px;
    padding: 8px 0;
  }
  body.public-page .public-header .public-search-wrap { width: 100%; }
  body.public-page .public-header .public-actions {
    flex-wrap: nowrap;
    gap: clamp(10px, 1vw, 18px);
    margin-left: 0;
  }
  body.public-page .public-header .public-actions > .public-action { flex-shrink: 0; }
}
