/* convite-visao-espacial-v1124 */
/* =========================================================
   v1.0.124 — zoom aéreo maior + convite antes do modo globo
   ========================================================= */

.convite-visao-espacial{
  position:fixed;
  inset:0;
  z-index:2147482100;
  display:none;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(9,17,25,.38);
  backdrop-filter:blur(3px);
}

.convite-visao-espacial.ativo{
  display:flex;
  animation:convite-espaco-fundo .28s ease both;
}

.convite-visao-espacial.saindo{
  animation:convite-espaco-sair .22s ease both;
}

@keyframes convite-espaco-fundo{
  from{opacity:0}
  to{opacity:1}
}

@keyframes convite-espaco-sair{
  from{opacity:1}
  to{opacity:0}
}

.convite-visao-espacial-box{
  width:min(610px,92vw);
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  gap:20px;
  align-items:center;
  padding:22px;
  border:5px solid #101010;
  border-radius:18px;
  background:rgba(255,252,241,.98);
  box-shadow:
    10px 10px 0 rgba(0,0,0,.18),
    0 22px 55px rgba(0,0,0,.22);
  transform:translateY(14px) scale(.96);
  animation:convite-espaco-box .36s cubic-bezier(.18,.8,.18,1) forwards;
}

@keyframes convite-espaco-box{
  to{transform:translateY(0) scale(1)}
}

.convite-visao-espacial-icone{
  width:104px;
  height:104px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:4px solid #101010;
  border-radius:50%;
  background:
    radial-gradient(circle at 35% 30%,rgba(255,255,255,.7),transparent 22%),
    linear-gradient(180deg,#82d7f5,#399ac9);
  font-size:58px;
  box-shadow:
    inset -12px -12px 0 rgba(17,83,121,.14),
    5px 5px 0 rgba(0,0,0,.11);
}

.convite-visao-espacial-selo{
  display:inline-block;
  padding:5px 8px;
  border:3px solid #101010;
  border-radius:7px;
  background:#e8ddff;
  color:#151196;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
}

.convite-visao-espacial h3{
  margin:10px 0 0;
  color:#202b3a;
  font-size:23px;
  text-transform:uppercase;
}

.convite-visao-espacial p{
  margin:9px 0 0;
  color:#617083;
  font-family:Arial,sans-serif;
  font-size:12px;
  line-height:1.55;
}

.convite-visao-espacial-acoes{
  display:flex;
  justify-content:flex-end;
  gap:9px;
  margin-top:17px;
}

.convite-visao-espacial-acoes button{
  min-height:45px;
  padding:0 14px;
  border:4px solid #101010;
  border-radius:9px;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:4px 4px 0 rgba(0,0,0,.10);
}

.convite-visao-espacial-acoes .continuar{
  background:#eef2f6;
  color:#232b36;
}

.convite-visao-espacial-acoes .espaco{
  background:#ffd21c;
  color:#111;
}

.convite-visao-espacial-acoes button:hover{
  transform:translate(-1px,-1px);
}

/* em 25% a leitura deve continuar leve e limpa */
body.zoom-distante .fauna-procedural{
  opacity:.58;
}

@media(max-width:575.98px){
  .convite-visao-espacial{
    align-items:flex-end;
    padding:10px;
  }

  .convite-visao-espacial-box{
    width:100%;
    grid-template-columns:72px minmax(0,1fr);
    gap:13px;
    padding:16px;
    border-width:4px;
    border-radius:20px;
  }

  .convite-visao-espacial-icone{
    width:68px;
    height:68px;
    border-width:3px;
    font-size:39px;
  }

  .convite-visao-espacial h3{
    font-size:17px;
  }

  .convite-visao-espacial p{
    font-size:10px;
  }

  .convite-visao-espacial-acoes{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .convite-visao-espacial-acoes button{
    min-height:46px;
    padding:0 8px;
    border-width:3px;
    font-size:8px;
  }
}

/* rua-entrada-principal-v1125 */
/* Rua horizontal que separa a entrada da primeira fileira de quarteirões */
.portal-topo-mundo{
  z-index:20;
}

/* Mantém a pista livre visualmente antes da primeira fileira */
#mundoChunks{
  overflow:visible;
}

/* rua-horizontal-entrada-v1126 */
/* =========================================================
   v1.0.126 — rua correta entre a entrada e a primeira fileira
   ========================================================= */

.rua-horizontal-entrada{
  position:absolute;
  left:-200000px;
  top:365px;
  width:400000px;
  height:120px;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(
      180deg,
      #9a8e70 0 10px,
      #b7a984 10px calc(100% - 10px),
      #8d8267 calc(100% - 10px) 100%
    );
  box-shadow:
    inset 0 7px 0 rgba(255,255,255,.10),
    inset 0 -7px 0 rgba(0,0,0,.08);
}

/* Cruzamento contínuo com a rua que sai do portão */
.rua-saida-portal{
  z-index:3 !important;
}

/* A entrada fica acima das ruas */
.entrada-mundo-topo,
.portal-topo-mundo{
  z-index:20 !important;
}

/* Os quarteirões continuam acima da pista */
.quarteirao-procedural,
.local-especial{
  z-index:5;
}

/* remove-caixinha-pontos-interesse-v1127 */
/* Remove placeholders/caixinhas vazias dos pontos de interesse comuns */
.local-especial:not(.capela) :is(
  .local-especial-subtitulo,
  .ponto-interesse-subtitulo,
  .ponto-interesse-descricao,
  .poi-subtitulo,
  .poi-descricao
):empty{
  display:none !important;
}

/* Proteção para elementos vazios residuais no rodapé do card */
.local-especial:not(.capela) > span:empty,
.local-especial:not(.capela) > small:empty,
.local-especial:not(.capela) > p:empty{
  display:none !important;
  width:0 !important;
  height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  box-shadow:none !important;
}

/* remove-subtitulo-pontos-v1128 */
.local-especial:not(.local-capela) .local-especial-subtitulo{
  display:none !important;
}

.local-especial:not(.local-capela){
  cursor:default !important;
}

/* globo-ciclo-luz-v1129 */
/* =========================================================
   v1.0.129 — Globo respeita manhã/dia/tarde/noite
   ========================================================= */

/* DIA */
body:not(.modo-noturno):not(.periodo-noite) .ceu-globo{
  background:
    radial-gradient(circle at 50% -8%,rgba(255,255,255,.62),transparent 34%),
    linear-gradient(180deg,#65c9f2 0%,#8bd9f3 42%,#bbe9f8 78%,#def6ff 100%) !important;
}

body:not(.modo-noturno):not(.periodo-noite) .globo-esfera{
  filter:brightness(1) saturate(1) !important;
}

/* AMANHECER */
body.periodo-amanhecer .ceu-globo,
body.amanhecer .ceu-globo{
  background:
    radial-gradient(circle at 50% 7%,rgba(255,238,183,.70),transparent 28%),
    linear-gradient(180deg,#6678b8 0%,#d69bb0 34%,#f3bb92 60%,#d9eff8 100%) !important;
}

body.periodo-amanhecer .globo-esfera,
body.amanhecer .globo-esfera{
  filter:brightness(.94) saturate(.96) sepia(.08) !important;
}

/* PÔR DO SOL / FIM DE TARDE */
body.periodo-entardecer .ceu-globo,
body.entardecer .ceu-globo,
body.periodo-por-do-sol .ceu-globo{
  background:
    radial-gradient(circle at 50% 13%,rgba(255,214,125,.72),transparent 30%),
    linear-gradient(180deg,#5b669e 0%,#b36f8e 28%,#e89168 54%,#f2bd7e 74%,#bfd8e7 100%) !important;
}

body.periodo-entardecer .globo-esfera,
body.entardecer .globo-esfera,
body.periodo-por-do-sol .globo-esfera{
  filter:brightness(.82) saturate(.92) sepia(.10) !important;
}

/* NOITE */
body.modo-noturno .ceu-globo,
body.periodo-noite .ceu-globo{
  background:
    radial-gradient(circle at 78% 14%,rgba(232,239,255,.16),transparent 15%),
    linear-gradient(180deg,#07111f 0%,#0b1a2f 38%,#102b45 72%,#183c56 100%) !important;
}

/* estrelas discretas no céu do globo à noite */
body.modo-noturno .ceu-globo::after,
body.periodo-noite .ceu-globo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:
    radial-gradient(circle,#fff7cb 0 1.3px,transparent 1.8px),
    radial-gradient(circle,#dce8ff 0 1px,transparent 1.6px),
    radial-gradient(circle,#ffffff 0 .8px,transparent 1.4px);
  background-size:97px 83px,143px 121px,71px 137px;
  background-position:12px 18px,44px 36px,7px 72px;
  opacity:.75;
}

/* nuvens mais escuras durante a noite */
body.modo-noturno .nuvem-globo,
body.periodo-noite .nuvem-globo{
  background:rgba(180,193,211,.50) !important;
  box-shadow:
    42px -25px 0 4px rgba(190,203,220,.48),
    92px -9px 0 -1px rgba(176,190,209,.46),
    132px 4px 0 -9px rgba(164,179,200,.42) !important;
  filter:drop-shadow(0 8px 0 rgba(0,0,0,.08)) !important;
}

/* o planeta perde luminosidade e ganha tonalidade azulada */
body.modo-noturno .globo-esfera,
body.periodo-noite .globo-esfera{
  filter:
    brightness(.43)
    saturate(.68)
    hue-rotate(7deg)
    contrast(1.04) !important;
}

/* mantém a superfície legível sem parecer iluminada como de dia */
body.modo-noturno #globoCanvas,
body.periodo-noite #globoCanvas{
  opacity:.88;
}

/* reflexo lunar no planeta */
body.modo-noturno .globo-esfera::before,
body.periodo-noite .globo-esfera::before{
  background:
    radial-gradient(circle at 30% 22%,rgba(199,219,255,.20),transparent 17%),
    radial-gradient(circle at 50% 50%,transparent 49%,rgba(2,12,23,.24) 68%,rgba(0,5,12,.66) 100%) !important;
}

/* HUD acompanha a atmosfera noturna */
body.modo-noturno .globo-hud-topo,
body.periodo-noite .globo-hud-topo{
  background:rgba(6,13,24,.94) !important;
  box-shadow:5px 5px 0 rgba(0,0,0,.26) !important;
}

/* A legenda continua clara, mas ligeiramente menos intensa */
body.modo-noturno .globo-legenda-marcadores,
body.periodo-noite .globo-legenda-marcadores,
body.modo-noturno .globo-dica,
body.periodo-noite .globo-dica{
  filter:brightness(.88);
}

/* velas-pagas-v1130 */
/* =========================================================
   v1.0.130 — vela só aparece após pagamento confirmado
   ========================================================= */

.luzes-saudade .vela-paga-item{
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:14px;
  border:3px solid #f2c26f;
  background:#fff6dc;
  color:#3b332b;
  text-align:left;
  box-shadow:4px 4px 0 rgba(0,0,0,.10);
}

.luzes-saudade .vela-paga-icone{
  position:relative;
  width:48px;
  height:58px;
  margin:auto;
}

.luzes-saudade .vela-paga-icone::before{
  content:"";
  position:absolute;
  left:12px;
  right:12px;
  bottom:0;
  height:42px;
  border:2px solid #caa25f;
  background:#fff4cf;
  box-shadow:inset -5px 0 0 rgba(217,184,122,.18);
}

.luzes-saudade .vela-paga-icone::after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:16px;
  height:23px;
  transform:translateX(-50%);
  border-radius:50% 50% 45% 45%;
  background:
    radial-gradient(circle at 50% 55%,#fff7b3 0 24%,#ffc33b 25% 58%,#ff7b22 59% 100%);
  filter:drop-shadow(0 0 7px rgba(255,178,49,.72));
  animation:vela-paga-chama 1s ease-in-out infinite alternate;
}

@keyframes vela-paga-chama{
  from{transform:translateX(-50%) scale(.92) rotate(-2deg)}
  to{transform:translateX(-50%) scale(1.06) rotate(2deg)}
}

.luzes-saudade .vela-paga-info strong{
  display:block;
  color:#8c4f16;
  font-size:11px;
  text-transform:uppercase;
}

.luzes-saudade .vela-paga-info span{
  display:block;
  margin-top:4px;
  color:#6d6258;
  font-family:Arial,sans-serif;
  font-size:10px;
  line-height:1.45;
}

.luzes-saudade .vela-paga-info em{
  display:block;
  margin-top:6px;
  color:#9b6b31;
  font-family:Arial,sans-serif;
  font-size:9px;
}

.btn-acender-vela.aguardando-pagamento{
  background:#ded6ca !important;
  color:#6b6259 !important;
  cursor:default !important;
}

@media(max-width:575.98px){
  .luzes-saudade .vela-paga-item{
    grid-template-columns:46px minmax(0,1fr);
    gap:10px;
    padding:11px;
  }

  .luzes-saudade .vela-paga-icone{
    width:40px;
    height:50px;
  }
}

/* rua-superior-padrao-v1131 */
/* v1.0.131 — rua superior idêntica às demais ruas do cemitério */
.rua-horizontal-entrada{
  position:absolute !important;
  left:-50000px !important;
  top:365px !important;
  width:100000px !important;
  height:120px !important;
  box-sizing:border-box !important;
  z-index:4 !important;
  pointer-events:none !important;
  background:#bda77a !important;
  border-top:4px solid #8b7653 !important;
  border-bottom:4px solid #8b7653 !important;
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.08) !important;
}

body.modo-noturno .rua-horizontal-entrada,
body.periodo-noite .rua-horizontal-entrada{
  background:#746950 !important;
  border-top-color:#554b37 !important;
  border-bottom-color:#554b37 !important;
}

/* O cruzamento usa a mesma pista, sem emenda visual diferente. */
.rua-saida-portal{
  background:#bda77a !important;
  border-color:#8b7653 !important;
}

body.modo-noturno .rua-saida-portal,
body.periodo-noite .rua-saida-portal{
  background:#746950 !important;
  border-color:#554b37 !important;
}

/* rua-superior-sem-linhas-v1132 */
/* Rua superior limpa, sem linhas horizontais nas bordas */
.rua-horizontal-entrada{
  background:#b7a984 !important;
  box-shadow:none !important;
  border-top:0 !important;
  border-bottom:0 !important;
  outline:0 !important;
}

.rua-horizontal-entrada::before,
.rua-horizontal-entrada::after{
  content:none !important;
  display:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* entrada-logo-v1133 */
/* =========================================================
   v1.0.133 — espaço dedicado à logo acima do portal
   ========================================================= */

/* Reserva uma faixa superior ampla para receber a logo futuramente */
.tela-boas-vindas .conteudo-boas-vindas,
.tela-entrada .conteudo-entrada,
.entrada-celestial-conteudo,
.portal-celestial-conteudo{
  padding-top:clamp(130px,18vh,230px) !important;
}

/* Se o portal estiver centralizado diretamente na tela, desloca-o para baixo */
.tela-boas-vindas .portal-celestial,
.tela-entrada .portal-celestial,
.entrada-celestial .portal-celestial,
#portalCelestial{
  margin-top:clamp(70px,10vh,130px) !important;
}

/* Área vazia de segurança para a logo, sem texto competindo visualmente */
.logo-entrada,
.entrada-logo,
.logo-portal{
  min-height:clamp(90px,12vh,150px);
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Mobile: mantém espaço suficiente sem empurrar o portal para fora da tela */
@media(max-width:767.98px){
  .tela-boas-vindas .conteudo-boas-vindas,
  .tela-entrada .conteudo-entrada,
  .entrada-celestial-conteudo,
  .portal-celestial-conteudo{
    padding-top:120px !important;
  }

  .tela-boas-vindas .portal-celestial,
  .tela-entrada .portal-celestial,
  .entrada-celestial .portal-celestial,
  #portalCelestial{
    margin-top:55px !important;
  }
}

/* entrada-auth-conta-v1134 */
/* =========================================================
   v1.0.134 — Entrada legível em qualquer zoom + autenticação
   ========================================================= */

/* A estrutura da entrada continua clicável e ganha tamanho mínimo visual */
#portalEntradaPrincipal{
  --escala-entrada-zoom:1;
  transform:
    translateX(-50%)
    scale(var(--escala-entrada-zoom)) !important;
  transform-origin:50% 0 !important;
  transition:filter .18s ease,transform .18s ease !important;
  cursor:pointer !important;
}

#portalEntradaPrincipal .placa{
  display:none !important;
}

#portalEntradaPrincipal:hover{
  filter:brightness(1.07) drop-shadow(0 8px 0 rgba(0,0,0,.12));
}

/* área clicável invisível um pouco maior para facilitar no zoom distante */
#portalEntradaPrincipal::after{
  content:"";
  position:absolute;
  inset:-18px -24px -18px;
  pointer-events:auto;
}

/* ---------- AUTENTICAÇÃO ---------- */

.auth-eterno-overlay,
.conta-eterno-overlay{
  position:fixed;
  inset:0;
  z-index:2147483600;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(10,14,20,.74);
  backdrop-filter:blur(5px);
  overflow:auto;
}

.auth-eterno-overlay.ativo,
.conta-eterno-overlay.ativo{
  display:flex;
  animation:auth-eterno-in .25s ease both;
}

@keyframes auth-eterno-in{
  from{opacity:0}
  to{opacity:1}
}

.auth-eterno-box{
  width:min(470px,94vw);
  max-height:92dvh;
  overflow:auto;
  border:5px solid #101010;
  border-radius:18px;
  background:#fffaf0;
  box-shadow:12px 12px 0 rgba(0,0,0,.22);
}

.auth-eterno-topo{
  position:sticky;
  top:0;
  z-index:4;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:17px 18px;
  border-bottom:3px solid #ded5c7;
  background:#fffaf0;
}

.auth-eterno-topo h2{
  margin:0;
  color:#151196;
  font-size:21px;
  text-transform:uppercase;
}

.auth-eterno-fechar{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:4px solid #101010;
  border-radius:10px;
  background:#ef4444;
  color:#fff;
  font-size:19px;
  font-weight:900;
  cursor:pointer;
}

.auth-eterno-corpo{
  padding:20px;
}

.auth-eterno-intro{
  margin-bottom:17px;
  color:#667284;
  font-family:Arial,sans-serif;
  font-size:12px;
  line-height:1.55;
}

.auth-eterno-campo{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:12px;
}

.auth-eterno-campo label{
  color:#687486;
  font-family:Arial,sans-serif;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}

.auth-eterno-campo input{
  min-height:48px;
  padding:9px 11px;
  border:3px solid #101010;
  border-radius:10px;
  background:#f8fafc;
  color:#202733;
  font-family:Arial,sans-serif;
  font-size:14px;
  outline:none;
}

.auth-eterno-campo input:focus{
  background:#fffbe2;
  box-shadow:0 0 0 3px rgba(255,210,28,.30);
}

.auth-eterno-submit{
  width:100%;
  min-height:50px;
  margin-top:4px;
  border:4px solid #101010;
  border-radius:10px;
  background:#ffd21c;
  color:#111;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
  box-shadow:4px 4px 0 rgba(0,0,0,.11);
}

.auth-eterno-links{
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:9px 14px;
  margin-top:16px;
}

.auth-eterno-links button{
  padding:0;
  border:0;
  background:none;
  color:#151196;
  font-family:Arial,sans-serif;
  font-size:10px;
  font-weight:800;
  text-decoration:underline;
  cursor:pointer;
}

.auth-eterno-alerta{
  display:none;
  margin:0 0 14px;
  padding:10px 11px;
  border:3px solid #101010;
  border-radius:9px;
  background:#fff0c3;
  color:#5d4a1d;
  font-family:Arial,sans-serif;
  font-size:10px;
  line-height:1.45;
}

.auth-eterno-alerta.ativo{
  display:block;
}

.auth-eterno-alerta.erro{background:#ffe1e1;color:#8a2929}
.auth-eterno-alerta.sucesso{background:#e5f5dc;color:#386022}

/* ---------- CONTA DO USUÁRIO ---------- */

.conta-eterno-box{
  width:min(1040px,95vw);
  max-height:92dvh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:5px solid #101010;
  border-radius:20px;
  background:#f4f7fb;
  box-shadow:14px 14px 0 rgba(0,0,0,.22);
}

.conta-eterno-topo{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 20px;
  border-bottom:4px solid #101010;
  background:#1c078f;
  color:#fff;
}

.conta-eterno-topo h2{
  margin:0;
  font-size:23px;
  text-transform:uppercase;
}

.conta-eterno-topo-acoes{
  display:flex;
  gap:8px;
}

.conta-eterno-topo button{
  min-height:40px;
  padding:0 12px;
  border:3px solid #101010;
  border-radius:9px;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
}

.btn-conta-sair{background:#ffd21c}
.btn-conta-fechar{background:#ef4444;color:#fff}

.conta-eterno-corpo{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  padding:20px;
  -webkit-overflow-scrolling:touch;
}

.conta-boas-vindas{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding:17px;
  border:4px solid #101010;
  border-radius:14px;
  background:#fff;
}

.conta-avatar{
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid #101010;
  border-radius:50%;
  background:#d8eef7;
  font-size:38px;
}

.conta-boas-vindas h3{
  margin:0;
  color:#151196;
  font-size:21px;
}

.conta-boas-vindas p{
  margin:5px 0 0;
  color:#6b7788;
  font-family:Arial,sans-serif;
  font-size:11px;
}

.conta-resumo{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:14px;
}

.conta-resumo-card{
  padding:14px;
  border:3px solid #101010;
  border-radius:12px;
  background:#fff;
}

.conta-resumo-card strong{
  display:block;
  color:#151196;
  font-size:20px;
}

.conta-resumo-card span{
  display:block;
  margin-top:3px;
  color:#748092;
  font-family:Arial,sans-serif;
  font-size:9px;
  font-weight:800;
  text-transform:uppercase;
}

.conta-secao{
  margin-top:16px;
  padding:17px;
  border:4px solid #101010;
  border-radius:14px;
  background:#fff;
}

.conta-secao-cabecalho{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
}

.conta-secao h3{
  margin:0;
  color:#273446;
  font-size:17px;
  text-transform:uppercase;
}

.conta-secao-cabecalho button{
  min-height:38px;
  padding:0 10px;
  border:3px solid #101010;
  border-radius:8px;
  background:#ffd21c;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
}

.meus-tumulos-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
}

.meu-tumulo-card{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:11px;
  border:3px solid #101010;
  border-radius:11px;
  background:#f7fbff;
}

.meu-tumulo-avatar{
  width:64px;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:3px solid #101010;
  border-radius:10px;
  background:#dceef5;
  font-size:38px;
}

.meu-tumulo-info strong{
  display:block;
  color:#151196;
  font-size:12px;
}

.meu-tumulo-info span{
  display:block;
  margin-top:3px;
  color:#6e7988;
  font-family:Arial,sans-serif;
  font-size:9px;
}

.meu-tumulo-card button{
  min-height:37px;
  padding:0 9px;
  border:3px solid #101010;
  border-radius:8px;
  background:#e8ddff;
  font-size:8px;
  font-weight:900;
  cursor:pointer;
}

.conta-vazia{
  padding:20px;
  border:3px dashed #aeb7c1;
  border-radius:10px;
  background:#f7f9fb;
  color:#687486;
  font-family:Arial,sans-serif;
  font-size:11px;
  text-align:center;
  line-height:1.55;
}

@media(max-width:700px){
  .auth-eterno-overlay,
  .conta-eterno-overlay{
    align-items:flex-end;
    padding:8px;
  }

  .auth-eterno-box,
  .conta-eterno-box{
    width:100%;
    max-height:94dvh;
    border-width:0;
    border-radius:24px 24px 0 0;
    box-shadow:0 -16px 42px rgba(0,0,0,.25);
  }

  .conta-eterno-topo{
    padding:13px 14px;
  }

  .conta-eterno-topo h2{
    font-size:17px;
  }

  .conta-eterno-topo button{
    min-height:36px;
    padding:0 8px;
    font-size:7px;
  }

  .conta-eterno-corpo{
    padding:14px;
  }

  .conta-resumo{
    grid-template-columns:1fr 1fr;
  }

  .conta-resumo-card:last-child{
    grid-column:1/-1;
  }

  .meus-tumulos-grid{
    grid-template-columns:1fr;
  }

  .meu-tumulo-card{
    grid-template-columns:54px minmax(0,1fr);
  }

  .meu-tumulo-avatar{
    width:54px;
    height:54px;
    font-size:31px;
  }

  .meu-tumulo-card button{
    grid-column:1/-1;
    width:100%;
  }
}

/* entrada-responsiva-v1135 */
/* =========================================================
   v1.0.135 — entrada fixa no mundo e mais céu no zoom-out
   ========================================================= */

/*
 * O céu ganha mais altura para que a entrada tenha uma área própria
 * e não dispute espaço visual com a primeira fileira de quadras.
 */
.ceu-mundo{
  height:420px !important;
  min-height:420px !important;
}

/*
 * A faixa da entrada começa exatamente após o céu.
 * A casa fica parcialmente avançada no céu, mas sua base termina
 * antes da rua e dos quarteirões.
 */
.entrada-mundo-topo{
  top:420px !important;
  height:520px !important;
}

/* Cerca permanece encaixada na transição céu/gramado */
.entrada-mundo-topo .cerca-entrada{
  top:-43px !important;
}

/*
 * Estrutura da entrada presa a uma coordenada estável.
 * Sem crescimento compensatório conforme o zoom diminui.
 */
#portalEntradaPrincipal{
  top:-155px !important;
  transform:translateX(-50%) scale(1) !important;
  transform-origin:50% 100% !important;
}

/*
 * Rua vertical saindo da porta até a primeira rua horizontal.
 */
.rua-saida-portal{
  top:490px !important;
  height:130px !important;
}

/*
 * Rua horizontal entre a entrada e a primeira fileira.
 */
.rua-horizontal-entrada{
  top:500px !important;
  height:120px !important;
}

/*
 * Garante espaço estrutural antes dos primeiros quarteirões.
 */
.malha-ruas-fundo{
  top:620px !important;
}

/*
 * Em zoom-out extremo, a entrada naturalmente reduz junto com o mundo,
 * mantendo a mesma posição em vez de crescer sobre as quadras.
 */
@media(max-width:767.98px){
  .ceu-mundo{
    height:390px !important;
    min-height:390px !important;
  }

  .entrada-mundo-topo{
    top:390px !important;
  }

  #portalEntradaPrincipal{
    top:-145px !important;
  }
}

/* ceu-nuvens-v1136 */
/* =========================================================
   v1.0.136 — nuvens cobrindo todo o céu
   ========================================================= */

.ceu-mundo .nuvens{
  position:absolute !important;
  left:-50000px !important;
  top:0 !important;
  width:100000px !important;
  height:100% !important;
  right:auto !important;
  overflow:hidden !important;
  pointer-events:none !important;
  z-index:1 !important;
}

.ceu-mundo .nuvem{
  position:absolute !important;
  left:100% !important;
  width:34px !important;
  height:24px !important;
  background:#e9f8ff !important;
  opacity:.70;
  box-shadow:
    26px 0 0 #e9f8ff,
    52px 0 0 #dff5ff,
    26px -18px 0 #e9f8ff,
    78px 0 0 #e9f8ff,
    104px 0 0 #d8f1ff !important;
  animation-name:nuvem-andando-mundo-v1136 !important;
  animation-timing-function:linear !important;
  animation-iteration-count:infinite !important;
  will-change:transform,left;
}

@keyframes nuvem-andando-mundo-v1136{
  from{left:calc(100% + 260px)}
  to{left:-360px}
}

/* Mais nuvens em várias alturas e velocidades */
.ceu-mundo .nuvem-1{top:70px !important;animation-duration:85s !important;animation-delay:-18s !important}
.ceu-mundo .nuvem-2{top:145px !important;transform:scale(1.25);animation-duration:110s !important;animation-delay:-72s !important}
.ceu-mundo .nuvem-3{top:220px !important;transform:scale(.82);animation-duration:92s !important;animation-delay:-44s !important;opacity:.55}
.ceu-mundo .nuvem-4{top:315px !important;transform:scale(.62);animation-duration:128s !important;animation-delay:-96s !important;opacity:.45}
.ceu-mundo .nuvem-5{top:105px !important;transform:scale(.92);animation-duration:104s !important;animation-delay:-8s !important;opacity:.62}
.ceu-mundo .nuvem-6{top:270px !important;transform:scale(1.05);animation-duration:118s !important;animation-delay:-61s !important;opacity:.58}
.ceu-mundo .nuvem-7{top:35px !important;transform:scale(.70);animation-duration:98s !important;animation-delay:-37s !important;opacity:.52}
.ceu-mundo .nuvem-8{top:350px !important;transform:scale(.78);animation-duration:135s !important;animation-delay:-115s !important;opacity:.42}
.ceu-mundo .nuvem-9{top:185px !important;transform:scale(1.38);animation-duration:145s !important;animation-delay:-28s !important;opacity:.64}
.ceu-mundo .nuvem-10{top:245px !important;transform:scale(.56);animation-duration:88s !important;animation-delay:-52s !important;opacity:.48}

/* Sol e lua continuam próximos da entrada principal */
.ceu-mundo .sol-ciclo{
  left:calc(50% + 370px) !important;
  right:auto !important;
}

.ceu-mundo .lua-noite{
  left:calc(50% + 390px) !important;
  right:auto !important;
}

/* painel-usuario-fullscreen-v1136 */
/* =========================================================
   v1.0.136 — Painel do usuário em tela cheia
   ========================================================= */

.conta-eterno-overlay{
  padding:0 !important;
  background:#eef2f7 !important;
  backdrop-filter:none !important;
  align-items:stretch !important;
  justify-content:stretch !important;
}

.conta-eterno-box{
  width:100vw !important;
  height:100dvh !important;
  max-width:none !important;
  max-height:none !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  display:grid !important;
  grid-template-columns:250px minmax(0,1fr) !important;
  grid-template-rows:1fr !important;
  background:#eef2f7 !important;
}

.conta-eterno-topo{
  grid-column:1 !important;
  grid-row:1 !important;
  height:100% !important;
  min-height:100dvh !important;
  padding:22px 16px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:18px !important;
  border:0 !important;
  border-right:4px solid #101010 !important;
  background:#1c078f !important;
  position:relative !important;
}

.conta-eterno-topo h2{
  margin:0 0 8px !important;
  color:#fff !important;
  font-size:20px !important;
  text-align:center;
}

.conta-eterno-topo::after{
  content:"GERENCIAMENTO";
  display:block;
  padding:10px 8px;
  border:3px solid #101010;
  background:#ffd21c;
  color:#111;
  font-size:9px;
  font-weight:900;
  text-align:center;
}

.conta-eterno-topo-acoes{
  margin-top:auto !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:8px !important;
}

.conta-eterno-topo button{
  width:100% !important;
  min-height:44px !important;
}

.conta-eterno-corpo{
  grid-column:2 !important;
  grid-row:1 !important;
  height:100dvh !important;
  min-height:0 !important;
  overflow-y:auto !important;
  padding:28px !important;
  background:
    linear-gradient(180deg,#f8fafc,#eef2f7) !important;
}

.conta-boas-vindas{
  max-width:1180px;
  margin:0 auto;
  padding:20px !important;
  border-radius:16px !important;
  background:#fff !important;
}

.conta-resumo,
.conta-secao{
  max-width:1180px;
  margin-left:auto !important;
  margin-right:auto !important;
}

.conta-secao{
  margin-top:18px !important;
}

.conta-resumo{
  margin-top:16px !important;
}

.meus-tumulos-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

#btnMinhaContaTopo{
  font-size:10px !important;
  min-height:60px !important;
  padding:0 14px !important;
  white-space:nowrap;
}

@media(max-width:980px){
  .conta-eterno-box{
    grid-template-columns:190px minmax(0,1fr) !important;
  }

  .meus-tumulos-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:700px){
  .conta-eterno-box{
    display:flex !important;
    flex-direction:column !important;
    height:100dvh !important;
  }

  .conta-eterno-topo{
    min-height:auto !important;
    height:auto !important;
    flex:0 0 auto !important;
    padding:12px !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
    border-right:0 !important;
    border-bottom:4px solid #101010 !important;
  }

  .conta-eterno-topo h2{
    text-align:left !important;
    margin:0 !important;
    font-size:17px !important;
  }

  .conta-eterno-topo::after{
    display:none !important;
  }

  .conta-eterno-topo-acoes{
    margin:0 !important;
    display:flex !important;
    gap:6px !important;
  }

  .conta-eterno-topo button{
    width:auto !important;
    min-height:38px !important;
    padding:0 8px !important;
  }

  .conta-eterno-corpo{
    flex:1 1 auto !important;
    height:auto !important;
    padding:14px !important;
  }

  .meus-tumulos-grid{
    grid-template-columns:1fr !important;
  }

  #btnMinhaContaTopo{
    min-height:54px !important;
    font-size:9px !important;
  }
}

/* nuvens-conta-v1137 */
/* =========================================================
   v1.0.137 — nuvens contínuas + botão Minha Conta visível
   ========================================================= */

/* ---------- NUVENS CONTÍNUAS EM TODO O CÉU ---------- */

/*
 * Desativa os antigos sprites individuais que estavam sendo
 * recortados e aparecendo apenas como pequenos traços verticais.
 */
#ceuMundo .nuvem{
  display:none !important;
}

/*
 * A camada de nuvens ocupa toda a largura procedural do céu.
 * As nuvens são um padrão repetido, portanto continuam existindo
 * mesmo quando a câmera se move horizontalmente.
 */
#ceuMundo .nuvens{
  position:absolute !important;
  inset:0 !important;
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
  pointer-events:none !important;
  z-index:2 !important;

  background-image:
    radial-gradient(
      ellipse 74px 28px at 74px 48px,
      rgba(239,249,255,.88) 0 52%,
      transparent 54%
    ),
    radial-gradient(
      ellipse 52px 25px at 126px 52px,
      rgba(229,246,255,.86) 0 50%,
      transparent 52%
    ),
    radial-gradient(
      ellipse 42px 22px at 43px 61px,
      rgba(242,251,255,.82) 0 50%,
      transparent 52%
    ),

    radial-gradient(
      ellipse 90px 34px at 100px 96px,
      rgba(234,248,255,.74) 0 52%,
      transparent 54%
    ),
    radial-gradient(
      ellipse 58px 27px at 167px 100px,
      rgba(221,242,252,.70) 0 50%,
      transparent 52%
    ),

    radial-gradient(
      ellipse 58px 24px at 72px 55px,
      rgba(248,253,255,.66) 0 50%,
      transparent 52%
    ),
    radial-gradient(
      ellipse 38px 20px at 118px 61px,
      rgba(231,247,255,.64) 0 50%,
      transparent 52%
    );

  background-size:
    520px 165px,
    520px 165px,
    520px 165px,
    760px 245px,
    760px 245px,
    410px 205px,
    410px 205px;

  background-position:
    15px 12px,
    15px 12px,
    15px 12px,
    240px 115px,
    240px 115px,
    125px 255px,
    125px 255px;

  background-repeat:repeat !important;

  animation:nuvens-ceu-continuas-v1137 38s linear infinite;
}

/*
 * Segunda camada mais distante, para evitar áreas grandes sem nuvens.
 */
#ceuMundo .nuvens::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;

  background-image:
    radial-gradient(
      ellipse 46px 18px at 52px 34px,
      rgba(238,249,255,.50) 0 50%,
      transparent 52%
    ),
    radial-gradient(
      ellipse 31px 16px at 91px 38px,
      rgba(221,242,252,.48) 0 50%,
      transparent 52%
    ),
    radial-gradient(
      ellipse 68px 24px at 78px 80px,
      rgba(236,249,255,.47) 0 50%,
      transparent 52%
    );

  background-size:
    330px 145px,
    330px 145px,
    590px 230px;

  background-position:
    80px 45px,
    80px 45px,
    310px 180px;

  background-repeat:repeat;
  animation:nuvens-ceu-distantes-v1137 62s linear infinite reverse;
}

@keyframes nuvens-ceu-continuas-v1137{
  from{
    background-position:
      15px 12px,
      15px 12px,
      15px 12px,
      240px 115px,
      240px 115px,
      125px 255px,
      125px 255px;
  }
  to{
    background-position:
      -505px 12px,
      -505px 12px,
      -505px 12px,
      -520px 115px,
      -520px 115px,
      -285px 255px,
      -285px 255px;
  }
}

@keyframes nuvens-ceu-distantes-v1137{
  from{
    background-position:
      80px 45px,
      80px 45px,
      310px 180px;
  }
  to{
    background-position:
      -250px 45px,
      -250px 45px,
      -280px 180px;
  }
}

/* No modo noturno, as mesmas nuvens continuam passando, porém escuras. */
body.modo-noturno #ceuMundo .nuvens,
body.periodo-noite #ceuMundo .nuvens{
  opacity:.42;
  filter:brightness(.68) saturate(.65) hue-rotate(7deg);
}

/* ---------- BOTÕES SUPERIORES ---------- */

/*
 * A barra agora é realmente fixa na viewport.
 * Assim MENU / MINHA CONTA / BUSCA permanecem visíveis
 * independentemente da posição e do zoom do mundo.
 */
.acoes-topo.acoes-globais{
  position:fixed !important;
  top:18px !important;
  right:18px !important;
  z-index:2147481800 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:10px !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  transform:none !important;
}

.acoes-topo.acoes-globais > .acao-topo{
  position:relative !important;
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

/* MINHA CONTA fica exatamente entre MENU e a lupa */
#btnMinhaContaTopo{
  order:2 !important;
  min-width:150px !important;
  min-height:58px !important;
  padding:0 16px !important;
  border:5px solid #101010 !important;
  background:#ffd21c !important;
  color:#111 !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1.15 !important;
  text-align:center !important;
  text-transform:uppercase !important;
  box-shadow:4px 5px 0 rgba(0,0,0,.16) !important;
}

.acoes-topo.acoes-globais .acao-topo.menu{
  order:1 !important;
}

.acoes-topo.acoes-globais #btnBuscarLote{
  order:3 !important;
  align-self:flex-end !important;
}

.acoes-topo.acoes-globais #btnTema{
  order:4 !important;
  align-self:flex-end !important;
}

#btnMinhaContaTopo:hover{
  transform:translate(-2px,-2px) !important;
  box-shadow:6px 7px 0 rgba(0,0,0,.18) !important;
}

/* Se outro modal estiver aberto, a barra fica atrás dele. */
body.modal-open .acoes-topo.acoes-globais,
body.entrada-interior-aberta .acoes-topo.acoes-globais,
body.modal-mariah-aberto .acoes-topo.acoes-globais{
  z-index:1020 !important;
}

/* ---------- MOBILE ---------- */
@media(max-width:767.98px){
  .acoes-topo.acoes-globais{
    top:10px !important;
    right:8px !important;
    gap:7px !important;
  }

  .acoes-topo.acoes-globais .acao-topo.menu{
    width:52px !important;
    min-width:52px !important;
    min-height:50px !important;
    align-self:flex-end !important;
  }

  #btnMinhaContaTopo{
    min-width:116px !important;
    min-height:48px !important;
    padding:0 9px !important;
    border-width:4px !important;
    font-size:8px !important;
  }

  .acoes-topo.acoes-globais #btnBuscarLote,
  .acoes-topo.acoes-globais #btnTema{
    width:50px !important;
    min-width:50px !important;
    min-height:50px !important;
    border-width:4px !important;
  }

  #ceuMundo .nuvens{
    background-size:
      390px 150px,
      390px 150px,
      390px 150px,
      590px 220px,
      590px 220px,
      350px 190px,
      350px 190px;
  }
}

@media(prefers-reduced-motion:reduce){
  #ceuMundo .nuvens,
  #ceuMundo .nuvens::after{
    animation-duration:120s !important;
  }
}

/* acoes-topo-v1138 */
/* v1.0.138 — controles principais: MENU, MINHA CONTA e BUSCAR */
.acoes-topo.acoes-globais{
  position:fixed !important;
  top:18px !important;
  right:18px !important;
  z-index:2147481800 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-end !important;
  gap:8px !important;
  width:auto !important;
  height:auto !important;
}

.acoes-topo.acoes-globais > .acao-topo{
  margin:0 !important;
  flex:none !important;
}

.acoes-topo.acoes-globais .acao-topo.menu{
  order:1 !important;
}

#btnMinhaContaTopo{
  order:2 !important;
}

#btnBuscarLote{
  order:3 !important;
}

/* O seletor de dia/noite não pertence mais à barra superior. */
.acoes-topo.acoes-globais #btnTema{
  display:none !important;
}

/* EXPLORAR permanece como controle independente do sistema. */
#btnExplorar,
.explorar-lateral,
.botao-explorar{
  z-index:2147481700 !important;
}

@media(max-width:767.98px){
  .acoes-topo.acoes-globais{
    top:10px !important;
    right:8px !important;
    gap:6px !important;
  }
}

/* toolbar-responsiva-v1139 */
/* =========================================================
   v1.0.139 — toolbar organizada e responsiva
   MENU / MINHA CONTA / BUSCAR / EXPLORAR
   ========================================================= */

/*
 * Todos os controles principais ficam em uma única coluna fixa,
 * com espaçamento consistente e sem colisão entre eles.
 */
.acoes-topo.acoes-globais{
  position:fixed !important;
  top:18px !important;
  right:18px !important;
  z-index:2147481800 !important;
  width:190px !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  align-items:stretch !important;
  justify-items:stretch !important;
  pointer-events:none !important;
}

.acoes-topo.acoes-globais > .acao-topo{
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:58px !important;
  min-height:58px !important;
  margin:0 !important;
  padding:0 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:5px solid #101010 !important;
  box-shadow:4px 5px 0 rgba(0,0,0,.16) !important;
  pointer-events:auto !important;
  transform:none !important;
}

.acoes-topo.acoes-globais .acao-topo.menu{
  order:1 !important;
  background:#fff !important;
  font-size:14px !important;
}

#btnMinhaContaTopo{
  order:2 !important;
  background:#ffd21c !important;
  color:#111 !important;
  font-size:11px !important;
}

#btnBuscarLote{
  order:3 !important;
  width:58px !important;
  min-width:58px !important;
  justify-self:end !important;
  padding:0 !important;
  background:#fff !important;
  font-size:25px !important;
}

/*
 * O botão EXPLORAR deixa de flutuar solto por baixo da barra.
 * Mantém-se abaixo dela, alinhado à direita e com distância fixa.
 */
.explorar-lateral,
#btnExplorar,
.botao-explorar{
  position:fixed !important;
  top:232px !important;
  right:18px !important;
  left:auto !important;
  bottom:auto !important;
  margin:0 !important;
  z-index:2147481700 !important;
}

/* Caso o botão seja vertical, mantém tamanho compacto e legível. */
.explorar-lateral,
.botao-explorar{
  max-height:220px;
}

/* Hover sem alterar fluxo e sem entrar sobre outro controle. */
.acoes-topo.acoes-globais > .acao-topo:hover{
  transform:translate(-2px,-2px) !important;
  box-shadow:6px 7px 0 rgba(0,0,0,.18) !important;
}

/* Tablet */
@media(max-width:900px){
  .acoes-topo.acoes-globais{
    top:12px !important;
    right:12px !important;
    width:165px !important;
    gap:8px !important;
  }

  .acoes-topo.acoes-globais > .acao-topo{
    height:52px !important;
    min-height:52px !important;
    border-width:4px !important;
  }

  #btnMinhaContaTopo{
    font-size:9px !important;
  }

  #btnBuscarLote{
    width:52px !important;
    min-width:52px !important;
  }

  .explorar-lateral,
  #btnExplorar,
  .botao-explorar{
    top:210px !important;
    right:12px !important;
  }
}

/*
 * Mobile: reduz a largura e mantém os 4 controles separados.
 * A barra fica suficientemente estreita para não cobrir o mundo.
 */
@media(max-width:575.98px){
  .acoes-topo.acoes-globais{
    top:max(8px,env(safe-area-inset-top)) !important;
    right:8px !important;
    width:132px !important;
    gap:6px !important;
  }

  .acoes-topo.acoes-globais > .acao-topo{
    height:46px !important;
    min-height:46px !important;
    padding:0 8px !important;
    border-width:3px !important;
    box-shadow:3px 4px 0 rgba(0,0,0,.15) !important;
  }

  .acoes-topo.acoes-globais .acao-topo.menu{
    font-size:10px !important;
  }

  #btnMinhaContaTopo{
    font-size:7.5px !important;
    line-height:1.1 !important;
  }

  #btnBuscarLote{
    width:46px !important;
    min-width:46px !important;
    font-size:20px !important;
  }

  .explorar-lateral,
  #btnExplorar,
  .botao-explorar{
    top:174px !important;
    right:8px !important;
    transform:scale(.84);
    transform-origin:top right;
  }
}

/*
 * Em telas muito baixas, encurta o espaço para preservar acesso
 * ao EXPLORAR sem sobreposição.
 */
@media(max-height:620px){
  .acoes-topo.acoes-globais{
    gap:5px !important;
  }

  .acoes-topo.acoes-globais > .acao-topo{
    height:44px !important;
    min-height:44px !important;
  }

  .explorar-lateral,
  #btnExplorar,
  .botao-explorar{
    top:164px !important;
  }
}

/* busca-somente-explorar-v1140 */
/* =========================================================
   v1.0.140 — busca removida da barra superior
   ========================================================= */

.acoes-topo.acoes-globais{
  width:190px !important;
}

.acoes-topo.acoes-globais > .acao-topo{
  width:100% !important;
}

/* Busca não aparece mais no topo */
#btnBuscarLote{
  display:none !important;
}

/* EXPLORAR fica logo abaixo da barra, sem colisão */
.explorar-lateral,
#btnExplorar,
.botao-explorar{
  top:164px !important;
  right:18px !important;
}

/* Botão de busca dentro do Explorar */
#btnBuscarLoteExplorar{
  min-height:58px;
  width:100%;
  margin-top:10px;
  padding:0 16px;
  border:4px solid #101010;
  border-radius:0;
  background:#cfe2ff;
  color:#111;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  box-shadow:4px 4px 0 rgba(0,0,0,.12);
  cursor:pointer;
}

#btnBuscarLoteExplorar:hover{
  transform:translate(-1px,-1px);
  box-shadow:5px 5px 0 rgba(0,0,0,.14);
}

@media(max-width:900px){
  .acoes-topo.acoes-globais{
    width:165px !important;
  }

  .explorar-lateral,
  #btnExplorar,
  .botao-explorar{
    top:146px !important;
    right:12px !important;
  }
}

@media(max-width:575.98px){
  .acoes-topo.acoes-globais{
    width:132px !important;
  }

  .explorar-lateral,
  #btnExplorar,
  .botao-explorar{
    top:126px !important;
    right:8px !important;
    transform:scale(.84);
    transform-origin:top right;
  }
}

/* toolbar-menu-fix-v1141 */
/* =========================================================
   v1.0.141 — toolbar limpa, sem duplicidades e sem elementos
   aparecendo atrás dos modais
   ========================================================= */

/* Barra principal: somente MENU e MINHA CONTA */
.acoes-topo.acoes-globais{
  position:fixed !important;
  top:18px !important;
  right:18px !important;
  left:auto !important;
  bottom:auto !important;
  width:190px !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transform:none !important;
  z-index:2147481800 !important;
  pointer-events:none !important;
}

.acoes-topo.acoes-globais > .acao-topo{
  position:relative !important;
  inset:auto !important;
  float:none !important;
  clear:both !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  height:58px !important;
  min-height:58px !important;
  max-height:58px !important;
  margin:0 !important;
  padding:0 14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 58px !important;
  border:5px solid #101010 !important;
  border-radius:0 !important;
  color:#111 !important;
  font-weight:900 !important;
  text-align:center !important;
  line-height:1 !important;
  box-shadow:4px 5px 0 rgba(0,0,0,.16) !important;
  transform:none !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

.acoes-topo.acoes-globais .acao-topo.menu{
  order:1 !important;
  background:#fff !important;
  font-size:14px !important;
}

#btnMinhaContaTopo{
  order:2 !important;
  background:#ffd21c !important;
  font-size:11px !important;
  white-space:nowrap !important;
}

/* Garante que nenhum controle antigo volte à barra */
.acoes-topo.acoes-globais #btnBuscarLote,
.acoes-topo.acoes-globais #btnTema,
.acoes-topo.acoes-globais .icone:not(.menu){
  display:none !important;
}

/*
 * EXPLORAR é um controle independente e fica abaixo da barra,
 * sem colidir com MENU/MINHA CONTA.
 */
#btnAbrirPainelCemiterio{
  position:fixed !important;
  top:164px !important;
  right:18px !important;
  left:auto !important;
  bottom:auto !important;
  margin:0 !important;
  z-index:2147481700 !important;
  transform:none !important;
}

/*
 * Ao abrir MENU ou qualquer modal Bootstrap, os controles do mundo
 * desaparecem completamente. Assim não existem botões visíveis por
 * baixo/atrás do modal.
 */
body.modal-open .acoes-topo.acoes-globais,
body.modal-open #btnAbrirPainelCemiterio,
body.modal-open .controles-zoom,
body.modal-open .btn-eternizar-fixo{
  display:none !important;
}

/* Também esconde a toolbar em overlays próprios do sistema */
body.entrada-interior-aberta .acoes-topo.acoes-globais,
body.entrada-interior-aberta #btnAbrirPainelCemiterio,
body.modal-mariah-aberto .acoes-topo.acoes-globais,
body.modal-mariah-aberto #btnAbrirPainelCemiterio{
  display:none !important;
}

/* O modal do menu fica sempre acima de tudo */
#modalMenuJardim{
  z-index:2147483000 !important;
}

#modalMenuJardim + .modal-backdrop,
.modal-backdrop.show{
  z-index:2147482500 !important;
}

.modal-menu-jardim .modal-dialog{
  max-width:min(520px,calc(100vw - 28px)) !important;
  width:100% !important;
  margin:16px auto !important;
}

.modal-menu-jardim .modal-content{
  max-height:calc(100dvh - 32px) !important;
  display:flex !important;
  flex-direction:column !important;
}

.modal-menu-jardim .modal-body{
  flex:1 1 auto !important;
  min-height:0 !important;
  overflow-y:auto !important;
  -webkit-overflow-scrolling:touch;
}

/* Mobile */
@media(max-width:575.98px){
  .acoes-topo.acoes-globais{
    top:max(8px,env(safe-area-inset-top)) !important;
    right:8px !important;
    width:132px !important;
    gap:6px !important;
  }

  .acoes-topo.acoes-globais > .acao-topo{
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
    flex-basis:46px !important;
    padding:0 8px !important;
    border-width:3px !important;
    box-shadow:3px 4px 0 rgba(0,0,0,.15) !important;
  }

  .acoes-topo.acoes-globais .acao-topo.menu{
    font-size:10px !important;
  }

  #btnMinhaContaTopo{
    font-size:7.5px !important;
  }

  #btnAbrirPainelCemiterio{
    top:112px !important;
    right:8px !important;
    transform:scale(.84) !important;
    transform-origin:top right !important;
  }

  .modal-menu-jardim .modal-dialog{
    max-width:calc(100vw - 16px) !important;
    margin:8px auto !important;
  }

  .modal-menu-jardim .modal-content{
    max-height:calc(100dvh - 16px) !important;
  }
}

/* painel-usuario-pro-v1142 */
:root{
  --painel-roxo:#26159b;
  --painel-roxo-2:#3323b9;
  --painel-amarelo:#ffd21c;
  --painel-fundo:#f4f7fb;
  --painel-card:#fff;
  --painel-texto:#1f2937;
  --painel-muted:#718096;
  --painel-borda:#dfe5ec;
  --painel-perigo:#e5484d;
}

.conta-eterno-overlay{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483600 !important;
  padding:0 !important;
  background:var(--painel-fundo) !important;
  overflow:hidden !important;
}

.painel-usuario-shell{
  width:100%;
  height:100dvh;
  display:grid;
  grid-template-columns:268px minmax(0,1fr);
  background:var(--painel-fundo);
  font-family:Arial,sans-serif;
}

.painel-usuario-sidebar{
  min-height:0;
  display:flex;
  flex-direction:column;
  padding:24px 18px 18px;
  background:
    radial-gradient(circle at 30% 0,rgba(255,255,255,.13),transparent 24%),
    linear-gradient(180deg,var(--painel-roxo-2),var(--painel-roxo));
  color:#fff;
  border-right:1px solid rgba(0,0,0,.08);
}

.painel-marca{
  display:flex;
  align-items:center;
  gap:11px;
  padding:0 8px 22px;
  border-bottom:1px solid rgba(255,255,255,.15);
}
.painel-marca-icone{
  width:43px;height:43px;display:grid;place-items:center;
  border-radius:12px;background:var(--painel-amarelo);color:#181818;font-size:19px;
  box-shadow:0 7px 18px rgba(0,0,0,.15);
}
.painel-marca strong{display:block;font-size:17px}
.painel-marca small{display:block;margin-top:2px;color:rgba(255,255,255,.66);font-size:10px}

.painel-perfil-mini{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:10px;
  align-items:center;
  margin:18px 0 14px;
  padding:12px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:14px;
  background:rgba(255,255,255,.08);
}
.painel-avatar-mini{
  width:42px;height:42px;display:grid;place-items:center;
  border-radius:50%;background:#dff4fb;color:var(--painel-roxo);font-size:16px;
}
.painel-perfil-mini strong,.painel-perfil-mini small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.painel-perfil-mini strong{font-size:11px}
.painel-perfil-mini small{margin-top:3px;color:rgba(255,255,255,.65);font-size:8px}

.painel-nav{display:flex;flex-direction:column;gap:6px}
.painel-nav-item{
  width:100%;min-height:46px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;
  gap:8px;align-items:center;padding:0 12px;border:0;border-radius:11px;
  background:transparent;color:rgba(255,255,255,.76);font-size:11px;font-weight:700;text-align:left;cursor:pointer;
}
.painel-nav-item i{text-align:center}
.painel-nav-item:hover{background:rgba(255,255,255,.08);color:#fff}
.painel-nav-item.ativo{background:#fff;color:var(--painel-roxo);box-shadow:0 7px 18px rgba(0,0,0,.13)}
.painel-nav-badge{min-width:22px;padding:3px 6px;border-radius:999px;background:rgba(255,255,255,.15);font-size:8px;text-align:center}
.painel-nav-item.ativo .painel-nav-badge{background:#eeeafe}

.painel-sidebar-rodape{margin-top:auto;display:grid;gap:7px}
.painel-btn-secundario,.painel-btn-sair,.painel-btn-eternizar,.painel-btn-fechar{
  border:0;border-radius:10px;font-weight:800;cursor:pointer;
}
.painel-btn-secundario{
  min-height:42px;padding:0 12px;background:#eef2f7;color:#334155;
}
.painel-btn-sair{
  min-height:42px;padding:0 12px;background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.14);
}

.painel-usuario-main{min-width:0;min-height:0;display:flex;flex-direction:column}
.painel-usuario-header{
  flex:0 0 auto;display:flex;justify-content:space-between;gap:18px;align-items:center;
  padding:22px 28px;border-bottom:1px solid var(--painel-borda);background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
}
.painel-eyebrow{display:block;margin-bottom:5px;color:#8075b9;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.painel-usuario-header h1{margin:0;color:var(--painel-texto);font-size:24px}
.painel-usuario-header p{margin:6px 0 0;color:var(--painel-muted);font-size:11px}
.painel-header-acoes{display:flex;gap:8px}
.painel-btn-eternizar{
  min-height:44px;padding:0 16px;background:var(--painel-amarelo);color:#171717;
  border:2px solid #171717;border-radius:10px;box-shadow:0 4px 0 rgba(0,0,0,.10);font-size:9px;font-weight:900;
}
.painel-btn-fechar{
  width:44px;height:44px;background:#f1f3f5;color:#475569;border:1px solid #dce2e8;font-size:16px;
}
.painel-usuario-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;padding:26px 28px 40px}
.painel-tab{display:none;max-width:1240px;margin:0 auto}
.painel-tab.ativo{display:block}

.painel-hero{
  position:relative;display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:16px;align-items:center;
  padding:22px;border:1px solid var(--painel-borda);border-radius:18px;background:
  radial-gradient(circle at 100% 0,#eeeafe 0,transparent 34%),#fff;box-shadow:0 8px 28px rgba(32,43,72,.06);
}
.painel-hero-avatar{
  width:78px;height:78px;display:grid;place-items:center;border-radius:22px;background:#dff3fb;border:1px solid #c5e2ed;font-size:45px;
}
.painel-hero-texto span{color:#7b8798;font-size:9px;font-weight:800;text-transform:uppercase}
.painel-hero-texto h2{margin:5px 0 0;color:var(--painel-roxo);font-size:24px}
.painel-hero-texto p{margin:5px 0 0;color:var(--painel-muted);font-size:11px}
.painel-hero-selo{
  align-self:start;padding:8px 10px;border-radius:999px;background:#fff3bd;color:#715d00;font-size:8px;font-weight:800;
}

.painel-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.painel-stat-card{
  display:flex;align-items:center;gap:12px;padding:17px;border:1px solid var(--painel-borda);
  border-radius:15px;background:#fff;box-shadow:0 7px 20px rgba(32,43,72,.045)
}
.painel-stat-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:13px;font-size:17px}
.painel-stat-icon.azul{background:#e2edff;color:#2b61b8}
.painel-stat-icon.amarelo{background:#fff1bd;color:#a46b00}
.painel-stat-icon.verde{background:#e2f5df;color:#337e37}
.painel-stat-card strong{display:block;color:var(--painel-texto);font-size:22px}
.painel-stat-card span:not(.painel-stat-icon){display:block;margin-top:2px;color:var(--painel-muted);font-size:8px;font-weight:800;text-transform:uppercase}

.painel-card{
  margin-top:15px;padding:20px;border:1px solid var(--painel-borda);border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(32,43,72,.055)
}
.painel-card-header,.painel-pagina-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:15px}
.painel-card h3,.painel-pagina-cabecalho h2{margin:0;color:var(--painel-texto)}
.painel-card h3{font-size:17px}.painel-pagina-cabecalho h2{font-size:24px}
.painel-pagina-cabecalho p{margin:6px 0 0;color:var(--painel-muted);font-size:11px}
.painel-link-tab{border:0;background:transparent;color:var(--painel-roxo);font-size:9px;font-weight:900;cursor:pointer}

.meus-tumulos-grid{
  display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:12px !important;margin-top:16px;
}
.meu-tumulo-card{
  min-width:0 !important;display:flex !important;flex-direction:column !important;gap:0 !important;padding:0 !important;
  border:1px solid var(--painel-borda) !important;border-radius:15px !important;background:#fff !important;overflow:hidden !important;
  box-shadow:0 6px 18px rgba(32,43,72,.05) !important;transition:transform .16s ease,box-shadow .16s ease;
}
.meu-tumulo-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(32,43,72,.09) !important}
.memorial-card-topo{
  display:grid;grid-template-columns:58px minmax(0,1fr);gap:11px;align-items:center;padding:14px;
}
.meu-tumulo-avatar{
  width:58px !important;height:58px !important;display:grid !important;place-items:center !important;border:0 !important;
  border-radius:14px !important;background:#e6f3f8 !important;font-size:34px !important;
}
.meu-tumulo-info strong{display:block;color:var(--painel-texto) !important;font-size:13px !important}
.meu-tumulo-info span{display:block;margin-top:4px !important;color:var(--painel-muted) !important;font-size:8.5px !important}
.memorial-plano-badge{
  display:inline-flex !important;width:max-content;margin-top:6px !important;padding:4px 7px;border-radius:999px;background:#fff1b8;color:#775d00 !important;font-weight:900;
}
.memorial-card-acoes{
  display:grid;grid-template-columns:1fr 1fr 42px;gap:7px;padding:10px 12px 12px;border-top:1px solid #edf0f4;background:#fafbfc;
}
.memorial-card-acoes button{
  min-height:38px;border:1px solid #d8dee6;border-radius:9px;background:#fff;color:#344054;font-size:8px;font-weight:900;cursor:pointer;
}
.memorial-card-acoes .btn-visitar{background:#ebe7ff;color:var(--painel-roxo);border-color:#d9d2ff}
.memorial-card-acoes .btn-editar{background:#e7f3ff;color:#205b92;border-color:#cfe6fb}
.memorial-card-acoes .btn-excluir{width:42px;padding:0;background:#fff0f0;color:var(--painel-perigo);border-color:#ffd5d5;font-size:13px}
.memorial-card-acoes button:hover{filter:brightness(.97)}

.painel-vazio-elegante{padding:50px 20px;text-align:center}
.painel-vazio-elegante>span{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 13px;border-radius:16px;background:#fff1bd;color:#a56d00;font-size:21px}
.painel-vazio-elegante h3{font-size:15px}.painel-vazio-elegante p{max-width:480px;margin:7px auto 0;color:var(--painel-muted);font-size:10px;line-height:1.5}

.painel-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.painel-form-grid label{display:flex;flex-direction:column;gap:6px}
.painel-form-grid label span{color:#667085;font-size:9px;font-weight:800;text-transform:uppercase}
.painel-form-grid input,.painel-form-grid select,.painel-form-grid textarea{
  width:100%;min-height:44px;padding:10px 11px;border:1px solid #d5dce5;border-radius:10px;background:#fff;color:#263244;font:12px Arial,sans-serif;outline:none;
}
.painel-form-grid textarea{resize:vertical;min-height:110px}
.painel-form-grid input:focus,.painel-form-grid select:focus,.painel-form-grid textarea:focus{border-color:#7669cf;box-shadow:0 0 0 3px rgba(82,68,183,.10)}
.campo-full{grid-column:1/-1}
.perfil-card .painel-btn-eternizar{margin-top:15px}

/* EDIT */
.editar-memorial-overlay{
  position:fixed;inset:0;z-index:2147483700;display:none;background:rgba(24,29,42,.72);backdrop-filter:blur(5px);padding:18px;
}
.editar-memorial-overlay.ativo{display:flex;align-items:center;justify-content:center}
.editar-memorial-shell{
  width:min(1050px,96vw);max-height:92dvh;display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:#f8fafc;box-shadow:0 24px 80px rgba(0,0,0,.28)
}
.editar-memorial-header{
  display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 22px;border-bottom:1px solid var(--painel-borda);background:#fff;
}
.editar-memorial-header h2{margin:0;color:var(--painel-texto);font-size:20px}
.editar-memorial-body{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:270px minmax(0,1fr);overflow:auto}
.editar-preview{padding:22px;background:#f0ecff;border-right:1px solid #ded8f2}
.editar-preview-card{padding:20px;border:1px solid #d8d1f2;border-radius:17px;background:#fff;text-align:center;box-shadow:0 7px 24px rgba(49,36,121,.07)}
.editar-preview-avatar{width:92px;height:92px;display:grid;place-items:center;margin:0 auto 12px;border-radius:23px;background:#e3f4fa;font-size:53px}
.editar-preview-card h3{margin:0;color:var(--painel-roxo);font-size:20px}
.editar-preview-card span,.editar-preview-card small{display:block;margin-top:6px;color:var(--painel-muted);font-size:9px}
.editar-preview>p{margin:15px 4px 0;color:#756d92;font-size:9px;line-height:1.5}
.editar-formulario{padding:22px;overflow:auto}
.editar-acoes{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--painel-borda)}
.editar-acoes>div{display:flex;gap:8px}
.btn-excluir-memorial{
  min-height:42px;padding:0 13px;border:1px solid #f2b7ba;border-radius:10px;background:#fff0f0;color:#bf3036;font-size:9px;font-weight:900;cursor:pointer;
}

/* Explorar volta para a posição fixa original */
#btnAbrirPainelCemiterio{
  display:flex !important;
  position:fixed !important;
  right:0 !important;
  top:340px !important;
  left:auto !important;
  bottom:auto !important;
  z-index:2147481700 !important;
  visibility:visible !important;
  opacity:1 !important;
}
body.modal-open #btnAbrirPainelCemiterio,
.conta-eterno-overlay.ativo ~ #btnAbrirPainelCemiterio{display:none !important}

@media(max-width:1024px){
  .painel-usuario-shell{grid-template-columns:220px minmax(0,1fr)}
  .meus-tumulos-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:720px){
  .painel-usuario-shell{display:flex;flex-direction:column}
  .painel-usuario-sidebar{
    flex:0 0 auto;padding:10px 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border-right:0;border-bottom:1px solid rgba(255,255,255,.15)
  }
  .painel-marca{padding:0;border:0}.painel-marca small{display:none}
  .painel-perfil-mini{display:none}
  .painel-nav{
    grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:5px;order:3
  }
  .painel-nav-item{
    min-height:42px;grid-template-columns:1fr;gap:3px;justify-items:center;padding:5px;font-size:7px;text-align:center
  }
  .painel-nav-item span:not(.painel-nav-badge){display:block}
  .painel-nav-badge{display:none}
  .painel-sidebar-rodape{margin:0;display:flex;gap:5px}
  .painel-sidebar-rodape button{width:38px;min-height:38px;padding:0;font-size:0}
  .painel-sidebar-rodape button i{font-size:13px}
  .painel-usuario-main{flex:1 1 auto;min-height:0}
  .painel-usuario-header{padding:14px;align-items:flex-start}
  .painel-usuario-header h1{font-size:18px}.painel-usuario-header p{display:none}
  .painel-btn-eternizar{padding:0 10px;font-size:7px}
  .painel-btn-fechar{width:40px;height:40px}
  .painel-usuario-scroll{padding:14px}
  .painel-hero{grid-template-columns:58px minmax(0,1fr);padding:15px}
  .painel-hero-avatar{width:58px;height:58px;border-radius:16px;font-size:34px}
  .painel-hero-selo{display:none}
  .painel-hero-texto h2{font-size:18px}
  .painel-stats{grid-template-columns:1fr;gap:8px}
  .painel-stat-card{padding:12px}.painel-stat-card strong{font-size:18px}
  .painel-card{padding:14px}
  .meus-tumulos-grid{grid-template-columns:1fr !important}
  .painel-pagina-cabecalho{align-items:flex-start}.painel-pagina-cabecalho h2{font-size:19px}
  .editar-memorial-overlay{padding:0;align-items:flex-end !important}
  .editar-memorial-shell{width:100%;height:94dvh;max-height:94dvh;border-radius:22px 22px 0 0}
  .editar-memorial-body{grid-template-columns:1fr}
  .editar-preview{padding:14px;border-right:0;border-bottom:1px solid #ded8f2}
  .editar-preview-card{display:grid;grid-template-columns:58px minmax(0,1fr);text-align:left;align-items:center;padding:11px}
  .editar-preview-avatar{width:58px;height:58px;margin:0;grid-row:1/4;font-size:34px}
  .editar-preview>p{display:none}
  .editar-formulario{padding:14px}
  .painel-form-grid{grid-template-columns:1fr}.campo-full{grid-column:auto}
  .editar-acoes{flex-direction:column-reverse;align-items:stretch}
  .editar-acoes>div{display:grid;grid-template-columns:1fr 1fr}
  .btn-excluir-memorial{width:100%}
  #btnAbrirPainelCemiterio{top:250px !important}
}

/* restaura-explorar-v1143 */
/* v1.0.143 — restaura definitivamente o botão EXPLORAR */

/*
 * Posição original: aba vertical fixa na lateral direita.
 * O botão continua fora da pilha MENU / MINHA CONTA.
 */
#btnAbrirPainelCemiterio{
  display:flex !important;
  position:fixed !important;
  right:0 !important;
  top:340px !important;
  left:auto !important;
  bottom:auto !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  z-index:2147481700 !important;
  transform:none !important;
}

/* Mantém o formato vertical original da aba */
#btnAbrirPainelCemiterio .texto{
  writing-mode:vertical-rl !important;
  transform:rotate(180deg) !important;
}

/*
 * Esconde apenas enquanto uma tela realmente estiver cobrindo o mundo.
 * Ao fechar, volta automaticamente para a mesma posição.
 */
.conta-eterno-overlay.ativo ~ #btnAbrirPainelCemiterio,
body.entrada-interior-aberta #btnAbrirPainelCemiterio,
body.modal-mariah-aberto #btnAbrirPainelCemiterio{
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Durante o MENU, fica escondido somente para não aparecer atrás do modal. */
body.modal-open #btnAbrirPainelCemiterio{
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Mobile: mesma lateral, apenas reduzido para caber confortavelmente */
@media(max-width:720px){
  #btnAbrirPainelCemiterio{
    top:250px !important;
    right:0 !important;
    transform:scale(.88) !important;
    transform-origin:top right !important;
  }
}

/* explorar-toolbar-definitivo-v1144 */
/* =========================================================
   v1.0.144 — EXPLORAR logo abaixo de MINHA CONTA
   ========================================================= */

/* A barra contém somente os três controles solicitados */
.acoes-topo.acoes-globais{
  position:fixed !important;
  top:18px !important;
  right:18px !important;
  left:auto !important;
  bottom:auto !important;
  width:190px !important;
  height:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  gap:10px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  z-index:2147481800 !important;
  pointer-events:none !important;
}

/* Neutraliza completamente o estilo antigo de aba lateral do EXPLORAR */
.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio,
.acoes-topo.acoes-globais > .acao-topo{
  position:relative !important;
  inset:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  float:none !important;
  clear:none !important;
  transform:none !important;
  transform-origin:center !important;
  writing-mode:horizontal-tb !important;

  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;

  height:58px !important;
  min-height:58px !important;
  max-height:58px !important;

  flex:0 0 58px !important;
  margin:0 !important;
  padding:0 14px !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;

  border:5px solid #101010 !important;
  border-radius:0 !important;
  box-sizing:border-box !important;
  box-shadow:4px 5px 0 rgba(0,0,0,.16) !important;

  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

/* MENU */
.acoes-topo.acoes-globais > .acao-topo.menu{
  order:1 !important;
  background:#fff !important;
  color:#181818 !important;
  font-size:14px !important;
  font-weight:900 !important;
}

/* MINHA CONTA */
.acoes-topo.acoes-globais > #btnMinhaContaTopo{
  order:2 !important;
  background:#ffd21c !important;
  color:#111 !important;
  font-size:11px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}

.acoes-topo.acoes-globais > #btnMinhaContaTopo[hidden]{
  display:none !important;
}

/* EXPLORAR */
.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio{
  order:3 !important;
  background:#ffd21c !important;
  color:#111 !important;
  cursor:pointer !important;
}

/* Ícone e texto do EXPLORAR voltam para orientação horizontal */
.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio .icone{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  font-size:20px !important;
  line-height:1 !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
}

.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio .texto{
  display:inline-block !important;
  margin:0 !important;
  color:#111 !important;
  font-size:11px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
}

/* Elimina controles antigos da pilha */
.acoes-topo.acoes-globais #btnBuscarLote,
.acoes-topo.acoes-globais #btnTema{
  display:none !important;
}

/* Hover consistente */
.acoes-topo.acoes-globais > .acao-topo:hover,
.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio:hover{
  transform:translate(-2px,-2px) !important;
  box-shadow:6px 7px 0 rgba(0,0,0,.18) !important;
}

/* Quando um modal cobre o mundo, a toolbar inteira some */
body.modal-open .acoes-topo.acoes-globais,
body.entrada-interior-aberta .acoes-topo.acoes-globais,
body.modal-mariah-aberto .acoes-topo.acoes-globais{
  display:none !important;
}

/* Tablet */
@media(max-width:900px){
  .acoes-topo.acoes-globais{
    top:12px !important;
    right:12px !important;
    width:165px !important;
    gap:8px !important;
  }

  .acoes-topo.acoes-globais > #btnAbrirPainelCemiterio,
  .acoes-topo.acoes-globais > .acao-topo{
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
    flex-basis:52px !important;
    border-width:4px !important;
  }
}

/* Mobile */
@media(max-width:575.98px){
  .acoes-topo.acoes-globais{
    top:max(8px,env(safe-area-inset-top)) !important;
    right:8px !important;
    width:132px !important;
    gap:6px !important;
  }

  .acoes-topo.acoes-globais > #btnAbrirPainelCemiterio,
  .acoes-topo.acoes-globais > .acao-topo{
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
    flex-basis:46px !important;
    min-width:100% !important;
    padding:0 7px !important;
    border-width:3px !important;
    box-shadow:3px 4px 0 rgba(0,0,0,.15) !important;
  }

  .acoes-topo.acoes-globais > .acao-topo.menu{
    font-size:10px !important;
  }

  .acoes-topo.acoes-globais > #btnMinhaContaTopo{
    font-size:7.5px !important;
  }

  .acoes-topo.acoes-globais > #btnAbrirPainelCemiterio .icone{
    font-size:14px !important;
  }

  .acoes-topo.acoes-globais > #btnAbrirPainelCemiterio .texto{
    font-size:7.5px !important;
  }
}

/* explorar-foco-total-v1145 */
/* =========================================================
   v1.0.145 — EXPLORAR com foco total e z-index isolado
   ========================================================= */

/* Backdrop próprio do painel Explorar */
body.painel-explorar-aberto::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:2147483000;
  background:rgba(8,12,18,.72);
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  pointer-events:auto;
}

/* O painel fica acima de absolutamente todos os controles do mundo */
#painelLateralCemiterio{
  z-index:2147483600 !important;
  isolation:isolate !important;
}

/* Estado aberto sempre visível e clicável */
#painelLateralCemiterio.aberto{
  transform:translateX(0) !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  box-shadow:-18px 0 55px rgba(0,0,0,.32) !important;
}

/* Conteúdo do painel acima do backdrop */
#painelLateralCemiterio .conteudo-painel-cemiterio{
  position:relative !important;
  z-index:2 !important;
  height:100% !important;
  background:#eef3f9 !important;
  overflow-y:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

/*
 * Ao abrir EXPLORAR, todos os controles flutuantes do mundo somem.
 * Isso evita MENU / MINHA CONTA / ETERNIZAR / zoom aparecendo por baixo.
 */
body.painel-explorar-aberto .acoes-topo.acoes-globais,
body.painel-explorar-aberto .btn-eternizar-fixo,
body.painel-explorar-aberto .controles-zoom,
body.painel-explorar-aberto .btn-voltar-entrada,
body.painel-explorar-aberto .atalhos-laterais-externos{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* O próprio botão EXPLORAR também some enquanto o painel está aberto */
body.painel-explorar-aberto #btnAbrirPainelCemiterio{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* Cabeçalho sempre acessível para fechar */
#painelLateralCemiterio .cabecalho-painel-cemiterio{
  position:sticky !important;
  top:0 !important;
  z-index:10 !important;
  background:#21109b !important;
  box-shadow:0 4px 0 rgba(0,0,0,.08);
}

/* Desktop */
@media(min-width:769px){
  #painelLateralCemiterio{
    width:min(440px,92vw) !important;
    height:100dvh !important;
    top:0 !important;
    right:0 !important;
  }
}

/* Mobile — painel vira quase tela cheia */
@media(max-width:768px){
  #painelLateralCemiterio{
    top:0 !important;
    right:0 !important;
    width:min(94vw,430px) !important;
    height:100dvh !important;
  }

  #painelLateralCemiterio .conteudo-painel-cemiterio{
    padding-bottom:calc(18px + env(safe-area-inset-bottom)) !important;
  }
}

/* busca-avancada-v1146 */
#modalBuscaLote{z-index:2147483900 !important}
body.modal-busca-destaque .modal-backdrop{z-index:2147483800 !important;background:#0b1119 !important;opacity:.78 !important;backdrop-filter:blur(5px)}
#modalBuscaLote .modal-dialog{width:min(820px,calc(100vw - 28px)) !important;max-width:820px !important;margin:14px auto !important}
#modalBuscaLote .modal-content{max-height:calc(100dvh - 28px);overflow:hidden;border:0 !important;border-radius:22px !important;background:#f8fafc !important;box-shadow:0 26px 90px rgba(0,0,0,.38) !important}
.busca-avancada-header{display:flex !important;align-items:flex-start !important;justify-content:space-between !important;gap:18px;padding:21px 22px !important;border-bottom:1px solid #dde3ea !important;background:#fff !important}
.busca-avancada-eyebrow{display:block;margin-bottom:5px;color:#776bc0;font:900 8px Arial,sans-serif;letter-spacing:.11em}
.busca-avancada-header h2{margin:0;color:#202a39;font-size:23px !important}
.busca-avancada-header h2 i{color:#24169d;margin-right:7px}
.busca-avancada-header p{margin:7px 0 0;color:#748095;font:11px/1.5 Arial,sans-serif}
.btn-fechar-busca-avancada{width:43px;height:43px;flex:0 0 43px;display:grid;place-items:center;border:0;border-radius:12px;background:#f04444;color:#fff;font-size:18px;cursor:pointer}
.busca-avancada-body{min-height:0;overflow-y:auto;padding:20px 22px 24px !important;-webkit-overflow-scrolling:touch}
.busca-avancada-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.busca-avancada-grid label{display:flex;flex-direction:column;gap:6px}
.busca-avancada-grid label>span{color:#657186;font:900 9px Arial,sans-serif;text-transform:uppercase}
.busca-avancada-grid input,.busca-avancada-grid select{width:100%;height:47px;padding:0 12px;border:1px solid #cfd7e1;border-radius:11px;background:#fff;color:#243041;font:13px Arial,sans-serif;outline:none}
.busca-avancada-grid input:focus,.busca-avancada-grid select:focus{border-color:#7164c8;box-shadow:0 0 0 3px rgba(65,48,176,.10)}
.busca-input-icone{position:relative}
.busca-input-icone i{position:absolute;left:13px;top:50%;transform:translateY(-50%);z-index:2;color:#8a94a3;font-size:12px;pointer-events:none}
.busca-input-icone input{padding-left:37px}
.campo-lote-busca{grid-column:1/-1}
.busca-avancada-acoes{display:flex;justify-content:flex-end;gap:9px;margin-top:17px}
.btn-limpar-busca-avancada,.btn-buscar-avancada{min-height:44px;padding:0 15px;border-radius:10px;font:900 9px Arial,sans-serif;text-transform:uppercase;cursor:pointer}
.btn-limpar-busca-avancada{border:1px solid #cfd6df;background:#fff;color:#536073}
.btn-buscar-avancada{border:2px solid #151515;background:#ffd21c;color:#111;box-shadow:0 4px 0 rgba(0,0,0,.10)}
.busca-avancada-info{display:flex;gap:8px;align-items:center;margin-top:15px;padding:10px 11px;border:1px solid #dae2eb;border-radius:10px;background:#f1f5f9;color:#718096;font:9px Arial,sans-serif}
.busca-avancada-resultados{margin-top:16px}
.busca-resultado-resumo{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px;color:#4d596b;font:10px Arial,sans-serif}
.busca-resultado-resumo strong{color:#23159b}
.busca-resultado-lista{display:grid;gap:8px}
.busca-resultado-card{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px;border:1px solid #d7dee8;border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(36,48,72,.045)}
.busca-resultado-avatar{width:52px;height:52px;display:grid;place-items:center;border-radius:12px;background:#e5f3f8;font-size:31px}
.busca-resultado-info strong{display:block;color:#21149a;font:900 12px Arial,sans-serif}
.busca-resultado-info span{display:block;margin-top:3px;color:#748095;font:9px Arial,sans-serif}
.busca-resultado-visitar{min-height:38px;padding:0 12px;border:1px solid #cfc9f5;border-radius:9px;background:#ece8ff;color:#24169d;font:900 8px Arial,sans-serif;text-transform:uppercase;cursor:pointer}
.busca-sem-resultado{padding:26px 18px;border:1px dashed #bdc6d2;border-radius:12px;background:#f7f9fb;color:#758194;font:11px/1.55 Arial,sans-serif;text-align:center}
.busca-sem-resultado i{display:block;margin-bottom:9px;color:#8b95a4;font-size:25px}
body.modal-busca-destaque #painelLateralCemiterio,body.modal-busca-destaque .acoes-topo.acoes-globais,body.modal-busca-destaque #btnAbrirPainelCemiterio{visibility:hidden !important;opacity:0 !important;pointer-events:none !important}
@media(max-width:600px){
  #modalBuscaLote .modal-dialog{width:100% !important;max-width:none !important;height:100dvh;margin:0 !important}
  #modalBuscaLote .modal-content{height:100dvh;max-height:100dvh;border-radius:0 !important}
  .busca-avancada-header{padding:15px !important}
  .busca-avancada-header h2{font-size:18px !important}
  .busca-avancada-header p{font-size:9px}
  .busca-avancada-body{padding:15px !important}
  .busca-avancada-grid{grid-template-columns:1fr;gap:11px}
  .campo-lote-busca{grid-column:auto}
  .busca-avancada-acoes{position:sticky;bottom:0;z-index:5;margin:16px -15px -15px;padding:11px 15px calc(11px + env(safe-area-inset-bottom));background:rgba(248,250,252,.96);backdrop-filter:blur(8px);border-top:1px solid #dde3ea}
  .btn-limpar-busca-avancada{flex:0 0 auto}.btn-buscar-avancada{flex:1 1 auto}
  .busca-resultado-card{grid-template-columns:45px minmax(0,1fr)}
  .busca-resultado-avatar{width:45px;height:45px;font-size:27px}
  .busca-resultado-visitar{grid-column:1/-1;width:100%}
}

/* busca-overlay-fixo-v1147 */
/* =========================================================
   v1.0.147 — busca em overlay próprio, acima de TODO o sistema
   ========================================================= */

#modalBuscaLote.busca-overlay-fixo{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483646 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px !important;
  background:rgba(5,10,16,.82) !important;
  backdrop-filter:blur(7px) !important;
  -webkit-backdrop-filter:blur(7px) !important;
  pointer-events:auto !important;
  visibility:hidden !important;
  opacity:0 !important;
  overflow:auto !important;
}

#modalBuscaLote.busca-overlay-fixo.ativo{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
}

#modalBuscaLote .busca-overlay-dialog{
  position:relative !important;
  z-index:2 !important;
  width:min(820px,calc(100vw - 28px)) !important;
  max-width:820px !important;
  margin:auto !important;
  pointer-events:auto !important;
}

#modalBuscaLote .busca-overlay-content{
  position:relative !important;
  z-index:3 !important;
  width:100% !important;
  max-height:calc(100dvh - 36px) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:22px !important;
  background:#f8fafc !important;
  box-shadow:0 30px 100px rgba(0,0,0,.48) !important;
  pointer-events:auto !important;
}

/* garante que todos os campos possam receber clique/foco */
#modalBuscaLote input,
#modalBuscaLote select,
#modalBuscaLote textarea,
#modalBuscaLote button{
  position:relative !important;
  z-index:5 !important;
  pointer-events:auto !important;
  user-select:auto !important;
}

#modalBuscaLote input,
#modalBuscaLote textarea{
  -webkit-user-select:text !important;
  user-select:text !important;
}

/* some completamente com o painel e controles de fundo */
body.busca-overlay-aberto #painelLateralCemiterio,
body.busca-overlay-aberto .acoes-topo.acoes-globais,
body.busca-overlay-aberto #btnAbrirPainelCemiterio,
body.busca-overlay-aberto .controles-zoom,
body.busca-overlay-aberto .btn-eternizar-fixo,
body.busca-overlay-aberto .btn-voltar-entrada,
body.busca-overlay-aberto .atalhos-laterais-externos{
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}

/* evita qualquer backdrop do Bootstrap competindo */
body.busca-overlay-aberto .modal-backdrop{
  display:none !important;
}

/* trava o mundo enquanto busca está aberta */
body.busca-overlay-aberto{
  overflow:hidden !important;
}

@media(max-width:600px){
  #modalBuscaLote.busca-overlay-fixo{
    padding:0 !important;
    align-items:stretch !important;
  }

  #modalBuscaLote .busca-overlay-dialog{
    width:100% !important;
    max-width:none !important;
    min-height:100dvh !important;
    margin:0 !important;
  }

  #modalBuscaLote .busca-overlay-content{
    width:100% !important;
    min-height:100dvh !important;
    max-height:100dvh !important;
    border-radius:0 !important;
  }
}

/* modal-adocao-v1148 */
.adocao-overlay{
  position:fixed;
  inset:0;
  z-index:2147483650;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:rgba(7,12,18,.80);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  font-family:Arial,sans-serif;
}
.adocao-overlay.ativo{display:flex}
.adocao-shell{
  width:min(1080px,96vw);
  max-height:92dvh;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:22px;
  background:#f7f9fc;
  box-shadow:0 32px 100px rgba(0,0,0,.38);
}
.adocao-header{
  flex:0 0 auto;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:flex-start;
  padding:21px 23px;
  border-bottom:1px solid #dde3ea;
  background:#fff;
}
.adocao-eyebrow{
  display:block;
  margin-bottom:6px;
  color:#7a70b7;
  font-size:8px;
  font-weight:900;
  letter-spacing:.11em;
}
.adocao-header h2{
  margin:0;
  color:#202b3a;
  font-size:24px;
}
.adocao-header h2 i{color:#2819a0;margin-right:7px}
.adocao-header p{
  max-width:720px;
  margin:7px 0 0;
  color:#748095;
  font-size:11px;
  line-height:1.5;
}
.adocao-fechar{
  width:44px;height:44px;flex:0 0 44px;
  display:grid;place-items:center;
  border:0;border-radius:12px;
  background:#ef4444;color:#fff;font-size:18px;cursor:pointer;
}
.adocao-body{
  min-height:0;
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  overflow:hidden;
}
.adocao-filtros-card{
  overflow-y:auto;
  padding:20px;
  border-right:1px solid #e0e5ec;
  background:#fff;
}
.adocao-passo{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:10px;
  align-items:center;
  margin-bottom:12px;
}
.adocao-passo .numero{
  width:34px;height:34px;display:grid;place-items:center;
  border-radius:10px;background:#2a199f;color:#fff;font-size:11px;font-weight:900;
}
.adocao-passo strong{display:block;color:#263244;font-size:11px}
.adocao-passo small{display:block;margin-top:3px;color:#8590a0;font-size:8.5px;line-height:1.4}
.adocao-passo.desativado{opacity:.42}
.adocao-campo{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-bottom:18px;
}
.adocao-campo>span{
  color:#667286;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}
.adocao-campo.desativado{opacity:.48}
.adocao-select-wrap{position:relative}
.adocao-select-wrap i{
  position:absolute;left:13px;top:50%;transform:translateY(-50%);
  color:#8a95a5;font-size:12px;pointer-events:none;
}
.adocao-select-wrap select{
  width:100%;height:48px;padding:0 38px 0 36px;
  border:1px solid #cfd7e1;border-radius:11px;
  background:#fff;color:#263244;font-size:12px;outline:none;
}
.adocao-select-wrap select:focus{
  border-color:#7669cf;
  box-shadow:0 0 0 3px rgba(78,62,190,.10);
}
.adocao-info-seguranca{
  display:grid;grid-template-columns:37px minmax(0,1fr);gap:9px;
  margin-top:10px;padding:12px;border:1px solid #dce7d8;border-radius:12px;background:#f2f9ef;
}
.adocao-info-seguranca>i{
  width:37px;height:37px;display:grid;place-items:center;border-radius:10px;background:#dff1d8;color:#3e7e3b;
}
.adocao-info-seguranca strong{display:block;color:#3e663a;font-size:9px}
.adocao-info-seguranca span{display:block;margin-top:3px;color:#70816e;font-size:8px;line-height:1.45}

.adocao-resultados{
  min-height:0;
  overflow-y:auto;
  padding:20px 22px 26px;
}
.adocao-resultados-topo{
  display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px;
}
.adocao-resultados-topo h3{margin:0;color:#263244;font-size:19px}
.adocao-contador{
  padding:7px 9px;border-radius:999px;background:#ece8ff;color:#28199d;font-size:8px;font-weight:900;
}
.adocao-vazio{
  min-height:330px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:30px;text-align:center;border:1px dashed #c7cfda;border-radius:16px;background:#fbfcfd;
}
.adocao-vazio-icone{
  width:62px;height:62px;display:grid;place-items:center;margin-bottom:13px;
  border-radius:18px;background:#e9e5ff;color:#2b1da3;font-size:23px;
}
.adocao-vazio h4{margin:0;color:#344054;font-size:15px}
.adocao-vazio p{max-width:470px;margin:7px auto 0;color:#7b8798;font-size:10px;line-height:1.55}
.adocao-lista-ongs{display:grid;gap:12px}
.ong-card{
  overflow:hidden;border:1px solid #dce2ea;border-radius:15px;background:#fff;
  box-shadow:0 7px 22px rgba(35,47,70,.05);
}
.ong-card-topo{
  display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;
}
.ong-logo{
  width:58px;height:58px;display:grid;place-items:center;border-radius:14px;background:#e8f4e4;color:#3c7a38;font-size:23px;
}
.ong-info strong{display:block;color:#23179a;font-size:12px}
.ong-info span{display:block;margin-top:4px;color:#788496;font-size:8.5px}
.ong-selo{
  padding:6px 8px;border-radius:999px;background:#e7f5df;color:#3c7637;font-size:7px;font-weight:900;text-transform:uppercase;
}
.ong-pets{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;
  padding:12px 14px 14px;border-top:1px solid #edf0f4;background:#fafbfc;
}
.pet-adocao-mini{
  display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;align-items:center;padding:9px;border:1px solid #e0e5ec;border-radius:10px;background:#fff;
}
.pet-adocao-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#e9f3f7;font-size:25px}
.pet-adocao-mini strong{display:block;color:#344054;font-size:9px}
.pet-adocao-mini span{display:block;margin-top:2px;color:#8792a1;font-size:7.5px}
.pet-adocao-mini button{
  grid-column:1/-1;min-height:31px;border:0;border-radius:8px;background:#ffd21c;color:#111;font-size:7px;font-weight:900;cursor:pointer;
}
.ong-sem-pets{
  padding:13px 14px;color:#8490a0;font-size:9px;border-top:1px solid #edf0f4;background:#fafbfc;
}

@media(max-width:760px){
  .adocao-overlay{padding:0;align-items:stretch}
  .adocao-shell{width:100%;max-height:100dvh;height:100dvh;border-radius:0}
  .adocao-header{padding:15px}
  .adocao-header h2{font-size:18px}
  .adocao-header p{font-size:9px}
  .adocao-body{display:block;overflow-y:auto}
  .adocao-filtros-card{border-right:0;border-bottom:1px solid #e0e5ec;padding:15px}
  .adocao-resultados{overflow:visible;padding:15px 15px calc(24px + env(safe-area-inset-bottom))}
  .ong-pets{grid-template-columns:1fr}
}

/* modal-adocao-padrao-eterno-v1149 */
/* =========================================================
   v1.0.149 — ADOTE UM PET no padrão visual do Eterno Pet
   ========================================================= */

.adocao-overlay{
  background:rgba(8,12,18,.78) !important;
  backdrop-filter:blur(4px) !important;
  -webkit-backdrop-filter:blur(4px) !important;
}

.adocao-shell{
  width:min(1080px,96vw) !important;
  max-height:92dvh !important;
  border:6px solid #101010 !important;
  border-radius:0 !important;
  background:#edf3f9 !important;
  box-shadow:14px 14px 0 rgba(0,0,0,.28) !important;
  overflow:hidden !important;
  font-family:inherit !important;
}

/* Cabeçalho igual aos demais modais do sistema */
.adocao-header{
  position:relative !important;
  min-height:112px !important;
  padding:22px 24px !important;
  border-bottom:6px solid #101010 !important;
  background:#2110a0 !important;
  color:#fff !important;
}

.adocao-header > div:first-child{
  padding-right:72px !important;
}

.adocao-eyebrow{
  color:#ffd21c !important;
  font-family:inherit !important;
  font-size:10px !important;
  font-weight:900 !important;
  letter-spacing:.06em !important;
}

.adocao-header h2{
  margin:5px 0 0 !important;
  color:#fff !important;
  font-family:inherit !important;
  font-size:24px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
}

.adocao-header h2 i{
  color:#ffd21c !important;
}

.adocao-header p{
  max-width:760px !important;
  margin-top:8px !important;
  color:#e7e4ff !important;
  font-family:Arial,sans-serif !important;
  font-size:11px !important;
  line-height:1.45 !important;
}

.adocao-fechar{
  position:absolute !important;
  top:18px !important;
  right:18px !important;
  width:54px !important;
  height:54px !important;
  border:5px solid #101010 !important;
  border-radius:0 !important;
  background:#ef4444 !important;
  box-shadow:5px 5px 0 rgba(0,0,0,.18) !important;
  font-size:22px !important;
}

/* Corpo dividido como painel do sistema */
.adocao-body{
  grid-template-columns:340px minmax(0,1fr) !important;
  background:#edf3f9 !important;
}

.adocao-filtros-card{
  padding:20px !important;
  border-right:6px solid #101010 !important;
  background:#fff !important;
}

.adocao-passo{
  margin-bottom:12px !important;
  padding:12px !important;
  border:4px solid #101010 !important;
  background:#f7f8fa !important;
  box-shadow:4px 4px 0 rgba(0,0,0,.08) !important;
}

.adocao-passo .numero{
  width:38px !important;
  height:38px !important;
  border:3px solid #101010 !important;
  border-radius:0 !important;
  background:#2110a0 !important;
  color:#fff !important;
  font-family:inherit !important;
  font-size:12px !important;
}

.adocao-passo strong{
  color:#202733 !important;
  font-family:inherit !important;
  font-size:11px !important;
  text-transform:uppercase !important;
}

.adocao-passo small{
  color:#768194 !important;
  font-family:Arial,sans-serif !important;
  font-size:8.5px !important;
}

.adocao-passo.desativado{
  opacity:.42 !important;
}

.adocao-campo{
  margin-bottom:17px !important;
}

.adocao-campo > span{
  color:#5c687a !important;
  font-family:inherit !important;
  font-size:9px !important;
}

.adocao-select-wrap select{
  height:52px !important;
  border:4px solid #101010 !important;
  border-radius:0 !important;
  background:#f8fafc !important;
  color:#202733 !important;
  font-family:Arial,sans-serif !important;
  font-size:12px !important;
  box-shadow:4px 4px 0 rgba(0,0,0,.07) !important;
}

.adocao-select-wrap select:focus{
  background:#fff9d8 !important;
  border-color:#2110a0 !important;
  box-shadow:4px 4px 0 rgba(0,0,0,.07),0 0 0 3px rgba(33,16,160,.14) !important;
}

.adocao-select-wrap i{
  color:#2110a0 !important;
}

.adocao-info-seguranca{
  grid-template-columns:44px minmax(0,1fr) !important;
  padding:13px !important;
  border:4px solid #101010 !important;
  border-radius:0 !important;
  background:#e7f5df !important;
  box-shadow:4px 4px 0 rgba(0,0,0,.08) !important;
}

.adocao-info-seguranca > i{
  width:44px !important;
  height:44px !important;
  border:3px solid #101010 !important;
  border-radius:0 !important;
  background:#bfe5b2 !important;
  color:#215b20 !important;
}

.adocao-info-seguranca strong{
  color:#295f28 !important;
  font-family:inherit !important;
  font-size:9px !important;
  text-transform:uppercase !important;
}

.adocao-info-seguranca span{
  color:#5c725a !important;
  font-family:Arial,sans-serif !important;
  font-size:8px !important;
}

/* Resultados */
.adocao-resultados{
  padding:22px !important;
  background:#edf3f9 !important;
}

.adocao-resultados-topo{
  margin-bottom:15px !important;
  padding:14px 16px !important;
  border:4px solid #101010 !important;
  background:#fff !important;
  box-shadow:4px 4px 0 rgba(0,0,0,.08) !important;
}

.adocao-resultados-topo h3{
  color:#202733 !important;
  font-family:inherit !important;
  font-size:18px !important;
  text-transform:uppercase !important;
}

.adocao-resultados-topo .adocao-eyebrow{
  color:#2110a0 !important;
}

.adocao-contador{
  padding:8px 10px !important;
  border:3px solid #101010 !important;
  border-radius:0 !important;
  background:#e8ddff !important;
  color:#2110a0 !important;
  font-family:inherit !important;
  font-size:8px !important;
  box-shadow:3px 3px 0 rgba(0,0,0,.07) !important;
}

.adocao-vazio{
  min-height:330px !important;
  border:4px dashed #6c7480 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:5px 5px 0 rgba(0,0,0,.05) !important;
}

.adocao-vazio-icone{
  width:70px !important;
  height:70px !important;
  border:4px solid #101010 !important;
  border-radius:0 !important;
  background:#e8ddff !important;
  color:#2110a0 !important;
  box-shadow:4px 4px 0 rgba(0,0,0,.08) !important;
}

.adocao-vazio h4{
  color:#202733 !important;
  font-family:inherit !important;
  font-size:14px !important;
  text-transform:uppercase !important;
}

.adocao-vazio p{
  color:#6b7788 !important;
  font-family:Arial,sans-serif !important;
  font-size:10px !important;
}

/* Cards de ONG no mesmo padrão dos cards dos memoriais */
.ong-card{
  border:5px solid #101010 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:6px 6px 0 rgba(0,0,0,.10) !important;
}

.ong-card-topo{
  padding:15px !important;
  background:#fff !important;
}

.ong-logo{
  width:62px !important;
  height:62px !important;
  border:4px solid #101010 !important;
  border-radius:0 !important;
  background:#dff2d7 !important;
  color:#347034 !important;
  font-size:24px !important;
}

.ong-info strong{
  color:#2110a0 !important;
  font-family:inherit !important;
  font-size:12px !important;
  text-transform:uppercase !important;
}

.ong-info span{
  color:#6f7a8b !important;
  font-family:Arial,sans-serif !important;
  font-size:8.5px !important;
}

.ong-selo{
  padding:7px 9px !important;
  border:3px solid #101010 !important;
  border-radius:0 !important;
  background:#dff2d7 !important;
  color:#2f672e !important;
  font-family:inherit !important;
  box-shadow:3px 3px 0 rgba(0,0,0,.06) !important;
}

.ong-pets{
  gap:10px !important;
  padding:14px !important;
  border-top:4px solid #101010 !important;
  background:#f7f8fa !important;
}

.pet-adocao-mini{
  padding:10px !important;
  border:3px solid #101010 !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:3px 3px 0 rgba(0,0,0,.06) !important;
}

.pet-adocao-avatar{
  width:46px !important;
  height:46px !important;
  border:3px solid #101010 !important;
  border-radius:0 !important;
  background:#e4f1f6 !important;
}

.pet-adocao-mini strong{
  color:#202733 !important;
  font-family:inherit !important;
  font-size:9px !important;
  text-transform:uppercase !important;
}

.pet-adocao-mini span{
  color:#7b8798 !important;
  font-family:Arial,sans-serif !important;
}

.pet-adocao-mini button{
  min-height:36px !important;
  border:3px solid #101010 !important;
  border-radius:0 !important;
  background:#ffd21c !important;
  color:#111 !important;
  font-family:inherit !important;
  font-size:7px !important;
  box-shadow:3px 3px 0 rgba(0,0,0,.08) !important;
}

.pet-adocao-mini button:hover{
  transform:translate(-1px,-1px) !important;
  box-shadow:4px 4px 0 rgba(0,0,0,.10) !important;
}

.ong-sem-pets{
  border-top:4px solid #101010 !important;
  background:#f7f8fa !important;
  color:#7f8998 !important;
  font-family:Arial,sans-serif !important;
}

/* Mobile */
@media(max-width:760px){
  .adocao-overlay{
    padding:0 !important;
    align-items:stretch !important;
  }

  .adocao-shell{
    width:100% !important;
    height:100dvh !important;
    max-height:100dvh !important;
    border:0 !important;
    box-shadow:none !important;
  }

  .adocao-header{
    min-height:auto !important;
    padding:15px !important;
    border-bottom-width:4px !important;
  }

  .adocao-header > div:first-child{
    padding-right:56px !important;
  }

  .adocao-header h2{
    font-size:17px !important;
  }

  .adocao-header p{
    font-size:9px !important;
  }

  .adocao-fechar{
    top:12px !important;
    right:12px !important;
    width:44px !important;
    height:44px !important;
    border-width:4px !important;
  }

  .adocao-body{
    overflow-y:auto !important;
  }

  .adocao-filtros-card{
    padding:14px !important;
    border-right:0 !important;
    border-bottom:4px solid #101010 !important;
  }

  .adocao-resultados{
    padding:14px 14px calc(24px + env(safe-area-inset-bottom)) !important;
  }

  .adocao-passo{
    border-width:3px !important;
  }

  .adocao-select-wrap select,
  .adocao-info-seguranca,
  .adocao-resultados-topo,
  .ong-card{
    border-width:3px !important;
  }

  .ong-card-topo{
    grid-template-columns:52px minmax(0,1fr) !important;
  }

  .ong-selo{
    grid-column:1/-1 !important;
    width:max-content !important;
  }

  .ong-pets{
    grid-template-columns:1fr !important;
    border-top-width:3px !important;
  }
}


/* =========================================================
   v1.1.326 — Login / Cadastre-se no mesmo modal
   ========================================================= */
.auth-eterno-topo > div{
  min-width:0;
}
.auth-eterno-kicker{
  display:block;
  margin-bottom:3px;
  color:#777f92;
  font-family:Arial,sans-serif;
  font-size:8px;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.auth-eterno-view{
  display:none;
}
.auth-eterno-view.ativo{
  display:block;
  animation:authContaViewIn .18s ease both;
}
@keyframes authContaViewIn{
  from{opacity:0;transform:translateY(5px)}
  to{opacity:1;transform:translateY(0)}
}
.auth-eterno-divisor{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:18px 0;
  color:#9299a6;
  font:800 9px Arial,sans-serif;
  text-transform:uppercase;
}
.auth-eterno-divisor:before,
.auth-eterno-divisor:after{
  content:"";
  flex:1;
  height:1px;
  background:#dedfe4;
}
.auth-eterno-divisor span{
  padding:0 12px;
}
.auth-eterno-secondary{
  width:100%;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:3px solid #151196;
  border-radius:10px;
  background:#fff;
  color:#151196;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
  transition:transform .15s ease,background .15s ease;
}
.auth-eterno-secondary:hover{
  background:#efedff;
  transform:translateY(-1px);
}
.auth-eterno-secondary i,
.auth-eterno-links i{
  font-size:11px;
}
@media(max-width:575.98px){
  .auth-eterno-box{
    width:min(100%,440px);
    max-height:calc(100dvh - 24px);
  }
  .auth-eterno-topo{
    padding:14px;
  }
  .auth-eterno-topo h2{
    font-size:17px;
  }
  .auth-eterno-corpo{
    padding:16px;
  }
}


/* =========================================================
   v1.1.326 — reCAPTCHA v3 sem badge flutuante
   ========================================================= */
.grecaptcha-badge{
  visibility:hidden!important;
}

.auth-recaptcha-aviso{
  margin:18px 0 0;
  padding-top:14px;
  border-top:1px solid rgba(108,117,125,.18);
  color:#8a91a0;
  font-family:Arial,sans-serif;
  font-size:9px;
  line-height:1.55;
  text-align:center;
}
.auth-recaptcha-aviso a{
  color:#6558d8;
  font-weight:700;
  text-decoration:none;
}
.auth-recaptcha-aviso a:hover{
  text-decoration:underline;
}


/* =========================================================
   v1.1.326 — UI/UX adoção + indicação de ONG
   ========================================================= */
.adocao-overlay{
  padding:18px!important;
  background:rgba(13,23,18,.76)!important;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.adocao-shell{
  width:min(1180px,calc(100vw - 36px))!important;
  max-height:calc(100dvh - 36px)!important;
  border:1px solid rgba(255,255,255,.72)!important;
  border-radius:26px!important;
  overflow:hidden!important;
  box-shadow:0 30px 90px rgba(7,18,11,.36)!important;
}
.adocao-header{
  display:flex!important;
  align-items:flex-start!important;
  gap:24px!important;
  padding:24px 28px!important;
  border-bottom:1px solid #e6ebef!important;
  background:linear-gradient(135deg,#fff 0%,#fbfcff 100%)!important;
}
.adocao-header-copy{flex:1;min-width:0}
.adocao-header h2{
  display:flex!important;
  align-items:center;
  gap:11px;
  margin:5px 0 7px!important;
  color:#202a39!important;
  font-size:clamp(24px,2.6vw,34px)!important;
  font-weight:900!important;
  letter-spacing:-.035em;
}
.adocao-title-icon{
  width:42px;height:42px;flex:0 0 42px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:13px;background:#efedff;color:#4338bd;font-size:18px;
}
.adocao-header p{
  max-width:760px;
  margin:0!important;
  color:#6d788c!important;
  font-size:13px!important;
  line-height:1.55!important;
}
.adocao-header-actions{margin-top:15px}
.adocao-indicar-btn{
  display:inline-flex;align-items:center;gap:10px;
  min-height:48px;padding:7px 13px;
  border:1px solid #d8d4ff;border-radius:14px;
  background:#f4f2ff;color:#3f35ae;
  cursor:pointer;box-shadow:none;
  transition:transform .15s ease,background .15s ease,border-color .15s ease;
}
.adocao-indicar-btn:hover{background:#ebe8ff;border-color:#bbb5f0;transform:translateY(-1px)}
.adocao-indicar-btn>i:first-child{
  width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px;background:#4338bd;color:#fff
}
.adocao-indicar-btn span{text-align:left}
.adocao-indicar-btn strong{display:block;font-size:11px;font-weight:900}
.adocao-indicar-btn small{display:block;margin-top:1px;color:#7a73ad;font-size:9px}
.adocao-indicar-btn>i:last-child{font-size:10px;margin-left:4px}
.adocao-fechar{
  flex:0 0 auto!important;
  width:46px!important;height:46px!important;
  border:1px solid #e1e5eb!important;border-radius:14px!important;
  background:#f5f6f8!important;color:#5d6675!important;
}
.adocao-body{
  grid-template-columns:minmax(280px,360px) minmax(0,1fr)!important;
  min-height:520px;
}
.adocao-filtros-card{
  padding:28px!important;
  border-right:1px solid #e5e9ef!important;
  background:#fff!important;
}
.adocao-resultados{
  padding:28px 30px!important;
  background:#f8f9fc!important;
}
.adocao-vazio{
  border:1px dashed #d7dce6!important;
  border-radius:20px!important;
  background:#fff!important;
}
.adocao-vazio-icone{
  width:72px!important;height:72px!important;border-radius:20px!important;
  background:#eee9ff!important;color:#4338bd!important;
}
.ong-card{
  border:1px solid #e1e6ed!important;border-radius:18px!important;background:#fff!important;
  box-shadow:0 8px 24px rgba(16,24,40,.045)!important;
}
.ong-logo{border-radius:14px!important;background:#efedff!important;color:#4338bd!important}
.ong-selo{border:0!important;border-radius:999px!important;background:#e9f8ef!important;color:#287d4a!important}
.ong-link{border-radius:12px!important}

/* Submodal de indicação */
.ong-indicacao-overlay{
  position:fixed;
  inset:0;
  z-index:2147483200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(18,24,38,.70);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.ong-indicacao-overlay.ativo{display:flex}
.ong-indicacao-dialog{
  position:relative;
  width:min(650px,100%);
  max-height:calc(100dvh - 32px);
  overflow:auto;
  padding:28px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:24px;
  background:#fff;
  box-shadow:0 30px 90px rgba(12,17,32,.38);
}
.ong-indicacao-fechar{
  position:absolute;right:18px;top:18px;
  width:42px;height:42px;display:flex;align-items:center;justify-content:center;
  border:1px solid #e0e4ea;border-radius:13px;background:#f5f6f8;color:#596273;cursor:pointer;
}
.ong-indicacao-head{
  display:grid;
  grid-template-columns:52px minmax(0,1fr);
  gap:14px;
  padding-right:48px;
}
.ong-indicacao-icon{
  width:52px;height:52px;display:flex;align-items:center;justify-content:center;
  border-radius:16px;background:#efedff;color:#4338bd;font-size:21px;
}
.ong-indicacao-head h3{margin:4px 0 5px;color:#202a39;font-size:25px;font-weight:900;letter-spacing:-.025em}
.ong-indicacao-head p{margin:0;color:#748094;font-size:11px;line-height:1.5}
.ong-indicacao-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:22px;
}
.ong-indicacao-full{grid-column:1/-1}
.ong-indicacao-field{display:block}
.ong-indicacao-field>span{display:block;margin-bottom:6px;color:#485467;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.ong-indicacao-field>div{position:relative}
.ong-indicacao-field>div>i{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  z-index:2;color:#746bd0;font-size:12px;pointer-events:none
}
.ong-indicacao-field input,
.ong-indicacao-field select{
  width:100%;min-height:48px;padding:0 13px 0 40px;
  border:1px solid #dce1e9;border-radius:13px;background:#fff;color:#263247;
  font-size:12px;outline:none;
}
.ong-indicacao-field input:focus,
.ong-indicacao-field select:focus{border-color:#766cd2;box-shadow:0 0 0 3px rgba(82,72,190,.10)}
.ong-indicacao-field small{display:block;margin-top:5px;color:#929baa;font-size:9px}
.ong-indicacao-security{
  display:grid;grid-template-columns:40px minmax(0,1fr);gap:11px;align-items:center;
  margin-top:18px;padding:12px;
  border:1px solid #d9e9df;border-radius:14px;background:#f5fbf7;
}
.ong-indicacao-security>i{
  width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:#e2f5e8;color:#2b7e4c
}
.ong-indicacao-security strong{display:block;color:#326443;font-size:10px;font-weight:900}
.ong-indicacao-security span{display:block;margin-top:2px;color:#6e8375;font-size:9px;line-height:1.45}
.ong-indicacao-feedback{margin-top:14px;padding:11px 12px;border-radius:12px;font-size:10px;font-weight:800}
.ong-indicacao-feedback.is-error{background:#fff0f0;color:#a63131}
.ong-indicacao-feedback.is-success{background:#eaf8ef;color:#287849}
.ong-indicacao-actions{
  display:flex;justify-content:flex-end;gap:9px;
  margin-top:20px;padding-top:17px;border-top:1px solid #edf0f4;
}
.ong-indicacao-actions button{
  min-height:44px;padding:0 17px;border-radius:12px;font-size:11px;font-weight:900;cursor:pointer
}
.ong-indicacao-cancelar{border:1px solid #dce1e8;background:#fff;color:#5e6878}
.ong-indicacao-enviar{border:0;background:#4338bd;color:#fff;box-shadow:0 4px 0 #29218d}
.ong-indicacao-enviar:disabled{opacity:.6;cursor:wait}
.ong-recaptcha-notice{margin:14px 0 0;color:#9aa1ad;font-size:8px;line-height:1.5;text-align:center}
.ong-recaptcha-notice a{color:#6558d8;text-decoration:none}
@media(max-width:767.98px){
  .adocao-overlay{padding:8px!important}
  .adocao-shell{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;border-radius:20px!important}
  .adocao-header{padding:18px!important}
  .adocao-header h2{font-size:23px!important}
  .adocao-body{grid-template-columns:1fr!important;overflow:auto;min-height:0}
  .adocao-filtros-card{padding:18px!important;border-right:0!important;border-bottom:1px solid #e5e9ef}
  .adocao-resultados{padding:18px!important}
  .ong-indicacao-dialog{padding:22px 16px 18px;border-radius:19px}
  .ong-indicacao-grid{grid-template-columns:1fr}
  .ong-indicacao-full{grid-column:auto}
  .ong-indicacao-actions{display:grid;grid-template-columns:1fr}
  .ong-indicacao-actions button{width:100%}
}


/* =========================================================
   v1.1.326 — rolagem do modal, cidades completas e sucesso
   ========================================================= */

/* O cabeçalho permanece estável e todo o corpo do modal pode rolar. */
.adocao-shell{
  display:flex!important;
  flex-direction:column!important;
  max-height:calc(100dvh - 36px)!important;
  overflow:hidden!important;
}

.adocao-header{
  flex:0 0 auto!important;
}

.adocao-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
}

/* Evita dois scrolls concorrentes dentro do mesmo modal. */
.adocao-filtros-card,
.adocao-resultados{
  overflow:visible!important;
  min-height:min-content!important;
}

/* Scrollbar discreta e visível. */
.adocao-body::-webkit-scrollbar{
  width:10px;
}
.adocao-body::-webkit-scrollbar-track{
  background:#eef1f5;
}
.adocao-body::-webkit-scrollbar-thumb{
  min-height:52px;
  border:2px solid #eef1f5;
  border-radius:999px;
  background:#aaa3df;
}
.adocao-body{
  scrollbar-width:thin;
  scrollbar-color:#aaa3df #eef1f5;
}

/* O select de cidades fica sempre acessível depois da escolha do estado. */
#adocaoCampoCidade{
  scroll-margin-bottom:28px;
}

/* Confirmação da indicação */
.ong-indicacao-sucesso-overlay{
  position:fixed;
  inset:0;
  z-index:2147483250;
  display:none;
  align-items:center;
  justify-content:center;
  padding:16px;
  background:rgba(18,24,38,.72);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.ong-indicacao-sucesso-overlay.ativo{
  display:flex;
}
.ong-indicacao-sucesso-dialog{
  width:min(500px,100%);
  padding:34px 32px 30px;
  border:1px solid rgba(255,255,255,.78);
  border-radius:26px;
  background:#fff;
  text-align:center;
  box-shadow:0 30px 90px rgba(12,17,32,.38);
}
.ong-indicacao-sucesso-icon{
  width:72px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 16px;
  border-radius:22px;
  background:#e7f8ed;
  color:#26824c;
  font-size:28px;
  box-shadow:0 10px 30px rgba(38,130,76,.12);
}
.ong-indicacao-sucesso-dialog .adocao-eyebrow{
  margin-bottom:7px!important;
  color:#5f55c8!important;
}
.ong-indicacao-sucesso-dialog h3{
  margin:0;
  color:#202a39;
  font-size:28px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.035em;
}
.ong-indicacao-sucesso-dialog>p{
  max-width:410px;
  margin:12px auto 0;
  color:#6e798d;
  font-size:12px;
  line-height:1.6;
}
.ong-indicacao-sucesso-info{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  gap:11px;
  align-items:center;
  margin-top:20px;
  padding:13px;
  border:1px solid #dce9e0;
  border-radius:15px;
  background:#f7fbf8;
  text-align:left;
}
.ong-indicacao-sucesso-info>i{
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#e5f5ea;
  color:#2b7f4c;
}
.ong-indicacao-sucesso-info strong{
  display:block;
  color:#315f41;
  font-size:10px;
  font-weight:900;
}
.ong-indicacao-sucesso-info small{
  display:block;
  margin-top:2px;
  color:#73847a;
  font-size:9px;
  line-height:1.45;
}
#btnOngIndicacaoSucessoOk{
  width:100%;
  min-height:48px;
  margin-top:20px;
  border:0;
  border-radius:13px;
  background:#2b9b5a;
  color:#fff;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 4px 0 #1e7542;
}
#btnOngIndicacaoSucessoOk:hover{
  background:#258e51;
}
#btnOngIndicacaoSucessoOk i{
  margin-right:6px;
}

@media(max-width:767.98px){
  .adocao-shell{
    width:100%!important;
    height:100dvh!important;
    max-height:100dvh!important;
  }
  .adocao-body{
    display:block!important;
    overflow-y:auto!important;
    padding-bottom:calc(20px + env(safe-area-inset-bottom));
  }
  .adocao-filtros-card,
  .adocao-resultados{
    overflow:visible!important;
  }
  .ong-indicacao-sucesso-dialog{
    padding:28px 20px 22px;
    border-radius:21px;
  }
  .ong-indicacao-sucesso-dialog h3{
    font-size:24px;
  }
}


/* =========================================================
   v1.1.326 — cidades da indicação por estado
   ========================================================= */
.ong-indicacao-field select#ongIndicacaoCidade:disabled{
  color:#98a2b3;
  background:#f7f8fa;
  cursor:not-allowed;
}
.ong-indicacao-field select#ongIndicacaoCidade:not(:disabled){
  cursor:pointer;
}
