/* GUIADOS PELA FÉ — correção de contraste e responsividade (28.10.2026)
   Incremento exclusivo das páginas públicas. Não redefine o leitor de estudos,
   janelas de autenticação, painel interno ou dados persistidos. */
:root{
  --gpf-primary:#a70b23;
  --gpf-primary-dark:#790b1e;
  --gpf-ink:#181b20;
  --gpf-muted:#4b505a;
  --gpf-paper:#fffdfc;
  --gpf-line:#ded7d8;
  --gpf-shadow:0 5px 24px rgba(34,17,19,.06);
  --gpf-width:1240px;
}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access){
  color:#181b20!important;
  background:#fffdfc!important;
  font-family:Inter,system-ui,-apple-system,'Segoe UI',Arial,sans-serif!important;
  font-size:16px;
  line-height:1.55;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  --red:#a70b23;--red2:#930d23;--red-dark:#790b1e;
  --bg:#fffdfc;--bg2:#f8f5f4;--card:#fff;--card2:#fdfafa;
  --line:#ded7d8;--text:#181b20;--muted:#4b505a;--soft:#555962;
  --primary:#a70b23;--primary-hover:#790b1e;
  --text-secondary:#4b505a;--divider:#ded7d8;
}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access),
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) :is(main,section,article,aside,header,footer,nav){min-width:0}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) :is(img,video,iframe){max-width:100%}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) :is(p,li,small,span,a,strong,h1,h2,h3,h4){overflow-wrap:break-word}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) :is(a,button,input,textarea,select,summary):focus-visible{
  outline:3px solid #b31630!important;outline-offset:3px!important;
}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) :is(a,button){touch-action:manipulation}

/* Cabeçalho: desktop não espremido, tablet com menu normal, mobile legível */
body.public-home .topbar,body.public-points .main-header{
  box-sizing:border-box!important;
  max-width:none!important;
  min-height:76px!important;
  padding:10px max(20px,calc((100vw - 1240px)/2))!important;
  background:#fff!important;
  border:0!important;
  border-bottom:1px solid var(--gpf-line)!important;
  box-shadow:0 3px 16px rgba(34,17,19,.05)!important;
  grid-template-columns:minmax(155px,1fr) auto auto!important;
  justify-items:stretch!important;
  align-items:center!important;
  gap:clamp(12px,1.8vw,24px)!important;
  width:100%!important;
  position:relative!important;
  inset:auto!important;
}
body.public-home .brand,body.public-points .brand{min-width:0;max-width:100%;display:flex;align-items:center;gap:10px}
body.public-home .brand-logo,body.public-points .brand-logo{width:52px!important;height:52px!important;flex:0 0 52px!important;object-fit:contain!important}
body.public-home .brand-text,body.public-points .brand-text{display:flex!important;flex-direction:column;min-width:0;line-height:1.25}
body.public-home .brand-text strong,body.public-points .brand-text strong{font-size:clamp(.98rem,1.3vw,1.2rem)!important;line-height:1.2!important;color:#820f25!important}
body.public-home .brand-text span,body.public-points .brand-text span{font-size:.79rem!important;color:#41434a!important}
body.public-home .nav-desktop,body.public-points .header-nav{
  display:flex!important;align-items:center!important;gap:2px!important;
  justify-self:center!important;justify-content:center!important;
  border:0!important;background:transparent!important;border-radius:0!important;
  padding:0!important;overflow:visible!important;
}
body.public-home .nav-desktop a,body.public-points .header-nav a{
  min-height:44px!important;display:inline-flex!important;align-items:center;justify-content:center;
  padding:10px 9px!important;font-size:.86rem!important;font-weight:700!important;
  color:#292c33!important;background:transparent!important;border:0!important;
  border-radius:8px!important;line-height:1.3!important;white-space:nowrap;
}
body.public-home .nav-desktop a:is(:hover,.active),body.public-points .header-nav a:is(:hover,.active){color:#910c22!important;background:#fbecef!important}
body.public-home .auth-chip,body.public-points .auth-chip{
  min-height:46px!important;max-width:190px!important;
  padding:6px 10px!important;border:1px solid #dfc9cd!important;
  background:#fff!important;border-radius:9px!important;justify-self:end!important;
}
body.public-home .auth-chip-title,body.public-points .auth-chip-title{font-size:.88rem!important;font-weight:800!important;color:#202127!important}
body.public-home .auth-chip-sub,body.public-points .auth-chip-sub{font-size:.71rem!important;color:#56535a!important}
body.public-home .auth-chip-avatar,body.public-points .auth-chip-avatar{background:#f9e9ec!important;color:#8d0c21!important}
body.public-home .gpf-web-menu,body.public-points .gpf-web-menu{display:none!important}
.gpf-web-menu{position:relative;z-index:120}
.gpf-web-menu>summary{
  display:flex!important;align-items:center;justify-content:center;gap:8px;
  min-width:94px!important;min-height:46px!important;padding:9px 13px!important;
  color:#801026!important;font-size:.94rem!important;font-weight:800!important;
  background:#fff!important;border:1px solid #bd959e!important;border-radius:9px!important;
}
.gpf-web-menu[open]>summary{background:#f9ecee!important}
.gpf-web-menu-links{width:min(340px,calc(100vw - 28px))!important;max-height:min(75dvh,650px)!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding:9px!important;background:#fff!important;box-shadow:0 16px 48px rgba(30,10,14,.20)!important}
.gpf-web-menu-links a{display:flex!important;min-height:45px!important;align-items:center;color:#26282e!important;font-size:.96rem!important;padding:11px 14px!important}
.gpf-web-menu-links a:hover,.gpf-web-menu-links a:focus-visible{color:#890a20!important;background:#fbecef!important}

/* Home: contraste real entre imagem de fundo, manchete e botões */
body.public-home{padding-bottom:0!important;overflow-x:clip!important}
body.public-home .hero{min-height:510px!important;background:#2d1219!important}
body.public-home .hero-media,body.public-home .hero-video{filter:brightness(.63) saturate(.83)!important}
body.public-home .hero::before{
  background:linear-gradient(90deg,rgba(13,7,9,.94) 0%,rgba(15,8,10,.86) 35%,rgba(19,10,13,.61) 67%,rgba(20,8,12,.40) 100%)!important;
}
body.public-home .hero::after{height:25px!important;background:linear-gradient(180deg,transparent,#fffdfc)!important}
body.public-home .hero-inner{
  max-width:1240px!important;width:100%!important;
  margin:0 auto!important;padding:70px clamp(18px,3.5vw,40px) 65px!important;
  grid-template-columns:minmax(0,1fr) minmax(265px,315px)!important;
  gap:clamp(22px,4vw,55px)!important;
}
body.public-home .hero-title{
  color:#fff!important;font-size:clamp(2.5rem,4.2vw,4.25rem)!important;
  font-weight:850!important;line-height:1.07!important;letter-spacing:-.04em!important;
  text-shadow:0 2px 16px rgba(0,0,0,.4)!important;
}
body.public-home .hero-subtitle{
  color:#fff!important;font-size:clamp(1rem,1.4vw,1.16rem)!important;
  font-weight:500!important;line-height:1.65!important;max-width:63ch;
  text-shadow:0 2px 12px rgba(0,0,0,.75)!important;
}
body.public-home .hero-actions{gap:10px!important;align-items:stretch!important;flex-wrap:wrap!important}
body.public-home .hero-actions .btn{
  min-height:46px!important;padding:12px 17px!important;
  border-radius:9px!important;font-size:.91rem!important;font-weight:800!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
  text-decoration:none!important;line-height:1.35!important;box-shadow:none!important;
}
body.public-home .hero-actions .btn:is(.btn-primary,.btn-red){background:#a70b23!important;border:1px solid #a70b23!important;color:#fff!important}
body.public-home .hero-actions .btn-ghost{background:#fff!important;border:1px solid #fff!important;color:#821124!important}
body.public-home .hero-actions .btn:is(:hover,:focus-visible){filter:brightness(.93)}
body.public-home .hero-feature-pill{
  color:#fff!important;background:rgba(12,9,10,.74)!important;
  border:1px solid rgba(255,255,255,.56)!important;
  border-radius:10px!important;backdrop-filter:none!important;
}
body.public-home .hero-feature-pill :is(b,small,span){color:#fff!important}
body.public-home .hero-feature-pill b{font-size:.92rem!important}
body.public-home .hero-feature-pill small{font-size:.84rem!important;line-height:1.45!important}
body.public-home .hero-side{
  background:#fff!important;border:1px solid #f4ecec!important;
  border-radius:12px!important;padding:clamp(17px,2vw,23px)!important;
  box-shadow:0 14px 32px rgba(0,0,0,.16)!important;
}
body.public-home .hero-side :is(.today-title,strong,h2){color:#181b20!important}
body.public-home .hero-side .today-label{font-size:.84rem!important;color:#960d27!important;letter-spacing:.045em!important}
body.public-home .hero-side .today-desc{font-size:.9rem!important;line-height:1.56!important;color:#363b41!important}
body.public-home .hero-side .hero-stat{background:#f9f6f5!important;border-color:#dfd3d5!important}
body.public-home .hero-side .hero-stat span{font-size:.82rem!important;color:#41454c!important}

/* Cartões da home: áreas legíveis inclusive eventos e colunas laterais */
body.public-home .layout{width:min(1240px,calc(100% - 40px))!important;grid-template-columns:minmax(0,1fr) minmax(275px,330px)!important;align-items:start!important;gap:22px!important}
body.public-home .feed,body.public-home .sidebar{min-width:0!important}
body.public-home .card,body.public-home .event-card,body.public-home .local-card,
body.public-home .home-intel-shell,body.public-home .first-visit-card{
  background:#fff!important;border-color:#e0d9d9!important;box-shadow:0 4px 22px rgba(30,15,17,.05)!important;
  color:#181b20!important;border-radius:12px!important;
}
body.public-home .card-header h3,body.public-home .section-title,
body.public-home .event-title,body.public-home .event-card h3,
body.public-home .local-card h3,body.public-home .first-visit-copy h3{
  color:#1a1d23!important;font-size:clamp(1.02rem,1.3vw,1.24rem)!important;line-height:1.35!important;
}
body.public-home :is(.card,.event-card,.local-card,.first-visit-card) :is(p,small,.event-meta-line,.post-meta){color:#454951!important;font-size:.9rem!important;line-height:1.55!important}
body.public-home .event-card{grid-template-columns:minmax(116px,165px) minmax(0,1fr)!important;gap:16px!important;padding:15px!important}
body.public-home .event-poster{width:100%!important;max-width:165px!important;height:auto!important;aspect-ratio:1/1;object-fit:cover!important}
body.public-home .event-actions{gap:7px!important}
body.public-home .event-action,body.public-home .mini-btn{
  background:#f6f3f3!important;border:1px solid #d9d4d5!important;
  color:#20242b!important;min-height:42px!important;
  padding:9px 12px!important;border-radius:8px!important;
  font-size:.84rem!important;line-height:1.3!important;font-weight:750!important;
}
body.public-home .event-action:hover,body.public-home .mini-btn:hover{background:#fbeaed!important;color:#850b21!important}
body.public-home .first-visit-copy p,body.public-home .post-text,body.public-home .highlight-card p{font-size:.94rem!important;line-height:1.6!important;color:#454951!important}
body.public-home .first-visit-copy>span{color:#930c23!important;font-size:.79rem!important;font-weight:850!important;letter-spacing:.03em!important}
body.public-home .first-visit-btn{min-height:44px!important;padding:11px 14px!important;color:#910d24!important;border-color:#d5b9c0!important;font-weight:800!important}
body.public-home .local-card :is(a,button){color:#8d0e24!important}
body.public-home .home-intel{width:min(1240px,calc(100% - 40px))!important;margin:22px auto!important}
body.public-home .home-intel-shell{padding:19px!important}
body.public-home .home-intel-grid{gap:13px!important}
body.public-home .home-intel-title{color:#930b24!important;font-size:.89rem!important;letter-spacing:.07em!important}
body.public-home .home-intel-card{
  background:#fff!important;border-color:#e1d9da!important;padding:16px!important;
  grid-template-columns:46px minmax(0,1fr)!important;gap:12px!important;min-width:0!important;
}
body.public-home .home-intel-tag{font-size:.78rem!important;letter-spacing:.03em!important;color:#9b0d26!important}
body.public-home .home-intel-copy b{display:block;color:#191d23!important;font-size:1.02rem!important;line-height:1.35!important}
body.public-home .home-intel-copy p{color:#464a51!important;font-size:.9rem!important;line-height:1.5!important;margin:5px 0!important}
body.public-home .home-intel-meta{color:#4b505a!important;font-size:.79rem!important;flex-wrap:wrap!important;gap:6px!important}
body.public-home .home-intel-acao{font-size:.82rem!important;color:#8e0c23!important}
body.public-home .home-intel-icon{width:44px!important;height:44px!important;border-radius:10px!important}
body.public-home .footer{padding:30px 22px!important;margin-bottom:0!important}
body.public-home .footer :is(p,span){color:#41464f!important;font-size:.9rem!important;line-height:1.6!important}

/* Portal de notícias: tamanhos generosos e editorias sem corte */
.gpf-site-navigation{border-bottom:1px solid #ddd4d5!important;background:#fff!important}
.gpf-site-navigation .gpf-site-navigation-inner{max-width:1240px!important;min-height:76px!important;gap:14px!important;padding:12px 20px!important}
.gpf-site-navigation .gpf-nav-title{color:#7c0e20!important;font-size:1.05rem!important;flex-shrink:0}
.gpf-site-navigation .gpf-nav-links{gap:2px!important;flex-wrap:nowrap!important;min-width:0}
.gpf-site-navigation .gpf-nav-links a{display:inline-flex;align-items:center;min-height:44px;padding:9px 11px!important;font-size:.87rem!important;white-space:nowrap;color:#292c33!important}
.gpf-site-footer{background:#fbf7f6!important;color:#262a31!important}
.gpf-site-footer p{font-size:.91rem!important;color:#454951!important}
.gpf-site-footer a{font-size:.91rem!important;color:#890e24!important;min-height:40px;display:inline-flex;align-items:center}
body.public-news .gpf-news-hero{max-width:1240px;padding:56px 20px 38px;gap:25px}
body.public-news .gpf-news-hero h1{color:#831126!important;font-size:clamp(2.25rem,4vw,3.9rem)!important}
body.public-news .gpf-news-hero p{color:#454951!important;font-size:1.03rem!important;line-height:1.7}
body.public-news .gpf-news-cover{height:205px!important}
body.public-news .gpf-news-eyebrow{font-size:.85rem!important;color:#870e23!important}
body.public-news .gpf-news-tabs{max-width:1240px;gap:8px!important}
body.public-news .gpf-news-tabs a{font-size:.91rem!important;min-height:43px;padding:10px 14px!important;color:#303038!important;border-color:#d7cdd0!important}
body.public-news .gpf-news-tabs a:is(.active,:hover){background:#920b24!important;color:#fff!important;border-color:#920b24!important}
body.public-news .gpf-news-main{max-width:1240px}
body.public-news .gpf-news-card h3{color:#181b20!important;font-size:1.08rem!important;line-height:1.5!important}
body.public-news .gpf-news-card .gpf-news-cat{color:#8c1024!important;font-size:.77rem!important}
body.public-news .gpf-news-card .gpf-news-source{color:#4b505a!important;font-size:.84rem!important}
body.public-news .gpf-news-intro h2{font-size:1.48rem!important;color:#191c20!important}
body.public-news .gpf-news-intro span{font-size:.9rem!important;color:#4d5159!important}
.gpf-news-home{max-width:1240px!important;width:calc(100% - 40px)!important;margin:24px auto!important;padding:23px!important}
.gpf-news-home-head{gap:12px!important;flex-wrap:wrap!important}
.gpf-news-home-head h2{color:#191b20!important;font-size:clamp(1.25rem,2vw,1.55rem)!important}
.gpf-news-home-head a{color:#890c24!important;font-size:.91rem!important}
.gpf-news-home-grid{gap:14px!important}
.gpf-news-home-item{padding:18px!important;background:#faf7f6!important;color:#191b20!important;min-height:117px!important;font-size:1rem!important;line-height:1.48!important;border-top:3px solid #a70b23!important}
.gpf-news-home-item small{font-size:.8rem!important;color:#8e0c23!important;font-weight:800!important}

/* Pontos cantados: a tipografia precisa sobreviver a telas pequenas */
body.public-points{overflow-x:clip!important;padding-bottom:0!important}
body.public-points .hero{min-height:330px!important}
body.public-points .hero-inner{max-width:1240px!important;padding:52px clamp(18px,3.5vw,36px) 54px!important;gap:26px!important}
body.public-points .hero-title{color:#7f1126!important;font-size:clamp(2rem,4vw,3.5rem)!important}
body.public-points .hero-subtitle{color:#41464f!important;font-size:1.02rem!important;line-height:1.65!important}
body.public-points .eyebrow{color:#8e1026!important;font-size:.85rem!important}
body.public-points .hero-point :is(.hero-point-title,strong),body.public-points .hero-stats strong{color:#191b20!important}
body.public-points .hero-point :is(.hero-point-meta,small),body.public-points .hero-stats span{color:#454951!important;font-size:.9rem!important}
body.public-points .hero-actions .btn{min-height:44px!important;padding:10px 15px!important;font-size:.9rem!important;font-weight:800!important}
body.public-points .search-shell{width:min(1200px,calc(100% - 40px))!important;margin:20px auto!important}
body.public-points .search-box input{background:#fff!important;color:#1c1e25!important;font-size:16px!important;min-height:46px!important}
body.public-points .search-box input::placeholder{color:#555962!important;opacity:1!important}
body.public-points .ponto-card{border-color:#e1d9da!important;background:#fff!important}
body.public-points .ponto-title{color:#16191f!important;font-size:1rem!important;line-height:1.4!important}
body.public-points .ponto-meta{color:#484d56!important;font-size:.86rem!important}
body.public-points .ponto-lyrics{color:#41464d!important;font-size:.88rem!important;line-height:1.52!important}
body.public-points .chip{color:#840c22!important;font-size:.86rem!important;min-height:44px!important}
body.public-points .chip:is(.active,[aria-pressed=true]){background:#980c25!important;color:#fff!important;border-color:#980c25!important}
body.public-points .gpf-mini-player{bottom:calc(12px + env(safe-area-inset-bottom))!important;max-width:calc(100% - 20px)!important}
body.public-points .mini-player-main strong{color:#181b20!important;font-size:.87rem!important}
body.public-points .mini-player-main small{color:#454951!important;font-size:.8rem!important}

/* Estudos: respeitar leitor/modal, mas melhorar a navegação na biblioteca */
body.public-studies{overflow-x:clip!important;padding-bottom:0!important}
body.public-studies .container{width:min(1240px,calc(100% - 36px))!important;margin:18px auto!important}
body.public-studies .topbar{min-height:56px!important;box-sizing:border-box!important}
body.public-studies .topbar-titulo{color:#7c1127!important;font-size:clamp(.9rem,1.6vw,1.1rem)!important}
body.public-studies .estudos-hero h1{color:#161a21!important;font-size:clamp(1.5rem,3vw,2.2rem)!important}
body.public-studies .section-header h3,body.public-studies .estudo-card-titulo{color:#1b1d24!important;font-size:1.12rem!important;line-height:1.45!important}
body.public-studies .estudo-card-resumo,body.public-studies .estudo-card p{color:#464951!important;font-size:.92rem!important;line-height:1.6!important}
body.public-studies .filtros-container{position:relative!important;top:auto!important;padding:16px!important}
body.public-studies .filtro-chip,body.public-studies .tag-btn,body.public-studies .btn-mostrar-tags{min-height:44px!important;padding:10px 13px!important;font-size:.86rem!important;font-weight:700!important}
body.public-studies .busca-wrapper input{min-height:48px!important;font-size:16px!important;color:#181b20!important;background:#fff!important}
body.public-studies .busca-wrapper input::placeholder{color:#50545e!important;opacity:1!important}
body.public-studies .institutional-box{color:#181b20!important}
body.public-studies .institutional-box :is(h1,h2,h3,p){color:#292b31!important}

/* Tela de login: eliminar zoom bloqueado e manter o formulário acessível */
body.public-access{min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;padding:28px 16px!important}
body.public-access .login-card{box-sizing:border-box!important;width:min(100%,450px)!important;max-width:450px!important;padding:clamp(20px,4vw,36px)!important}
body.public-access .login-card :is(h1,h2){color:#17191e!important;line-height:1.3!important}
body.public-access .login-card :is(p,label){color:#34383f!important;font-size:.94rem!important;line-height:1.55!important}
body.public-access .login-card :is(input,select){color:#191b20!important;background:#fff!important;border:1px solid #bdb8ba!important;min-height:48px!important;font-size:16px!important;width:100%;box-sizing:border-box}
body.public-access .login-card button[type=submit]{min-height:46px!important;font-size:.96rem!important;border-radius:9px!important}

/* Breakpoints: 1200/1024/768/600/420/360 — site, não aplicativo */
@media(max-width:1200px){
 body.public-home .nav-desktop,body.public-points .header-nav{display:none!important}
 body.public-home .gpf-web-menu,body.public-points .gpf-web-menu{display:block!important}
 body.public-home .topbar,body.public-points .main-header{grid-template-columns:minmax(0,1fr) auto auto!important;gap:10px!important;padding:10px 18px!important}
 .gpf-site-navigation .gpf-nav-links{display:none!important}
 .gpf-site-navigation .gpf-web-menu{display:block!important}
}
@media(max-width:1024px){
 body.public-home .layout{grid-template-columns:minmax(0,1fr) minmax(250px,300px)!important;gap:16px!important}
 body.public-home .hero-inner{grid-template-columns:minmax(0,1fr) 265px!important;gap:18px!important}
 body.public-home .hero-actions .btn{flex:0 1 auto!important}
 body.public-points .hero-inner{grid-template-columns:minmax(0,1fr)!important}
 body.public-points .hero-rail{display:none!important}
 .gpf-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .gpf-news-feature{grid-column:span 2}
}
@media(max-width:850px){
 body.public-home .hero-inner{grid-template-columns:1fr!important;max-width:720px!important;padding-top:64px!important;padding-bottom:58px!important}
 body.public-home .hero-side{display:block!important;max-width:580px!important;width:100%!important}
 body.public-home .layout{grid-template-columns:minmax(0,1fr)!important;width:min(720px,calc(100% - 32px))!important}
 body.public-home .sidebar{position:static!important;top:auto!important}
 body.public-home .home-intel{width:min(720px,calc(100% - 32px))!important}
 .gpf-news-home{width:min(720px,calc(100% - 32px))!important}
 .gpf-news-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.public-news .gpf-news-hero{grid-template-columns:1fr!important;padding:42px 20px 26px}
 body.public-news .gpf-news-cover{display:block!important;height:220px!important;width:100%}
 body.public-studies .container{width:calc(100% - 28px)!important}
}
@media(max-width:600px){
 body.public-home .topbar,body.public-points .main-header{min-height:68px!important;grid-template-columns:minmax(0,1fr) auto auto!important;gap:8px!important;padding:8px 12px!important}
 body.public-home .brand-logo,body.public-points .brand-logo{width:42px!important;height:42px!important;flex:0 0 42px!important}
 body.public-home .brand-text strong,body.public-points .brand-text strong{font-size:.96rem!important}
 body.public-home .brand-text span,body.public-points .brand-text span{font-size:.71rem!important}
 body.public-home .auth-chip,body.public-points .auth-chip{min-width:44px!important;max-width:44px!important;width:44px!important;height:44px!important;padding:4px!important;justify-content:center!important}
 body.public-home .auth-chip-copy,body.public-points .auth-chip-copy,body.public-home .auth-chip-arrow,body.public-points .auth-chip-arrow{display:none!important}
 body.public-home .gpf-web-menu>summary,body.public-points .gpf-web-menu>summary{min-width:74px!important;padding:9px!important;min-height:44px!important;font-size:.88rem!important}
 body.public-home .hero{min-height:0!important}
 body.public-home .hero-inner{padding:46px 17px 45px!important;gap:23px!important}
 body.public-home .hero-title{font-size:clamp(2.3rem,9vw,3.2rem)!important;line-height:1.09!important}
 body.public-home .hero-subtitle{font-size:1rem!important;line-height:1.55!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{min-width:0!important;width:100%!important;min-height:47px!important;padding:10px 8px!important;font-size:.82rem!important}
 body.public-home .hero-feature-strip{margin-top:18px!important}
 body.public-home .hero-feature-pill{grid-template-columns:40px minmax(0,1fr)!important;padding:10px!important}
 body.public-home .hero-side{padding:17px!important}
 body.public-home .home-intel{margin:14px auto!important}
 body.public-home .home-intel-grid{grid-template-columns:1fr!important}
 body.public-home .home-intel-shell{padding:12px!important}
 body.public-home .home-intel-card{padding:13px!important;grid-template-columns:42px minmax(0,1fr)!important}
 body.public-home .home-intel-meta{align-items:flex-start!important}
 body.public-home .layout{margin-top:18px!important}
 body.public-home .event-card,body.public-home .event-card.compact{grid-template-columns:95px minmax(0,1fr)!important;gap:12px!important;padding:12px!important}
 body.public-home .event-poster,body.public-home .event-card.compact .event-poster{width:95px!important;max-width:95px!important;height:115px!important;object-fit:cover!important}
 body.public-home .event-actions{gap:6px!important}
 body.public-home .event-action{font-size:.79rem!important;padding:8px 9px!important;min-height:41px!important}
 body.public-home .footer{width:calc(100% - 28px)!important;padding:23px 17px!important}
 .gpf-news-home{padding:17px!important}
 .gpf-news-home-grid,.gpf-news-grid{grid-template-columns:1fr!important}
 .gpf-news-feature{grid-column:auto!important;display:flex!important;flex-direction:column!important}
 .gpf-news-feature img{height:165px!important;min-height:0!important}
 .gpf-news-home-item{min-height:0!important;padding:15px!important}
 .gpf-site-navigation .gpf-site-navigation-inner{min-height:68px!important;padding:9px 14px!important}
 .gpf-site-navigation .gpf-nav-logo{width:42px;height:42px}
 body.public-news .gpf-news-hero{padding:32px 16px 20px}
 body.public-news .gpf-news-hero h1{font-size:2.1rem!important}
 body.public-news .gpf-news-hero p{font-size:.95rem!important}
 body.public-news .gpf-news-tabs{padding:12px 14px 19px!important;gap:7px!important}
 body.public-news .gpf-news-tabs a{padding:9px 12px!important;font-size:.86rem!important}
 body.public-news .gpf-news-main{padding:18px 14px 40px!important}
 body.public-news .gpf-news-intro{align-items:flex-start!important;flex-direction:column!important;gap:4px!important}
 body.public-points .hero-inner{padding:37px 16px 38px!important}
 body.public-points .hero-title{font-size:clamp(2rem,8vw,2.7rem)!important}
 body.public-points .hero-point{max-width:100%!important;min-width:0!important}
 body.public-points .hero-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
 body.public-points .hero-actions .btn{min-width:0!important;width:100%!important;white-space:normal!important;padding:10px!important}
 body.public-points .search-shell{width:calc(100% - 26px)!important;padding:12px!important}
 body.public-points .ponto-card{grid-template-columns:86px minmax(0,1fr)!important;min-height:115px!important}
 body.public-points .ponto-cover{width:86px!important;height:100%!important}
 body.public-points .ponto-info{padding:11px!important}
 body.public-points .ponto-title{font-size:.96rem!important;white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 body.public-points .ponto-lyrics{font-size:.85rem!important}
 body.public-studies .topbar{padding:10px!important;min-height:56px!important}
 body.public-studies .container{width:calc(100% - 22px)!important}
 body.public-studies .filtros-container{padding:11px!important}
 .gpf-site-footer-inner{flex-direction:column;gap:16px}
 .gpf-site-footer nav{gap:8px 16px}
}
@media(max-width:420px){
 body.public-home .brand,body.public-points .brand{gap:6px!important}
 body.public-home .brand-text strong,body.public-points .brand-text strong{font-size:.87rem!important}
 body.public-home .brand-text span,body.public-points .brand-text span{font-size:.68rem!important}
 body.public-home .hero-title{font-size:clamp(2rem,10vw,2.6rem)!important}
 body.public-home .hero-actions .btn{font-size:.79rem!important}
 body.public-home .event-card,body.public-home .event-card.compact{grid-template-columns:80px minmax(0,1fr)!important;gap:10px!important}
 body.public-home .event-poster,body.public-home .event-card.compact .event-poster{width:80px!important;max-width:80px!important;height:100px!important}
 body.public-home .event-action{padding:7px 8px!important}
 body.public-points .ponto-card{grid-template-columns:78px minmax(0,1fr)!important}
 body.public-points .ponto-cover{width:78px!important}
}
@media(max-width:360px){
 body.public-home .topbar,body.public-points .main-header{padding:7px 8px!important;gap:6px!important}
 body.public-home .brand-logo,body.public-points .brand-logo{width:38px!important;height:38px!important;flex-basis:38px!important}
 body.public-home .gpf-web-menu>summary,body.public-points .gpf-web-menu>summary{min-width:44px!important;font-size:0!important;gap:0!important}
 body.public-home .gpf-web-menu>summary span:first-child,body.public-points .gpf-web-menu>summary span:first-child{font-size:1.25rem!important}
 body.public-home .hero-actions{grid-template-columns:1fr!important}
 body.public-points .hero-actions{grid-template-columns:1fr!important}
}
@media(prefers-reduced-motion:reduce){
 body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) :is(a,button){transition-duration:.01ms!important}
}

/* ================================================================
   ETAPA FINAL · correção da captura enviada e navegação para loja
   Design institucional, acessibilidade e grade que não transborda.
   ================================================================ */
.gpf-sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access){margin:0!important;max-width:100%;overflow-wrap:normal;overflow-x:clip!important}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) *,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) *::before,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) *::after{box-sizing:border-box}
/* Cores de texto e cartões não variam conforme o fundo herdado dos temas antigos. */
body.public-home :is(.card,.event-card,.local-card,.first-visit-card,.home-intel-card,.home-intel-shell,.footer,.hero-side),
body.public-points :is(.ponto-card,.search-shell,.hero-point,.rail-card,.regency-card,.seo-music-card),
body.public-studies :is(.estudo-card,.institutional-box,.estudos-hero,.filtros-container),
body.public-news :is(.gpf-news-card,.gpf-news-home-item){color:#1b2027!important}
body.public-home :is(.card,.event-card,.local-card,.first-visit-card,.home-intel-card) :is(p,.desc,.meta,small),
body.public-points :is(.ponto-card,.seo-music-card) :is(p,small),
body.public-news :is(.gpf-news-card,.gpf-news-main) :is(p,small){color:#42464e!important}
body.public-home .hero :is(.hero-title,.hero-subtitle){color:#fff!important}
body.public-home .hero :is(.hero-side,.hero-side p,.hero-side span,.hero-side strong,.hero-side div){text-shadow:none!important}
body.public-home .card,body.public-home .event-card,body.public-home .local-card,body.public-home .home-intel-card,
body.public-points .ponto-card,body.public-studies .estudo-card,body.public-news .gpf-news-card{min-width:0!important;max-width:100%!important}
body.public-home .footer{max-width:1240px!important}
/* Navegação da loja e URL única fornecida pelo usuário */
body.public-home .nav-desktop .gpf-shop-nav{color:#7c0b21!important;border:1px solid #e6c5cd!important;background:#fff8f8!important}
body.public-home .nav-desktop .gpf-shop-nav:hover{background:#fbe9ed!important}
.gpf-site-navigation .gpf-nav-links a[target=_blank]{color:#870a22!important}
.gpf-site-navigation .gpf-nav-links a[target=_blank]:hover{background:#fbe9ed!important}
.gpf-site-footer nav a[target=_blank],body.public-home .footer-links a[target=_blank]{color:#8f0b22!important;font-weight:800!important}
/* Vitrine discreta: conteúdo real segue no site da loja, sem iframe, sem dados pessoais. */
.gpf-shop-home{
 display:flex;align-items:center;gap:20px;
 width:min(1240px,calc(100% - 40px));margin:22px auto 24px;padding:24px;
 border:1px solid #dfd5d7;border-left:4px solid #9b0a24;
 background:#fff;border-radius:12px;color:#1b2027;
}
.gpf-shop-home-symbol{flex:0 0 57px;width:57px;height:57px;display:grid;place-items:center;border-radius:12px;background:#faebee;color:#8c0d23;font-size:1.45rem}
.gpf-shop-home-text{flex:1 1 auto;min-width:0}
.gpf-shop-home-eyebrow{display:block;margin-bottom:4px;font-size:.83rem;font-weight:800;letter-spacing:.035em;text-transform:uppercase;color:#880c24}
.gpf-shop-home h2{margin:0;color:#171b21;font-size:clamp(1.1rem,2vw,1.32rem);line-height:1.3}
.gpf-shop-home p{margin:6px 0 0;color:#41464f;font-size:.94rem;line-height:1.55}
.gpf-shop-home-btn{display:inline-flex;gap:10px;align-items:center;justify-content:center;flex:0 0 auto;
 min-height:46px;padding:12px 16px;border:1px solid #9e1029;border-radius:9px;color:#8b0b24!important;
 background:#fff;text-decoration:none;font-size:.93rem;font-weight:800;white-space:nowrap}
.gpf-shop-home-btn:hover,.gpf-shop-home-btn:focus-visible{color:#fff!important;background:#910a25}
.gpf-login-shop{display:block;margin-top:15px;color:#8b0c22!important;text-align:center;font-size:.92rem;font-weight:750;text-decoration:underline;text-underline-offset:3px}
/* Desktop: mantenha a navegação dentro da largura útil. */
body.public-home .topbar,body.public-points .main-header{margin:0!important;left:0!important;right:0!important;top:0!important;max-width:100vw!important}
body.public-home .topbar .brand,body.public-points .main-header .brand{overflow:hidden}
body.public-home .topbar .brand-text,body.public-points .main-header .brand-text{min-width:0}
body.public-home .nav-desktop a,body.public-points .header-nav a{font-size:.85rem!important;padding:10px 8px!important}
body.public-home .hero-feature-strip{max-width:100%!important}
body.public-home :is(.home-intel-shell,.home-intel-grid,.layout,.feed,.sidebar,.event-info,.event-body,.event-content){min-width:0!important}
body.public-points :is(.main-wrap,.main-content,.ponto-info,.search-shell){min-width:0!important}
body.public-news :is(.gpf-news-hero,.gpf-news-main,.gpf-news-grid){min-width:0!important}
@media(max-width:1200px){
 .gpf-site-navigation .gpf-nav-links{display:none!important}
 .gpf-site-navigation .gpf-web-menu{display:block!important}
 body.public-home .nav-desktop,body.public-points .header-nav{display:none!important}
 body.public-home .gpf-web-menu,body.public-points .gpf-web-menu{display:block!important}
}
@media(max-width:850px){
 body.public-home .hero{min-height:0!important;margin:0!important;padding:0!important}
 body.public-home .hero-inner{width:100%!important}
 body.public-home .hero-side{display:block!important}
 body.public-home .layout{grid-template-columns:minmax(0,1fr)!important}
 body.public-home .sidebar{width:100%!important}
 .gpf-shop-home{width:min(720px,calc(100% - 32px))}
 body.public-news .gpf-news-cover{max-width:100%!important}
 body.public-points .main-wrap{width:calc(100% - 30px)!important}
}
@media(max-width:600px){
 .gpf-shop-home{padding:17px;display:grid;grid-template-columns:45px minmax(0,1fr);gap:10px 13px}
 .gpf-shop-home-symbol{width:45px;height:45px;flex-basis:45px}
 .gpf-shop-home-btn{grid-column:1/-1;width:100%;margin-top:4px}
 body.public-home .hero-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.public-home .hero-side{width:100%!important}
 body.public-home :is(.home-intel-card,.event-card,.card,.local-card){overflow-wrap:break-word}
 body.public-home .event-card :is(.event-meta,.event-actions,.post-actions){flex-wrap:wrap!important}
 body.public-home .event-action,body.public-home .mini-btn{white-space:normal!important}
 body.public-home .layout,body.public-home .home-intel,.gpf-news-home{width:calc(100% - 28px)!important}
 body.public-points .main-wrap{width:calc(100% - 26px)!important}
 body.public-points .gpf-mini-player.show{bottom:calc(10px + env(safe-area-inset-bottom))!important}
 body.public-points:has(.gpf-mini-player.show){padding-bottom:100px!important}
 .gpf-site-navigation .gpf-nav-title{font-size:.99rem!important;white-space:normal}
}
@media(max-width:420px){
 body.public-home .topbar,body.public-points .main-header{gap:6px!important}
 body.public-home .hero-inner{padding:34px 15px 37px!important}
 body.public-home .hero-actions .btn{font-size:.85rem!important;padding:10px 5px!important}
 body.public-home .event-card{grid-template-columns:82px minmax(0,1fr)!important}
 body.public-home .event-poster{width:82px!important;height:110px!important}
 body.public-home .event-actions{gap:5px!important}
 body.public-home .event-action{font-size:.8rem!important}
 .gpf-shop-home{width:calc(100% - 28px)!important}
}
@media(max-width:350px){
 body.public-home .hero-actions{grid-template-columns:1fr!important}
 body.public-home .brand-text span,body.public-points .brand-text span{display:none!important}
 .gpf-site-navigation .gpf-nav-title{font-size:.88rem!important}
}
/* Banner institucional contínuo: imagem sangra até as bordas da tela;
   conteúdo textual mantém alinhamento máximo de 1240px. */
body.public-home .hero{
  width:100%!important;max-width:100%!important;margin:0!important;
  border-radius:0!important;min-width:0!important;overflow:hidden!important;
}
body.public-home .hero-inner{max-width:1240px!important;box-sizing:border-box!important}


/* Hierarquia 2026-10-28: foco exclusivo na casa até o fim do conteúdo principal. */
.gpf-extras{margin:54px auto 0;padding:32px 0 4px;border-top:1px solid #e4d8d9;background:#fbf8f7;min-width:0}
.gpf-extras-heading{width:min(1240px,calc(100% - 40px));margin:0 auto 22px;color:#252930}
.gpf-extras-eyebrow{display:block;font-size:.78rem;letter-spacing:.075em;text-transform:uppercase;color:#891126;font-weight:850;margin:0 0 5px}
.gpf-extras-heading h2{font-size:clamp(1.4rem,2.5vw,1.9rem);line-height:1.25;color:#1e222a;margin:0 0 8px;font-weight:850}
.gpf-extras-heading p{margin:0;color:#474b53;line-height:1.6;font-size:.96rem;max-width:70ch}
.gpf-extras .gpf-shop-home,.gpf-extras .gpf-news-home{margin-top:0!important;margin-bottom:18px!important}
.gpf-extras .gpf-news-home{margin-bottom:34px!important}
.gpf-menu-group{display:block!important;padding:11px 14px 5px!important;color:#8d1028!important;font-size:.73rem!important;font-weight:850!important;text-transform:uppercase;letter-spacing:.08em;pointer-events:none}
.gpf-menu-group-secondary{margin-top:7px;border-top:1px solid #e9dfe0;padding-top:14px!important}
.gpf-web-menu-links{max-height:min(75dvh,620px);overflow-y:auto;overscroll-behavior:contain}
.gpf-web-menu-links a:focus-visible{outline:2px solid #a20c27;outline-offset:1px}
.gpf-nav-secondary{border-left:1px solid #eadedf!important}
.gpf-site-navigation .gpf-nav-links a.gpf-nav-secondary{color:#800f25!important}
.gpf-footer-extras{display:inline-flex;align-items:center;color:#8d1028;font-size:.82rem;font-weight:850;padding:7px 0}
body.public-home .footer-links{align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 14px}
body.public-home .footer-links .gpf-footer-extras{flex-basis:100%;justify-content:center;margin-top:5px}
.gpf-site-footer nav .gpf-footer-extras{flex-basis:100%;margin-top:7px}
@media(max-width:850px){.gpf-extras{margin-top:32px;padding-top:25px}.gpf-extras-heading{width:min(720px,calc(100% - 32px))}}
@media(max-width:600px){.gpf-extras-heading{width:calc(100% - 28px)}.gpf-extras-heading p{font-size:.9rem}.gpf-extras{margin-top:26px}}

/* === PALETA FINAL 2026-10-28C: branco + vermelho + preto + verde utilitário === */
:root{
  --gpf-primary:#b11226!important;
  --gpf-primary-dark:#8f0d1d!important;
  --gpf-ink:#15171b!important;
  --gpf-muted:#4a4f58!important;
  --gpf-paper:#ffffff!important;
  --gpf-paper-soft:#faf8f8!important;
  --gpf-line:#e3d9db!important;
  --gpf-success:#1f9d57!important;
}

/* Remove resquícios da cara de app / PWA */
.gpf-install-btn,
.gpf-app-splash,
.gpf-offline-pill,
.gpf-permission-backdrop,
.gpf-permission-card{
  display:none!important;
}

/* Base geral de cor nas áreas públicas */
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access){
  background:#fff!important;
  color:#15171b!important;
}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) :is(h1,h2,h3,h4,h5,h6,strong,b){
  color:#15171b!important;
}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) :is(p,li,small,span,label,td,th,div){
  color:inherit;
}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) :is(a){
  color:#b11226!important;
}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) :is(.muted,.meta,.desc,.post-meta,.event-meta-line,.activity-time,.subtitle,.legend,small){
  color:#4a4f58!important;
  opacity:1!important;
}

/* Cabeçalhos */
body.public-home .topbar,
body.public-points .main-header,
.gpf-site-navigation{
  background:#fff!important;
  border-color:#e3d9db!important;
  box-shadow:0 4px 18px rgba(22,18,19,.06)!important;
}
body.public-home .nav-desktop a,
body.public-points .header-nav a,
.gpf-site-navigation .gpf-nav-links a{
  color:#21252c!important;
}
body.public-home .nav-desktop a:is(:hover,.active),
body.public-points .header-nav a:is(:hover,.active),
.gpf-site-navigation .gpf-nav-links a:is(:hover,.active){
  color:#a10f21!important;
  background:#fbecee!important;
}

/* Hero mantém contraste forte */
body.public-home .hero{background:#220c11!important}
body.public-home .hero-media,body.public-home .hero-video{filter:brightness(.54) saturate(.78)!important}
body.public-home .hero::before{background:linear-gradient(90deg,rgba(10,7,8,.92) 0%,rgba(14,8,10,.84) 36%,rgba(16,9,11,.56) 68%,rgba(18,9,11,.30) 100%)!important}
body.public-home .hero-title,
body.public-home .hero-subtitle,
body.public-home .hero-feature-pill,
body.public-home .hero-feature-pill :is(b,small,span){color:#fff!important}
body.public-home .hero-side,
body.public-home .hero-side *{color:#15171b!important;text-shadow:none!important}
body.public-home .hero-side .today-label{color:#b11226!important}

/* Botões apenas vermelho, branco e verde utilitário */
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .btn,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) button,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .mini-btn,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .event-action,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .filtro-chip,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .tag-btn,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .chip{
  box-shadow:none!important;
}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .btn-primary,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .btn-red,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) button[type=submit],
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .mini-btn.primary{
  background:#b11226!important;
  border:1px solid #b11226!important;
  color:#fff!important;
}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .btn-ghost,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .mini-btn,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .event-action,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .filtro-chip,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .tag-btn,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .chip{
  background:#fff!important;
  border:1px solid #d8cacc!important;
  color:#1f232a!important;
}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .btn-whats,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) .whatsapp-btn,
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) a[href*="wa.me"]{
  color:#1f232a!important;
}
body.public-home .whatsapp-btn{border:1px solid #cfead9!important;background:#fff!important}
body.public-home .whatsapp-btn i.fa-whatsapp,
body.public-home a[href*="wa.me"] i.fa-whatsapp{color:#1f9d57!important}

/* Cards e superfícies sempre brancos */
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) :is(.card,.event-card,.local-card,.first-visit-card,.home-intel-card,.home-intel-shell,.hero-side,.estudo-card,.ponto-card,.search-shell,.rail-card,.regency-card,.seo-music-card,.gpf-news-card,.gpf-news-home-item,.gpf-shop-home,.login-card){
  background:#fff!important;
  color:#15171b!important;
  border-color:#e3d9db!important;
  box-shadow:0 4px 18px rgba(22,18,19,.05)!important;
}
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) :is(.card,.event-card,.local-card,.first-visit-card,.home-intel-card,.home-intel-shell,.hero-side,.estudo-card,.ponto-card,.search-shell,.rail-card,.regency-card,.seo-music-card,.gpf-news-card,.gpf-news-home-item,.gpf-shop-home,.login-card)::before{display:none!important}

/* Textos internos escuros de verdade */
body.public-home :is(.card,.event-card,.local-card,.first-visit-card,.home-intel-card,.home-intel-shell,.sidebar,.feed) :is(h1,h2,h3,h4,strong,b,.event-title,.section-title,.post-author){
  color:#15171b!important;
}
body.public-home :is(.card,.event-card,.local-card,.first-visit-card,.home-intel-card,.home-intel-shell,.sidebar,.feed) :is(p,small,span,.event-meta-line,.post-meta,.first-visit-copy p,.post-text,.highlight-card p,.home-intel-copy p){
  color:#4a4f58!important;
  opacity:1!important;
}

/* Próximas festas: corrige leitura total */
body.public-home .activity-list{display:grid!important;gap:14px!important}
body.public-home .activity-item{
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  padding:14px!important;
  background:#fff!important;
  border:1px solid #e3d9db!important;
  border-radius:14px!important;
  text-align:left!important;
}
body.public-home .activity-item > div:last-child{min-width:0!important}
body.public-home .activity-avatar{
  width:56px!important;height:56px!important;min-width:56px!important;
  display:grid!important;place-items:center!important;
  border-radius:18px!important;font-size:1.45rem!important;font-weight:900!important;
}
body.public-home .activity-text,
body.public-home .activity-text *{
  color:#20242b!important;
  opacity:1!important;
}
body.public-home .activity-text{font-size:1rem!important;line-height:1.42!important}
body.public-home .activity-text b{font-weight:850!important;color:#191c21!important}
body.public-home .activity-time,
body.public-home .activity-time *{
  color:#4a4f58!important;
  opacity:1!important;
  font-size:.9rem!important;
  line-height:1.45!important;
  font-weight:700!important;
}

/* Notícias e áreas de apoio */
.gpf-news-home-item small,
body.public-news .gpf-news-card .gpf-news-cat,
body.public-news .gpf-news-eyebrow,
body.public-home .home-intel-tag,
body.public-home .home-intel-title,
body.public-home .first-visit-copy>span,
.gpf-extras-eyebrow,
.gpf-shop-home-eyebrow{
  color:#b11226!important;
}

/* Remove dourado/bege herdado de estilos antigos */
body:is(.public-home,.public-points,.public-studies,.public-news,.public-access) :is(.topbar,.bottom-nav,.app-dock,.footer,.hero-title,.hero-title::after,.hero-kicker,.dock-item,.dock-icon,.premium-watermark){
  filter:none!important;
}
body.public-home .footer,
.gpf-site-footer{background:#fbf9f9!important;border-color:#e3d9db!important}
body.public-home .footer :is(p,span,a),
.gpf-site-footer :is(p,span,a){color:#3f444d!important}

/* Mensagens verdes somente quando fizer sentido */
body.public-home div[style*="25,211,102"],
body.public-home .success,
body.public-home .ok,
body.public-home .status-success{
  background:rgba(31,157,87,.10)!important;
  color:#17663b!important;
  border:1px solid rgba(31,157,87,.22)!important;
}
body.public-home div[style*="25,211,102"] *{color:#17663b!important}

/* Desktop menos grande */
@media (min-width: 1100px){
  body.public-home{font-size:15px!important}
  body.public-home .topbar{min-height:70px!important;padding:8px max(18px,calc((100vw - 1160px)/2))!important}
  body.public-home .brand-logo{width:46px!important;height:46px!important;flex:0 0 46px!important}
  body.public-home .brand-text strong{font-size:1.05rem!important}
  body.public-home .brand-text span{font-size:.74rem!important}
  body.public-home .nav-desktop a{font-size:.82rem!important;padding:9px 8px!important;min-height:42px!important}
  body.public-home .auth-chip{min-height:42px!important;max-width:176px!important}
  body.public-home .hero{min-height:430px!important}
  body.public-home .hero-inner{max-width:1160px!important;grid-template-columns:minmax(0,1fr) 295px!important;gap:28px!important;padding:54px 24px 48px!important}
  body.public-home .hero-title{font-size:clamp(2.15rem,3vw,3.1rem)!important}
  body.public-home .hero-subtitle{font-size:1rem!important;max-width:58ch!important}
  body.public-home .hero-actions .btn{min-height:44px!important;padding:10px 14px!important;font-size:.84rem!important}
  body.public-home .layout{width:min(1160px,calc(100% - 44px))!important;grid-template-columns:minmax(0,1fr) 320px!important;gap:18px!important}
  body.public-home .home-intel,
  .gpf-news-home,
  .gpf-shop-home,
  .gpf-extras-heading,
  body.public-home .footer{width:min(1160px,calc(100% - 44px))!important;max-width:1160px!important}
  body.public-home .event-card{grid-template-columns:128px minmax(0,1fr)!important;gap:14px!important;padding:14px!important}
  body.public-home .event-poster{max-width:128px!important;aspect-ratio:3/4!important}
  body.public-home .event-action,body.public-home .mini-btn{min-height:40px!important;font-size:.8rem!important;padding:8px 11px!important}
}

/* Telas pequenas */
@media (max-width: 768px){
  body.public-home .activity-item{grid-template-columns:58px minmax(0,1fr)!important;gap:12px!important;padding:12px!important}
  body.public-home .activity-avatar{width:52px!important;height:52px!important;min-width:52px!important;font-size:1.25rem!important}
  body.public-home .activity-text{font-size:.95rem!important}
  body.public-home .activity-time{font-size:.84rem!important}
}


/* ================================================================
   2026-10-28F: reparo estrutural e de contraste na agenda da casa.
   A regra original combinava título e data em uma linha sem espaço.
   Outros estilos antigos ainda pintavam números brancos de branco.
   ================================================================ */
body.public-home .sidebar .activity-list{
  display:grid!important;
  gap:10px!important;
  padding:12px!important;
  min-width:0!important;
}
body.public-home .sidebar .gpf-festa-item{
  display:grid!important;
  grid-template-columns:44px minmax(0,1fr)!important;
  align-items:center!important;
  gap:11px!important;
  padding:12px!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  background:#fff!important;
  border:1px solid #ded5d7!important;
  border-radius:12px!important;
  box-shadow:none!important;
  text-align:left!important;
  overflow:visible!important;
  color:#17191d!important;
  white-space:normal!important;
  text-overflow:clip!important;
}
body.public-home .sidebar .gpf-festa-item:hover,
body.public-home .sidebar .gpf-festa-item:focus-visible{
  background:#fff8f9!important;
  border-color:#aa1731!important;
}
body.public-home .sidebar .gpf-festa-item .gpf-festa-day{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:44px!important;
  height:44px!important;
  min-width:0!important;
  border-radius:10px!important;
  padding:0!important;
  background:#ac1129!important;
  border:1px solid #ac1129!important;
  color:#fff!important;
  font-size:1.13rem!important;
  font-weight:850!important;
  line-height:1!important;
  opacity:1!important;
  box-shadow:none!important;
}
body.public-home .sidebar .gpf-festa-item .gpf-festa-copy{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:3px!important;
  min-width:0!important;
  width:100%!important;
  overflow:visible!important;
  text-align:left!important;
  color:#17191d!important;
  opacity:1!important;
}
body.public-home .sidebar .gpf-festa-item .gpf-festa-title{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  color:#17191d!important;
  font-size:.94rem!important;
  font-weight:800!important;
  letter-spacing:normal!important;
  line-height:1.37!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  opacity:1!important;
}
body.public-home .sidebar .gpf-festa-item .gpf-festa-date{
  display:block!important;
  color:#9c1028!important;
  font-size:.81rem!important;
  font-weight:800!important;
  letter-spacing:normal!important;
  line-height:1.35!important;
  white-space:normal!important;
  opacity:1!important;
}
body.public-home .sidebar .gpf-festa-item .gpf-festa-greeting{
  display:block!important;
  width:100%!important;
  color:#414650!important;
  font-size:.81rem!important;
  font-weight:600!important;
  letter-spacing:normal!important;
  line-height:1.42!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  opacity:1!important;
}
/* Evita resquícios de opacidade e textos claros em outras seções da casa. */
body.public-home .sidebar .card :is(.post-meta,.activity-time,.gpf-festa-date,.gpf-festa-greeting),
body.public-home .sidebar .local-card :is(p,small),
body.public-home .feed .event-info :is(p,small),
body.public-home .feed .event-meta,
body.public-home .feed .post-meta{
  opacity:1!important;
  text-shadow:none!important;
}
body.public-home .sidebar .card-header h3,
body.public-home .sidebar .local-card h3{
  font-size:1.02rem!important;
  color:#191b20!important;
}
body.public-home .sidebar .activity-list .gpf-festa-item :is(span,div,strong,b){
  text-shadow:none!important;
  filter:none!important;
}
body.public-home .sidebar .activity-list .gpf-festa-item .gpf-festa-date{color:#981129!important}
body.public-home .sidebar .activity-list .gpf-festa-item .gpf-festa-day{color:#fff!important}
@media(min-width:1100px){
  body.public-home .sidebar .activity-list{padding:10px!important;gap:8px!important}
  body.public-home .sidebar .gpf-festa-item{padding:10px!important;gap:10px!important;grid-template-columns:42px minmax(0,1fr)!important}
  body.public-home .sidebar .gpf-festa-item .gpf-festa-day{width:42px!important;height:42px!important}
  body.public-home .sidebar .gpf-festa-item .gpf-festa-title{font-size:.89rem!important}
  body.public-home .sidebar .gpf-festa-item .gpf-festa-greeting{font-size:.78rem!important}
}
@media(max-width:420px){
  body.public-home .sidebar .gpf-festa-item{grid-template-columns:42px minmax(0,1fr)!important;padding:10px!important;gap:10px!important}
  body.public-home .sidebar .gpf-festa-item .gpf-festa-day{width:42px!important;height:42px!important}
}


/* ================================================================
   Home: vitrine pequena da Loja Religiosa (28/10/2026)
   Somente o preview da home: NÃO interfere no marketplace loja.php.
   Restringe alturas, fontes, quantidade visível e largura das fotos.
   ================================================================ */
body.public-home .gpf-extras .gpf-shop-home{
  width:min(1040px,calc(100% - 36px))!important;
  max-width:1040px!important;
  padding:14px 16px!important;
  margin:0 auto 10px!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:14px!important;
  row-gap:7px!important;
  border-radius:11px!important;
  min-height:0!important;
}
body.public-home .gpf-extras .gpf-shop-home-symbol{
  width:38px!important;height:38px!important;flex:0 0 38px!important;
  border-radius:9px!important;font-size:1rem!important;
  background:#f9e8ed!important;color:#a70b23!important;
}
body.public-home .gpf-extras .gpf-shop-home-text{min-width:0!important}
body.public-home .gpf-extras .gpf-shop-home-eyebrow{
  font-size:.7rem!important;margin:0 0 2px!important;
  color:#901125!important;letter-spacing:.03em!important;
}
body.public-home .gpf-extras .gpf-shop-home h2{
  margin:0!important;color:#181b20!important;
  font-size:clamp(.95rem,1.3vw,1.1rem)!important;
  line-height:1.25!important;
}
body.public-home .gpf-extras .gpf-shop-home p{
  margin:3px 0 0!important;color:#4b505a!important;
  font-size:.78rem!important;line-height:1.35!important;
}
body.public-home .gpf-extras .gpf-shop-home-btn{
  min-height:36px!important;padding:7px 11px!important;
  font-size:.79rem!important;border-radius:8px!important;
  white-space:nowrap!important;
}
/* O container estava sem estilo na versão anterior: cada foto crescia livremente. */
body.public-home .gpf-extras .gpf-store-home-products{
  display:grid!important;
  width:min(1040px,calc(100% - 36px))!important;
  max-width:1040px!important;
  min-width:0!important;
  margin:0 auto 18px!important;
  padding:0!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}
body.public-home .gpf-extras .gpf-store-home-item{
  display:grid!important;
  grid-template-columns:74px minmax(0,1fr)!important;
  grid-template-rows:minmax(0,auto) minmax(0,auto)!important;
  align-content:center!important;align-items:center!important;
  gap:3px 9px!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  min-height:91px!important;height:auto!important;
  margin:0!important;padding:9px!important;
  border:1px solid #e4d8da!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#191b20!important;
  text-decoration:none!important;
  overflow:hidden!important;
}
body.public-home .gpf-extras .gpf-store-home-item:hover{
  border-color:#b11226!important;box-shadow:0 3px 12px rgba(83,13,29,.09)!important;
}
body.public-home .gpf-extras .gpf-store-home-photo{
  grid-column:1!important;grid-row:1 / span 2!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:74px!important;max-width:74px!important;
  height:70px!important;max-height:70px!important;
  min-height:0!important;aspect-ratio:auto!important;
  flex:none!important;margin:0!important;
  padding:4px!important;border-radius:7px!important;
  overflow:hidden!important;background:#faf6f6!important;
}
body.public-home .gpf-extras .gpf-store-home-photo img{
  display:block!important;object-fit:contain!important;
  width:100%!important;max-width:100%!important;
  height:100%!important;max-height:100%!important;
  min-width:0!important;min-height:0!important;
  aspect-ratio:auto!important;margin:0!important;
}
body.public-home .gpf-extras .gpf-store-home-name{
  grid-column:2!important;grid-row:1!important;align-self:end!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
  overflow:hidden!important;
  min-width:0!important;max-width:100%!important;
  font-size:.77rem!important;line-height:1.3!important;
  font-weight:700!important;color:#202329!important;
  overflow-wrap:anywhere!important;
}
body.public-home .gpf-extras .gpf-store-home-item > strong{
  grid-column:2!important;grid-row:2!important;align-self:start!important;
  display:block!important;min-width:0!important;
  color:#861026!important;font-size:.82rem!important;
  line-height:1.25!important;font-weight:850!important;
  white-space:normal!important;
}
@media(max-width:1050px){
  body.public-home .gpf-extras .gpf-store-home-products{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:620px){
  body.public-home .gpf-extras .gpf-shop-home{
    width:calc(100% - 28px)!important;
    padding:12px!important;
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:8px 10px!important;
  }
  body.public-home .gpf-extras .gpf-shop-home-symbol{
    width:32px!important;height:32px!important;flex-basis:32px!important;
    font-size:.87rem!important;
  }
  body.public-home .gpf-extras .gpf-shop-home p{font-size:.75rem!important}
  body.public-home .gpf-extras .gpf-shop-home-btn{
    grid-column:1/-1!important;
    width:100%!important;min-height:35px!important;
    margin:0!important;
  }
  body.public-home .gpf-extras .gpf-store-home-products{
    width:calc(100% - 28px)!important;
    gap:8px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    margin-bottom:13px!important;
  }
  /* Só dois produtos na home de celular: o restante segue na loja completa. */
  body.public-home .gpf-extras .gpf-store-home-item:nth-child(n+3){display:none!important}
  body.public-home .gpf-extras .gpf-store-home-item{
    grid-template-columns:1fr!important;
    grid-template-rows:72px auto auto!important;
    justify-items:center!important;
    gap:4px!important;
    padding:8px!important;
    min-height:0!important;
    text-align:center!important;
  }
  body.public-home .gpf-extras .gpf-store-home-photo{
    grid-column:1!important;grid-row:1!important;
    width:100%!important;max-width:96px!important;
    height:72px!important;max-height:72px!important;
  }
  body.public-home .gpf-extras .gpf-store-home-name{
    grid-column:1!important;grid-row:2!important;
    align-self:start!important;
    font-size:.74rem!important;
    min-height:0!important;
  }
  body.public-home .gpf-extras .gpf-store-home-item > strong{
    grid-column:1!important;grid-row:3!important;
    font-size:.83rem!important;
  }
}

/* 2026-10-28H · Capas reais das reportagens na página inicial */
body.public-home .gpf-news-home-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:13px!important;
  align-items:stretch!important;
}
body.public-home .gpf-news-home-item{
  display:flex!important;
  flex-direction:column!important;
  gap:0!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  border:1px solid #e4d8db!important;
  border-top:3px solid #b11226!important;
  background:#fff!important;
  border-radius:10px!important;
  overflow:hidden!important;
  color:#17191d!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body.public-home .gpf-news-home-item:hover,
body.public-home .gpf-news-home-item:focus-visible{
  border-color:#b11226!important;
  box-shadow:0 5px 16px rgba(40,15,20,.09)!important;
}
body.public-home .gpf-news-home-media{
  display:block!important;
  position:relative!important;
  flex:0 0 auto!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  max-height:180px!important;
  overflow:hidden!important;
  background:#f3eff0!important;
  color:#8f1028!important;
}
body.public-home .gpf-news-home-media img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  border:0!important;
}
body.public-home .gpf-news-home-image-fallback{
  position:absolute!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#9c1028!important;
  font-size:1.7rem!important;
  background:#f6f1f2!important;
}
body.public-home .gpf-news-home-image-fallback[hidden]{display:none!important}
body.public-home .gpf-news-home-content{
  display:flex!important;
  flex:1!important;
  flex-direction:column!important;
  min-width:0!important;
  gap:6px!important;
  padding:12px 14px 14px!important;
  background:#fff!important;
}
body.public-home .gpf-news-home-category{
  font-size:.73rem!important;
  letter-spacing:.035em!important;
  font-weight:850!important;
  color:#9b1027!important;
  text-transform:uppercase!important;
  line-height:1.3!important;
}
body.public-home .gpf-news-home-title{
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  min-height:0!important;
  color:#191b20!important;
  font-weight:800!important;
  font-size:.92rem!important;
  line-height:1.42!important;
}
body.public-home .gpf-news-home-source{
  margin-top:auto!important;
  padding-top:5px!important;
  font-size:.77rem!important;
  line-height:1.35!important;
  font-weight:650!important;
  color:#555961!important;
}
@media(max-width:850px){
  body.public-home .gpf-news-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.public-home .gpf-news-home-item:last-child:nth-child(odd){grid-column:1/-1!important}
}
@media(max-width:620px){
  body.public-home .gpf-news-home-grid{grid-template-columns:1fr!important;gap:10px!important}
  body.public-home .gpf-news-home-item,
  body.public-home .gpf-news-home-item:last-child:nth-child(odd){
    display:grid!important;
    grid-template-columns:112px minmax(0,1fr)!important;
    grid-column:auto!important;
  }
  body.public-home .gpf-news-home-media{
    aspect-ratio:auto!important;
    width:112px!important;
    height:100%!important;
    min-height:115px!important;
    max-height:none!important;
  }
  body.public-home .gpf-news-home-content{padding:10px!important;gap:5px!important}
  body.public-home .gpf-news-home-title{font-size:.85rem!important;-webkit-line-clamp:3!important;line-height:1.35!important}
  body.public-home .gpf-news-home-category{font-size:.66rem!important}
  body.public-home .gpf-news-home-source{font-size:.71rem!important}
}
@media(max-width:360px){
  body.public-home .gpf-news-home-item,
  body.public-home .gpf-news-home-item:last-child:nth-child(odd){grid-template-columns:96px minmax(0,1fr)!important}
  body.public-home .gpf-news-home-media{width:96px!important;min-height:112px!important}
}
