/* Guiados pela Fé — correção dos componentes públicos, 28/10/2026.
   Paleta: branco, vermelho, preto; verde somente WhatsApp/status.
   Carregado após as folhas antigas para não comprometer o Admin. */
:root{--gpf-fix-red:#b11226;--gpf-fix-ink:#17191e;--gpf-fix-muted:#434954;--gpf-fix-line:#dfd5d7}

/* Menu institucional: reduz altura e melhora navegação, sem esconder links. */
.gpf-web-menu{position:relative!important;z-index:800!important}
.gpf-web-menu>summary{cursor:pointer!important}
.gpf-web-menu-links{
  position:absolute!important;right:0!important;left:auto!important;
  top:calc(100% + 7px)!important;
  width:min(370px,calc(100vw - 24px))!important;
  max-height:min(66dvh,445px)!important;
  padding:10px!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:3px 5px!important;
  overflow-x:hidden!important;overflow-y:auto!important;
  background:#fff!important;color:var(--gpf-fix-ink)!important;
  border:1px solid var(--gpf-fix-line)!important;border-radius:12px!important;
  box-shadow:0 14px 35px rgba(33,13,18,.18)!important;
  overscroll-behavior:contain;
}
.gpf-web-menu-links .gpf-menu-group{
  grid-column:1/-1!important;
  margin:0!important;padding:8px 8px 5px!important;
  font-size:.7rem!important;line-height:1.3!important;
  color:#891126!important;font-weight:850!important;letter-spacing:.05em!important;
}
.gpf-web-menu-links .gpf-menu-group-secondary{margin-top:5px!important;padding-top:10px!important}
.gpf-web-menu-links>a{
  display:flex!important;justify-content:flex-start!important;align-items:center!important;
  min-width:0!important;min-height:42px!important;
  margin:0!important;padding:9px 10px!important;
  font-size:.84rem!important;line-height:1.28!important;
  text-decoration:none!important;text-align:left!important;
  overflow-wrap:anywhere!important;white-space:normal!important;
  color:#202329!important;border-radius:7px!important;
}
.gpf-web-menu-links>a:hover,.gpf-web-menu-links>a:focus-visible{color:#8d0d25!important;background:#fbecee!important}
body.public-home .topbar,body.public-points .main-header{overflow:visible!important;z-index:500!important}
@media(max-width:480px){
  .gpf-web-menu-links{width:min(315px,calc(100vw - 46px))!important;max-height:min(62dvh,385px)!important;gap:2px 4px!important;padding:8px!important}
  .gpf-web-menu-links>a{padding:9px 8px!important;font-size:.82rem!important}
}

/* Modal de cartaz: no tema anterior fundo escuro + título preto tornavam texto invisível. */
body.public-home #modalEventoImagem .modal-box{
  background:#fff!important;color:var(--gpf-fix-ink)!important;
  width:min(94vw,670px)!important;max-width:670px!important;
  max-height:calc(100dvh - 28px)!important;
  overflow:auto!important;border:1px solid var(--gpf-fix-line)!important;
  border-radius:14px!important;box-shadow:0 24px 75px rgba(0,0,0,.28)!important;
}
body.public-home #modalEventoImagem .modal-head{
  position:sticky!important;top:0!important;z-index:4!important;
  background:#fff!important;border-bottom:1px solid #e5dbdd!important;
  padding:13px 16px!important;
}
body.public-home #modalEventoImagem .modal-head h3,
body.public-home #modalEventoImagem .modal-head h3 *{
  color:#17191e!important;opacity:1!important;font-size:1.08rem!important;
}
body.public-home #modalEventoImagem .modal-close{
  color:#17191e!important;background:#f5eff0!important;
  border:1px solid #ded3d5!important;min-width:40px!important;min-height:40px!important;
}
body.public-home #modalEventoImagem .modal-body{background:#fff!important;color:#17191e!important;padding:14px!important}
body.public-home #modalEventoImagem #eventoImagemFull{
  display:block!important;width:auto!important;max-width:100%!important;
  max-height:min(62dvh,650px)!important;object-fit:contain!important;
  height:auto!important;margin:auto!important;border-radius:9px!important;
}
body.public-home #modalEventoImagem .post-actions{
  display:flex!important;flex-wrap:wrap!important;gap:9px!important;
  margin-top:13px!important;padding-top:8px!important;
}
body.public-home #modalEventoImagem .post-actions :is(.mini-btn,button,a){
  min-height:42px!important;padding:10px 13px!important;
  font-size:.88rem!important;font-weight:750!important;
  color:#202329!important;background:#fff!important;border:1px solid #d8cdd0!important;
  border-radius:8px!important;max-width:100%!important;
}
body.public-home #modalEventoImagem .post-actions .mini-btn.primary{
  background:#b11226!important;color:#fff!important;border-color:#b11226!important;
}

/* Outros modais da home mantêm fundo escuro, então o texto deve ser claro. */
body.public-home :is(#modalOrixa,#modalLogin,#modalConta,#modalPrimeiraVisita) .modal-box{background:#1a0b0f!important;color:#fff!important}
body.public-home :is(#modalOrixa,#modalLogin,#modalConta,#modalPrimeiraVisita) .modal-head{background:#1a0b0f!important}
body.public-home :is(#modalOrixa,#modalLogin,#modalConta,#modalPrimeiraVisita) .modal-head h3,
body.public-home :is(#modalOrixa,#modalLogin,#modalConta,#modalPrimeiraVisita) .modal-head h3 *{color:#fff!important}
body.public-home :is(#modalOrixa,#modalLogin,#modalConta,#modalPrimeiraVisita) .modal-close{color:#fff!important}
body.public-home #modalOrixa .modal-body :is(p,span,b,strong,div){color:#fff!important}

/* Leitor de pontos: painel branco e fonte preta, inclusive conteúdo JS injetado. */
body.public-points .modal .modal-content{
  background:#fff!important;color:#17191e!important;border:1px solid #e1d6d8!important;
  box-shadow:0 22px 65px rgba(0,0,0,.24)!important;
}
body.public-points .modal .modal-header{
  background:#fff!important;border-bottom:1px solid #e3d9dc!important;
  backdrop-filter:none!important;color:#17191e!important;
}
body.public-points .modal .modal-header h3,
body.public-points .modal .modal-header h3 *{color:#17191e!important;opacity:1!important}
body.public-points .modal :is(.close-modal,.modal-fav){
  background:#fff!important;color:#17191e!important;border:1px solid #d4c7cb!important;
}
body.public-points .modal .modal-fav.active{background:#fbecef!important;color:#b11226!important}
body.public-points .modal .modal-body{background:#fff!important;color:#17191e!important}
body.public-points .modal .lyrics-layout{min-height:0!important;background:#fff!important}
body.public-points .modal .lyrics-aside{
  background:#faf7f7!important;color:#17191e!important;border-color:#e3d9dc!important;
}
body.public-points .modal .lyrics-title,
body.public-points .modal .lyrics-main h4,
body.public-points .modal .lyrics-meaning strong{color:#17191e!important;opacity:1!important}
body.public-points .modal .lyrics-meta,
body.public-points .modal .lyrics-subtitle,
body.public-points .modal .lyrics-meaning{color:#46505b!important;opacity:1!important}
body.public-points .modal .lyrics-main{
  background:#fff!important;color:#17191e!important;
  overflow-x:hidden!important;overflow-y:auto!important;
}
body.public-points .modal .lyrics-text,
body.public-points .modal #lyricsText{
  color:#191c22!important;opacity:1!important;
  text-shadow:none!important;line-height:1.65!important;
  font-weight:570!important;
  overflow-wrap:anywhere!important;white-space:pre-wrap!important;
}
body.public-points .modal .lyrics-main-header{border-color:#e3d9dc!important}
body.public-points .modal .font-tool{
  background:#fff!important;border-color:#c9bdc0!important;color:#17191e!important;
}
body.public-points .modal .lyrics-badge{
  color:#8c1025!important;background:#fbecee!important;border-color:#ecd2d8!important;
}
body.public-points .modal .lyrics-actions .btn-primary{
  color:#fff!important;background:#b11226!important;border-color:#b11226!important;
}
body.public-points .modal .lyrics-actions .btn-ghost{
  color:#17191e!important;background:#fff!important;border:1px solid #cfc3c6!important;
}
body.public-points .modal .auth-modal-intro,
body.public-points .modal .category-section h4,
body.public-points .modal .auth-note{color:#444b55!important}
body.public-points .modal .chip:not(.active){color:#202329!important;background:#fff!important}
body.public-points .modal .chip.active{background:#b11226!important;color:#fff!important}

/* Home no celular: cartazes, calendário e botões proporcionais à tela. */
@media(max-width:680px){
  body.public-home .first-visit-card{gap:9px!important;padding:13px!important}
  body.public-home .first-visit-copy>span{font-size:.68rem!important;line-height:1.35!important}
  body.public-home .first-visit-copy h3{font-size:1rem!important;line-height:1.27!important}
  body.public-home .first-visit-copy p{
    display:block!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;
    overflow:visible!important;font-size:.84rem!important;line-height:1.43!important;
    color:#444b55!important;margin:4px 0!important;
  }
  body.public-home .first-visit-btn{min-height:42px!important;padding:10px 12px!important;font-size:.84rem!important}
  body.public-home .event-list{padding:10px!important;gap:10px!important}
  body.public-home .event-card,
  body.public-home .event-card.compact{
    display:grid!important;grid-template-columns:78px minmax(0,1fr)!important;
    gap:11px!important;padding:11px!important;align-items:start!important;
  }
  body.public-home .event-poster,
  body.public-home .event-card.compact .event-poster{
    width:78px!important;max-width:78px!important;height:104px!important;
    margin:0!important;border-radius:8px!important;
  }
  body.public-home .event-poster-date{font-size:.68rem!important;padding:3px 5px!important}
  body.public-home .event-content{min-width:0!important}
  body.public-home .event-title{
    margin:0 0 5px!important;font-size:.96rem!important;line-height:1.3!important;
    color:#191b20!important;overflow-wrap:break-word!important;
  }
  body.public-home .event-meta-line{
    display:flex!important;gap:5px 10px!important;flex-wrap:wrap!important;
    font-size:.77rem!important;line-height:1.4!important;
  }
  body.public-home .event-desc{font-size:.81rem!important;line-height:1.38!important}
  body.public-home .event-actions{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;margin-top:8px!important;
  }
  body.public-home .event-actions .event-action{
    min-width:0!important;width:100%!important;min-height:35px!important;
    padding:7px 5px!important;font-size:.72rem!important;line-height:1.2!important;
    white-space:nowrap!important;gap:4px!important;justify-content:center!important;
    display:inline-flex!important;align-items:center!important;
    border-radius:7px!important;
  }
  body.public-home .event-actions .event-action:last-child:nth-child(odd){grid-column:1/-1!important}
  body.public-home .event-actions .event-action .label{font-size:inherit!important}
  body.public-home .sidebar .card-header h3,
  body.public-home .card-header h3{font-size:1.08rem!important}
  body.public-home .local-card p{font-size:.93rem!important;line-height:1.45!important}
  body.public-home #modalEventoImagem .modal-box{max-height:calc(100dvh - 18px)!important}
  body.public-home #modalEventoImagem .modal-body{padding:11px!important}
  body.public-home #modalEventoImagem #eventoImagemFull{max-height:59dvh!important}
  body.public-home #modalEventoImagem .post-actions :is(button,a){flex:1 1 auto!important;font-size:.8rem!important;min-width:0!important}

  body.public-points #modalDetalhes .lyrics-shell{height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
  body.public-points #modalDetalhes .lyrics-layout{display:flex!important;flex-direction:column!important}
  body.public-points #modalDetalhes .lyrics-aside{
    flex:0 0 auto!important;max-height:38dvh!important;overflow:auto!important;
    padding:12px!important;
  }
  body.public-points #modalDetalhes .lyrics-main{
    flex:1 1 auto!important;height:auto!important;min-height:0!important;
    padding:16px 15px calc(24px + env(safe-area-inset-bottom))!important;
  }
  body.public-points #modalDetalhes .lyrics-text{font-size:var(--lyrics-size,1.1rem)!important}
}
@media(max-width:360px){
  body.public-home .event-card,body.public-home .event-card.compact{grid-template-columns:68px minmax(0,1fr)!important;gap:8px!important;padding:9px!important}
  body.public-home .event-poster,body.public-home .event-card.compact .event-poster{width:68px!important;max-width:68px!important;height:94px!important}
  body.public-home .event-actions .event-action{font-size:.67rem!important;letter-spacing:-.01em!important}
}

/* Garante texto preto nas opções, mesmo com a regra antiga que tingia todos os links de vermelho. */
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .gpf-web-menu-links>a{color:#202329!important}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .gpf-web-menu-links>a:is(:hover,:focus-visible){color:#8c0f26!important}


/* GUIADOS PELA FÉ | ajuste específico do modal de visita e das imagens de agenda (n2) */
/* Modal: luz e tipografia do site institucional — sem textos escuros em fundo escuro. */
body.public-home #modalPrimeiraVisita .first-visit-modal-box{
  width:min(620px,calc(100vw - 24px))!important;
  max-height:calc(100dvh - 24px)!important;
  background:#fff!important;color:#191c23!important;
  border:1px solid #e6d9dc!important;border-radius:16px!important;
  overflow:hidden!important;box-shadow:0 22px 65px rgba(0,0,0,.3)!important;
}
body.public-home #modalPrimeiraVisita .modal-head{
  background:#fff!important;border-bottom:1px solid #e9dfe1!important;
  padding:16px 18px!important;flex-shrink:0!important;
}
body.public-home #modalPrimeiraVisita .modal-head h3,
body.public-home #modalPrimeiraVisita .modal-head h3 *{
  color:#1b1e24!important;font-size:clamp(1rem,2.2vw,1.17rem)!important;
  line-height:1.35!important;opacity:1!important;
}
body.public-home #modalPrimeiraVisita .modal-head h3 i{color:#ad1228!important}
body.public-home #modalPrimeiraVisita .modal-close{
  background:#f9f2f3!important;border:1px solid #dfccd0!important;
  color:#22252b!important;width:42px!important;height:42px!important;flex:0 0 42px!important;
}
body.public-home #modalPrimeiraVisita .first-visit-modal-body{
  display:grid!important;gap:12px!important;overflow-y:auto!important;
  background:#fff!important;color:#191c23!important;
  padding:18px!important;overscroll-behavior:contain!important;
}
body.public-home #modalPrimeiraVisita .first-visit-welcome{
  border:1px solid #ead5d9!important;background:#fff6f7!important;
  border-radius:12px!important;padding:15px!important;
}
body.public-home #modalPrimeiraVisita .first-visit-welcome-icon,
body.public-home #modalPrimeiraVisita .first-visit-step>i{
  background:#f7e6e9!important;color:#a20c21!important;
  border-radius:10px!important;box-shadow:none!important;
}
body.public-home #modalPrimeiraVisita .first-visit-welcome strong,
body.public-home #modalPrimeiraVisita .first-visit-step b{
  color:#191c23!important;opacity:1!important;
  font-size:.99rem!important;line-height:1.35!important;font-weight:800!important;
}
body.public-home #modalPrimeiraVisita .first-visit-welcome p,
body.public-home #modalPrimeiraVisita .first-visit-step span{
  color:#464c55!important;opacity:1!important;
  font-size:.91rem!important;line-height:1.52!important;font-weight:500!important;
}
body.public-home #modalPrimeiraVisita .first-visit-steps{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;
}
body.public-home #modalPrimeiraVisita .first-visit-step{
  min-width:0!important;border:1px solid #e7dfe0!important;
  background:#fff!important;border-radius:12px!important;
  padding:13px!important;gap:11px!important;
  grid-template-columns:38px minmax(0,1fr)!important;
}
body.public-home #modalPrimeiraVisita .first-visit-step>i{width:38px!important;height:38px!important}
body.public-home #modalPrimeiraVisita .first-visit-rules{
  border:1px solid #e6dade!important;background:#fff!important;border-radius:10px!important;
}
body.public-home #modalPrimeiraVisita .first-visit-rules summary{
  color:#8b1024!important;background:#fdf7f8!important;font-size:.92rem!important;
}
body.public-home #modalPrimeiraVisita .first-visit-rules .details-inner,
body.public-home #modalPrimeiraVisita .first-visit-rules .details-inner *{
  color:#333841!important;line-height:1.6!important;
}
body.public-home #modalPrimeiraVisita .first-visit-actions{gap:9px!important}
body.public-home #modalPrimeiraVisita .first-visit-actions .mini-btn{
  min-height:42px!important;border:1px solid #dacdd1!important;
  background:#fff!important;color:#25292f!important;
  padding:10px 13px!important;font-size:.86rem!important;border-radius:8px!important;
}
body.public-home #modalPrimeiraVisita .first-visit-actions .mini-btn.primary{
  background:#b11226!important;border-color:#b11226!important;color:#fff!important;
}
body.public-home #modalPrimeiraVisita .first-visit-actions .mini-btn.whats i{color:#159447!important}

/* Agenda: cartaz maior e integral, sem badge de data por cima da imagem. */
body.public-home #agenda .event-card,
body.public-home #agenda .event-card.compact{
  display:grid!important;grid-template-columns:190px minmax(0,1fr)!important;
  gap:18px!important;align-items:start!important;padding:15px!important;
}
body.public-home #agenda .event-poster,
body.public-home #agenda .event-card.compact .event-poster{
  display:block!important;width:190px!important;max-width:100%!important;
  height:auto!important;aspect-ratio:3 / 4!important;
  overflow:hidden!important;border-radius:10px!important;
  padding:0!important;background:#fff!important;
  border:1px solid #e3d8db!important;box-shadow:none!important;
}
body.public-home #agenda .event-poster::before,
body.public-home #agenda .event-poster::after,
body.public-home #agenda .event-poster-date{display:none!important;content:none!important}
body.public-home #agenda .event-poster img{
  display:block!important;width:100%!important;height:100%!important;
  object-fit:contain!important;object-position:center!important;
  padding:0!important;margin:0!important;border-radius:0!important;
  filter:none!important;background:#fff!important;
}
body.public-home #agenda .event-poster-fallback{height:100%!important}
body.public-home #agenda .event-content{min-width:0!important}
body.public-home #agenda .event-meta-line{margin-top:7px!important;color:#41454d!important}
body.public-home #agenda .event-meta-line span{color:#41454d!important;opacity:1!important}
body.public-home #agenda .event-actions{flex-wrap:wrap!important}
@media (max-width:760px){
  body.public-home #agenda .event-card,
  body.public-home #agenda .event-card.compact{
    grid-template-columns:145px minmax(0,1fr)!important;
    gap:12px!important;padding:12px!important;
  }
  body.public-home #agenda .event-poster,
  body.public-home #agenda .event-card.compact .event-poster{
    width:145px!important;height:auto!important;aspect-ratio:3 / 4!important;
  }
  body.public-home #agenda .event-title{font-size:1rem!important;line-height:1.35!important}
  body.public-home #agenda .event-actions{display:flex!important;flex-wrap:wrap!important;gap:6px!important}
  body.public-home #agenda .event-actions .event-action{
    width:auto!important;min-height:36px!important;padding:7px 8px!important;
    font-size:.75rem!important;white-space:normal!important;
  }
  body.public-home #modalPrimeiraVisita .first-visit-steps{grid-template-columns:1fr!important}
}
@media (max-width:390px){
  body.public-home #agenda .event-card,
  body.public-home #agenda .event-card.compact{grid-template-columns:120px minmax(0,1fr)!important;gap:10px!important;padding:10px!important}
  body.public-home #agenda .event-poster,
  body.public-home #agenda .event-card.compact .event-poster{width:120px!important;aspect-ratio:3 / 4!important}
  body.public-home #agenda .event-title{font-size:.95rem!important}
  body.public-home #agenda .event-meta-line{font-size:.78rem!important;gap:5px!important}
  body.public-home #agenda .event-actions .event-action{font-size:.72rem!important;min-height:34px!important}
  body.public-home #modalPrimeiraVisita .first-visit-modal-body{padding:13px!important}
  body.public-home #modalPrimeiraVisita .first-visit-steps{gap:8px!important}
}

/* =====================================================================
   GUIADOS PELA FÉ — HEADER RESPONSIVO DEFINITIVO | 28.10.2026 n3
   Evita a colisão dos oito links em monitores menores, notebook com
   escala do Windows e zoom do navegador. Sem alterações no painel.
   ===================================================================== */
body.public-home .topbar{
  width:100%!important;max-width:100%!important;min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(190px,1fr) max-content max-content!important;
  align-items:center!important;
  gap:clamp(12px,1.45vw,26px)!important;
  padding:10px clamp(18px,2.2vw,42px)!important;
  min-height:72px!important;height:auto!important;
  box-sizing:border-box!important;
  position:relative!important;inset:auto!important;
  background:#fff!important;border-bottom:1px solid #e4dadd!important;
}
body.public-home .topbar .brand{
  display:flex!important;align-items:center!important;
  gap:10px!important;min-width:0!important;max-width:100%!important;
  justify-self:start!important;overflow:hidden!important;
}
body.public-home .topbar .brand-text{min-width:0!important}
body.public-home .topbar .brand-text strong{
  font-size:clamp(.94rem,1.1vw,1.14rem)!important;
  white-space:nowrap!important;text-overflow:ellipsis!important;overflow:hidden!important;
}
body.public-home .topbar .brand-logo{
  width:48px!important;height:48px!important;flex:0 0 48px!important;
}
body.public-home .topbar .nav-desktop{
  display:flex!important;align-items:center!important;justify-self:center!important;
  gap:clamp(3px,.4vw,9px)!important;max-width:100%!important;
  min-width:0!important;flex-wrap:nowrap!important;
  background:transparent!important;border:none!important;box-shadow:none!important;
}
body.public-home .topbar .nav-desktop a{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:7px!important;white-space:nowrap!important;
  font-size:clamp(.81rem,.78vw,.91rem)!important;
  font-weight:750!important;line-height:1.35!important;
  min-height:42px!important;padding:9px 10px!important;
  color:#22252d!important;border-radius:8px!important;
  letter-spacing:0!important;
}
body.public-home .topbar .nav-desktop a i{flex:0 0 auto!important;margin:0!important}
body.public-home .topbar .nav-desktop a:is(:hover,.active){color:#960e25!important;background:#fbecee!important}
body.public-home .topbar .auth-chip{
  min-width:0!important;max-width:190px!important;min-height:44px!important;
  justify-self:end!important;padding:6px 10px!important;flex-shrink:0!important;
}
body.public-home .topbar .gpf-web-menu{display:none!important}

/* Em telas intermediárias, prioriza uma navegação utilizável. */
@media (max-width:1499px){
 body.public-home .topbar{
   grid-template-columns:minmax(0,1fr) max-content max-content!important;
   gap:12px!important;padding:9px 20px!important;
 }
 body.public-home .topbar .nav-desktop{display:none!important}
 body.public-home .topbar .gpf-web-menu{
   display:block!important;justify-self:end!important;min-width:0!important;
 }
 body.public-home .topbar .gpf-web-menu>summary{
   min-width:89px!important;height:44px!important;padding:8px 12px!important;
   background:#fff!important;color:#891225!important;
   border:1px solid #d6bdc3!important;border-radius:9px!important;
   font-size:.9rem!important;font-weight:800!important;
 }
 body.public-home .topbar .auth-chip{max-width:180px!important}
}
@media (min-width:1500px){
 body.public-home .topbar .gpf-web-menu{display:none!important}
 body.public-home .topbar .nav-desktop{display:flex!important}
}

/* Em tablets e celulares, a identidade da casa permanece visível,
   mas o login não pode empurrar o menu para fora da janela. */
@media (max-width:719px){
 body.public-home .topbar{
   min-height:64px!important;grid-template-columns:minmax(0,1fr) 44px auto!important;
   padding:9px 12px!important;gap:8px!important;
 }
 body.public-home .topbar .brand-logo{width:40px!important;height:40px!important;flex-basis:40px!important}
 body.public-home .topbar .brand{gap:7px!important}
 body.public-home .topbar .brand-text strong{font-size:clamp(.81rem,3.6vw,.97rem)!important}
 body.public-home .topbar .brand-text span{font-size:.68rem!important}
 body.public-home .topbar .auth-chip{
   width:44px!important;max-width:44px!important;min-width:44px!important;
   height:44px!important;min-height:44px!important;padding:4px!important;
 }
 body.public-home .topbar .auth-chip-copy,
 body.public-home .topbar .auth-chip-arrow{display:none!important}
 body.public-home .topbar .gpf-web-menu>summary{
   min-width:75px!important;height:44px!important;padding:7px 9px!important;font-size:.84rem!important;
 }
}
@media(max-width:359px){
 body.public-home .topbar{grid-template-columns:minmax(0,1fr) 40px auto!important;padding:8px 9px!important;gap:5px!important}
 body.public-home .topbar .brand-logo{width:34px!important;height:34px!important;flex-basis:34px!important}
 body.public-home .topbar .brand-text strong{font-size:.78rem!important}
 body.public-home .topbar .brand-text span{display:none!important}
 body.public-home .topbar .auth-chip{width:40px!important;max-width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important}
 body.public-home .topbar .gpf-web-menu>summary{min-width:66px!important;padding:6px!important}
}

/* A capa deixa de crescer excessivamente em monitores panorâmicos.
   Os textos e as ações permanecem proporcionais à área útil. */
@media (min-width:1500px){
 body.public-home .hero{min-height:430px!important;height:auto!important}
 body.public-home .hero-inner{
   max-width:1320px!important;min-height:430px!important;
   padding:48px 26px!important;
   gap:38px!important;grid-template-columns:minmax(0,1fr) minmax(270px,310px)!important;
   align-items:center!important;
 }
 body.public-home .hero-title{font-size:clamp(2.45rem,2.9vw,3.35rem)!important}
}
@media (min-width:900px) and (max-width:1499px){
 body.public-home .hero{min-height:390px!important;height:auto!important}
 body.public-home .hero-inner{
   grid-template-columns:minmax(0,1fr) minmax(248px,290px)!important;
   align-items:center!important;max-width:1120px!important;
   padding:45px 24px!important;gap:24px!important;
 }
 body.public-home .hero-title{font-size:clamp(2.15rem,3.3vw,3rem)!important}
}
@media (min-width:720px) and (max-width:899px){
 body.public-home .hero{min-height:0!important}
 body.public-home .hero-inner{grid-template-columns:minmax(0,1fr)!important;max-width:720px!important;padding:42px 24px!important;gap:22px!important}
 body.public-home .hero-side{width:100%!important;max-width:none!important}
}
@media(max-width:719px){
 body.public-home .hero{min-height:0!important;height:auto!important}
 body.public-home .hero-inner{grid-template-columns:minmax(0,1fr)!important;padding:38px 16px 38px!important;gap:20px!important}
 body.public-home .hero-title{font-size:clamp(2rem,9vw,2.8rem)!important}
 body.public-home .hero-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 body.public-home .hero-actions .btn{width:100%!important;min-width:0!important;max-width:100%!important;font-size:.86rem!important;padding:10px 8px!important;min-height:44px!important}
 body.public-home .hero-side{width:100%!important;max-width:100%!important}
}

/* Seções públicas não devem criar largura horizontal extra. */
body.public-home :is(.topbar,.hero,.hero-inner,.hero-actions,.layout,.feed,.sidebar,.home-intel,.gpf-extras){min-width:0!important}
body.public-home .hero-actions > *{max-width:100%}
body.public-home .hero-feature-pill{max-width:100%!important;overflow:hidden!important}
body.public-home .hero-feature-pill small{white-space:normal!important;overflow-wrap:break-word!important}

/* Acabamento do cabeçalho: altura estável e login sem textos sobrepostos. */
@media(min-width:720px){
 body.public-home .topbar{
   height:74px!important;min-height:74px!important;
   grid-template-rows:minmax(0,1fr)!important;align-content:center!important;
 }
 body.public-home .topbar .auth-chip{
   width:205px!important;min-width:205px!important;max-width:205px!important;
   display:flex!important;align-items:center!important;gap:9px!important;
   overflow:hidden!important;
 }
 body.public-home .topbar .auth-chip-copy{
   flex:1 1 auto!important;min-width:0!important;overflow:hidden!important;
 }
 body.public-home .topbar .auth-chip-title,
 body.public-home .topbar .auth-chip-sub{
   display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;
   white-space:nowrap!important;line-height:1.22!important;
 }
 body.public-home .topbar .auth-chip-arrow{flex:0 0 26px!important;margin-left:auto!important}
}
@media(max-width:719px){
 body.public-home .topbar{
   height:66px!important;min-height:66px!important;
   grid-template-rows:minmax(0,1fr)!important;align-content:center!important;
 }
 body.public-home .topbar .auth-chip{gap:0!important;overflow:hidden!important}
}

/* ======================================================================
   HOTFIX 28/10/2026: LOGIN SEM CORTE + MODAL GOOGLE ACESSÍVEL
   Restrito ao cabeçalho da página pública e à janela de login.
   Base branca/vermelha/preta; não altera autenticação nem o painel.
   ====================================================================== */

/* O botão de acesso tem espaço real para cada conteúdo e nunca mostra
   meia palavra. No notebook, a segunda linha é omitida intencionalmente. */
body.public-home #topbar .auth-chip{
  box-sizing:border-box!important;min-width:0!important;
  display:flex!important;align-items:center!important;
  justify-content:flex-start!important;gap:8px!important;
  border:1px solid #d9bfc5!important;border-radius:12px!important;
  background:#fff!important;color:#1c1f24!important;
  box-shadow:none!important;white-space:normal!important;
  overflow:hidden!important;
}
body.public-home #topbar .auth-chip .auth-chip-avatar{
  width:34px!important;height:34px!important;min-width:34px!important;flex:0 0 34px!important;
  background:#f8e9ed!important;color:#980f27!important;
}
body.public-home #topbar .auth-chip .auth-chip-copy{
  display:flex!important;flex:1 1 auto!important;flex-direction:column!important;
  justify-content:center!important;min-width:0!important;
  overflow:hidden!important;gap:2px!important;
}
body.public-home #topbar .auth-chip .auth-chip-title{
  display:block!important;max-width:100%!important;
  font-size:.88rem!important;line-height:1.25!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  color:#17191e!important;
}
body.public-home #topbar .auth-chip .auth-chip-sub{
  display:block!important;max-width:100%!important;font-size:.61rem!important;
  line-height:1.2!important;letter-spacing:0!important;
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  opacity:1!important;color:#50545d!important;
}
body.public-home #topbar .auth-chip .auth-chip-arrow{
  display:grid!important;place-items:center!important;flex:0 0 24px!important;
  width:24px!important;height:24px!important;margin-left:auto!important;
  background:#f6f1f2!important;color:#22252b!important;
}
@media (min-width:720px) and (max-width:1499px){
  body.public-home #topbar .auth-chip{
    width:155px!important;min-width:155px!important;max-width:155px!important;
    min-height:44px!important;height:44px!important;padding:5px 8px!important;
    gap:7px!important;
  }
  body.public-home #topbar .auth-chip .auth-chip-sub{display:none!important}
  body.public-home #topbar .auth-chip .auth-chip-arrow{display:none!important}
  body.public-home #topbar .auth-chip .auth-chip-avatar{width:30px!important;height:30px!important;flex-basis:30px!important;min-width:30px!important}
  body.public-home #topbar .auth-chip .auth-chip-title{font-size:.84rem!important}
}
@media (min-width:1500px){
  body.public-home #topbar .auth-chip{
    width:192px!important;min-width:192px!important;max-width:192px!important;
    height:46px!important;min-height:46px!important;padding:6px 9px!important;
  }
}
@media (max-width:719px){
  body.public-home #topbar .auth-chip{
    width:44px!important;min-width:44px!important;max-width:44px!important;
    height:44px!important;min-height:44px!important;padding:4px!important;
    justify-content:center!important;
  }
  body.public-home #topbar .auth-chip .auth-chip-copy,
  body.public-home #topbar .auth-chip .auth-chip-arrow{display:none!important}
  body.public-home #topbar .auth-chip .auth-chip-avatar{width:32px!important;height:32px!important;min-width:32px!important;flex:0 0 32px!important}
}
@media (max-width:359px){
  body.public-home #topbar .auth-chip{width:40px!important;min-width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important}
  body.public-home #topbar .auth-chip .auth-chip-avatar{width:29px!important;height:29px!important;min-width:29px!important;flex-basis:29px!important}
}

/* Modal Google: elimina o contraste escuro-sobre-escuro introduzido
   pelos estilos compartilhados, com a mesma identidade do site. */
body.public-home #modalLogin .modal-box{
  background:#fff!important;color:#191b21!important;
  border:1px solid #e0d5d8!important;border-radius:16px!important;
  box-shadow:0 24px 78px rgba(0,0,0,.30)!important;
  width:min(92vw,540px)!important;
  max-height:calc(100dvh - 32px)!important;
  overflow:hidden!important;
}
body.public-home #modalLogin .modal-head{
  background:#fff!important;color:#191b21!important;
  border-bottom:1px solid #e9e0e2!important;
  padding:16px 20px!important;
}
body.public-home #modalLogin .modal-head h3,
body.public-home #modalLogin .modal-head h3 *{
  color:#17191e!important;text-shadow:none!important;
  opacity:1!important;line-height:1.3!important;
}
body.public-home #modalLogin .modal-head h3 i{color:#b11226!important}
body.public-home #modalLogin .modal-close{
  color:#1e222a!important;background:#f9f4f5!important;
  border:1px solid #d6c6ca!important;min-width:40px!important;min-height:40px!important;
  opacity:1!important;
}
body.public-home #modalLogin .modal-body{
  background:#fff!important;color:#22252b!important;
  padding:20px!important;overflow-y:auto!important;overflow-x:hidden!important;
}
body.public-home #modalLogin .login-modal-intro,
body.public-home #modalLogin .login-note{
  color:#41464f!important;opacity:1!important;
  font-size:.91rem!important;line-height:1.55!important;
}
body.public-home #modalLogin .google-option-primary{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  background:#fff!important;color:#1b2026!important;
  border:1px solid #bb9ca4!important;border-radius:12px!important;
  box-shadow:0 2px 10px rgba(30,12,16,.07)!important;
  padding:11px 14px!important;min-height:66px!important;
  text-decoration:none!important;
}
body.public-home #modalLogin .google-option-primary:hover,
body.public-home #modalLogin .google-option-primary:focus-visible{
  background:#fcf2f4!important;border-color:#b11226!important;
}
body.public-home #modalLogin .google-option-text strong,
body.public-home #modalLogin .google-option-primary .google-option-text strong{
  color:#17191e!important;opacity:1!important;font-size:.99rem!important;line-height:1.35!important;
}
body.public-home #modalLogin .google-option-text span,
body.public-home #modalLogin .google-option-primary .google-option-text span{
  color:#454952!important;opacity:1!important;font-size:.79rem!important;line-height:1.35!important;
}
body.public-home #modalLogin .google-option-primary > i{color:#ab102a!important}
body.public-home #modalLogin .login-divider{
  color:#65636b!important;opacity:1!important;
}
body.public-home #modalLogin .login-divider::before,
body.public-home #modalLogin .login-divider::after{background:#dcd2d5!important}
body.public-home #modalLogin .manual-login-toggle{
  display:flex!important;align-items:center!important;
  width:100%!important;min-height:46px!important;
  background:#fbf8f9!important;color:#25272f!important;
  border:1px solid #d9ced0!important;border-radius:10px!important;
  opacity:1!important;font-size:.88rem!important;
  padding:10px 13px!important;
}
body.public-home #modalLogin .manual-login-toggle span,
body.public-home #modalLogin .manual-login-toggle i{color:#25272f!important;opacity:1!important}
body.public-home #modalLogin .manual-login-toggle:hover{background:#faecef!important}
body.public-home #modalLogin .login-form-manual{
  background:#faf8f8!important;border:1px solid #e0d5d7!important;
  border-radius:12px!important;
}
body.public-home #modalLogin .login-field label{color:#262931!important;font-weight:800!important}
body.public-home #modalLogin .login-field input{
  color:#16191f!important;background:#fff!important;
  border:1px solid #c5bdc0!important;border-radius:9px!important;
  font-size:16px!important;
}
body.public-home #modalLogin .login-field input::placeholder{color:#666971!important;opacity:1!important}
body.public-home #modalLogin .login-form-manual .login-submit{
  color:#fff!important;background:#b11226!important;
  border:1px solid #b11226!important;border-radius:9px!important;
}
@media(max-width:480px){
  body.public-home #modalLogin .modal-box{width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important}
  body.public-home #modalLogin .modal-head{padding:13px 15px!important}
  body.public-home #modalLogin .modal-body{padding:16px!important}
  body.public-home #modalLogin .google-option-primary{padding:10px 11px!important;gap:9px!important}
  body.public-home #modalLogin .google-option-text strong{font-size:.92rem!important}
  body.public-home #modalLogin .google-option-text span{font-size:.74rem!important}
}
/* Telas grandes: uma única linha elimina cortes mesmo com zoom do navegador. */
@media(min-width:1500px){
  body.public-home #topbar .auth-chip{
    width:170px!important;min-width:170px!important;max-width:170px!important;
    height:46px!important;min-height:46px!important;padding:6px 9px!important;
  }
  body.public-home #topbar .auth-chip .auth-chip-sub{display:none!important}
  body.public-home #topbar .auth-chip .auth-chip-arrow{display:none!important}
}
