/* design-system-moderno-v1150 */
/* =========================================================
   v1.0.150 — novo padrão visual para áreas de interface
   Mantém o mundo em pixel art, mas moderniza abas, modais e painéis.
   ========================================================= */

:root{
  --ui-primary:#2f2aa0;
  --ui-primary-2:#4b46c7;
  --ui-accent:#ffd84d;
  --ui-bg:#f5f7fb;
  --ui-surface:#ffffff;
  --ui-surface-2:#f8fafc;
  --ui-text:#202938;
  --ui-muted:#6f7b8e;
  --ui-border:#dfe4ec;
  --ui-success:#2f7a48;
  --ui-danger:#e3484f;
  --ui-shadow:0 24px 70px rgba(19,28,48,.18);
  --ui-shadow-soft:0 8px 24px rgba(27,39,67,.08);
  --ui-radius:18px;
  --ui-radius-sm:12px;
}

/* ----- Base tipográfica para interfaces ----- */
.modal,
.adocao-overlay,
.auth-eterno-overlay,
.conta-eterno-overlay,
.editar-memorial-overlay,
#painelLateralCemiterio,
.entrada-interior-overlay{
  font-family:Inter,Arial,sans-serif !important;
}

/* ----- Modais Bootstrap gerais ----- */
.modal-content,
.modal-content.pixel{
  border:1px solid var(--ui-border) !important;
  border-radius:var(--ui-radius) !important;
  background:var(--ui-surface) !important;
  box-shadow:var(--ui-shadow) !important;
  overflow:hidden !important;
}

.modal-header{
  padding:18px 20px !important;
  border-bottom:1px solid var(--ui-border) !important;
  background:var(--ui-surface) !important;
}

.modal-header .modal-title{
  color:var(--ui-text) !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:20px !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  text-transform:none !important;
}

.modal-body{
  background:var(--ui-bg);
}

.modal-footer{
  border-top:1px solid var(--ui-border) !important;
  background:var(--ui-surface) !important;
}

/* ----- Menu do Jardim ----- */
#modalMenuJardim .modal-content{
  border-radius:20px !important;
}

#modalMenuJardim .modal-header{
  background:linear-gradient(135deg,var(--ui-primary),var(--ui-primary-2)) !important;
  color:#fff !important;
}

#modalMenuJardim .modal-title{
  color:#fff !important;
  font-size:22px !important;
}

#modalMenuJardim .btn-fechar-menu{
  width:42px !important;
  height:42px !important;
  border:0 !important;
  border-radius:11px !important;
  background:rgba(255,255,255,.15) !important;
  color:#fff !important;
  box-shadow:none !important;
}

.menu-jardim-lista{
  display:grid !important;
  gap:9px !important;
}

.menu-jardim-link{
  min-height:58px !important;
  padding:0 16px !important;
  border:1px solid var(--ui-border) !important;
  border-radius:13px !important;
  background:#fff !important;
  color:var(--ui-text) !important;
  box-shadow:none !important;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease !important;
}

.menu-jardim-link:hover{
  transform:translateY(-1px) !important;
  border-color:#bfc5ef !important;
  box-shadow:var(--ui-shadow-soft) !important;
}

.menu-jardim-icone{
  width:38px !important;
  height:38px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:10px !important;
  background:#eeecff !important;
  font-size:18px !important;
}

.menu-jardim-separador{
  margin:10px 0 2px !important;
  color:var(--ui-muted) !important;
  font:800 10px Arial,sans-serif !important;
  text-transform:uppercase !important;
}

/* ----- Painel Explorar ----- */
#painelLateralCemiterio{
  background:var(--ui-surface) !important;
  box-shadow:-18px 0 55px rgba(15,23,42,.22) !important;
}

#painelLateralCemiterio .cabecalho-painel-cemiterio{
  padding:19px 20px !important;
  border-bottom:1px solid var(--ui-border) !important;
  background:linear-gradient(135deg,var(--ui-primary),var(--ui-primary-2)) !important;
}

#painelLateralCemiterio .cabecalho-painel-cemiterio h2,
#painelLateralCemiterio .cabecalho-painel-cemiterio strong{
  color:#fff !important;
  font-family:Inter,Arial,sans-serif !important;
  font-weight:800 !important;
  text-transform:none !important;
}

#painelLateralCemiterio .conteudo-painel-cemiterio{
  padding:16px !important;
  background:var(--ui-bg) !important;
}

#painelLateralCemiterio .card,
#painelLateralCemiterio .bloco-painel,
#painelLateralCemiterio .painel-secao{
  border:1px solid var(--ui-border) !important;
  border-radius:14px !important;
  background:#fff !important;
  box-shadow:none !important;
}

/* ----- Busca avançada ----- */
#modalBuscaLote .busca-overlay-content{
  border:1px solid var(--ui-border) !important;
  border-radius:20px !important;
  background:var(--ui-surface) !important;
  box-shadow:var(--ui-shadow) !important;
}

.busca-avancada-header{
  background:var(--ui-surface) !important;
  border-bottom:1px solid var(--ui-border) !important;
}

.busca-avancada-header h2{
  font-family:Inter,Arial,sans-serif !important;
  font-size:22px !important;
  font-weight:800 !important;
  text-transform:none !important;
}

.busca-avancada-body{
  background:var(--ui-bg) !important;
}

.busca-avancada-grid input,
.busca-avancada-grid select{
  border:1px solid var(--ui-border) !important;
  border-radius:11px !important;
  background:#fff !important;
}

.btn-buscar-avancada{
  border:0 !important;
  border-radius:11px !important;
  background:var(--ui-primary) !important;
  color:#fff !important;
  box-shadow:none !important;
}

.btn-limpar-busca-avancada{
  border:1px solid var(--ui-border) !important;
  border-radius:11px !important;
}

/* ----- Memorial do pet ----- */
#modalPet .modal-content{
  border-radius:20px !important;
  border:1px solid var(--ui-border) !important;
  box-shadow:var(--ui-shadow) !important;
}

#modalPet .barra-topo{
  height:8px !important;
  background:linear-gradient(90deg,var(--ui-primary),#665dd8,var(--ui-accent)) !important;
}

#modalPet .btn-fechar-memorial{
  top:14px !important;
  right:14px !important;
  width:42px !important;
  height:42px !important;
  border:0 !important;
  border-radius:11px !important;
  background:#f2f4f7 !important;
  color:#3d4653 !important;
  box-shadow:none !important;
}

#modalPet .foto-pet-modal,
#modalPet .dados-memorial,
#modalPet .mensagem-familia,
#modalPet .luzes-saudade{
  border:1px solid var(--ui-border) !important;
  border-radius:14px !important;
  box-shadow:none !important;
}

/* ----- Eternizar ----- */
#modalEternizar .modal-content,
.modal-eternizar-conteudo{
  border:1px solid var(--ui-border) !important;
  border-radius:20px !important;
  background:var(--ui-bg) !important;
  box-shadow:var(--ui-shadow) !important;
}

#modalEternizar .modal-header{
  background:linear-gradient(135deg,var(--ui-primary),var(--ui-primary-2)) !important;
}

#modalEternizar .modal-title{
  color:#fff !important;
}

#modalEternizar .card,
#modalEternizar .plano-card{
  border:1px solid var(--ui-border) !important;
  border-radius:14px !important;
  box-shadow:none !important;
}

/* ----- Login / Cadastro / Redefinir ----- */
.auth-eterno-box{
  border:1px solid var(--ui-border) !important;
  border-radius:20px !important;
  background:var(--ui-surface) !important;
  box-shadow:var(--ui-shadow) !important;
}

.auth-eterno-topo{
  padding:18px 20px !important;
  border-bottom:1px solid var(--ui-border) !important;
  background:#fff !important;
}

.auth-eterno-topo h2{
  color:var(--ui-text) !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:20px !important;
  font-weight:800 !important;
  text-transform:none !important;
}

.auth-eterno-fechar{
  border:0 !important;
  border-radius:11px !important;
  box-shadow:none !important;
}

.auth-eterno-campo input{
  border:1px solid var(--ui-border) !important;
  border-radius:11px !important;
  background:#fff !important;
}

.auth-eterno-submit{
  border:0 !important;
  border-radius:11px !important;
  background:var(--ui-primary) !important;
  color:#fff !important;
  box-shadow:none !important;
}

/* ----- Painel Minha Conta ----- */
.painel-usuario-shell,
.conta-eterno-box{
  background:var(--ui-bg) !important;
}

.painel-usuario-sidebar{
  background:linear-gradient(180deg,#26218f,#3730a3) !important;
}

.painel-card,
.painel-hero,
.painel-stat-card,
.meu-tumulo-card{
  border:1px solid var(--ui-border) !important;
  border-radius:15px !important;
  box-shadow:var(--ui-shadow-soft) !important;
}

.memorial-card-acoes button{
  border-radius:9px !important;
}

.editar-memorial-shell{
  border:1px solid var(--ui-border) !important;
  border-radius:20px !important;
  box-shadow:var(--ui-shadow) !important;
}

/* ----- QR, aniversário e outros modais menores ----- */
#modalQr .modal-content,
#modalAniversario .modal-content,
.modal-aniversario .modal-content,
.modal-qr .modal-content{
  border:1px solid var(--ui-border) !important;
  border-radius:18px !important;
  box-shadow:var(--ui-shadow) !important;
}

/* ----- ADOÇÃO totalmente moderna ----- */
.adocao-shell{
  border:1px solid var(--ui-border) !important;
  border-radius:22px !important;
  background:var(--ui-bg) !important;
  box-shadow:var(--ui-shadow) !important;
}

.adocao-header{
  min-height:auto !important;
  padding:20px 22px !important;
  border-bottom:1px solid var(--ui-border) !important;
  background:var(--ui-surface) !important;
  color:var(--ui-text) !important;
}

.adocao-eyebrow{
  color:#746dc2 !important;
  font:800 8px Arial,sans-serif !important;
}

.adocao-header h2{
  color:var(--ui-text) !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:22px !important;
  font-weight:800 !important;
  text-transform:none !important;
}

.adocao-header h2 i{
  color:var(--ui-primary) !important;
}

.adocao-header p{
  color:var(--ui-muted) !important;
}

.adocao-fechar{
  top:16px !important;
  right:16px !important;
  width:42px !important;
  height:42px !important;
  border:0 !important;
  border-radius:11px !important;
  background:#f1f3f6 !important;
  color:#4b5563 !important;
  box-shadow:none !important;
}

.adocao-body{
  grid-template-columns:330px minmax(0,1fr) !important;
  background:var(--ui-bg) !important;
}

.adocao-filtros-card{
  border-right:1px solid var(--ui-border) !important;
  background:var(--ui-surface) !important;
}

.adocao-passo{
  padding:11px 0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.adocao-passo .numero{
  width:32px !important;
  height:32px !important;
  border:0 !important;
  border-radius:10px !important;
  background:var(--ui-primary) !important;
}

.adocao-passo strong{
  font-family:Inter,Arial,sans-serif !important;
  font-size:11px !important;
  text-transform:none !important;
}

.adocao-select-wrap select{
  height:48px !important;
  border:1px solid var(--ui-border) !important;
  border-radius:11px !important;
  background:#fff !important;
  box-shadow:none !important;
}

.adocao-info-seguranca{
  border:1px solid #dbe8d9 !important;
  border-radius:12px !important;
  background:#f4faf2 !important;
  box-shadow:none !important;
}

.adocao-info-seguranca > i{
  border:0 !important;
  border-radius:10px !important;
}

.adocao-resultados{
  background:var(--ui-bg) !important;
}

.adocao-resultados-topo{
  padding:0 0 10px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

.adocao-resultados-topo h3{
  font-family:Inter,Arial,sans-serif !important;
  font-size:18px !important;
  font-weight:800 !important;
  text-transform:none !important;
}

.adocao-contador{
  border:0 !important;
  border-radius:999px !important;
  background:#ebe9ff !important;
  box-shadow:none !important;
}

.adocao-vazio{
  border:1px dashed #cdd5df !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:none !important;
}

.adocao-vazio-icone{
  border:0 !important;
  border-radius:16px !important;
  box-shadow:none !important;
}

.ong-card-somente-link{
  border:1px solid var(--ui-border) !important;
  border-radius:15px !important;
  background:#fff !important;
  box-shadow:var(--ui-shadow-soft) !important;
}

.ong-card-somente-link .ong-card-topo{
  padding:16px !important;
}

.ong-card-somente-link .ong-logo{
  width:54px !important;
  height:54px !important;
  border:0 !important;
  border-radius:13px !important;
  background:#eef0ff !important;
  color:var(--ui-primary) !important;
}

.ong-card-somente-link .ong-info strong{
  color:var(--ui-text) !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:13px !important;
  text-transform:none !important;
}

.ong-card-somente-link .ong-info span{
  color:var(--ui-muted) !important;
}

.ong-card-somente-link .ong-selo{
  border:0 !important;
  border-radius:999px !important;
  background:#e8f5e8 !important;
  box-shadow:none !important;
}

.ong-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  padding:12px 16px 16px;
  border-top:1px solid #edf0f4;
}

.ong-link{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0 12px;
  border:1px solid var(--ui-border);
  border-radius:10px;
  background:#fff;
  color:#344054;
  font:800 9px Arial,sans-serif;
  text-decoration:none;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}

.ong-link i:last-child{
  margin-left:3px;
  color:#98a2b3;
  font-size:8px;
}

.ong-link:hover{
  transform:translateY(-1px);
  border-color:#bbb7e7;
  background:#f8f7ff;
}

.ong-link.instagram{
  color:#9b2d71;
}

.ong-sem-link{
  color:#8a94a3;
  font:9px Arial,sans-serif;
}

/* ----- Controles fixos ----- */
.acoes-topo.acoes-globais > .acao-topo,
.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio{
  border:1px solid rgba(28,36,50,.18) !important;
  border-radius:12px !important;
  box-shadow:0 7px 20px rgba(15,23,42,.12) !important;
}

.acoes-topo.acoes-globais > .acao-topo.menu{
  background:rgba(255,255,255,.95) !important;
}

#btnMinhaContaTopo{
  background:var(--ui-accent) !important;
}

.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio{
  background:var(--ui-primary) !important;
  color:#fff !important;
}

.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio .texto{
  color:#fff !important;
}

/* Mobile */
@media(max-width:760px){
  .modal-content,
  .modal-content.pixel,
  .auth-eterno-box,
  .adocao-shell,
  .editar-memorial-shell{
    border-radius:18px 18px 0 0 !important;
  }

  .adocao-body{
    display:block !important;
  }

  .adocao-filtros-card{
    border-right:0 !important;
    border-bottom:1px solid var(--ui-border) !important;
  }

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

  .ong-card-somente-link .ong-selo{
    grid-column:1/-1;
    width:max-content;
  }

  .ong-links{
    display:grid;
    grid-template-columns:1fr;
  }

  .ong-link{
    width:100%;
    justify-content:center;
  }
}

/* tipografia-global-legivel-v1151 */
html{font-size:16px !important}
body{font-size:16px !important;line-height:1.5 !important}

.modal,.adocao-overlay,.auth-eterno-overlay,.conta-eterno-overlay,
.editar-memorial-overlay,#painelLateralCemiterio,.entrada-interior-overlay{
  font-size:16px !important;
}

/* Painel do cliente */
.painel-marca strong{font-size:18px !important}
.painel-marca small{font-size:12px !important}
.painel-perfil-mini strong{font-size:14px !important}
.painel-perfil-mini small{font-size:11px !important}
.painel-nav-item{font-size:14px !important}
.painel-nav-badge{font-size:11px !important}
.painel-eyebrow{font-size:11px !important;letter-spacing:.08em !important}
.painel-usuario-header h1{font-size:28px !important}
.painel-usuario-header p{font-size:14px !important}
.painel-btn-eternizar,.painel-btn-secundario,.painel-btn-sair{font-size:13px !important}
.painel-hero-texto span{font-size:11px !important}
.painel-hero-texto h2{font-size:28px !important}
.painel-hero-texto p{font-size:14px !important}
.painel-hero-selo{font-size:11px !important}
.painel-stat-card strong{font-size:28px !important}
.painel-stat-card span:not(.painel-stat-icon){font-size:11px !important}
.painel-card h3{font-size:20px !important}
.painel-pagina-cabecalho h2{font-size:28px !important}
.painel-pagina-cabecalho p{font-size:14px !important}
.painel-link-tab{font-size:12px !important}
.meu-tumulo-info strong{font-size:16px !important}
.meu-tumulo-info span{font-size:12px !important}
.memorial-plano-badge{font-size:11px !important}
.memorial-card-acoes button{font-size:12px !important}
.painel-vazio-elegante h3{font-size:18px !important}
.painel-vazio-elegante p{font-size:13px !important}
.painel-form-grid label span{font-size:11px !important}
.painel-form-grid input,.painel-form-grid select,.painel-form-grid textarea{font-size:14px !important}
.editar-preview-card h3{font-size:22px !important}
.editar-preview-card span,.editar-preview-card small{font-size:12px !important}
.editar-preview>p{font-size:12px !important}
.btn-excluir-memorial{font-size:12px !important}

/* Menu */
#modalMenuJardim .modal-title{font-size:24px !important}
.menu-jardim-link{font-size:15px !important}
.menu-jardim-separador{font-size:11px !important}

/* Explorar */
#painelLateralCemiterio{font-size:15px !important}
#painelLateralCemiterio h2{font-size:22px !important}
#painelLateralCemiterio h3{font-size:17px !important}
#painelLateralCemiterio p,#painelLateralCemiterio span,#painelLateralCemiterio button{
  font-size:13px !important;
}

/* Busca */
.busca-avancada-eyebrow{font-size:10px !important}
.busca-avancada-header h2{font-size:24px !important}
.busca-avancada-header p{font-size:13px !important}
.busca-avancada-grid label>span{font-size:11px !important}
.busca-avancada-grid input,.busca-avancada-grid select{font-size:14px !important}
.btn-limpar-busca-avancada,.btn-buscar-avancada{font-size:11px !important}
.busca-avancada-info{font-size:11px !important}
.busca-resultado-resumo{font-size:12px !important}
.busca-resultado-info strong{font-size:15px !important}
.busca-resultado-info span{font-size:12px !important}
.busca-resultado-visitar{font-size:11px !important}
.busca-sem-resultado{font-size:13px !important}

/* Adoção */
.adocao-eyebrow{font-size:10px !important}
.adocao-header h2{font-size:24px !important}
.adocao-header p{font-size:13px !important}
.adocao-passo strong{font-size:13px !important}
.adocao-passo small{font-size:11px !important}
.adocao-campo>span{font-size:11px !important}
.adocao-select-wrap select{font-size:14px !important}
.adocao-info-seguranca strong{font-size:12px !important}
.adocao-info-seguranca span{font-size:11px !important}
.adocao-resultados-topo h3{font-size:21px !important}
.adocao-contador{font-size:11px !important}
.adocao-vazio h4{font-size:17px !important}
.adocao-vazio p{font-size:13px !important}
.ong-card-somente-link .ong-info strong{font-size:16px !important}
.ong-card-somente-link .ong-info span{font-size:12px !important}
.ong-selo{font-size:10px !important}
.ong-link{font-size:12px !important}
.ong-sem-link{font-size:12px !important}

/* Login / cadastro / redefinição */
.auth-eterno-topo h2{font-size:22px !important}
.auth-eterno-intro{font-size:13px !important}
.auth-eterno-campo label{font-size:11px !important}
.auth-eterno-campo input{font-size:14px !important}
.auth-eterno-submit{font-size:12px !important}
.auth-eterno-links button{font-size:12px !important}
.auth-eterno-alerta{font-size:12px !important}

/* Memorial */
#modalPet{font-size:15px !important}
#modalPet h1{font-size:30px !important}
#modalPet h2{font-size:22px !important}
#modalPet h3{font-size:18px !important}
#modalPet p,#modalPet span,#modalPet button{font-size:13px !important}

/* Eternizar */
#modalEternizar{font-size:15px !important}
#modalEternizar .modal-title{font-size:24px !important}
#modalEternizar h2{font-size:24px !important}
#modalEternizar h3{font-size:18px !important}
#modalEternizar p,#modalEternizar span,#modalEternizar label{font-size:13px !important}
#modalEternizar input,#modalEternizar select,#modalEternizar textarea{font-size:14px !important}

/* Entrada / recepção / história */
.entrada-interior-overlay,.modal-historia-mariah{font-size:15px !important}
.entrada-interior-overlay h2,.modal-historia-mariah h2{font-size:24px !important}
.entrada-interior-overlay h3,.modal-historia-mariah h3{font-size:19px !important}
.entrada-interior-overlay p,.modal-historia-mariah p{font-size:13px !important}
.entrada-interior-overlay label{font-size:11px !important}
.entrada-interior-overlay input,.entrada-interior-overlay select{font-size:14px !important}

/* Botões fixos */
.acoes-topo.acoes-globais > .acao-topo.menu{font-size:15px !important}
#btnMinhaContaTopo{font-size:13px !important}
.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio .texto{font-size:13px !important}

/* Mobile */
@media(max-width:720px){
  html{font-size:15px !important}
  .painel-usuario-header h1{font-size:22px !important}
  .painel-usuario-header p{font-size:12px !important}
  .painel-nav-item{font-size:11px !important}
  .painel-hero-texto h2{font-size:22px !important}
  .painel-hero-texto p{font-size:12px !important}
  .painel-stat-card strong{font-size:23px !important}
  .meu-tumulo-info strong{font-size:15px !important}
  .meu-tumulo-info span{font-size:11px !important}
  .memorial-card-acoes button{font-size:11px !important}
  .busca-avancada-header h2,.adocao-header h2,.auth-eterno-topo h2{font-size:20px !important}
  .busca-avancada-header p,.adocao-header p,.auth-eterno-intro{font-size:12px !important}
  .menu-jardim-link{font-size:14px !important}
  #btnMinhaContaTopo,.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio .texto{font-size:10px !important}
}

/* modal-eternizar-premium-v1152 */
/* =========================================================
   v1.0.152 — ETEMIZAR PET com UI moderna e mais atrativa
   ========================================================= */

#modalEternizar .modal-dialog{
  width:min(1180px,calc(100vw - 36px)) !important;
  max-width:1180px !important;
  margin:18px auto !important;
}

#modalEternizar .modal-content,
.modal-eternizar-conteudo{
  max-height:calc(100dvh - 36px) !important;
  border:1px solid #dfe4ec !important;
  border-radius:24px !important;
  background:#f7f9fc !important;
  box-shadow:0 30px 90px rgba(19,28,48,.24) !important;
  overflow:hidden !important;
}

/* Cabeçalho */
#modalEternizar .modal-header{
  position:relative !important;
  min-height:92px !important;
  padding:22px 76px 20px 26px !important;
  border-bottom:1px solid #dfe4ec !important;
  background:
    radial-gradient(circle at 90% 0,rgba(255,255,255,.12),transparent 32%),
    linear-gradient(135deg,#2e279f,#5048c6) !important;
}

#modalEternizar .modal-header::before{
  content:"";
  display:block;
  width:44px;
  height:44px;
  flex:0 0 44px;
  margin-right:13px;
  border-radius:13px;
  background:#ffd84d;
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}

#modalEternizar .modal-header::after{
  content:"\f1b0";
  position:absolute;
  left:39px;
  top:34px;
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  color:#2f299f;
  font-size:18px;
}

#modalEternizar .modal-title{
  margin:0 !important;
  color:#fff !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:26px !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
}

#modalEternizar .modal-header .btn-close,
#modalEternizar .btn-fechar-eternizar{
  position:absolute !important;
  top:20px !important;
  right:20px !important;
  width:44px !important;
  height:44px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  opacity:1 !important;
  box-shadow:none !important;
}

/* Corpo */
#modalEternizar .modal-body{
  min-height:0 !important;
  overflow-y:auto !important;
  padding:24px 26px 28px !important;
  background:
    linear-gradient(180deg,#f8fafc 0%,#f3f6fa 100%) !important;
  -webkit-overflow-scrolling:touch;
}

/* Etapas */
#modalEternizar .etapas-eternizar,
#modalEternizar .passos-eternizar,
#modalEternizar .steps-eternizar{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  margin-bottom:28px !important;
}

#modalEternizar .etapa,
#modalEternizar .passo-eternizar,
#modalEternizar .step{
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:10px 12px !important;
  border:1px solid #dce2ea !important;
  border-radius:13px !important;
  background:#fff !important;
  color:#798496 !important;
  font-size:11px !important;
  font-weight:800 !important;
  box-shadow:none !important;
}

#modalEternizar .etapa.ativa,
#modalEternizar .passo-eternizar.ativo,
#modalEternizar .step.active{
  border-color:#c6c0f4 !important;
  background:#eeecff !important;
  color:#342aa5 !important;
}

/* Título e introdução */
#modalEternizar .titulo-etapa,
#modalEternizar .eternizar-titulo,
#modalEternizar .cabecalho-etapa{
  max-width:760px !important;
  margin:0 auto 24px !important;
  text-align:center !important;
}

#modalEternizar .titulo-etapa h2,
#modalEternizar .eternizar-titulo h2,
#modalEternizar .cabecalho-etapa h2,
#modalEternizar .modal-body > h2{
  margin:0 !important;
  color:#202938 !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:27px !important;
  font-weight:800 !important;
  letter-spacing:-.025em !important;
}

#modalEternizar .titulo-etapa p,
#modalEternizar .eternizar-titulo p,
#modalEternizar .cabecalho-etapa p,
#modalEternizar .modal-body > p{
  margin:8px auto 0 !important;
  color:#6f7b8e !important;
  font-size:14px !important;
  line-height:1.55 !important;
}

/* Grade dos planos */
#modalEternizar .row:has(.plano-card),
#modalEternizar .planos-grid,
#modalEternizar .lista-planos{
  max-width:900px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  gap:16px !important;
}

/* Cards */
#modalEternizar .plano-card,
#modalEternizar .card-plano,
#modalEternizar .plano-gratis,
#modalEternizar .plano-pago{
  position:relative !important;
  height:100% !important;
  padding:22px !important;
  border:1px solid #dfe4ec !important;
  border-radius:18px !important;
  background:#fff !important;
  box-shadow:0 10px 28px rgba(28,40,70,.07) !important;
  overflow:hidden !important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease !important;
}

#modalEternizar .plano-card:hover,
#modalEternizar .card-plano:hover{
  transform:translateY(-3px) !important;
  box-shadow:0 16px 34px rgba(28,40,70,.11) !important;
  border-color:#c8c3ee !important;
}

#modalEternizar .plano-card.selecionado,
#modalEternizar .card-plano.selecionado{
  border:2px solid #4036b8 !important;
  box-shadow:0 0 0 4px rgba(64,54,184,.08),0 14px 34px rgba(28,40,70,.10) !important;
}

/* Plano eterno em destaque */
#modalEternizar .plano-pago,
#modalEternizar .plano-eterno{
  background:
    radial-gradient(circle at 100% 0,#fff4bf 0,transparent 34%),
    #fffdfa !important;
}

#modalEternizar .plano-pago::before,
#modalEternizar .plano-eterno::before{
  content:"MAIS ESCOLHIDO";
  position:absolute;
  top:14px;
  right:14px;
  padding:6px 8px;
  border-radius:999px;
  background:#2f299f;
  color:#fff;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
}

/* Ícones grandes dos planos */
#modalEternizar .plano-icone,
#modalEternizar .icone-plano{
  width:58px !important;
  height:58px !important;
  display:grid !important;
  place-items:center !important;
  margin-bottom:16px !important;
  border-radius:15px !important;
  background:#eef0ff !important;
  color:#31299d !important;
  font-size:28px !important;
}

/* Nome e preço */
#modalEternizar .plano-card h3,
#modalEternizar .card-plano h3,
#modalEternizar .plano-gratis h3,
#modalEternizar .plano-pago h3{
  margin:0 !important;
  color:#1f2937 !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:21px !important;
  font-weight:800 !important;
}

#modalEternizar .preco-plano,
#modalEternizar .plano-preco{
  margin-top:8px !important;
  color:#2f299f !important;
  font-family:Inter,Arial,sans-serif !important;
  font-size:30px !important;
  font-weight:900 !important;
  letter-spacing:-.03em !important;
}

/* Benefícios */
#modalEternizar .plano-card ul,
#modalEternizar .card-plano ul{
  display:grid !important;
  gap:9px !important;
  margin:18px 0 22px !important;
  padding:0 !important;
  list-style:none !important;
}

#modalEternizar .plano-card li,
#modalEternizar .card-plano li{
  position:relative !important;
  padding-left:24px !important;
  color:#4f5d70 !important;
  font-size:13px !important;
  line-height:1.45 !important;
}

#modalEternizar .plano-card li::before,
#modalEternizar .card-plano li::before{
  content:"\f00c";
  position:absolute;
  left:0;
  top:1px;
  width:17px;
  height:17px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e6f4df;
  color:#37773a;
  font-family:"Font Awesome 6 Free";
  font-weight:900;
  font-size:9px;
}

/* Botões */
#modalEternizar .plano-card button,
#modalEternizar .card-plano button,
#modalEternizar .btn-escolher-plano{
  width:100% !important;
  min-height:50px !important;
  border:0 !important;
  border-radius:12px !important;
  background:#eceff3 !important;
  color:#2e3746 !important;
  font-size:13px !important;
  font-weight:900 !important;
  box-shadow:none !important;
}

#modalEternizar .plano-pago button,
#modalEternizar .plano-eterno button{
  background:#ffd84d !important;
  color:#171717 !important;
}

#modalEternizar .plano-card button:hover,
#modalEternizar .card-plano button:hover{
  transform:translateY(-1px) !important;
  filter:brightness(.98) !important;
}

/* Formulários das etapas seguintes */
#modalEternizar input,
#modalEternizar select,
#modalEternizar textarea{
  min-height:48px !important;
  border:1px solid #d7dee8 !important;
  border-radius:11px !important;
  background:#fff !important;
  color:#273244 !important;
  font-size:14px !important;
  box-shadow:none !important;
}

#modalEternizar textarea{
  min-height:110px !important;
}

#modalEternizar input:focus,
#modalEternizar select:focus,
#modalEternizar textarea:focus{
  border-color:#7c72ca !important;
  box-shadow:0 0 0 3px rgba(79,70,191,.10) !important;
}

#modalEternizar label{
  color:#616e80 !important;
  font-size:11px !important;
  font-weight:800 !important;
}

/* Rodapé de navegação */
#modalEternizar .rodape-etapa,
#modalEternizar .acoes-etapa{
  position:sticky !important;
  bottom:0 !important;
  z-index:10 !important;
  display:flex !important;
  justify-content:space-between !important;
  gap:10px !important;
  margin:24px -26px -28px !important;
  padding:15px 26px calc(15px + env(safe-area-inset-bottom)) !important;
  border-top:1px solid #dfe4ec !important;
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(10px) !important;
}

/* Mobile */
@media(max-width:720px){
  #modalEternizar .modal-dialog{
    width:100% !important;
    max-width:none !important;
    min-height:100dvh !important;
    margin:0 !important;
  }

  #modalEternizar .modal-content,
  .modal-eternizar-conteudo{
    min-height:100dvh !important;
    max-height:100dvh !important;
    border-radius:0 !important;
  }

  #modalEternizar .modal-header{
    min-height:80px !important;
    padding:18px 64px 16px 18px !important;
  }

  #modalEternizar .modal-title{
    font-size:22px !important;
  }

  #modalEternizar .modal-header::before,
  #modalEternizar .modal-header::after{
    display:none !important;
  }

  #modalEternizar .modal-body{
    padding:16px 14px 22px !important;
  }

  #modalEternizar .etapas-eternizar,
  #modalEternizar .passos-eternizar,
  #modalEternizar .steps-eternizar{
    grid-template-columns:repeat(4,1fr) !important;
    gap:6px !important;
    overflow-x:auto !important;
  }

  #modalEternizar .etapa,
  #modalEternizar .passo-eternizar,
  #modalEternizar .step{
    min-width:100px !important;
    min-height:50px !important;
    padding:8px !important;
    font-size:9px !important;
  }

  #modalEternizar .titulo-etapa h2,
  #modalEternizar .eternizar-titulo h2,
  #modalEternizar .cabecalho-etapa h2,
  #modalEternizar .modal-body > h2{
    font-size:22px !important;
  }

  #modalEternizar .titulo-etapa p,
  #modalEternizar .eternizar-titulo p,
  #modalEternizar .cabecalho-etapa p,
  #modalEternizar .modal-body > p{
    font-size:12px !important;
  }

  #modalEternizar .plano-card,
  #modalEternizar .card-plano,
  #modalEternizar .plano-gratis,
  #modalEternizar .plano-pago{
    padding:17px !important;
  }

  #modalEternizar .plano-pago::before,
  #modalEternizar .plano-eterno::before{
    position:static !important;
    display:inline-block !important;
    margin-bottom:12px !important;
  }

  #modalEternizar .preco-plano,
  #modalEternizar .plano-preco{
    font-size:26px !important;
  }

  #modalEternizar .rodape-etapa,
  #modalEternizar .acoes-etapa{
    margin:20px -14px -22px !important;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom)) !important;
  }
}

/* limpeza-menu-explorar-v1153 */
/* =========================================================
   v1.0.153 — menu limpo + Font Awesome + correção do EXPLORAR
   ========================================================= */

/* Ícones Font Awesome do menu */
#modalMenuJardim .menu-jardim-icone{
  display:grid !important;
  place-items:center !important;
  width:40px !important;
  height:40px !important;
  flex:0 0 40px !important;
  border-radius:11px !important;
  background:#efedff !important;
  color:#3931a6 !important;
  font-size:16px !important;
}

#modalMenuJardim .menu-jardim-icone i{
  display:block !important;
  font-size:16px !important;
  line-height:1 !important;
}

/*
 * Neutraliza por completo o antigo visual de aba lateral.
 * O EXPLORAR pertence à barra superior e não deve gerar
 * nenhuma caixa, botão, sombra ou pseudo-elemento abaixo dele.
 */
.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio{
  position:relative !important;
  inset:auto !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  height:58px !important;
  min-height:58px !important;
  max-height:58px !important;
  margin:0 !important;
  padding:0 14px !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  transform:none !important;
  writing-mode:horizontal-tb !important;
  border:1px solid rgba(28,36,50,.18) !important;
  border-radius:12px !important;
  background:#2f2aa0 !important;
  color:#fff !important;
  box-shadow:0 7px 20px rgba(15,23,42,.12) !important;
  overflow:hidden !important;
}

.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio::before,
.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio::after{
  content:none !important;
  display:none !important;
}

.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio .icone{
  width:auto !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:16px !important;
  line-height:1 !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
}

.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio .texto{
  margin:0 !important;
  padding:0 !important;
  display:inline-block !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1 !important;
  writing-mode:horizontal-tb !important;
  transform:none !important;
}

/* Nenhum botão legado pode aparecer na barra */
.acoes-topo.acoes-globais #btnBuscarLote,
.acoes-topo.acoes-globais #btnTema,
.acoes-topo.acoes-globais .busca-topo,
.acoes-topo.acoes-globais .tema-topo{
  display:none !important;
}

/* Toolbar contém somente MENU, MINHA CONTA e EXPLORAR */
.acoes-topo.acoes-globais{
  overflow:visible !important;
}

@media(max-width:900px){
  .acoes-topo.acoes-globais > #btnAbrirPainelCemiterio{
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
  }
}

@media(max-width:575.98px){
  .acoes-topo.acoes-globais > #btnAbrirPainelCemiterio{
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
    padding:0 8px !important;
  }

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

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

/* perfil-senha-explorar-fix-v1154 */
/* =========================================================
   v1.0.154 — segurança de senha + limpeza definitiva do EXPLORAR
   ========================================================= */

/*
 * EXPLORAR não usa mais absolutamente nenhum estilo da antiga aba lateral.
 * Remove também qualquer sombra dura que visualmente parecia um segundo botão.
 */
.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio{
  box-shadow:none !important;
  filter:none !important;
  outline:none !important;
  overflow:hidden !important;
  isolation:isolate !important;
}

.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio::before,
.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio::after{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  border:0 !important;
  box-shadow:none !important;
}

/* remove qualquer sombra dos três botões principais para evitar falsas duplicidades */
.acoes-topo.acoes-globais > .acao-topo{
  box-shadow:none !important;
}

/* ---------- Perfil / alteração de senha ---------- */

.perfil-senha-secao{
  margin-top:8px;
  padding-top:18px;
  border-top:1px solid var(--ui-border,#dfe4ec);
}

.campo-senha-wrap{
  position:relative;
}

.campo-senha-wrap input{
  padding-right:48px !important;
}

.btn-ver-senha{
  position:absolute;
  top:50%;
  right:7px;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:9px;
  background:#f0f2f6;
  color:#647084;
  cursor:pointer;
}

.btn-ver-senha:hover{
  background:#e7e9f1;
  color:#342fa2;
}

.senha-seguranca{
  margin-top:9px;
  padding:12px;
  border:1px solid #e0e5ec;
  border-radius:12px;
  background:#f8fafc;
}

.senha-seguranca-topo{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
  color:#667286;
  font:12px Arial,sans-serif;
}

.senha-seguranca-topo strong{
  color:#7b8798;
  font-size:12px;
}

.senha-seguranca-barra{
  height:7px;
  overflow:hidden;
  border-radius:999px;
  background:#e7ebf0;
}

.senha-seguranca-barra span{
  display:block;
  width:0;
  height:100%;
  border-radius:999px;
  background:#c4cad3;
  transition:width .22s ease,background .22s ease;
}

.senha-requisitos{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 12px;
  margin-top:10px;
}

.senha-requisitos span{
  display:flex;
  align-items:center;
  gap:6px;
  color:#8a94a3;
  font:11px Arial,sans-serif;
}

.senha-requisitos span i{
  font-size:6px;
}

.senha-requisitos span.ok{
  color:#2f7a48;
}

.senha-requisitos span.ok i{
  font-size:10px;
}

.senha-confirmacao{
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:8px;
  color:#7c8797;
  font:12px Arial,sans-serif;
}

.senha-confirmacao.ok{
  color:#2f7a48;
}

.senha-confirmacao.erro{
  color:#d73f47;
}

.perfil-feedback{
  display:none;
  padding:11px 13px;
  border-radius:11px;
  font:13px Arial,sans-serif;
}

.perfil-feedback.ativo{
  display:block;
}

.perfil-feedback.sucesso{
  background:#e9f7e7;
  color:#2e6f36;
  border:1px solid #cce8c8;
}

.perfil-feedback.erro{
  background:#fff0f0;
  color:#b83239;
  border:1px solid #f4cccc;
}

@media(max-width:720px){
  .senha-requisitos{
    grid-template-columns:1fr;
  }

  .senha-seguranca-topo,
  .senha-requisitos span,
  .senha-confirmacao{
    font-size:12px !important;
  }
}

/* remove-atalhos-legados-v1156 */
.atalhos-laterais-externos,
.btn-atalho-externo,
.btn-atalho-externo.busca{display:none!important;visibility:hidden!important;pointer-events:none!important;}

/* menu-topo-novo-v1157 */
/* v1.0.157 — novo botão MENU acima de MINHA CONTA */
.acoes-topo.acoes-globais > #btnAbrirMenuJardim{
  order:1 !important;
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  height:58px !important;
  min-height:58px !important;
  max-height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  padding:0 14px !important;
  margin:0 !important;
  border:1px solid rgba(28,36,50,.20) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#202938 !important;
  box-shadow:none !important;
  font-size:13px !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

.acoes-topo.acoes-globais > #btnAbrirMenuJardim i{
  font-size:15px !important;
  color:#2f2aa0 !important;
}

.acoes-topo.acoes-globais > #btnMinhaContaTopo{
  order:2 !important;
}

.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio{
  order:3 !important;
}

.acoes-topo.acoes-globais > #btnAbrirMenuJardim:hover{
  transform:translateY(-1px) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.10) !important;
}

@media(max-width:900px){
  .acoes-topo.acoes-globais > #btnAbrirMenuJardim{
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
  }
}

@media(max-width:575.98px){
  .acoes-topo.acoes-globais > #btnAbrirMenuJardim{
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
    padding:0 8px !important;
    font-size:10px !important;
  }

  .acoes-topo.acoes-globais > #btnAbrirMenuJardim i{
    font-size:12px !important;
  }
}

/* menu-toolbar-fix-v1158 */
/* =========================================================
   v1.0.158 — MENU realmente visível na toolbar
   ========================================================= */

.acoes-topo.acoes-globais{
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:8px !important;
  overflow:visible !important;
}

/* MENU */
.acoes-topo.acoes-globais > #btnAbrirMenuJardim{
  order:1 !important;
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  min-width:100% !important;
  max-width:100% !important;
  height:58px !important;
  min-height:58px !important;
  max-height:58px !important;
  margin:0 !important;
  padding:0 14px !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  border:1px solid rgba(28,36,50,.20) !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#202938 !important;
  box-shadow:none !important;
  transform:none !important;
  font-size:13px !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

/* MINHA CONTA */
.acoes-topo.acoes-globais > #btnMinhaContaTopo{
  order:2 !important;
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

/* EXPLORAR */
.acoes-topo.acoes-globais > #btnAbrirPainelCemiterio{
  order:3 !important;
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

/* A busca antiga continua removida da toolbar */
#btnBuscarLote,
#btnAbrirBusca,
#btnBusca,
.acoes-topo .busca-topo,
.acoes-topo .btn-busca,
.acoes-topo [aria-label*="Buscar"],
.acoes-topo [aria-label*="busca"]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Esconde a toolbar apenas enquanto um modal/tela de foco estiver aberto */
body.modal-open .acoes-topo.acoes-globais,
body.painel-explorar-aberto .acoes-topo.acoes-globais,
body.busca-overlay-aberto .acoes-topo.acoes-globais,
body.entrada-interior-aberta .acoes-topo.acoes-globais,
body.modal-mariah-aberto .acoes-topo.acoes-globais{
  display:none !important;
}

@media(max-width:900px){
  .acoes-topo.acoes-globais > #btnAbrirMenuJardim{
    height:52px !important;
    min-height:52px !important;
    max-height:52px !important;
  }
}

@media(max-width:575.98px){
  .acoes-topo.acoes-globais > #btnAbrirMenuJardim{
    height:46px !important;
    min-height:46px !important;
    max-height:46px !important;
    padding:0 8px !important;
    font-size:10px !important;
  }
}

/* remove-separador-paginas-v1159 */
/* v1.0.159 — remove definitivamente o separador "Páginas:" do menu */
#modalMenuJardim .menu-jardim-separador{
  display:none !important;
}

/* fix-backdrop-tumulo-aleatorio-v1160 */
/* =========================================================
   v1.0.160 — evita overlay travado após Túmulo Aleatório
   ========================================================= */

/*
 * Se por algum motivo a classe do body sobreviver sem o painel aberto,
 * não deixa o pseudo-backdrop bloquear a interface.
 */
body.painel-explorar-aberto:not(:has(#painelLateralCemiterio.aberto))::before{
  content:none !important;
  display:none !important;
  pointer-events:none !important;
}

/* Quando o memorial fecha, o mundo deve voltar a receber interação. */
body:not(.modal-open):not(.painel-explorar-aberto) .mundo-viewport{
  pointer-events:auto !important;
}

/* Backdrops Bootstrap nunca podem sobreviver invisíveis sobre o mundo. */
.modal-backdrop:not(.show){
  pointer-events:none !important;
}

/* buscar-via-entrada-v1161 */
/* =========================================================
   v1.0.161 — Buscar memorial passa pela Entrada Principal
   ========================================================= */

#painelBuscarEntrada{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
}

#painelBuscarEntrada i{
  font-size:13px !important;
}

#painelBuscarEntrada:disabled{
  opacity:.72 !important;
  cursor:wait !important;
}

/*
 * Segurança extra: o antigo modal de busca nunca deve ser acionado
 * pelo botão do painel Explorar.
 */
#painelBuscarEntrada[data-bs-toggle],
#painelBuscarEntrada[data-bs-target]{
  pointer-events:auto !important;
}

/* remove-dia-noite-explorar-v1162 */
/* v1.0.162 — remove DIA / NOITE do painel EXPLORAR */
#painelAlternarTema,
#painelLateralCemiterio [data-acao="tema"],
#painelLateralCemiterio .btn-tema,
#painelLateralCemiterio .alternar-tema{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* navegacao-fixa-entrada-v1163 */
/* =========================================================
   v1.0.163 — navegação fixa sempre disponível na entrada
   ========================================================= */

/*
 * MENU / MINHA CONTA / EXPLORAR permanecem fixos no mundo.
 * Eles só somem quando uma tela de foco real está aberta.
 */
body:not(.modal-open):not(.busca-overlay-aberto):not(.entrada-interior-aberta):not(.modal-mariah-aberto)
.acoes-topo.acoes-globais{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

/* Se o EXPLORAR já fechou, uma classe residual não pode esconder a toolbar. */
body.painel-explorar-aberto:not(:has(#painelLateralCemiterio.aberto))
.acoes-topo.acoes-globais{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

/* Os três botões continuam clicáveis e fixos após retornar à entrada. */
body:not(.modal-open):not(.busca-overlay-aberto):not(.entrada-interior-aberta):not(.modal-mariah-aberto)
#btnAbrirMenuJardim,
body:not(.modal-open):not(.busca-overlay-aberto):not(.entrada-interior-aberta):not(.modal-mariah-aberto)
#btnMinhaContaTopo,
body:not(.modal-open):not(.busca-overlay-aberto):not(.entrada-interior-aberta):not(.modal-mariah-aberto)
#btnAbrirPainelCemiterio{
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

/* editar-galeria-v1164 */
/* =========================================================
   v1.0.164 — gerenciamento de fotos no Editar Memorial
   ========================================================= */

#modalEditarMemorial .editar-formulario{
  padding-bottom:24px !important;
}

.editar-galeria-memorial{
  margin-top:20px;
  padding-top:20px;
  border-top:1px solid var(--ui-border,#dfe4ec);
}

.editar-galeria-cabecalho{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.editar-galeria-cabecalho h3{
  display:flex;
  align-items:center;
  gap:8px;
  margin:0;
  color:#202938;
  font:800 18px/1.25 Inter,Arial,sans-serif;
}

.editar-galeria-cabecalho h3 i{
  color:#3931a6;
}

.editar-galeria-cabecalho p{
  margin:5px 0 0;
  color:#738094;
  font:13px/1.45 Arial,sans-serif;
}

.editar-galeria-contador{
  flex:0 0 auto;
  padding:8px 11px;
  border:1px solid #d9deea;
  border-radius:999px;
  background:#fff;
  color:#647084;
  font:12px Arial,sans-serif;
}

.editar-galeria-contador strong{
  color:#30299e;
  font-size:14px;
}

.editar-galeria-upgrade{
  display:none;
  grid-template-columns:42px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:13px;
  border:1px solid #eadfa7;
  border-radius:13px;
  background:#fff9dc;
}

.editar-galeria-upgrade.ativo{
  display:grid;
}

.editar-galeria-upgrade > i{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#ffe880;
  color:#6e5800;
}

.editar-galeria-upgrade strong,
.editar-galeria-upgrade span{
  display:block;
}

.editar-galeria-upgrade strong{
  color:#5d4d0d;
  font:800 13px Arial,sans-serif;
}

.editar-galeria-upgrade span{
  margin-top:3px;
  color:#7d713e;
  font:11px/1.4 Arial,sans-serif;
}

.editar-galeria-conteudo.bloqueado{
  display:none;
}

.editar-galeria-drop{
  width:100%;
  min-height:92px;
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:16px;
  border:1.5px dashed #aeb8ca;
  border-radius:14px;
  background:#f8fafc;
  color:#344054;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,transform .16s ease;
}

.editar-galeria-drop:hover,
.editar-galeria-drop.arrastando{
  border-color:#655bc5;
  background:#f1efff;
}

.editar-galeria-drop:hover{
  transform:translateY(-1px);
}

.editar-galeria-drop-icone{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:#e9e6ff;
  color:#3b33a8;
  font-size:19px;
}

.editar-galeria-drop-texto strong,
.editar-galeria-drop-texto small{
  display:block;
}

.editar-galeria-drop-texto strong{
  color:#293244;
  font:800 14px Arial,sans-serif;
}

.editar-galeria-drop-texto small{
  margin-top:4px;
  color:#7b8798;
  font:12px Arial,sans-serif;
}

.editar-galeria-drop-formatos{
  color:#8a94a3;
  font:800 10px Arial,sans-serif;
  white-space:nowrap;
}

.editar-galeria-dica{
  display:flex;
  gap:7px;
  align-items:flex-start;
  margin-top:9px;
  color:#768196;
  font:11px/1.45 Arial,sans-serif;
}

.editar-galeria-dica i{
  margin-top:2px;
  color:#6961bc;
}

.editar-galeria-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}

.editar-galeria-item{
  position:relative;
  min-width:0;
  overflow:hidden;
  border:1px solid #dbe1e9;
  border-radius:13px;
  background:#fff;
  box-shadow:0 5px 15px rgba(31,42,65,.06);
}

.editar-galeria-foto{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  background:#e9edf3;
}

.editar-galeria-foto img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.editar-galeria-capa{
  position:absolute;
  top:7px;
  left:7px;
  display:none;
  align-items:center;
  gap:4px;
  padding:5px 7px;
  border-radius:999px;
  background:rgba(47,42,160,.94);
  color:#fff;
  font:800 9px Arial,sans-serif;
  backdrop-filter:blur(4px);
}

.editar-galeria-item.capa .editar-galeria-capa{
  display:inline-flex;
}

.editar-galeria-item-acoes{
  display:grid;
  grid-template-columns:minmax(0,1fr) 38px;
  gap:6px;
  padding:8px;
}

.editar-galeria-btn-capa,
.editar-galeria-btn-remover{
  min-height:36px;
  border:0;
  border-radius:9px;
  font:800 10px Arial,sans-serif;
  cursor:pointer;
}

.editar-galeria-btn-capa{
  padding:0 9px;
  background:#eeecff;
  color:#3932a3;
}

.editar-galeria-item.capa .editar-galeria-btn-capa{
  background:#edf5ec;
  color:#3a7240;
}

.editar-galeria-btn-remover{
  width:38px;
  padding:0;
  background:#fff0f0;
  color:#df3f46;
}

.editar-galeria-vazia{
  display:none;
  min-height:130px;
  margin-top:14px;
  padding:22px;
  border:1px dashed #ccd4df;
  border-radius:13px;
  background:#fbfcfd;
  color:#7c8797;
  text-align:center;
}

.editar-galeria-vazia.ativo{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.editar-galeria-vazia > i{
  margin-bottom:8px;
  color:#aaa5d9;
  font-size:25px;
}

.editar-galeria-vazia strong{
  color:#536073;
  font:800 13px Arial,sans-serif;
}

.editar-galeria-vazia span{
  max-width:440px;
  margin-top:4px;
  font:11px/1.45 Arial,sans-serif;
}

/* Deixa a edição confortável quando a galeria cresce */
#modalEditarMemorial .editar-memorial-body{
  overflow:auto !important;
}

#modalEditarMemorial .editar-formulario{
  overflow:visible !important;
}

@media(max-width:900px){
  .editar-galeria-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .editar-galeria-cabecalho{
    align-items:center;
  }

  .editar-galeria-cabecalho h3{
    font-size:16px;
  }

  .editar-galeria-cabecalho p{
    font-size:12px;
  }

  .editar-galeria-drop{
    grid-template-columns:42px minmax(0,1fr);
    min-height:84px;
    padding:12px;
  }

  .editar-galeria-drop-icone{
    width:42px;
    height:42px;
  }

  .editar-galeria-drop-formatos{
    grid-column:2;
    margin-top:-7px;
  }

  .editar-galeria-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:420px){
  .editar-galeria-grid{
    grid-template-columns:1fr;
  }
}

/* linha-historia-v1165 */
/* =========================================================
   v1.0.165 — linha da história + rascunho
   ========================================================= */
.historia-editor,.editar-linha-historia{
  margin-top:20px;padding:20px;border:1px solid #dfe4ec;border-radius:16px;background:#fff;
}
.historia-editor-topo{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}
.historia-kicker{display:block;margin-bottom:5px;color:#655bc5;font:800 10px Arial,sans-serif;letter-spacing:.08em}
.historia-editor-topo h3{margin:0;color:#202938;font:800 19px/1.25 Inter,Arial,sans-serif}
.historia-editor-topo h3 i{color:#3931a6;margin-right:5px}
.historia-editor-topo p{max-width:690px;margin:6px 0 0;color:#728094;font:13px/1.5 Arial,sans-serif}
.historia-limite{flex:0 0 auto;padding:8px 11px;border:1px solid #dce2ea;border-radius:999px;background:#f8fafc;color:#718096;font:12px Arial,sans-serif}
.historia-limite strong{color:#30299e;font-size:14px}
.historia-editor-form{display:grid;grid-template-columns:190px minmax(0,1fr);gap:12px;padding:15px;border:1px solid #e1e6ed;border-radius:13px;background:#f8fafc}
.historia-campo{display:flex;flex-direction:column;gap:6px}
.historia-campo label{color:#667286;font:800 11px Arial,sans-serif}
.historia-campo label span{font-weight:400;color:#98a2b3}
.historia-campo input,.historia-campo textarea{width:100%;border:1px solid #d4dce6!important;border-radius:10px!important;background:#fff!important;color:#273244;font:14px Arial,sans-serif;outline:none}
.historia-campo input{height:46px;padding:0 11px}
.historia-campo textarea{min-height:90px;padding:11px;resize:vertical}
.historia-campo input:focus,.historia-campo textarea:focus{border-color:#766bc6!important;box-shadow:0 0 0 3px rgba(82,70,190,.10)!important}
.historia-campo-descricao,.historia-campo-foto{grid-column:1/-1}
.historia-foto-seletor{width:100%;min-height:72px;display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center;padding:9px 11px;border:1px dashed #b9c3d1;border-radius:11px;background:#fff;color:#344054;text-align:left;cursor:pointer}
.historia-foto-preview{width:52px;height:52px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#ebe9ff;color:#4037ad;font-size:18px}
.historia-foto-preview img{width:100%;height:100%;object-fit:cover}
.historia-foto-seletor strong,.historia-foto-seletor small{display:block}.historia-foto-seletor strong{font:800 12px Arial,sans-serif}.historia-foto-seletor small{margin-top:3px;color:#8a94a3;font:10px Arial,sans-serif}
.historia-editor-acoes{display:flex;justify-content:flex-end;gap:8px;margin-top:11px}
.historia-btn-adicionar,.historia-btn-cancelar{min-height:42px;padding:0 14px;border:0;border-radius:10px;font:800 12px Arial,sans-serif;cursor:pointer}
.historia-btn-adicionar{background:#2f2aa0;color:#fff}.historia-btn-cancelar{background:#eef1f5;color:#526074}
.historia-editor-vazio{min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-top:14px;padding:18px;border:1px dashed #cad2de;border-radius:13px;background:#fbfcfd;color:#8490a0;text-align:center}
.historia-editor-vazio i{margin-bottom:7px;color:#aaa5db;font-size:22px}.historia-editor-vazio strong{color:#536073;font:800 13px Arial,sans-serif}.historia-editor-vazio span{max-width:520px;margin-top:4px;font:11px/1.5 Arial,sans-serif}
.historia-editor-vazio.d-none{display:none!important}
.historia-editor-lista{display:grid;gap:9px;margin-top:14px}
.historia-editor-item{display:grid;grid-template-columns:116px 72px minmax(0,1fr) auto;gap:11px;align-items:center;padding:11px;border:1px solid #dfe5ed;border-radius:12px;background:#fff}
.historia-editor-data{color:#4a43ad;font:800 11px Arial,sans-serif}
.historia-editor-thumb{width:72px;height:58px;display:grid;place-items:center;overflow:hidden;border-radius:9px;background:#edf0f5;color:#9ba4b2}
.historia-editor-thumb img{width:100%;height:100%;object-fit:cover}.historia-editor-item-info strong{display:block;color:#263244;font:800 13px Arial,sans-serif}.historia-editor-item-info p{margin:4px 0 0;color:#778397;font:11px/1.45 Arial,sans-serif}
.historia-editor-item-acoes{display:flex;gap:5px}.historia-editor-item-acoes button{width:35px;height:35px;border:0;border-radius:9px;cursor:pointer}.historia-editor-editar{background:#e8f3ff;color:#25649a}.historia-editor-remover{background:#fff0f0;color:#d83c45}

.editar-linha-historia{padding:0;margin-top:20px;padding-top:20px;border-width:1px 0 0;border-radius:0}
.editar-historia-bloqueada{display:none;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;padding:13px;border:1px solid #eadfa7;border-radius:12px;background:#fff9dc}
.editar-historia-bloqueada.ativo{display:grid}.editar-historia-bloqueada>i{width:42px;height:42px;display:grid;place-items:center;border-radius:10px;background:#ffe780;color:#705900}.editar-historia-bloqueada strong,.editar-historia-bloqueada span{display:block}.editar-historia-bloqueada strong{font:800 13px Arial}.editar-historia-bloqueada span{margin-top:3px;color:#796d3b;font:11px Arial}
#editarHistoriaConteudo.bloqueado{display:none!important}

/* Rascunho */
.btn-salvar-rascunho{background:#fff!important;color:#342fa2!important;border:1px solid #cbc7ef!important}
.rascunho-aviso{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:11px 13px;border:1px solid #cddfc9;border-radius:11px;background:#eff8ed;color:#3b6f3c;font:12px Arial,sans-serif}
.rascunho-aviso.d-none{display:none!important}

/* Linha pública */
.linha-historia-publica{margin-top:24px;padding:22px;border:1px solid #dfe4ec;border-radius:17px;background:linear-gradient(180deg,#fff,#faf9ff)}
.memorial-gratis .linha-historia-publica{display:none!important}
.linha-historia-publica-topo{display:grid;grid-template-columns:50px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:18px}
.linha-historia-icone{width:50px;height:50px;display:grid;place-items:center;border-radius:14px;background:#ebe8ff;color:#3128a0;font-size:18px}
.linha-historia-kicker{display:block;color:#7268bd;font:800 10px Arial,sans-serif;letter-spacing:.06em}.linha-historia-publica h3{margin:3px 0 0;color:#202938;font:800 21px Inter,Arial,sans-serif}.linha-historia-publica-topo p{margin:5px 0 0;color:#748095;font:12px/1.5 Arial}
.linha-historia-publica-lista{position:relative;display:grid;gap:14px;padding-left:28px}
.linha-historia-publica-lista::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:linear-gradient(#4e45bc,#d9d5f6)}
.historia-publica-item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:16px;padding:16px;border:1px solid #e0e4eb;border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(35,45,70,.045)}
.historia-publica-item::before{content:"";position:absolute;left:-25px;top:22px;width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:#4339ad;box-shadow:0 0 0 2px #4339ad}
.historia-publica-data{display:inline-flex;margin-bottom:7px;padding:5px 8px;border-radius:999px;background:#efedff;color:#443aaa;font:800 10px Arial}.historia-publica-item h4{margin:0;color:#263244;font:800 16px Inter,Arial}.historia-publica-item p{margin:6px 0 0;color:#69768a;font:12px/1.55 Arial}.historia-publica-foto{width:170px;height:120px;overflow:hidden;border-radius:11px;background:#edf0f5}.historia-publica-foto img{width:100%;height:100%;object-fit:cover}
.historia-publica-sem-foto{display:grid;place-items:center;width:170px;height:120px;border-radius:11px;background:#f0effa;color:#aaa5d4;font-size:25px}
.linha-historia-sem-itens{padding:22px;border:1px dashed #cbd3de;border-radius:12px;color:#7c8797;text-align:center;font:12px Arial}

@media(max-width:720px){
  .historia-editor,.editar-linha-historia{padding:14px}.editar-linha-historia{padding-left:0;padding-right:0}
  .historia-editor-topo{align-items:center}.historia-editor-topo h3{font-size:17px}.historia-editor-topo p{font-size:12px}
  .historia-editor-form{grid-template-columns:1fr;padding:12px}.historia-campo-descricao,.historia-campo-foto{grid-column:auto}
  .historia-editor-item{grid-template-columns:86px 54px minmax(0,1fr)}.historia-editor-thumb{width:54px;height:50px}.historia-editor-item-acoes{grid-column:1/-1;justify-content:flex-end}
  .historia-publica-item{grid-template-columns:1fr}.historia-publica-foto,.historia-publica-sem-foto{width:100%;height:180px}
  .linha-historia-publica{padding:15px}.linha-historia-publica-lista{padding-left:24px}
  #modalEternizar .acoes-etapa{flex-wrap:wrap!important}.btn-salvar-rascunho{order:2;flex:1 1 45%}.btn-salvar-rascunho+#btnPublicarMemorial{order:3;flex:1 1 45%!important}
}

/* eternizar-ui-moderna-v1166 */
/* =========================================================
   v1.0.166 — fluxo Eternizar Pet moderno
   ========================================================= */
#modalEternizar .modal-dialog{
  width:min(1120px,calc(100vw - 28px))!important;
  max-width:1120px!important;
}
#modalEternizar .modal-content{
  border:1px solid #dfe4ec!important;
  border-radius:24px!important;
  background:#f6f8fc!important;
  box-shadow:0 30px 90px rgba(18,28,50,.26)!important;
}
#modalEternizar .modal-header{
  min-height:86px!important;
  padding:20px 72px 20px 24px!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  background:linear-gradient(135deg,#2f2aa0,#625bd0)!important;
}
#modalEternizar .modal-title{
  font:800 25px/1.2 Inter,Arial,sans-serif!important;
  letter-spacing:-.025em!important;
  text-transform:none!important;
}
#modalEternizar .btn-fechar-eternizar{
  top:18px!important;right:18px!important;width:44px!important;height:44px!important;
  border:0!important;border-radius:12px!important;background:rgba(255,255,255,.14)!important;
  box-shadow:none!important;font-size:18px!important;
}
#modalEternizar .modal-body{padding:22px 24px 28px!important;background:#f6f8fc!important}

/* progress */
#modalEternizar .eternizar-progresso{
  position:relative!important;
  display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:8px!important;
  margin:0 0 28px!important;
}
#modalEternizar .eternizar-passo{
  min-height:60px!important;padding:9px 12px!important;
  display:flex!important;justify-content:flex-start!important;align-items:center!important;gap:9px!important;
  border:1px solid #dde3eb!important;border-radius:13px!important;background:#fff!important;
  color:#7a8596!important;box-shadow:none!important;text-transform:none!important;
}
#modalEternizar .eternizar-passo-numero{
  width:30px;height:30px;display:grid;place-items:center;flex:0 0 30px;
  border-radius:9px;background:#edf0f4;color:#7a8596;font:800 11px Arial,sans-serif;
}
#modalEternizar .eternizar-passo-label{font:800 11px/1.25 Arial,sans-serif}
#modalEternizar .eternizar-passo.ativo{border-color:#c9c5ee!important;background:#f0eeff!important;color:#352ea3!important}
#modalEternizar .eternizar-passo.ativo .eternizar-passo-numero{background:#352ea3;color:#fff}

/* section titles */
#modalEternizar .titulo-etapa{
  margin:4px 0 6px!important;color:#202938!important;
  font:800 27px/1.2 Inter,Arial,sans-serif!important;letter-spacing:-.025em!important;
  text-transform:none!important;
}
#modalEternizar .subtitulo-etapa{
  margin:0 auto 25px!important;color:#748095!important;
  font:13px/1.55 Arial,sans-serif!important;
}

/* plans */
#modalEternizar .planos-eternizar{gap:16px!important;max-width:860px!important}
#modalEternizar .plano-card{
  min-height:330px!important;padding:22px!important;border:1px solid #dfe4ec!important;
  border-radius:18px!important;background:#fff!important;box-shadow:0 10px 30px rgba(27,39,67,.07)!important;
}
#modalEternizar .plano-card:hover{transform:translateY(-3px)!important;box-shadow:0 16px 38px rgba(27,39,67,.11)!important}
#modalEternizar .plano-card.selecionado{outline:0!important;border:2px solid #4b43bd!important;box-shadow:0 0 0 4px rgba(75,67,189,.08),0 15px 36px rgba(27,39,67,.1)!important}
#modalEternizar .plano-card.gratis,#modalEternizar .plano-card.eterno{background:#fff!important}
#modalEternizar .icone-plano{
  width:54px;height:54px;display:grid;place-items:center;margin-bottom:16px!important;border-radius:14px;
  background:#eeecff;color:#3730a3;font-size:22px!important;
}
#modalEternizar .plano-card.gratis .icone-plano{background:#e9f7e8;color:#34733b}
#modalEternizar .plano-card h3{font:800 20px Inter,Arial,sans-serif!important;text-transform:none!important}
#modalEternizar .plano-preco{font:900 30px Inter,Arial,sans-serif!important}
#modalEternizar .plano-card ul{padding-left:0!important;list-style:none!important;display:grid!important;gap:9px!important}
#modalEternizar .plano-card li{position:relative;padding-left:23px;color:#566275!important;font:12px/1.45 Arial,sans-serif!important}
#modalEternizar .plano-card li::before{
  content:"\f00c";position:absolute;left:0;top:1px;width:16px;height:16px;display:grid;place-items:center;
  border-radius:50%;background:#e7f5e5;color:#34733b;font-family:"Font Awesome 6 Free";font-weight:900;font-size:8px;
}
#modalEternizar .btn-selecionar-plano{
  min-height:48px!important;border:0!important;border-radius:11px!important;background:#f0f2f6!important;
  color:#313b4b!important;box-shadow:none!important;font:800 12px Arial,sans-serif!important;
}
#modalEternizar .plano-card.eterno .btn-selecionar-plano{background:#ffd84d!important;color:#171717!important}

/* access tabs + panels */
#modalEternizar .abas-acesso{
  max-width:760px!important;margin:0 auto 14px!important;padding:5px!important;display:grid!important;grid-template-columns:1fr 1fr!important;
  gap:5px!important;border:1px solid #dfe4ec!important;border-radius:14px!important;background:#eef1f5!important;
}
#modalEternizar .aba-acesso{
  min-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  border:0!important;border-radius:10px!important;background:transparent!important;color:#687487!important;
  font:800 12px Arial,sans-serif!important;
}
#modalEternizar .aba-acesso.ativa{background:#fff!important;color:#332ca1!important;box-shadow:0 4px 13px rgba(27,39,67,.07)!important}
#modalEternizar .painel-acesso{
  max-width:760px!important;margin:0 auto!important;padding:20px!important;border:1px solid #e0e5ec!important;
  border-radius:16px!important;background:#fff!important;box-shadow:0 8px 24px rgba(27,39,67,.05)!important;
}
#modalEternizar label.form-label{margin-bottom:6px!important;color:#657185!important;font:800 11px Arial,sans-serif!important}
#modalEternizar input.form-control,#modalEternizar select.form-select,#modalEternizar textarea.form-control{
  border:1px solid #d6dde7!important;border-radius:11px!important;background:#fff!important;color:#273244!important;
  box-shadow:none!important;font:14px Arial,sans-serif!important;
}
#modalEternizar input.form-control,#modalEternizar select.form-select{min-height:48px!important}
#modalEternizar input:focus,#modalEternizar select:focus,#modalEternizar textarea:focus{
  border-color:#746bc5!important;box-shadow:0 0 0 3px rgba(70,59,178,.09)!important;
}

/* actions */
#modalEternizar .btn-etapa{
  min-height:48px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;
  border:0!important;border-radius:11px!important;background:#332ca1!important;color:#fff!important;
  box-shadow:none!important;font:800 12px Arial,sans-serif!important;text-transform:none!important;
}
#modalEternizar .btn-etapa.secundario{background:#edf0f4!important;color:#4f5c6f!important}
#modalEternizar .acoes-etapa{
  margin-top:22px!important;padding-top:16px!important;border-top:1px solid #e0e5ec!important;
}

/* foto principal */
#modalEternizar .foto-upload-eternizar{
  min-height:310px!important;display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;gap:13px!important;padding:18px!important;border:1.5px dashed #b8c2d0!important;
  border-radius:16px!important;background:#f9fbfd!important;color:#5d697b!important;cursor:pointer!important;
  transition:border-color .16s ease,background .16s ease,transform .16s ease!important;
}
#modalEternizar .foto-upload-eternizar:hover,#modalEternizar .foto-upload-eternizar.arrastando{border-color:#655cc3!important;background:#f1efff!important}
#modalEternizar .foto-upload-preview{
  width:108px;height:108px;display:grid;place-items:center;overflow:hidden;border-radius:22px;background:#ebe9ff;color:#3a32a6;font-size:30px;
}
#modalEternizar .foto-upload-preview img{width:100%;height:100%;object-fit:cover}
#modalEternizar .foto-upload-copy{text-align:center}
#modalEternizar .foto-upload-copy strong,#modalEternizar .foto-upload-copy small,#modalEternizar .foto-upload-copy em{display:block}
#modalEternizar .foto-upload-copy strong{color:#273244;font:800 14px Arial,sans-serif}
#modalEternizar .foto-upload-copy small{margin-top:4px;color:#778397;font:12px Arial,sans-serif}
#modalEternizar .foto-upload-copy em{margin-top:4px;color:#9aa4b2;font:normal 10px Arial,sans-serif}
#modalEternizar .foto-upload-action{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border-radius:10px;background:#332ca1;color:#fff;font:800 11px Arial,sans-serif}

/* paid form */
#modalEternizar .form-memorial-eternizar{
  padding:20px!important;border:1px solid #dfe4ec!important;border-radius:18px!important;background:#fff!important;box-shadow:none!important;
}
#modalEternizar .estilos-tumulo{gap:9px!important}
#modalEternizar .estilo-tumulo{
  min-height:104px!important;gap:8px!important;border:1px solid #dbe1e9!important;border-radius:13px!important;
  background:#fff!important;color:#4f5b6e!important;font:800 11px Arial,sans-serif!important;
}
#modalEternizar .estilo-tumulo.selecionado{border:2px solid #4b43bd!important;box-shadow:0 0 0 3px rgba(75,67,189,.08)!important;color:#332ca1!important}
#modalEternizar .estilo-tumulo .mini{font-size:25px!important;color:#4b43bd!important}

/* gallery */
#modalEternizar .drop-galeria{
  min-height:170px!important;padding:22px!important;border:1.5px dashed #b8c2d0!important;border-radius:15px!important;background:#f9fbfd!important;
}
#modalEternizar .drop-galeria-icone{font-size:28px!important;color:#443bab!important}
#modalEternizar .drop-galeria-titulo{font:800 14px Arial,sans-serif!important;text-transform:none!important}
#modalEternizar .drop-galeria-botao{border-radius:10px!important;background:#eeecff!important;color:#382fa5!important}

/* remove emoji feel from static UI */
#modalEternizar .lapide-demo{
  min-height:160px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  gap:10px!important;border:1px solid #dfe4ec!important;border-radius:15px!important;background:#f8fafc!important;color:#4037aa!important;
}
#modalEternizar .lapide-demo i{font-size:36px}
#modalEternizar .lapide-demo strong{font:800 14px Arial,sans-serif!important;color:#273244!important}

@media(max-width:720px){
  #modalEternizar .modal-dialog{width:100%!important;margin:0!important}
  #modalEternizar .modal-content{min-height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
  #modalEternizar .modal-header{min-height:74px!important;padding:16px 62px 16px 16px!important}
  #modalEternizar .modal-title{font-size:21px!important}
  #modalEternizar .modal-body{padding:14px 12px 22px!important}
  #modalEternizar .eternizar-progresso{grid-template-columns:repeat(4,minmax(90px,1fr))!important;overflow-x:auto!important}
  #modalEternizar .eternizar-passo{min-height:52px!important;padding:7px 8px!important}
  #modalEternizar .eternizar-passo-label{font-size:9px!important}
  #modalEternizar .planos-eternizar{grid-template-columns:1fr!important}
  #modalEternizar .titulo-etapa{font-size:22px!important}
  #modalEternizar .subtitulo-etapa{font-size:12px!important}
  #modalEternizar .abas-acesso{grid-template-columns:1fr 1fr!important}
  #modalEternizar .painel-acesso{padding:14px!important}
  #modalEternizar .foto-upload-eternizar{min-height:230px!important}
  #modalEternizar .estilos-tumulo{grid-template-columns:repeat(2,1fr)!important}
}

/* rascunhos-sem-fauna-v1167 */
/* =========================================================
   v1.0.167 — Rascunhos no painel + remoção da fauna voadora
   ========================================================= */
.rascunhos-painel-lista{display:grid;gap:14px}
.rascunho-conta-card{
  display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:15px;align-items:center;
  padding:17px;border:1px solid #dfe4ec;border-radius:16px;background:#fff;
  box-shadow:0 8px 24px rgba(27,39,67,.055)
}
.rascunho-conta-icone{width:62px;height:62px;display:grid;place-items:center;border-radius:15px;background:#eeecff;color:#3931a6;font-size:22px}
.rascunho-conta-info{min-width:0}.rascunho-conta-info h3{margin:0;color:#202938;font:800 17px Inter,Arial,sans-serif}.rascunho-conta-info p{margin:5px 0 0;color:#778397;font:12px/1.45 Arial,sans-serif}
.rascunho-conta-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.rascunho-conta-meta span{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;background:#f2f4f7;color:#667286;font:800 10px Arial,sans-serif}.rascunho-conta-meta .plano{background:#fff2bd;color:#745f00}
.rascunho-conta-acoes{display:flex;gap:7px;align-items:center}.btn-continuar-rascunho,.btn-excluir-rascunho{min-height:42px;border:0;border-radius:10px;font:800 11px Arial,sans-serif;cursor:pointer}.btn-continuar-rascunho{display:inline-flex;align-items:center;gap:7px;padding:0 14px;background:#332ca1;color:#fff}.btn-excluir-rascunho{width:42px;padding:0;background:#fff0f0;color:#d83d46}
.rascunho-vazio-painel{min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;border:1px dashed #cbd3de;border-radius:16px;background:#fbfcfd;text-align:center}.rascunho-vazio-painel>span{width:62px;height:62px;display:grid;place-items:center;margin-bottom:12px;border-radius:16px;background:#eeecff;color:#3931a6;font-size:22px}.rascunho-vazio-painel h3{margin:0;color:#344054;font:800 18px Inter,Arial,sans-serif}.rascunho-vazio-painel p{max-width:480px;margin:7px 0 0;color:#7b8798;font:13px/1.5 Arial,sans-serif}

/* Remove completamente borboletas e pássaros do mundo */
.borboleta-procedural,.passaro-procedural,.sprite-borboleta,.sprite-passaro,.fauna-procedural,.ambiente-procedural{display:none!important;visibility:hidden!important;pointer-events:none!important;animation:none!important}

@media(max-width:720px){
  .painel-nav{display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;gap:6px!important;padding-bottom:3px!important;scrollbar-width:none}
  .painel-nav::-webkit-scrollbar{display:none}
  .painel-nav-item{flex:0 0 84px!important;min-width:84px!important}
  .rascunho-conta-card{grid-template-columns:50px minmax(0,1fr);padding:13px}.rascunho-conta-icone{width:50px;height:50px;font-size:18px}.rascunho-conta-acoes{grid-column:1/-1;display:grid;grid-template-columns:1fr 42px}.btn-continuar-rascunho{justify-content:center}
}

/* eternizar-respiro-inferior-v1168 */
/* =========================================================
   v1.0.168 — mais respiro inferior nas etapas do Eternizar Pet
   ========================================================= */

/* Cada página do fluxo ganha uma área de respiro real no final. */
#modalEternizar .etapa-eternizar{
  padding-bottom:32px !important;
}

/*
 * Reverte o rodapé antigo que encostava nas bordas do modal
 * por causa de margens negativas e comportamento sticky.
 */
#modalEternizar .acoes-etapa{
  position:static !important;
  inset:auto !important;
  bottom:auto !important;
  margin:28px 0 0 !important;
  padding:18px 0 10px !important;
  border-top:1px solid #e0e5ec !important;
  background:transparent !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* Dá espaço depois dos cards da etapa "Como deseja prosseguir". */
#modalEternizar .escolhas-prosseguir{
  margin-bottom:12px !important;
}

/* Cadastro/login também não termina colado no limite inferior. */
#modalEternizar .painel-acesso{
  margin-bottom:6px !important;
}

/* Um pouco mais de área útil no final da rolagem do modal. */
#modalEternizar .modal-body{
  padding-bottom:42px !important;
  scroll-padding-bottom:42px !important;
}

/* Etapa do memorial, que pode ficar longa, recebe ainda mais folga. */
#modalEternizar .etapa-eternizar[data-etapa="4"]{
  padding-bottom:42px !important;
}

@media(max-width:720px){
  #modalEternizar .modal-body{
    padding-bottom:calc(34px + env(safe-area-inset-bottom)) !important;
    scroll-padding-bottom:calc(34px + env(safe-area-inset-bottom)) !important;
  }

  #modalEternizar .etapa-eternizar{
    padding-bottom:28px !important;
  }

  #modalEternizar .acoes-etapa{
    margin:24px 0 0 !important;
    padding:16px 0 calc(8px + env(safe-area-inset-bottom)) !important;
  }

  #modalEternizar .etapa-eternizar[data-etapa="4"]{
    padding-bottom:36px !important;
  }
}

/* pagamento-paghiper-v1169 */
#modalEternizar .eternizar-progresso{grid-template-columns:repeat(5,minmax(0,1fr))!important}
#modalEternizar .eternizar-progresso.fluxo-gratis{grid-template-columns:repeat(4,minmax(0,1fr))!important}
#modalEternizar .eternizar-progresso.fluxo-gratis .passo-pagamento{display:none!important}
.etapa-pagamento-paghiper{padding-bottom:34px!important}.pagamento-cabecalho{max-width:760px;margin:0 auto 22px;text-align:center}.pagamento-kicker{display:inline-flex;align-items:center;gap:6px;margin-bottom:7px;color:#5c55b8;font:800 10px Arial,sans-serif;letter-spacing:.08em}
.pagamento-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:16px;max-width:970px;margin:0 auto}.pagamento-resumo{align-self:start;padding:20px;border:1px solid #dddfea;border-radius:17px;background:linear-gradient(180deg,#fffdf4,#fff);box-shadow:0 8px 24px rgba(27,39,67,.06)}
.pagamento-resumo-icone{width:50px;height:50px;display:grid;place-items:center;margin-bottom:14px;border-radius:14px;background:#fff0ad;color:#7a5f00;font-size:19px}.pagamento-resumo-label{display:block;color:#7d8797;font:800 10px Arial,sans-serif;text-transform:uppercase}.pagamento-resumo h3{margin:4px 0 18px;color:#202938;font:800 20px Inter,Arial,sans-serif}.pagamento-valor{padding:14px 0;border-top:1px solid #ece8d5;border-bottom:1px solid #ece8d5}.pagamento-valor small{display:block;color:#8791a0;font:11px Arial}.pagamento-valor strong{display:block;margin-top:3px;color:#30299e;font:900 29px Inter,Arial}.pagamento-resumo ul{display:grid;gap:9px;margin:17px 0;padding:0;list-style:none}.pagamento-resumo li{display:flex;gap:8px;color:#566275;font:12px/1.4 Arial}.pagamento-resumo li i{color:#3c8a4c}.pagamento-resumo-seguranca{display:flex;gap:8px;align-items:center;padding:10px;border-radius:10px;background:#f0f6ef;color:#587058;font:10px/1.4 Arial}
.pagamento-dados,.pagamento-pix,.pagamento-aprovado{padding:20px;border:1px solid #dfe4ec;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(27,39,67,.055)}.pagamento-secao-topo{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:17px}.pagamento-etapa-mini{display:block;margin-bottom:4px;color:#746bc2;font:800 9px Arial;letter-spacing:.07em}.pagamento-secao-topo h4,.pagamento-aprovado h4{margin:0;color:#202938;font:800 19px/1.25 Inter,Arial}.pagamento-selo{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;background:#e8f5ee;color:#237448;font:800 10px Arial}
.pagamento-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pagamento-form-grid label{display:flex;flex-direction:column;gap:6px}.pagamento-form-grid label span{color:#657185;font:800 11px Arial}.pagamento-form-grid input{width:100%;height:48px;padding:0 12px;border:1px solid #d6dde7;border-radius:11px;background:#fff;color:#273244;font:14px Arial;outline:none}.pagamento-form-grid input:focus{border-color:#746bc5;box-shadow:0 0 0 3px rgba(70,59,178,.09)}
.pagamento-btn-gerar,.pagamento-btn-continuar{min-height:50px;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;padding:0 16px;border:0;border-radius:11px;background:#332ca1;color:#fff;font:800 13px Arial;cursor:pointer}.pagamento-btn-gerar{width:100%}.pagamento-feedback{margin-top:11px;padding:11px 12px;border:1px solid #efc9c9;border-radius:10px;background:#fff3f3;color:#ae363c;font:12px/1.45 Arial}.pagamento-pix{margin-top:14px}.pagamento-status{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:999px;font:800 10px Arial}.pagamento-status.aguardando{background:#fff3c8;color:#8a6a00}.pagamento-status.aprovado{background:#e6f5e8;color:#27733a}.pagamento-pix-corpo{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:center}.pagamento-qr-box{aspect-ratio:1/1;display:grid;place-items:center;padding:12px;border:1px solid #d9dfe8;border-radius:15px;background:#fff}.pagamento-qr-box img{width:100%;height:100%;display:block;object-fit:contain}.pagamento-pix-instrucoes h5{margin:0;color:#283244;font:800 15px Arial}.pagamento-pix-instrucoes p{margin:5px 0 11px;color:#748095;font:12px/1.5 Arial}.pagamento-copia{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:6px}.pagamento-copia input{min-width:0;height:46px;padding:0 10px;border:1px solid #d7dee8;border-radius:10px;background:#f8fafc;color:#5a6678;font:11px Arial}.pagamento-copia button{width:46px;height:46px;border:0;border-radius:10px;background:#eeeaff;color:#3931a6;cursor:pointer}.pagamento-transacao{display:flex;justify-content:space-between;gap:10px;margin-top:9px;color:#8490a0;font:10px Arial}.pagamento-transacao strong{color:#505c6e;word-break:break-all}.pagamento-btn-verificar,.pagamento-btn-demo{width:100%;min-height:42px;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:10px;border:1px solid #d7dee8;border-radius:10px;background:#fff;color:#4f5b6e;font:800 11px Arial;cursor:pointer}.pagamento-btn-demo{border-color:#d9cff5;background:#f2efff;color:#4439aa}
.pagamento-aprovado{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:13px;align-items:center;margin-top:14px;border-color:#cce5ce;background:#f5fbf4}.pagamento-aprovado-icone{width:58px;height:58px;display:grid;place-items:center;border-radius:16px;background:#dff2df;color:#347740;font-size:23px}.pagamento-aprovado p{margin:5px 0 0;color:#688069;font:12px/1.45 Arial}.pagamento-btn-continuar{margin:0;white-space:nowrap}.reserva-confirmada-card{max-width:620px;margin:0 auto;padding:28px;border:1px solid #dce4dd;border-radius:18px;background:#fff;text-align:center;box-shadow:0 10px 30px rgba(27,39,67,.06)}.reserva-confirmada-icone{width:70px;height:70px;display:grid;place-items:center;margin:0 auto 14px;border-radius:20px;background:#e2f5e3;color:#347a41;font-size:28px}.reserva-confirmada-card h3{margin:0;color:#263244;font:800 22px Inter,Arial}.reserva-confirmada-card p{margin:8px auto 16px;max-width:500px;color:#6f7c8e;font:13px/1.55 Arial}.reserva-confirmada-info{display:flex;justify-content:center;gap:7px;margin-bottom:16px;padding:10px;border-radius:10px;background:#f1f7f1;color:#5d735f;font:11px Arial}
@media(max-width:820px){#modalEternizar .eternizar-progresso,#modalEternizar .eternizar-progresso.fluxo-gratis{grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:minmax(116px,1fr)!important;overflow-x:auto!important;padding-bottom:5px!important}.pagamento-layout{grid-template-columns:1fr}.pagamento-pix-corpo{grid-template-columns:1fr}.pagamento-qr-box{width:min(280px,100%);margin:0 auto}.pagamento-aprovado{grid-template-columns:50px minmax(0,1fr)}.pagamento-btn-continuar{grid-column:1/-1;width:100%}}
@media(max-width:560px){.pagamento-form-grid{grid-template-columns:1fr}.pagamento-dados,.pagamento-pix,.pagamento-aprovado,.pagamento-resumo{padding:15px;border-radius:14px}}

/* edicao-gratis-upgrade-v1170 */
/* =========================================================
   v1.0.170 — edição do gratuito + upgrade via Pix
   ========================================================= */

/* Gratuito: somente nome, lote, nascimento e falecimento. */
#modalEditarMemorial.edicao-gratis .campo-edicao-pago,
#modalEditarMemorial.edicao-gratis #editarGaleriaMemorial,
#modalEditarMemorial.edicao-gratis #editarLinhaHistoriaMemorial{
  display:none !important;
}

#modalEditarMemorial.edicao-gratis #editarUpgradePlano{
  display:grid !important;
}

#modalEditarMemorial:not(.edicao-gratis) #editarUpgradePlano{
  display:none !important;
}

#modalEditarMemorial.edicao-gratis .painel-form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

#modalEditarMemorial.edicao-gratis .campo-edicao-gratis.campo-full{
  grid-column:1/-1 !important;
}

.editar-upgrade-plano{
  display:none;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  margin-top:20px;
  padding:18px;
  border:1px solid #e5d98e;
  border-radius:16px;
  background:
    radial-gradient(circle at 100% 0,rgba(255,222,79,.28),transparent 35%),
    linear-gradient(135deg,#fffdf2,#fff);
  box-shadow:0 8px 24px rgba(43,50,72,.06);
}

.editar-upgrade-icone{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:17px;
  background:#ffe169;
  color:#765d00;
  font-size:24px;
}

.editar-upgrade-conteudo h3{
  margin:2px 0 5px;
  color:#252f3e;
  font:800 19px/1.25 Inter,Arial,sans-serif;
}

.editar-upgrade-conteudo p{
  max-width:620px;
  margin:0;
  color:#6d798a;
  font:12px/1.5 Arial,sans-serif;
}

.editar-upgrade-beneficios{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}

.editar-upgrade-beneficios span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 8px;
  border-radius:999px;
  background:#f2efff;
  color:#4b43ad;
  font:800 9px Arial,sans-serif;
}

.editar-upgrade-acao{
  min-width:175px;
  text-align:right;
}

.editar-upgrade-preco{
  display:block;
  margin-bottom:9px;
}

.editar-upgrade-preco small,
.editar-upgrade-preco strong{
  display:block;
}

.editar-upgrade-preco small{
  color:#8b94a2;
  font:10px Arial,sans-serif;
}

.editar-upgrade-preco strong{
  margin-top:2px;
  color:#30299e;
  font:900 23px Inter,Arial,sans-serif;
}

#btnTransformarMemorialPago{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:0 14px;
  border:0;
  border-radius:11px;
  background:#2f2aa0;
  color:#fff;
  font:800 11px Arial,sans-serif;
  cursor:pointer;
  box-shadow:0 7px 18px rgba(47,42,160,.18);
}

#btnTransformarMemorialPago:hover{
  transform:translateY(-1px);
}

/* Durante o upgrade mostra somente a etapa de pagamento. */
#modalEternizar .eternizar-progresso.fluxo-upgrade{
  grid-template-columns:1fr !important;
  max-width:340px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

#modalEternizar .eternizar-progresso.fluxo-upgrade .eternizar-passo:not(.passo-pagamento){
  display:none !important;
}

#modalEternizar.modo-upgrade .pagamento-cabecalho .titulo-etapa{
  color:#2b277d !important;
}

#modalEternizar.modo-upgrade .pagamento-resumo h3::after{
  content:" • Upgrade";
  color:#746bc2;
  font-size:11px;
  font-weight:800;
}

/* CPF/telefone formatados */
#paghiperCpfCnpj,
#paghiperTelefone{
  letter-spacing:.01em;
}

@media(max-width:760px){
  #modalEditarMemorial.edicao-gratis .painel-form-grid{
    grid-template-columns:1fr !important;
  }

  #modalEditarMemorial.edicao-gratis .campo-edicao-gratis.campo-full{
    grid-column:auto !important;
  }

  .editar-upgrade-plano{
    grid-template-columns:52px minmax(0,1fr);
    padding:14px;
  }

  .editar-upgrade-icone{
    width:52px;
    height:52px;
    border-radius:14px;
  }

  .editar-upgrade-acao{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-width:0;
    text-align:left;
  }

  .editar-upgrade-preco{
    margin:0;
  }

  #btnTransformarMemorialPago{
    flex:1;
  }
}

/* correcoes-ui-pagamento-v1171 */
/* =========================================================
   v1.0.171
   ========================================================= */

/* Ícone amarelo do Eternizar com a pata exatamente no centro */
#modalEternizar .modal-header{
  display:flex !important;
  align-items:center !important;
  gap:13px !important;
}

#modalEternizar .modal-header::before,
#modalEternizar .modal-header::after{
  content:none !important;
  display:none !important;
}

#modalEternizar .eternizar-header-icone{
  width:46px !important;
  height:46px !important;
  flex:0 0 46px !important;
  display:grid !important;
  place-items:center !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:13px !important;
  background:#ffd84d !important;
  color:#30299e !important;
  box-shadow:0 8px 20px rgba(0,0,0,.12) !important;
  line-height:1 !important;
}

#modalEternizar .eternizar-header-icone i{
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  font-size:18px !important;
  line-height:1 !important;
  transform:none !important;
}

#modalEternizar .modal-title{
  margin:0 !important;
}

/* Linha da história segue o mesmo fundo cinza do modal de edição */
#modalEditarMemorial .editar-memorial-body,
#modalEditarMemorial .editar-formulario,
#modalEditarMemorial .editar-linha-historia,
#modalEditarMemorial #editarHistoriaConteudo{
  background:#f6f8fc !important;
}

#modalEditarMemorial .editar-linha-historia{
  border-top:1px solid #dfe4ec !important;
}

#modalEditarMemorial .historia-editor-form,
#modalEditarMemorial .historia-editor-vazio{
  background:#f6f8fc !important;
}

#modalEditarMemorial .historia-editor-item{
  background:#f8fafc !important;
  box-shadow:none !important;
}

/* Upgrade abre a tela de pagamento como um modal focado */
#modalEternizar.modo-upgrade .modal-dialog{
  width:min(960px,calc(100vw - 28px)) !important;
  max-width:960px !important;
}

#modalEternizar.modo-upgrade .modal-content,
#modalEternizar.modo-upgrade .modal-body{
  background:#f6f8fc !important;
}

#modalEternizar.modo-upgrade .eternizar-progresso{
  max-width:340px !important;
  margin:0 auto 22px !important;
}

#modalEternizar.modo-upgrade .eternizar-progresso.fluxo-upgrade{
  grid-template-columns:1fr !important;
}

#modalEternizar.modo-upgrade .eternizar-progresso.fluxo-upgrade .eternizar-passo:not(.passo-pagamento){
  display:none !important;
}

#modalEternizar.modo-upgrade .passo-pagamento{
  display:flex !important;
  justify-content:center !important;
}

#modalEternizar.modo-upgrade #etapaPagamentoPagHiper > .acoes-etapa{
  display:none !important;
}

/* No upgrade o botão de simulação aparece somente depois de gerar o QR */
#modalEternizar.modo-upgrade #btnSimularPagamentoPagHiper{
  min-height:44px !important;
  border:1px solid #cec8f2 !important;
  background:#efecff !important;
  color:#3c34a6 !important;
}

#modalEternizar.modo-upgrade #btnSimularPagamentoPagHiper.simulacao-bloqueada{
  display:none !important;
}

#modalEternizar.modo-upgrade #btnSimularPagamentoPagHiper:not(.simulacao-bloqueada){
  display:flex !important;
}

#modalEternizar.modo-upgrade #btnSimularPagamentoPagHiper:disabled{
  opacity:.65 !important;
  cursor:default !important;
}

@media(max-width:720px){
  #modalEternizar .eternizar-header-icone{
    width:42px !important;
    height:42px !important;
    flex-basis:42px !important;
  }

  #modalEternizar .eternizar-header-icone i{
    font-size:16px !important;
  }

  #modalEternizar.modo-upgrade .modal-dialog{
    width:100% !important;
    max-width:none !important;
  }
}

/* botao-sair-capela-v1172 */
/* =========================================================
   v1.0.172 — botão SAIR DA CAPELA sempre visível
   ========================================================= */

.capela-sair{
  position:absolute !important;
  left:30px !important;
  right:auto !important;
  top:145px !important;
  z-index:60 !important;

  min-width:176px !important;
  height:50px !important;

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

  padding:0 16px !important;

  border:2px solid rgba(255,255,255,.22) !important;
  border-radius:11px !important;

  background:rgba(26,18,42,.94) !important;
  color:#fff !important;

  font-family:Arial,sans-serif !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;

  box-shadow:
    0 10px 28px rgba(0,0,0,.28),
    inset 0 0 0 1px rgba(255,255,255,.05) !important;

  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;

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

.capela-sair i{
  font-size:14px !important;
  line-height:1 !important;
  color:#f8d77d !important;
}

.capela-sair:hover{
  transform:translateY(-2px) !important;
  background:#2b2142 !important;
  box-shadow:
    0 14px 32px rgba(0,0,0,.34),
    inset 0 0 0 1px rgba(255,255,255,.07) !important;
}

.capela-sair:active{
  transform:translateY(0) !important;
}

/* Durante a animação de saída ele pode desaparecer normalmente. */
.capela-overlay.saindo .capela-sair{
  pointer-events:none !important;
}

/* Mobile */
@media(max-width:767.98px){
  .capela-sair{
    left:12px !important;
    top:108px !important;
    min-width:150px !important;
    height:44px !important;
    padding:0 12px !important;
    font-size:10px !important;
  }

  .capela-sair i{
    font-size:12px !important;
  }
}


/* =========================================================
   v1.0.10 — lotes vagos limpos e túmulos sem deslocamento
   ========================================================= */

/* Os túmulos permanecem estáticos ao passar o mouse. */
.tumulo:hover,
.tumulo:focus-within,
.tumulo-mini-procedural:hover,
.tumulo-mini-procedural:focus-within,
.tumulos-quarteirao > .tumulo-mini-procedural:hover,
.tumulos-quarteirao > .tumulo-mini-procedural:focus-within,
.area-tumulos-procedural > .tumulo-mini-procedural:hover,
.area-tumulos-procedural > .tumulo-mini-procedural:focus-within{
  transform:none !important;
}

/* Lote vago: sem contorno amarelo de hover/foco. */
.tumulo-mini-procedural.tumulo-vago:hover .lapide-mini,
.tumulo-mini-procedural.tumulo-vago:focus-within .lapide-mini,
.tumulo-mini-procedural.tumulo-vago:focus-visible .lapide-mini{
  outline:0 !important;
  outline-offset:0 !important;
}

/* Remove qualquer texto legado sobre a imagem do lote vago. */
.tumulo-mini-procedural.tumulo-vago .lapide-mini strong,
.tumulo-mini-procedural.tumulo-vago .lapide-mini small{
  display:none !important;
}

/* Remove as flores decorativas da base somente dos lotes vagos. */
.tumulo-mini-procedural.tumulo-vago .base-mini::after{
  content:none !important;
  display:none !important;
}


/* =========================================================
   v1.0.12 — lote vago sem pedestal/base inferior
   ========================================================= */

/*
 * A imagem personalizada do lote vago deve aparecer sozinha.
 * O pedestal continua existindo apenas nos túmulos ocupados.
 * Esta regra também remove bases que tenham permanecido no DOM
 * por cache de markup de versões anteriores.
 */
.tumulo-mini-procedural.tumulo-vago > .base-mini,
.tumulo-mini-procedural.tumulo-vago .base-mini{
  display:none !important;
  width:0 !important;
  height:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:none !important;
}

.tumulo-mini-procedural.tumulo-vago > .base-mini::before,
.tumulo-mini-procedural.tumulo-vago > .base-mini::after,
.tumulo-mini-procedural.tumulo-vago .base-mini::before,
.tumulo-mini-procedural.tumulo-vago .base-mini::after{
  display:none !important;
  content:none !important;
}


/* =========================================================
   v1.0.13 — faixa de gramado da entrada limitada à cerca
   ========================================================= */
.entrada-mundo-topo::before{
  top:0;
  bottom:auto;
  height:80px;
}


/* =========================================================
   v1.0.14 — lotes reservados simulados no mapa procedural
   ========================================================= */

.tumulo-mini-procedural.tumulo-reservado{
  opacity:1 !important;
  cursor:default !important;
}

.tumulo-mini-procedural.tumulo-reservado:hover,
.tumulo-mini-procedural.tumulo-reservado:focus-within{
  transform:none !important;
}

.tumulo-mini-procedural.tumulo-reservado .lapide-mini{
  border:3px dashed #9c6a2b;
  background:#d9b570;
  box-shadow:none;
}

.tumulo-mini-procedural.tumulo-reservado .lapide-mini strong,
.tumulo-mini-procedural.tumulo-reservado .lapide-mini small,
.tumulo-mini-procedural.tumulo-reservado .base-mini{
  display:none !important;
}


/* =========================================================
   v1.0.15 — tamanho real do elemento de túmulo reservado
   ========================================================= */
.tumulo-mini-procedural.tumulo-reservado{
  overflow:visible !important;
}

.tumulo-mini-procedural.tumulo-reservado .lapide-mini{
  transform-origin:center bottom !important;
}

/* =========================================================
   v1.0.22 — estradas padrão em tijolinhos pixel art
   ========================================================= */

:root{
  --ep-rua-tijolo:#bd8758;
  --ep-rua-tijolo-claro:#d6a06d;
  --ep-rua-tijolo-escuro:#9a643f;
  --ep-rua-junta:#68462f;
  --ep-rua-borda:#715039;
}

/*
 * Piso padrão das ruas. A composição usa somente gradientes CSS,
 * preservando o visual pixel art e evitando depender de uma imagem.
 * Se o usuário enviar uma textura de estrada pelo plugin, o CSS
 * dinâmico do plugin é carregado depois e continua tendo prioridade.
 */
.rua-saida-portal,
.rua-saida-portal::before,
#ruaHorizontalTopoInicio,
.rua-horizontal-topo-inicio,
.rua-horizontal-entrada,
.rua-procedural,
.bairro-real::before{
  background-color:var(--ep-rua-tijolo) !important;
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.10) 0 3px,transparent 3px 100%),
    linear-gradient(90deg,rgba(255,255,255,.06) 0 2px,transparent 2px 100%),
    repeating-linear-gradient(0deg,
      transparent 0 14px,
      var(--ep-rua-junta) 14px 17px,
      transparent 17px 31px,
      var(--ep-rua-junta) 31px 34px
    ),
    repeating-linear-gradient(90deg,
      var(--ep-rua-junta) 0 3px,
      transparent 3px 35px,
      var(--ep-rua-junta) 35px 38px,
      transparent 38px 70px
    ),
    linear-gradient(135deg,var(--ep-rua-tijolo-claro) 0%,var(--ep-rua-tijolo) 48%,var(--ep-rua-tijolo-escuro) 100%) !important;
  background-size:34px 34px,34px 34px,70px 34px,70px 34px,100% 100% !important;
  background-position:0 0,0 0,0 0,17px 17px,0 0 !important;
  image-rendering:pixelated;
}

/* Uma borda curta ajuda a separar o piso do gramado sem criar faixas pesadas. */
.rua-procedural,
.rua-horizontal-entrada,
.rua-horizontal-topo-inicio,
#ruaHorizontalTopoInicio{
  border-color:var(--ep-rua-borda) !important;
}

/*
 * A malha infinita precisa conservar os vazios dos quarteirões.
 * Por isso o mesmo piso é desenhado em duas máscaras: corredores
 * verticais e corredores horizontais.
 */
.malha-ruas-fundo{
  background:none !important;
  background-color:transparent !important;
}

.malha-ruas-fundo::before,
.malha-ruas-fundo::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-color:var(--ep-rua-tijolo);
  background-image:
    linear-gradient(180deg,rgba(255,255,255,.10) 0 3px,transparent 3px 100%),
    linear-gradient(90deg,rgba(255,255,255,.06) 0 2px,transparent 2px 100%),
    repeating-linear-gradient(0deg,
      transparent 0 14px,
      var(--ep-rua-junta) 14px 17px,
      transparent 17px 31px,
      var(--ep-rua-junta) 31px 34px
    ),
    repeating-linear-gradient(90deg,
      var(--ep-rua-junta) 0 3px,
      transparent 3px 35px,
      var(--ep-rua-junta) 35px 38px,
      transparent 38px 70px
    ),
    linear-gradient(135deg,var(--ep-rua-tijolo-claro) 0%,var(--ep-rua-tijolo) 48%,var(--ep-rua-tijolo-escuro) 100%);
  background-size:34px 34px,34px 34px,70px 34px,70px 34px,100% 100%;
  background-position:0 0,0 0,0 0,17px 17px,0 0;
  image-rendering:pixelated;
}

.malha-ruas-fundo::before{
  -webkit-mask-image:repeating-linear-gradient(90deg,#000 0,#000 120px,transparent 120px,transparent 740px);
  mask-image:repeating-linear-gradient(90deg,#000 0,#000 120px,transparent 120px,transparent 740px);
}

.malha-ruas-fundo::after{
  -webkit-mask-image:repeating-linear-gradient(180deg,transparent 0,transparent 650px,#000 650px,#000 770px);
  mask-image:repeating-linear-gradient(180deg,transparent 0,transparent 650px,#000 650px,#000 770px);
}

body.modo-noturno .rua-saida-portal,
body.modo-noturno .rua-saida-portal::before,
body.modo-noturno #ruaHorizontalTopoInicio,
body.modo-noturno .rua-horizontal-topo-inicio,
body.modo-noturno .rua-horizontal-entrada,
body.modo-noturno .rua-procedural,
body.modo-noturno .bairro-real::before,
body.periodo-noite .rua-saida-portal,
body.periodo-noite #ruaHorizontalTopoInicio,
body.periodo-noite .rua-horizontal-topo-inicio,
body.periodo-noite .rua-horizontal-entrada,
body.periodo-noite .rua-procedural{
  filter:brightness(.68) saturate(.78);
}

body.modo-noturno .malha-ruas-fundo::before,
body.modo-noturno .malha-ruas-fundo::after,
body.periodo-noite .malha-ruas-fundo::before,
body.periodo-noite .malha-ruas-fundo::after{
  filter:brightness(.68) saturate(.78);
}

/* =========================================================
   v1.0.24 — estradas com textura pixel art da referência enviada
   ========================================================= */

/*
 * A estrada padrão agora usa uma textura real em pixel art baseada
 * na referência fornecida para o projeto. As versões horizontal e
 * vertical são a mesma arte, apenas rotacionada tecnicamente para
 * preservar pedras, juntas e bordas de terra em todas as direções.
 */

#ruaHorizontalTopoInicio,
.rua-horizontal-topo-inicio,
.rua-horizontal-entrada,
.rua-procedural.horizontal{
  background-color:#b9894f !important;
  background-image:url('../images/estrada-pixel-horizontal.png') !important;
  background-repeat:repeat-x !important;
  background-position:left center !important;
  background-size:auto 100% !important;
  border-color:#72502f !important;
  box-shadow:none !important;
}

.rua-saida-portal,
.rua-saida-portal::before,
.rua-procedural.vertical,
.bairro-real::before{
  background-color:#b9894f !important;
  background-image:url('../images/estrada-pixel-vertical.png') !important;
  background-repeat:repeat-y !important;
  background-position:center top !important;
  background-size:100% auto !important;
  border-color:#72502f !important;
  box-shadow:none !important;
}

/*
 * A malha infinita mantém exatamente os corredores existentes.
 * O pseudo-elemento before desenha somente as ruas verticais e o
 * after somente as horizontais. O gramado dos quarteirões permanece
 * transparente para a estrada e não é alterado.
 */
.malha-ruas-fundo{
  background:none !important;
  background-color:transparent !important;
}

.malha-ruas-fundo::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background-color:#b9894f !important;
  background-image:url('../images/estrada-pixel-vertical.png') !important;
  background-repeat:repeat !important;
  background-position:left top !important;
  background-size:120px auto !important;
  -webkit-mask-image:repeating-linear-gradient(90deg,#000 0,#000 120px,transparent 120px,transparent 740px) !important;
  mask-image:repeating-linear-gradient(90deg,#000 0,#000 120px,transparent 120px,transparent 740px) !important;
}

.malha-ruas-fundo::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background-color:#b9894f !important;
  background-image:url('../images/estrada-pixel-horizontal.png') !important;
  background-repeat:repeat !important;
  background-position:left top !important;
  background-size:auto 120px !important;
  -webkit-mask-image:repeating-linear-gradient(180deg,transparent 0,transparent 650px,#000 650px,#000 770px) !important;
  mask-image:repeating-linear-gradient(180deg,transparent 0,transparent 650px,#000 650px,#000 770px) !important;
}

/* Sem filtros que embaralhem o pixel art; apenas escurecimento noturno. */
body.modo-noturno #ruaHorizontalTopoInicio,
body.modo-noturno .rua-horizontal-topo-inicio,
body.modo-noturno .rua-horizontal-entrada,
body.modo-noturno .rua-procedural.horizontal,
body.modo-noturno .rua-saida-portal,
body.modo-noturno .rua-saida-portal::before,
body.modo-noturno .rua-procedural.vertical,
body.modo-noturno .bairro-real::before,
body.periodo-noite #ruaHorizontalTopoInicio,
body.periodo-noite .rua-horizontal-topo-inicio,
body.periodo-noite .rua-horizontal-entrada,
body.periodo-noite .rua-procedural.horizontal,
body.periodo-noite .rua-saida-portal,
body.periodo-noite .rua-saida-portal::before,
body.periodo-noite .rua-procedural.vertical,
body.periodo-noite .bairro-real::before,
body.modo-noturno .malha-ruas-fundo::before,
body.modo-noturno .malha-ruas-fundo::after,
body.periodo-noite .malha-ruas-fundo::before,
body.periodo-noite .malha-ruas-fundo::after{
  filter:brightness(.62) saturate(.82) !important;
}


/* v1.0.31 — gramado noturno transparente */
:root{
  --gramado-cor-noturno:transparent !important;
}

body.modo-noturno .local-fonte,
body.modo-noturno .local-lago,
body.modo-noturno .local-jardim-flores,
body.modo-noturno .local-arvore,
body.modo-noturno .local-praca,
body.modo-noturno .local-gatos,
body.modo-noturno .local-caes,
body.modo-noturno .local-ponte,
body.modo-noturno .local-capela,
body.modo-noturno .local-mirante,
body.modo-noturno .local-estrelas{
  background-color:transparent !important;
}


/* =========================================================
   v1.0.32 — estrada personalizada como fonte única do mapa
   ========================================================= */
body.eterno-pet-estrada-personalizada .rua-saida-portal,
body.eterno-pet-estrada-personalizada .rua-saida-portal::before,
body.eterno-pet-estrada-personalizada #ruaHorizontalTopoInicio,
body.eterno-pet-estrada-personalizada .rua-horizontal-topo-inicio,
body.eterno-pet-estrada-personalizada .rua-horizontal-entrada,
body.eterno-pet-estrada-personalizada .rua-horizontal-primeira,
body.eterno-pet-estrada-personalizada .rua-procedural,
body.eterno-pet-estrada-personalizada .bairro-real::before{
  background-color:transparent !important;
  background-image:var(--eterno-pet-road-image) !important;
  background-repeat:repeat !important;
  background-position:0 0 !important;
  background-size:var(--eterno-pet-road-size) !important;
}

body.eterno-pet-estrada-personalizada .malha-ruas-fundo{
  background:transparent !important;
  background-image:none !important;
}

body.eterno-pet-estrada-personalizada .malha-ruas-fundo::before,
body.eterno-pet-estrada-personalizada .malha-ruas-fundo::after{
  background-color:transparent !important;
  background-image:var(--eterno-pet-road-image) !important;
  background-repeat:repeat !important;
  background-position:0 0 !important;
  background-size:var(--eterno-pet-road-size) !important;
}


/* =========================================================
   v1.0.34 — remove separador da primeira rua/interseções
   ========================================================= */
#ruaHorizontalTopoInicio,
.rua-horizontal-topo-inicio,
.rua-horizontal-entrada,
body.eterno-pet-estrada-personalizada #ruaHorizontalTopoInicio,
body.eterno-pet-estrada-personalizada .rua-horizontal-topo-inicio,
body.eterno-pet-estrada-personalizada .rua-horizontal-entrada{
  border:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

#ruaHorizontalTopoInicio::before,
#ruaHorizontalTopoInicio::after,
.rua-horizontal-topo-inicio::before,
.rua-horizontal-topo-inicio::after,
.rua-horizontal-entrada::before,
.rua-horizontal-entrada::after{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}


/* =========================================================
   v1.0.38 — POIs totalmente transparentes sobre a rua real
   ========================================================= */
.local-fonte,
.local-lago,
.local-jardim-flores,
.local-arvore,
.local-praca,
.local-gatos,
.local-caes,
.local-ponte,
.local-capela,
.local-mirante,
.local-estrelas,
body.modo-noturno .local-fonte,
body.periodo-noite .local-fonte{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  filter:none !important;
  box-shadow:none !important;
  outline:0 !important;
}

.local-fonte::before,
.local-lago::before,
.local-jardim-flores::before,
.local-arvore::before,
.local-praca::before,
.local-gatos::before,
.local-caes::before,
.local-ponte::before,
.local-capela::before,
.local-mirante::before,
.local-estrelas::before{
  display:none !important;
  content:none !important;
  background:none !important;
  filter:none !important;
  box-shadow:none !important;
}


/* =========================================================
   v1.0.39 — restaura geometria nativa dos pontos de interesse
   ========================================================= */
.local-fonte,
.local-lago,
.local-jardim-flores,
.local-arvore,
.local-praca,
.local-gatos,
.local-caes,
.local-ponte,
.local-capela,
.local-mirante,
.local-estrelas{
  position:absolute !important;
  overflow:hidden !important;
  background:transparent !important;
  background-image:none !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
}

.local-fonte > .cenario-especial,
.local-lago > .cenario-especial,
.local-jardim-flores > .cenario-especial,
.local-arvore > .cenario-especial,
.local-praca > .cenario-especial,
.local-gatos > .cenario-especial,
.local-caes > .cenario-especial,
.local-ponte > .cenario-especial,
.local-capela > .cenario-especial,
.local-mirante > .cenario-especial,
.local-estrelas > .cenario-especial{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  overflow:hidden !important;
}


/* =========================================================
   v1.0.40 — POI: caixa realmente transparente + geometria nativa
   ========================================================= */
.local-fonte,.local-lago,.local-jardim-flores,.local-arvore,.local-praca,.local-gatos,.local-caes,.local-ponte,.local-capela,.local-mirante,.local-estrelas,
body.modo-noturno .local-fonte,body.modo-noturno .local-lago,body.modo-noturno .local-jardim-flores,body.modo-noturno .local-arvore,body.modo-noturno .local-praca,body.modo-noturno .local-gatos,body.modo-noturno .local-caes,body.modo-noturno .local-ponte,body.modo-noturno .local-capela,body.modo-noturno .local-mirante,body.modo-noturno .local-estrelas,
body.periodo-noite .local-fonte,body.periodo-noite .local-lago,body.periodo-noite .local-jardim-flores,body.periodo-noite .local-arvore,body.periodo-noite .local-praca,body.periodo-noite .local-gatos,body.periodo-noite .local-caes,body.periodo-noite .local-ponte,body.periodo-noite .local-capela,body.periodo-noite .local-mirante,body.periodo-noite .local-estrelas{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
}
.local-fonte::before,.local-fonte::after,.local-lago::before,.local-lago::after,.local-jardim-flores::before,.local-jardim-flores::after,.local-arvore::before,.local-arvore::after,.local-praca::before,.local-praca::after,.local-gatos::before,.local-gatos::after,.local-caes::before,.local-caes::after,.local-ponte::before,.local-ponte::after,.local-capela::before,.local-capela::after,.local-mirante::before,.local-mirante::after,.local-estrelas::before,.local-estrelas::after{
  display:none !important;
  content:none !important;
  background:none !important;
}
.local-fonte>.cenario-especial,.local-lago>.cenario-especial,.local-jardim-flores>.cenario-especial,.local-arvore>.cenario-especial,.local-praca>.cenario-especial,.local-gatos>.cenario-especial,.local-caes>.cenario-especial,.local-ponte>.cenario-especial,.local-capela>.cenario-especial,.local-mirante>.cenario-especial,.local-estrelas>.cenario-especial{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.local-fonte .ponto-imagem-pixel,.local-lago .ponto-imagem-pixel,.local-jardim-flores .ponto-imagem-pixel,.local-arvore .ponto-imagem-pixel,.local-praca .ponto-imagem-pixel,.local-gatos .ponto-imagem-pixel,.local-caes .ponto-imagem-pixel,.local-ponte .ponto-imagem-pixel,.local-mirante .ponto-imagem-pixel,.local-estrelas .ponto-imagem-pixel,.local-capela .capela-exterior-wrap{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:100% 100% !important;
  border:0 !important;
  box-shadow:none !important;
  filter:none !important;
  transform:none !important;
  opacity:1 !important;
  overflow:hidden !important;
}


/* =========================================================
   v1.0.41 — POIs: transparência real processada no navegador
   ========================================================= */
.local-especial.eterno-pet-poi-personalizado,
.local-especial.eterno-pet-poi-personalizado > .cenario-especial,
.local-especial.eterno-pet-poi-personalizado .ponto-imagem-pixel,
.local-especial.eterno-pet-poi-personalizado .capela-exterior-wrap{
  background-color:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  filter:none !important;
}

body.modo-noturno .local-especial.eterno-pet-poi-personalizado,
body.periodo-noite .local-especial.eterno-pet-poi-personalizado,
body.modo-noturno .local-especial.eterno-pet-poi-personalizado > .cenario-especial,
body.periodo-noite .local-especial.eterno-pet-poi-personalizado > .cenario-especial{
  background-color:transparent !important;
  box-shadow:none !important;
  filter:none !important;
}


/* =========================================================
   v1.0.42 — POIs: PNG original sobre a estrada real
   ========================================================= */
.local-fonte,.local-lago,.local-jardim-flores,.local-arvore,.local-praca,.local-gatos,.local-caes,.local-ponte,.local-capela,.local-mirante,.local-estrelas{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
}
.local-fonte>.cenario-especial,.local-lago>.cenario-especial,.local-jardim-flores>.cenario-especial,.local-arvore>.cenario-especial,.local-praca>.cenario-especial,.local-gatos>.cenario-especial,.local-caes>.cenario-especial,.local-ponte>.cenario-especial,.local-capela>.cenario-especial,.local-mirante>.cenario-especial,.local-estrelas>.cenario-especial{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.local-fonte .ponto-imagem-pixel,.local-lago .ponto-imagem-pixel,.local-jardim-flores .ponto-imagem-pixel,.local-arvore .ponto-imagem-pixel,.local-praca .ponto-imagem-pixel,.local-gatos .ponto-imagem-pixel,.local-caes .ponto-imagem-pixel,.local-ponte .ponto-imagem-pixel,.local-mirante .ponto-imagem-pixel,.local-estrelas .ponto-imagem-pixel,.local-capela .capela-exterior-wrap{
  background-color:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
}


/* =========================================================
   v1.0.43 — POIs: encaixe responsivo + remoção definitiva da borda
   ========================================================= */
body .local-especial.local-fonte,
body .local-especial.local-lago,
body .local-especial.local-jardim-flores,
body .local-especial.local-arvore,
body .local-especial.local-praca,
body .local-especial.local-gatos,
body .local-especial.local-caes,
body .local-especial.local-ponte,
body .local-especial.local-capela,
body .local-especial.local-mirante,
body .local-especial.local-estrelas{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

body .local-especial.local-fonte > .cenario-especial,
body .local-especial.local-lago > .cenario-especial,
body .local-especial.local-jardim-flores > .cenario-especial,
body .local-especial.local-arvore > .cenario-especial,
body .local-especial.local-praca > .cenario-especial,
body .local-especial.local-gatos > .cenario-especial,
body .local-especial.local-caes > .cenario-especial,
body .local-especial.local-ponte > .cenario-especial,
body .local-especial.local-capela > .cenario-especial,
body .local-especial.local-mirante > .cenario-especial,
body .local-especial.local-estrelas > .cenario-especial{
  position:absolute !important;
  inset:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  overflow:hidden !important;
}

body .local-especial.local-fonte .ponto-imagem-pixel,
body .local-especial.local-lago .ponto-imagem-pixel,
body .local-especial.local-jardim-flores .ponto-imagem-pixel,
body .local-especial.local-arvore .ponto-imagem-pixel,
body .local-especial.local-praca .ponto-imagem-pixel,
body .local-especial.local-gatos .ponto-imagem-pixel,
body .local-especial.local-caes .ponto-imagem-pixel,
body .local-especial.local-ponte .ponto-imagem-pixel,
body .local-especial.local-mirante .ponto-imagem-pixel,
body .local-especial.local-estrelas .ponto-imagem-pixel,
body .local-especial.local-capela .capela-exterior-wrap{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background-color:transparent !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:contain !important;
  image-rendering:pixelated !important;
  filter:none !important;
}

body .local-especial.local-fonte .ponto-placeholder,
body .local-especial.local-lago .ponto-placeholder,
body .local-especial.local-jardim-flores .ponto-placeholder,
body .local-especial.local-arvore .ponto-placeholder,
body .local-especial.local-praca .ponto-placeholder,
body .local-especial.local-gatos .ponto-placeholder,
body .local-especial.local-caes .ponto-placeholder,
body .local-especial.local-ponte .ponto-placeholder,
body .local-especial.local-mirante .ponto-placeholder,
body .local-especial.local-estrelas .ponto-placeholder{
  display:none !important;
}


/* =========================================================
   v1.0.46 — quarteirões orgânicos sobre a estrada real
   ========================================================= */
.quarteirao-procedural.eterno-pet-quarteirao-personalizado,
.quarteirao-real.eterno-pet-quarteirao-personalizado{
  position:absolute !important;
  background-color:transparent !important;
  background-image:var(--eterno-pet-road-image) !important;
  background-repeat:repeat !important;
  background-position:0 0 !important;
  background-size:var(--eterno-pet-road-size) !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
  isolation:isolate;
  overflow:visible !important;
}

/* A PNG orgânica é uma camada independente e nunca recebe filtro/sombra. */
.quarteirao-procedural.eterno-pet-quarteirao-personalizado::before,
.quarteirao-real.eterno-pet-quarteirao-personalizado::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background-color:transparent !important;
  background-image:var(--eterno-pet-quarter-background) !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-size:contain !important;
  transform:scale(var(--eterno-pet-quarter-scale,1)) !important;
  transform-origin:center center !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
}

/* Tudo que é funcional continua acima da arte. */
.quarteirao-procedural.eterno-pet-quarteirao-personalizado > *,
.quarteirao-real.eterno-pet-quarteirao-personalizado > *{
  position:relative;
  z-index:2;
}

.quarteirao-procedural.eterno-pet-quarteirao-personalizado > .placa-quarteirao,
.quarteirao-real.eterno-pet-quarteirao-personalizado > .quarteirao-real-titulo{
  position:absolute !important;
}

/*
 * Noite: a mesma estrada do mapa recebe somente uma película equivalente
 * ao escurecimento das ruas. A PNG do quarteirão permanece original.
 */
body.modo-noturno .quarteirao-procedural.eterno-pet-quarteirao-personalizado,
body.modo-noturno .quarteirao-real.eterno-pet-quarteirao-personalizado,
body.periodo-noite .quarteirao-procedural.eterno-pet-quarteirao-personalizado,
body.periodo-noite .quarteirao-real.eterno-pet-quarteirao-personalizado{
  background-color:transparent !important;
  background-image:
    linear-gradient(rgba(0,0,0,.32),rgba(0,0,0,.32)),
    var(--eterno-pet-road-image) !important;
  background-repeat:no-repeat,repeat !important;
  background-position:0 0,0 0 !important;
  background-size:100% 100%,var(--eterno-pet-road-size) !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
}

body.modo-noturno .quarteirao-procedural.eterno-pet-quarteirao-personalizado::before,
body.modo-noturno .quarteirao-real.eterno-pet-quarteirao-personalizado::before,
body.periodo-noite .quarteirao-procedural.eterno-pet-quarteirao-personalizado::before,
body.periodo-noite .quarteirao-real.eterno-pet-quarteirao-personalizado::before{
  background-color:transparent !important;
  background-image:var(--eterno-pet-quarter-background) !important;
  filter:none !important;
  box-shadow:none !important;
  opacity:1 !important;
}

/* =========================================================
   v1.0.45 — noite sem retângulos claros em cenários/POIs
   ========================================================= */
/*
 * As ruas personalizadas usam brightness(.68) no período noturno.
 * O POI não pode receber filter no elemento pai porque isso também
 * escureceria a PNG enviada. Portanto somente o background da estrada
 * recebe uma película preta de 32%, equivalente ao brilho .68.
 */
body.modo-noturno .local-especial.eterno-pet-poi-personalizado,
body.periodo-noite .local-especial.eterno-pet-poi-personalizado{
  background-color:transparent !important;
  background-image:
    linear-gradient(rgba(0,0,0,.32),rgba(0,0,0,.32)),
    var(--eterno-pet-road-image) !important;
  background-repeat:no-repeat,repeat !important;
  background-position:0 0,0 0 !important;
  background-size:100% 100%,var(--eterno-pet-road-size) !important;
  background-blend-mode:normal !important;
  filter:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

body.modo-noturno .local-especial.eterno-pet-poi-personalizado > .cenario-especial,
body.periodo-noite .local-especial.eterno-pet-poi-personalizado > .cenario-especial{
  background:transparent !important;
  filter:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}


/* =========================================================
   v1.0.47 — escala individual dos fundos de quarteirão
   ========================================================= */
.quarteirao-procedural.eterno-pet-quarteirao-personalizado::before,
.quarteirao-real.eterno-pet-quarteirao-personalizado::before,
body.modo-noturno .quarteirao-procedural.eterno-pet-quarteirao-personalizado::before,
body.modo-noturno .quarteirao-real.eterno-pet-quarteirao-personalizado::before,
body.periodo-noite .quarteirao-procedural.eterno-pet-quarteirao-personalizado::before,
body.periodo-noite .quarteirao-real.eterno-pet-quarteirao-personalizado::before{
  background-size:contain !important;
  background-position:center center !important;
  transform:scale(var(--eterno-pet-quarter-scale,1)) !important;
  transform-origin:center center !important;
}


/* =========================================================
   v1.0.48 — fundos de quarteirão sem limite e sem recorte
   ========================================================= */
.quarteirao-procedural.eterno-pet-quarteirao-personalizado,
.quarteirao-real.eterno-pet-quarteirao-personalizado,
body.modo-noturno .quarteirao-procedural.eterno-pet-quarteirao-personalizado,
body.modo-noturno .quarteirao-real.eterno-pet-quarteirao-personalizado,
body.periodo-noite .quarteirao-procedural.eterno-pet-quarteirao-personalizado,
body.periodo-noite .quarteirao-real.eterno-pet-quarteirao-personalizado{
  overflow:visible !important;
}
.quarteirao-procedural.eterno-pet-quarteirao-personalizado::before,
.quarteirao-real.eterno-pet-quarteirao-personalizado::before,
body.modo-noturno .quarteirao-procedural.eterno-pet-quarteirao-personalizado::before,
body.modo-noturno .quarteirao-real.eterno-pet-quarteirao-personalizado::before,
body.periodo-noite .quarteirao-procedural.eterno-pet-quarteirao-personalizado::before,
body.periodo-noite .quarteirao-real.eterno-pet-quarteirao-personalizado::before{
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:visible !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  transform:scale(var(--eterno-pet-quarter-scale,1)) !important;
  transform-origin:center center !important;
  clip-path:none !important;
  mask:none !important;
  -webkit-mask:none !important;
}


/* =========================================================
   v1.0.49 — arte completa do quarteirão sem qualquer recorte
   ========================================================= */
.quarteirao-procedural.eterno-pet-quarteirao-personalizado,
.quarteirao-real.eterno-pet-quarteirao-personalizado,
body.modo-noturno .quarteirao-procedural.eterno-pet-quarteirao-personalizado,
body.modo-noturno .quarteirao-real.eterno-pet-quarteirao-personalizado,
body.periodo-noite .quarteirao-procedural.eterno-pet-quarteirao-personalizado,
body.periodo-noite .quarteirao-real.eterno-pet-quarteirao-personalizado{
  overflow:visible !important;
  contain:none !important;
  clip-path:none !important;
}

/* Desativa definitivamente a antiga arte em pseudo-elemento. */
.quarteirao-procedural.eterno-pet-quarteirao-personalizado::before,
.quarteirao-real.eterno-pet-quarteirao-personalizado::before,
body.modo-noturno .quarteirao-procedural.eterno-pet-quarteirao-personalizado::before,
body.modo-noturno .quarteirao-real.eterno-pet-quarteirao-personalizado::before,
body.periodo-noite .quarteirao-procedural.eterno-pet-quarteirao-personalizado::before,
body.periodo-noite .quarteirao-real.eterno-pet-quarteirao-personalizado::before{
  display:none !important;
  content:none !important;
  background:none !important;
}

/* A arte é um IMG real: mantém proporção, aparece inteira e pode extrapolar a quadra. */
.quarteirao-procedural.eterno-pet-quarteirao-personalizado > img.eterno-pet-quarter-art,
.quarteirao-real.eterno-pet-quarteirao-personalizado > img.eterno-pet-quarter-art{
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:100% !important;
  height:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:translate(-50%,-50%) scale(var(--eterno-pet-quarter-scale,1)) !important;
  transform-origin:center center !important;
  z-index:0 !important;
  pointer-events:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
  overflow:visible !important;
  image-rendering:pixelated !important;
}

/* Elementos funcionais sempre acima da arte. */
.quarteirao-procedural.eterno-pet-quarteirao-personalizado > :not(.eterno-pet-quarter-art),
.quarteirao-real.eterno-pet-quarteirao-personalizado > :not(.eterno-pet-quarter-art){
  position:relative;
  z-index:2;
}

/* Nenhum ancestral intermediário do mundo recorta a arte ampliada. */
.mundo-camada,
.mundo-chunks{
  overflow:visible !important;
}


/* =========================================================
   v1.0.50 — malha/ruas adaptativas à escala dos quarteirões
   ========================================================= */
:root{
  --eterno-pet-layout-quarter-visual-w:620px;
  --eterno-pet-layout-quarter-visual-h:650px;
  --eterno-pet-layout-step-x:740px;
  --eterno-pet-layout-step-y:770px;
  --eterno-pet-layout-road:120px;
}

/*
 * Os corredores seguem a nova célula calculada pelo JS. O primeiro
 * pseudo-elemento desenha as ruas verticais; o segundo, as horizontais.
 * A largura da rua permanece 120px independentemente da escala da arte.
 */
.malha-ruas-fundo::before,
body.eterno-pet-estrada-personalizada .malha-ruas-fundo::before{
  -webkit-mask-image:repeating-linear-gradient(
    90deg,
    #000 0,
    #000 var(--eterno-pet-layout-road),
    transparent var(--eterno-pet-layout-road),
    transparent var(--eterno-pet-layout-step-x)
  ) !important;
  mask-image:repeating-linear-gradient(
    90deg,
    #000 0,
    #000 var(--eterno-pet-layout-road),
    transparent var(--eterno-pet-layout-road),
    transparent var(--eterno-pet-layout-step-x)
  ) !important;
}

.malha-ruas-fundo::after,
body.eterno-pet-estrada-personalizada .malha-ruas-fundo::after{
  -webkit-mask-image:repeating-linear-gradient(
    180deg,
    transparent 0,
    transparent var(--eterno-pet-layout-quarter-visual-h),
    #000 var(--eterno-pet-layout-quarter-visual-h),
    #000 var(--eterno-pet-layout-step-y)
  ) !important;
  mask-image:repeating-linear-gradient(
    180deg,
    transparent 0,
    transparent var(--eterno-pet-layout-quarter-visual-h),
    #000 var(--eterno-pet-layout-quarter-visual-h),
    #000 var(--eterno-pet-layout-step-y)
  ) !important;
}

/*
 * Pontos de interesse usam as mesmas coordenadas posicaoQuadraX/Y e, por
 * isso, passam automaticamente a ocupar o centro da célula ampliada.
 * Não alteramos a dimensão interna deles; apenas garantimos que nada os
 * desloque para fora do novo padrão.
 */
.local-especial{
  margin:0 !important;
}


/* =========================================================
   v1.0.51 — corredores limpos e quarteirões acima das ruas
   ========================================================= */
/*
 * A rua é sempre camada de piso. Quarteirões e POIs ficam acima dela.
 * Isso impede qualquer faixa de tijolos de atravessar túmulos mesmo
 * quando uma PNG orgânica é ampliada para fora da caixa lógica.
 */
.malha-ruas-fundo{
  z-index:0 !important;
  pointer-events:none !important;
}

.quarteirao-procedural,
.quarteirao-real,
.local-especial{
  z-index:3 !important;
}

/*
 * O quarteirão personalizado não pinta cor/fundo próprio. As áreas
 * transparentes da PNG mostram somente o piso que já existe no cenário.
 */
.quarteirao-procedural.eterno-pet-quarteirao-personalizado,
.quarteirao-real.eterno-pet-quarteirao-personalizado,
body.modo-noturno .quarteirao-procedural.eterno-pet-quarteirao-personalizado,
body.modo-noturno .quarteirao-real.eterno-pet-quarteirao-personalizado,
body.periodo-noite .quarteirao-procedural.eterno-pet-quarteirao-personalizado,
body.periodo-noite .quarteirao-real.eterno-pet-quarteirao-personalizado{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  border:0 !important;
  outline:0 !important;
}

/*
 * Remove qualquer camada escura residual da caixa/chunk atrás das artes.
 * O cenário visível dessa região passa a ser exclusivamente a malha de
 * tijolos e as PNGs enviadas.
 */
.mundo-chunks,
.mundo-chunk{
  background-color:transparent !important;
  background-image:none !important;
}
body.modo-noturno .mundo-chunk,
body.periodo-noite .mundo-chunk{
  background-color:transparent !important;
  background-image:none !important;
}


/* =========================================================
   v1.0.52 — sem ruas; apenas separação entre células
   ========================================================= */
.malha-ruas-fundo,
.malha-ruas-fundo::before,
.malha-ruas-fundo::after,
.rua-procedural,
.rua-horizontal-primeira,
.placa-rua-mundo{
  display:none !important;
  background:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

/*
 * Não deixar o fundo do chunk transparente: a transparência das PNGs deve
 * revelar o terreno base, nunca o fundo escuro do viewport/canvas.
 */
.mundo-chunks,
.mundo-chunk{
  box-shadow:none !important;
  border:0 !important;
}

.quarteirao-procedural.eterno-pet-quarteirao-personalizado,
.quarteirao-real.eterno-pet-quarteirao-personalizado,
.local-especial{
  background-color:transparent !important;
  box-shadow:none !important;
}


/* =========================================================
   v1.0.53 — estradas somente como divisões de quarteirões
   ========================================================= */
/* Nomes e placas deixam de fazer parte do cenário. */
.placa-rua-mundo,
.rua-nomes-lista{
  display:none !important;
  visibility:hidden !important;
}

/* Não usamos faixas procedurais extras: apenas a malha divisória. */
.rua-procedural,
.rua-horizontal-primeira{
  display:none !important;
}

/* Reativa a malha que a v1.0.52 havia escondido. */
.malha-ruas-fundo{
  display:block !important;
  background:transparent !important;
  background-image:none !important;
  z-index:0 !important;
  pointer-events:none !important;
}

.malha-ruas-fundo::before,
.malha-ruas-fundo::after,
body.eterno-pet-estrada-personalizada .malha-ruas-fundo::before,
body.eterno-pet-estrada-personalizada .malha-ruas-fundo::after{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background-color:transparent !important;
  background-image:var(--eterno-pet-road-image) !important;
  background-repeat:repeat !important;
  background-position:0 0 !important;
  background-size:var(--eterno-pet-road-size) !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

/* Corredores verticais. */
.malha-ruas-fundo::before,
body.eterno-pet-estrada-personalizada .malha-ruas-fundo::before{
  -webkit-mask-image:repeating-linear-gradient(
    90deg,
    #000 0,
    #000 var(--eterno-pet-layout-road),
    transparent var(--eterno-pet-layout-road),
    transparent var(--eterno-pet-layout-step-x)
  ) !important;
  mask-image:repeating-linear-gradient(
    90deg,
    #000 0,
    #000 var(--eterno-pet-layout-road),
    transparent var(--eterno-pet-layout-road),
    transparent var(--eterno-pet-layout-step-x)
  ) !important;
}

/* Corredores horizontais: aparecem somente no espaço reservado entre linhas. */
.malha-ruas-fundo::after,
body.eterno-pet-estrada-personalizada .malha-ruas-fundo::after{
  -webkit-mask-image:repeating-linear-gradient(
    180deg,
    transparent 0,
    transparent var(--eterno-pet-layout-quarter-visual-h),
    #000 var(--eterno-pet-layout-quarter-visual-h),
    #000 var(--eterno-pet-layout-step-y)
  ) !important;
  mask-image:repeating-linear-gradient(
    180deg,
    transparent 0,
    transparent var(--eterno-pet-layout-quarter-visual-h),
    #000 var(--eterno-pet-layout-quarter-visual-h),
    #000 var(--eterno-pet-layout-step-y)
  ) !important;
}

/* As divisões ficam abaixo dos conteúdos; nunca atravessam túmulos/POIs. */
.quarteirao-procedural,
.quarteirao-real,
.local-especial{
  z-index:3 !important;
}

body.modo-noturno .malha-ruas-fundo::before,
body.modo-noturno .malha-ruas-fundo::after,
body.periodo-noite .malha-ruas-fundo::before,
body.periodo-noite .malha-ruas-fundo::after{
  filter:brightness(.68) saturate(.8) !important;
}


/* =========================================================
   v1.0.54 — terreno-base inteiro em tijolinhos
   ========================================================= */
.mundo-infinito,
.mundo-viewport,
.mundo-camada,
.mundo-chunks,
.mundo-chunk{
  background-color:transparent !important;
  background-image:var(--eterno-pet-road-image) !important;
  background-repeat:repeat !important;
  background-position:0 0 !important;
  background-size:var(--eterno-pet-road-size) !important;
}

body.modo-noturno .mundo-infinito,
body.modo-noturno .mundo-viewport,
body.modo-noturno .mundo-camada,
body.modo-noturno .mundo-chunks,
body.modo-noturno .mundo-chunk,
body.periodo-noite .mundo-infinito,
body.periodo-noite .mundo-viewport,
body.periodo-noite .mundo-camada,
body.periodo-noite .mundo-chunks,
body.periodo-noite .mundo-chunk{
  background-color:transparent !important;
  background-image:
    linear-gradient(rgba(0,0,0,.32),rgba(0,0,0,.32)),
    var(--eterno-pet-road-image) !important;
  background-repeat:no-repeat,repeat !important;
  background-position:0 0,0 0 !important;
  background-size:100% 100%,var(--eterno-pet-road-size) !important;
}


/* =========================================================
   v1.0.55 — acesso direto ao cemitério
   ========================================================= */
#entradaCinematografica,
.entrada-cinematografica{
  display:none !important;
}
body.intro-eterno-ativa{
  overflow:auto !important;
}


/* =========================================================
   v1.0.56 — piso contínuo preso à câmera, não à viewport
   ========================================================= */
.mundo-infinito,
.mundo-viewport,
.mundo-camada,
.mundo-chunks,
.mundo-chunk{
  background-color:transparent !important;
  background-image:none !important;
}

.mundo-camada::before{
  content:"" !important;
  position:absolute !important;
  left:-100000px !important;
  top:0 !important;
  width:200000px !important;
  height:200000px !important;
  z-index:0 !important;
  pointer-events:none !important;
  background-color:transparent !important;
  background-image:var(--eterno-pet-road-image) !important;
  background-repeat:repeat !important;
  background-position:0 0 !important;
  background-size:var(--eterno-pet-road-size) !important;
  image-rendering:pixelated !important;
}

body.modo-noturno .mundo-camada::before,
body.periodo-noite .mundo-camada::before{
  background-image:
    linear-gradient(rgba(0,0,0,.32),rgba(0,0,0,.32)),
    var(--eterno-pet-road-image) !important;
  background-repeat:no-repeat,repeat !important;
  background-position:0 0,0 0 !important;
  background-size:100% 100%,var(--eterno-pet-road-size) !important;
}

/* Todo o conteúdo do mundo permanece acima da superfície contínua. */
.malha-ruas-fundo,
.rua-saida-portal,
.rua-horizontal-entrada,
.mundo-chunks,
.ceu-mundo,
.entrada-mundo-topo,
.mundo-conteudo-central{
  position:absolute;
}


/* =========================================================
   v1.0.58 — POIs sem limite e sem recorte, igual aos quarteirões
   ========================================================= */
body .local-especial.local-fonte,
body .local-especial.local-lago,
body .local-especial.local-jardim-flores,
body .local-especial.local-arvore,
body .local-especial.local-praca,
body .local-especial.local-gatos,
body .local-especial.local-caes,
body .local-especial.local-ponte,
body .local-especial.local-capela,
body .local-especial.local-mirante,
body .local-especial.local-estrelas{
  overflow:visible !important;
  contain:none !important;
  clip-path:none !important;
  mask:none !important;
  -webkit-mask:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

body .local-especial.local-fonte > .cenario-especial,
body .local-especial.local-lago > .cenario-especial,
body .local-especial.local-jardim-flores > .cenario-especial,
body .local-especial.local-arvore > .cenario-especial,
body .local-especial.local-praca > .cenario-especial,
body .local-especial.local-gatos > .cenario-especial,
body .local-especial.local-caes > .cenario-especial,
body .local-especial.local-ponte > .cenario-especial,
body .local-especial.local-capela > .cenario-especial,
body .local-especial.local-mirante > .cenario-especial,
body .local-especial.local-estrelas > .cenario-especial{
  overflow:visible !important;
  contain:none !important;
  clip-path:none !important;
  mask:none !important;
  -webkit-mask:none !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

body .local-especial.local-fonte .ponto-imagem-pixel,
body .local-especial.local-lago .ponto-imagem-pixel,
body .local-especial.local-jardim-flores .ponto-imagem-pixel,
body .local-especial.local-arvore .ponto-imagem-pixel,
body .local-especial.local-praca .ponto-imagem-pixel,
body .local-especial.local-gatos .ponto-imagem-pixel,
body .local-especial.local-caes .ponto-imagem-pixel,
body .local-especial.local-ponte .ponto-imagem-pixel,
body .local-especial.local-mirante .ponto-imagem-pixel,
body .local-especial.local-estrelas .ponto-imagem-pixel,
body .local-especial.local-capela .capela-exterior-wrap{
  overflow:visible !important;
  contain:none !important;
  clip-path:none !important;
  mask:none !important;
  -webkit-mask:none !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:none !important;
  max-height:none !important;
  background-size:contain !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  transform:scale(var(--eterno-pet-poi-scale,1)) !important;
  transform-origin:center center !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:none !important;
  opacity:1 !important;
}

body.modo-noturno .local-especial .cenario-especial,
body.periodo-noite .local-especial .cenario-especial,
body.modo-noturno .local-especial .ponto-imagem-pixel,
body.periodo-noite .local-especial .ponto-imagem-pixel,
body.modo-noturno .local-capela .capela-exterior-wrap,
body.periodo-noite .local-capela .capela-exterior-wrap{
  overflow:visible !important;
  filter:none !important;
  box-shadow:none !important;
}

/* A Capela é um destino interativo em todos os períodos do ciclo. */
body.periodo-amanhecer .local-capela,
body.periodo-dia .local-capela,
body.periodo-entardecer .local-capela,
body.periodo-noite .local-capela,
body.modo-noturno .local-capela{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

body.periodo-amanhecer .local-capela .capela-exterior-wrap,
body.periodo-dia .local-capela .capela-exterior-wrap,
body.periodo-entardecer .local-capela .capela-exterior-wrap,
body.periodo-noite .local-capela .capela-exterior-wrap,
body.modo-noturno .local-capela .capela-exterior-wrap{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:none !important;
}

body.periodo-entardecer .local-capela .capela-exterior-wrap{filter:brightness(.88) saturate(.92) !important}
body.periodo-noite .local-capela .capela-exterior-wrap,
body.modo-noturno .local-capela .capela-exterior-wrap{filter:brightness(.68) saturate(.84) !important}

body.periodo-amanhecer #capelaOverlay,
body.periodo-dia #capelaOverlay,
body.periodo-entardecer #capelaOverlay,
body.periodo-noite #capelaOverlay,
body.modo-noturno #capelaOverlay{
  filter:none !important;
  isolation:isolate;
  mix-blend-mode:normal !important;
}


/* =========================================================
   v1.0.59 — passagens proporcionais e mais compactas
   ========================================================= */
:root{
  --eterno-pet-layout-road:68px;
}

/* A malha continua abaixo das artes e acompanha as variáveis calculadas pelo JS. */
.malha-ruas-fundo::before,
.malha-ruas-fundo::after{
  pointer-events:none !important;
}


/* =========================================================
   v1.0.61 — terreno em mosaico, sem malha quadrada visível
   ========================================================= */
/*
 * O piso de tijolinhos continua sendo o terreno-base contínuo do mundo.
 * As antigas máscaras horizontais/verticais são desligadas para não formar
 * uma grade. Os espaços naturais entre quarteirões/POIs viram as passagens.
 */
.malha-ruas-fundo,
.malha-ruas-fundo::before,
.malha-ruas-fundo::after,
body.eterno-pet-estrada-personalizada .malha-ruas-fundo,
body.eterno-pet-estrada-personalizada .malha-ruas-fundo::before,
body.eterno-pet-estrada-personalizada .malha-ruas-fundo::after{
  display:none !important;
  content:none !important;
  -webkit-mask-image:none !important;
  mask-image:none !important;
}

/*
 * Nenhuma borda/linha artificial entre células. A separação é somente o
 * tijolinho contínuo que aparece naturalmente entre as PNGs orgânicas.
 */
.quarteirao-procedural,
.quarteirao-real,
.local-especial{
  outline:0 !important;
}


/* =========================================================
   v1.0.62 — margem segura entre peças do mosaico
   ========================================================= */
.quarteirao-procedural,
.quarteirao-real,
.local-especial{
  margin:0 !important;
}

.eterno-pet-quarter-art,
.local-especial .ponto-imagem-pixel,
.local-capela .capela-exterior-wrap{
  transform-origin:center center !important;
}


/* v1.0.63 — remove a placa visual com o nome/código dos quarteirões. */
.placa-quarteirao,
.quarteirao-real-titulo,
.quarteirao-titulo{
  display:none !important;
}

/* v1.0.64 — modelos configuráveis de túmulo */
.tumulo-mini-procedural .ep-tomb-model{position:relative!important;display:block!important;height:auto!important;aspect-ratio:3/4!important;max-width:none!important;max-height:none!important;overflow:visible!important;pointer-events:none!important;z-index:46!important;flex:0 0 auto}
.tumulo-mini-procedural .ep-tomb-model-art{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;image-rendering:pixelated!important;pointer-events:none!important}
.tumulo-mini-procedural .ep-tomb-model-element{position:absolute!important;transform:translate(-50%,-50%)!important;z-index:3!important;display:block!important;margin:0!important;padding:0 2px!important;width:auto!important;height:auto!important;max-width:none!important;white-space:nowrap!important;line-height:1!important;text-align:center!important;color:#222!important;font-family:monospace!important;font-weight:800!important;text-shadow:0 1px rgba(255,255,255,.62)!important;pointer-events:none!important}
.tumulo-mini-procedural .ep-tomb-model-candle{padding:0!important;line-height:0!important}
.tumulo-mini-procedural .ep-tomb-model-candle img{display:block!important;width:1em!important;height:auto!important;max-width:none!important;image-rendering:pixelated!important}


/* v1.0.68 — lote vago respeita integralmente o tamanho do painel */
.tumulo-mini-procedural.tumulo-vago{
  overflow:visible !important;
}
.tumulo-mini-procedural.tumulo-vago .lapide-mini{
  width:var(--eterno-pet-vacant-tombstone-width,104px) !important;
  min-width:var(--eterno-pet-vacant-tombstone-width,104px) !important;
  max-width:none !important;
  height:var(--eterno-pet-vacant-tombstone-height,132px) !important;
  min-height:var(--eterno-pet-vacant-tombstone-height,132px) !important;
  max-height:none !important;
  flex-basis:var(--eterno-pet-vacant-tombstone-height,132px) !important;
  padding:0 !important;
  background-size:100% 100% !important;
  overflow:visible !important;
}


/* =========================================================
   v1.0.69 — streaming e navegação fluida no mobile
   ========================================================= */
.mundo-camada{
  will-change:transform;
  transform-origin:0 0;
}

@media (max-width:820px), (pointer:coarse){
  .mundo-viewport{
    touch-action:none !important;
    overscroll-behavior:none !important;
  }

  .quarteirao-procedural,
  .local-especial{
    contain:layout style paint;
  }

  body.navegando-mundo .eterno-pet-cloud,
  body.navegando-mundo .balao-aniversario-pet,
  body.navegando-mundo .borboleta,
  body.navegando-mundo .passaro,
  body.navegando-mundo .vagalume{
    animation-play-state:paused !important;
  }

  body.navegando-mundo .ambiente-procedural{
    visibility:hidden !important;
  }

  body.navegando-mundo .tumulo-mini-procedural{
    box-shadow:none !important;
    filter:none !important;
  }
}

/* Lote vago escala em dois eixos mantendo a silhueta de túmulo. */
.tumulo-mini-procedural.tumulo-vago .lapide-mini{
  background-size:contain !important;
  background-position:center bottom !important;
  background-repeat:no-repeat !important;
}


/* =========================================================
   v1.0.70 — cemitério finito e cercado
   ========================================================= */
.cerca-perimetro-cemiterio{
  position:absolute;
  z-index:62;
  pointer-events:none;
  box-sizing:border-box;
}

.cerca-perimetro-cemiterio .cerca-limite{
  position:absolute;
  display:block;
  pointer-events:none;
  background-image:var(--eterno-pet-fence-image,none);
  background-repeat:repeat-x;
  background-position:center bottom;
  background-size:auto var(--eterno-pet-fence-height,86px);
  image-rendering:pixelated;
}

.cerca-perimetro-cemiterio .cerca-topo,
.cerca-perimetro-cemiterio .cerca-base{
  left:0;
  width:100%;
  height:var(--eterno-pet-fence-height,86px);
}

.cerca-perimetro-cemiterio .cerca-topo{top:0}
.cerca-perimetro-cemiterio .cerca-base{bottom:0}

.cerca-perimetro-cemiterio .cerca-esquerda,
.cerca-perimetro-cemiterio .cerca-direita{
  top:0;
  width:100%;
  height:var(--eterno-pet-fence-height,86px);
  transform-origin:left top;
  background-repeat:repeat-x;
}

.cerca-perimetro-cemiterio .cerca-esquerda{
  left:var(--eterno-pet-fence-height,86px);
  width:100%;
  transform:rotate(90deg);
}

.cerca-perimetro-cemiterio .cerca-direita{
  left:100%;
  width:100%;
  transform:rotate(90deg);
}

.mundo-chunk{
  content-visibility:auto;
  contain-intrinsic-size:620px 500px;
}

@media(max-width:820px),(pointer:coarse){
  .mundo-chunk{
    content-visibility:auto;
    contain:layout style paint;
  }

  .entidade-ambiente{
    will-change:auto !important;
  }
}


/* v1.1.14 — seleção de plano no fluxo Eternizar */
#modalEternizar .plano-card{
  cursor:pointer;
  pointer-events:auto;
}
#modalEternizar .plano-card .btn-selecionar-plano{
  position:relative;
  z-index:2;
  pointer-events:auto;
}

#modalEternizar .estilo-tumulo .mini img{display:block;max-width:72px;max-height:58px;width:auto;height:auto;object-fit:contain;margin:auto}
#modalEternizar .estilo-tumulo.d-none{display:none!important}


/* =========================================================
   Minha Conta fullscreen imersiva
   Mantém a ilusão visual do jardim usando o fundo configurado
   para a experiência de Eternizar.
   ========================================================= */
#paginaMinhaConta.conta-eterno-fullscreen{
  position:fixed !important;
  inset:0 !important;
  z-index:100080 !important;
  width:100vw !important;
  height:100dvh !important;
  padding:clamp(10px,2vw,28px) !important;
  align-items:stretch !important;
  justify-content:center !important;
  overflow:hidden !important;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  isolation:isolate;
}

#paginaMinhaConta.conta-eterno-fullscreen::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 50% 0,rgba(255,255,255,.08),transparent 34%),
    linear-gradient(180deg,rgba(8,12,24,.08),rgba(8,12,24,.34));
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  pointer-events:none;
}

#paginaMinhaConta .painel-usuario-shell-fullscreen{
  width:min(1500px,100%) !important;
  height:100% !important;
  max-height:none !important;
  display:grid !important;
  grid-template-columns:280px minmax(0,1fr) !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.30) !important;
  border-radius:24px !important;
  background:rgba(245,247,251,.95) !important;
  box-shadow:0 32px 90px rgba(0,0,0,.38) !important;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

#paginaMinhaConta .painel-usuario-sidebar{
  min-width:0 !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  overflow-y:auto !important;
  background:
    linear-gradient(180deg,rgba(38,33,143,.98),rgba(55,48,163,.96)) !important;
}

#paginaMinhaConta .painel-marca{
  flex:0 0 auto;
}

#paginaMinhaConta .painel-nav{
  flex:1 1 auto;
}

#paginaMinhaConta .painel-sidebar-rodape{
  flex:0 0 auto;
  margin-top:auto !important;
}

#paginaMinhaConta .painel-usuario-main{
  min-width:0 !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  background:rgba(245,247,251,.94) !important;
}

#paginaMinhaConta .painel-usuario-header{
  flex:0 0 auto !important;
  min-height:112px !important;
  padding:22px clamp(20px,3vw,38px) !important;
  border-bottom:1px solid var(--ui-border) !important;
  background:rgba(255,255,255,.94) !important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

#paginaMinhaConta .painel-usuario-header h1{
  margin:3px 0 4px !important;
  font-size:clamp(22px,2.2vw,32px) !important;
  line-height:1.08 !important;
}

#paginaMinhaConta .painel-usuario-scroll{
  flex:1 1 auto !important;
  min-height:0 !important;
  padding:clamp(18px,2.5vw,34px) !important;
  overflow:auto !important;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}

#paginaMinhaConta .painel-tab{
  width:min(1120px,100%) !important;
  margin:0 auto !important;
}

#paginaMinhaConta .painel-hero,
#paginaMinhaConta .painel-card,
#paginaMinhaConta .painel-stat-card,
#paginaMinhaConta .meu-tumulo-card{
  background:rgba(255,255,255,.97) !important;
}

#paginaMinhaConta .painel-btn-fechar{
  flex:0 0 46px !important;
  width:46px !important;
  height:46px !important;
  border:0 !important;
  border-radius:13px !important;
  background:#eef0f5 !important;
  color:#343b4a !important;
  box-shadow:none !important;
}

#paginaMinhaConta .painel-btn-fechar:hover{
  background:#e2e5ec !important;
  transform:none !important;
}

@media(max-width:991.98px){
  #paginaMinhaConta.conta-eterno-fullscreen{
    padding:10px !important;
  }

  #paginaMinhaConta .painel-usuario-shell-fullscreen{
    grid-template-columns:220px minmax(0,1fr) !important;
    border-radius:20px !important;
  }

  #paginaMinhaConta .painel-usuario-header{
    padding:18px 20px !important;
  }

  #paginaMinhaConta .painel-usuario-header p{
    display:none !important;
  }

  #paginaMinhaConta .painel-usuario-scroll{
    padding:20px !important;
  }
}

@media(max-width:767.98px){
  #paginaMinhaConta.conta-eterno-fullscreen{
    padding:0 !important;
  }

  #paginaMinhaConta .painel-usuario-shell-fullscreen{
    width:100% !important;
    height:100dvh !important;
    grid-template-columns:1fr !important;
    grid-template-rows:auto minmax(0,1fr) !important;
    border:0 !important;
    border-radius:0 !important;
  }

  #paginaMinhaConta .painel-usuario-sidebar{
    height:auto !important;
    max-height:none !important;
    display:block !important;
    overflow:visible !important;
    background:linear-gradient(135deg,#292391,#4942bd) !important;
  }

  #paginaMinhaConta .painel-marca{
    min-height:62px !important;
    padding:10px 66px 8px 14px !important;
  }

  #paginaMinhaConta .painel-marca small,
  #paginaMinhaConta .painel-perfil-mini,
  #paginaMinhaConta .painel-sidebar-rodape{
    display:none !important;
  }

  #paginaMinhaConta .painel-nav{
    display:flex !important;
    gap:7px !important;
    padding:0 10px 10px !important;
    overflow-x:auto !important;
    scrollbar-width:none;
  }

  #paginaMinhaConta .painel-nav::-webkit-scrollbar{
    display:none;
  }

  #paginaMinhaConta .painel-nav-item{
    flex:0 0 auto !important;
    min-width:auto !important;
    min-height:42px !important;
    padding:0 12px !important;
    border-radius:11px !important;
    white-space:nowrap !important;
  }

  #paginaMinhaConta .painel-nav-item span:not(.painel-nav-badge){
    display:inline !important;
  }

  #paginaMinhaConta .painel-usuario-header{
    min-height:76px !important;
    padding:12px 14px !important;
  }

  #paginaMinhaConta .painel-usuario-header .painel-eyebrow,
  #paginaMinhaConta .painel-usuario-header p{
    display:none !important;
  }

  #paginaMinhaConta .painel-usuario-header h1{
    font-size:20px !important;
  }

  #paginaMinhaConta .painel-header-acoes{
    gap:8px !important;
  }

  #paginaMinhaConta .painel-btn-eternizar{
    min-height:42px !important;
    padding:0 12px !important;
    font-size:12px !important;
  }

  #paginaMinhaConta .painel-btn-fechar{
    position:fixed !important;
    top:10px !important;
    right:10px !important;
    z-index:5 !important;
    width:42px !important;
    height:42px !important;
    background:rgba(255,255,255,.16) !important;
    color:#fff !important;
  }

  #paginaMinhaConta .painel-usuario-scroll{
    padding:14px !important;
  }

  #paginaMinhaConta .painel-hero{
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:12px !important;
    padding:16px !important;
  }

  #paginaMinhaConta .painel-hero-selo{
    grid-column:1/-1 !important;
  }

  #paginaMinhaConta .painel-stats{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  #paginaMinhaConta .painel-pagina-cabecalho{
    align-items:flex-start !important;
    gap:12px !important;
  }

  #paginaMinhaConta .meus-tumulos-grid,
  #paginaMinhaConta .meus-tumulos-grid.grade-completa{
    grid-template-columns:1fr !important;
  }

  #paginaMinhaConta .painel-form-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:479.98px){
  #paginaMinhaConta .painel-nav-item{
    min-height:40px !important;
    padding:0 10px !important;
    font-size:11px !important;
  }

  #paginaMinhaConta .painel-nav-item i{
    margin-right:3px !important;
  }

  #paginaMinhaConta .painel-nav-badge{
    margin-left:3px !important;
  }

  #paginaMinhaConta .painel-header-acoes .painel-btn-eternizar{
    width:42px !important;
    padding:0 !important;
    overflow:hidden !important;
    font-size:0 !important;
  }

  #paginaMinhaConta .painel-header-acoes .painel-btn-eternizar i{
    margin:0 !important;
    font-size:15px !important;
  }

  #paginaMinhaConta .painel-usuario-scroll{
    padding:12px !important;
  }

  #paginaMinhaConta .painel-card,
  #paginaMinhaConta .painel-hero{
    border-radius:14px !important;
  }
}


/* v1.1.98 — Minha Conta alinhada ao design dos demais modais fullscreen */
#paginaMinhaConta .painel-usuario-shell-fullscreen{
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:20px !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 28px 80px rgba(9,12,28,.32) !important;
}

#paginaMinhaConta .painel-usuario-sidebar{
  background:rgba(255,255,255,.96) !important;
  border-right:1px solid var(--ui-border) !important;
  color:var(--ui-text) !important;
}

#paginaMinhaConta .painel-marca{
  border-bottom:1px solid var(--ui-border) !important;
}

#paginaMinhaConta .painel-marca strong,
#paginaMinhaConta .painel-perfil-mini strong{
  color:var(--ui-text) !important;
}

#paginaMinhaConta .painel-marca small,
#paginaMinhaConta .painel-perfil-mini small{
  color:var(--ui-muted) !important;
}

#paginaMinhaConta .painel-marca-icone,
#paginaMinhaConta .painel-avatar-mini{
  border:0 !important;
  border-radius:11px !important;
  background:#eeecff !important;
  color:var(--ui-primary) !important;
  box-shadow:none !important;
}

#paginaMinhaConta .painel-nav-item{
  border:0 !important;
  border-radius:11px !important;
  background:transparent !important;
  color:var(--ui-text) !important;
  box-shadow:none !important;
}

#paginaMinhaConta .painel-nav-item:hover{
  background:#f3f2ff !important;
}

#paginaMinhaConta .painel-nav-item.ativo{
  background:#ebe9ff !important;
  color:var(--ui-primary) !important;
}

#paginaMinhaConta .painel-nav-badge{
  border:0 !important;
  background:#fff !important;
  color:var(--ui-primary) !important;
  box-shadow:none !important;
}

#paginaMinhaConta .painel-btn-secundario,
#paginaMinhaConta .painel-btn-sair{
  border:1px solid var(--ui-border) !important;
  border-radius:11px !important;
  box-shadow:none !important;
}

#paginaMinhaConta .painel-btn-eternizar{
  border:0 !important;
  border-radius:11px !important;
  background:var(--ui-primary) !important;
  color:#fff !important;
  box-shadow:none !important;
}

#paginaMinhaConta .painel-hero,
#paginaMinhaConta .painel-card,
#paginaMinhaConta .painel-stat-card,
#paginaMinhaConta .meu-tumulo-card{
  border:1px solid var(--ui-border) !important;
  border-radius:15px !important;
  background:#fff !important;
  box-shadow:var(--ui-shadow-soft) !important;
}

#paginaMinhaConta .painel-usuario-main{
  background:var(--ui-bg) !important;
}

#paginaMinhaConta .painel-usuario-header{
  background:#fff !important;
}

@media(max-width:767.98px){
  #paginaMinhaConta .painel-usuario-shell-fullscreen{
    border-radius:0 !important;
  }

  #paginaMinhaConta .painel-usuario-sidebar{
    border-right:0 !important;
    border-bottom:1px solid var(--ui-border) !important;
    background:#fff !important;
  }

  #paginaMinhaConta .painel-btn-fechar{
    background:#f1f3f6 !important;
    color:#4b5563 !important;
  }
}


/* =========================================================
   v1.1.99 — Minha Conta: fundo real + efeito de vidro
   Corrige regras legadas com background !important.
   ========================================================= */
#paginaMinhaConta.conta-eterno-fullscreen{
  background-color:#171a2f !important;
  background-image:
    linear-gradient(135deg,rgba(9,14,27,.42),rgba(27,23,72,.30)),
    var(--eterno-conta-bg) !important;
  background-position:center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

#paginaMinhaConta.conta-eterno-fullscreen::before{
  z-index:0 !important;
  background:
    radial-gradient(circle at 25% 12%,rgba(255,255,255,.15),transparent 32%),
    linear-gradient(180deg,rgba(8,12,26,.06),rgba(8,12,26,.22)) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

#paginaMinhaConta .painel-usuario-shell-fullscreen{
  position:relative !important;
  z-index:1 !important;
  border:1px solid rgba(255,255,255,.40) !important;
  background:rgba(244,247,252,.40) !important;
  box-shadow:
    0 30px 90px rgba(5,10,24,.34),
    inset 0 1px 0 rgba(255,255,255,.36) !important;
  backdrop-filter:blur(22px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(22px) saturate(135%) !important;
}

#paginaMinhaConta .painel-usuario-sidebar{
  background:rgba(255,255,255,.48) !important;
  border-right:1px solid rgba(255,255,255,.42) !important;
  backdrop-filter:blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(130%) !important;
}

#paginaMinhaConta .painel-usuario-main{
  background:rgba(242,246,252,.32) !important;
}

#paginaMinhaConta .painel-usuario-header{
  background:rgba(255,255,255,.52) !important;
  border-bottom:1px solid rgba(255,255,255,.48) !important;
  backdrop-filter:blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(130%) !important;
}

#paginaMinhaConta .painel-hero,
#paginaMinhaConta .painel-card,
#paginaMinhaConta .painel-stat-card,
#paginaMinhaConta .meu-tumulo-card{
  border:1px solid rgba(255,255,255,.56) !important;
  background:rgba(255,255,255,.68) !important;
  box-shadow:
    0 12px 34px rgba(19,27,49,.10),
    inset 0 1px 0 rgba(255,255,255,.52) !important;
  backdrop-filter:blur(14px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(125%) !important;
}

#paginaMinhaConta .painel-nav-item{
  background:rgba(255,255,255,.18) !important;
}

#paginaMinhaConta .painel-nav-item:hover{
  background:rgba(255,255,255,.45) !important;
}

#paginaMinhaConta .painel-nav-item.ativo{
  background:rgba(235,233,255,.76) !important;
  box-shadow:inset 0 0 0 1px rgba(92,82,190,.12) !important;
}

#paginaMinhaConta .painel-btn-secundario,
#paginaMinhaConta .painel-btn-sair{
  background:rgba(255,255,255,.48) !important;
  border-color:rgba(255,255,255,.54) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}

#paginaMinhaConta .painel-form-grid input,
#paginaMinhaConta .painel-form-grid select,
#paginaMinhaConta .painel-form-grid textarea{
  background:rgba(255,255,255,.74) !important;
  border-color:rgba(255,255,255,.70) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}

@media(max-width:767.98px){
  #paginaMinhaConta .painel-usuario-shell-fullscreen{
    background:rgba(244,247,252,.34) !important;
  }

  #paginaMinhaConta .painel-usuario-sidebar{
    background:rgba(255,255,255,.58) !important;
    border-bottom:1px solid rgba(255,255,255,.50) !important;
  }

  #paginaMinhaConta .painel-usuario-header{
    background:rgba(255,255,255,.58) !important;
  }
}


/* =========================================================
   v1.1.100 — refinamento visual Minha Conta
   ========================================================= */
#paginaMinhaConta .painel-marca-logo{
  min-height:96px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px 20px !important;
}

#paginaMinhaConta .painel-logo-site{
  display:block !important;
  width:min(190px,88%) !important;
  max-height:72px !important;
  height:auto !important;
  object-fit:contain !important;
}

#paginaMinhaConta .painel-usuario-shell-fullscreen{
  background:rgba(244,247,252,.26) !important;
  border-color:rgba(255,255,255,.34) !important;
  backdrop-filter:blur(20px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(20px) saturate(130%) !important;
}

#paginaMinhaConta .painel-usuario-sidebar{
  background:rgba(255,255,255,.34) !important;
  border-right-color:rgba(255,255,255,.38) !important;
  backdrop-filter:blur(18px) saturate(130%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(130%) !important;
}

#paginaMinhaConta .painel-usuario-main{
  background:rgba(242,246,252,.20) !important;
}

#paginaMinhaConta .painel-usuario-header{
  background:rgba(255,255,255,.38) !important;
  border-bottom-color:rgba(255,255,255,.40) !important;
}

#paginaMinhaConta .painel-hero,
#paginaMinhaConta .painel-card,
#paginaMinhaConta .painel-stat-card,
#paginaMinhaConta .meu-tumulo-card{
  background:rgba(255,255,255,.56) !important;
  border-color:rgba(255,255,255,.48) !important;
}

#paginaMinhaConta .painel-form-grid input,
#paginaMinhaConta .painel-form-grid select,
#paginaMinhaConta .painel-form-grid textarea{
  background:rgba(255,255,255,.68) !important;
}

#paginaMinhaConta .painel-btn-sair{
  background:#dc3545 !important;
  border-color:#dc3545 !important;
  color:#fff !important;
  box-shadow:none !important;
}

#paginaMinhaConta .painel-btn-sair:hover,
#paginaMinhaConta .painel-btn-sair:focus-visible{
  background:#bb2d3b !important;
  border-color:#b02a37 !important;
  color:#fff !important;
}

@media(max-width:767.98px){
  #paginaMinhaConta .painel-marca-logo{
    min-height:64px !important;
    padding:9px 64px 9px 12px !important;
    justify-content:flex-start !important;
  }

  #paginaMinhaConta .painel-logo-site{
    width:auto !important;
    max-width:150px !important;
    max-height:48px !important;
  }

  #paginaMinhaConta .painel-usuario-shell-fullscreen{
    background:rgba(244,247,252,.22) !important;
  }

  #paginaMinhaConta .painel-usuario-sidebar{
    background:rgba(255,255,255,.40) !important;
  }

  #paginaMinhaConta .painel-usuario-header{
    background:rgba(255,255,255,.42) !important;
  }
}


/* =========================================================
   v1.1.101 — Minha Conta: glassform final
   ========================================================= */

/* Esconde controles globais enquanto o painel da conta estiver aberto */
body:has(#paginaMinhaConta.ativo) #btnAbrirMenuJardim,
body:has(#paginaMinhaConta.ativo) .menu-topo-novo,
body:has(#paginaMinhaConta.ativo) #btnAbrirPainelCemiterio,
body:has(#paginaMinhaConta.ativo) .acoes-globais{
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Fallback por sobreposição */
#paginaMinhaConta.conta-eterno-fullscreen{
  z-index:2147483646 !important;
}

/* Logo maior, com menos respiro */
#paginaMinhaConta .painel-marca-logo{
  min-height:78px !important;
  padding:6px 8px !important;
  justify-content:center !important;
}

#paginaMinhaConta .painel-logo-site{
  width:min(232px,96%) !important;
  max-width:96% !important;
  max-height:82px !important;
  height:auto !important;
  object-fit:contain !important;
}

/* Glassform: superfícies mais transparentes, imagem de fundo mais perceptível */
#paginaMinhaConta .painel-usuario-shell-fullscreen{
  background:rgba(236,241,248,.16) !important;
  border:1px solid rgba(255,255,255,.30) !important;
  box-shadow:
    0 28px 90px rgba(8,12,30,.28),
    inset 0 1px 0 rgba(255,255,255,.30) !important;
  backdrop-filter:blur(18px) saturate(125%) !important;
  -webkit-backdrop-filter:blur(18px) saturate(125%) !important;
}

#paginaMinhaConta .painel-usuario-sidebar{
  background:rgba(255,255,255,.24) !important;
  border-right:1px solid rgba(255,255,255,.30) !important;
  backdrop-filter:blur(16px) saturate(120%) !important;
  -webkit-backdrop-filter:blur(16px) saturate(120%) !important;
}

#paginaMinhaConta .painel-usuario-main{
  background:rgba(238,243,249,.10) !important;
}

#paginaMinhaConta .painel-usuario-header{
  background:rgba(255,255,255,.28) !important;
  border-bottom:1px solid rgba(255,255,255,.32) !important;
  backdrop-filter:blur(14px) saturate(120%) !important;
  -webkit-backdrop-filter:blur(14px) saturate(120%) !important;
}

#paginaMinhaConta .painel-hero,
#paginaMinhaConta .painel-card,
#paginaMinhaConta .painel-stat-card,
#paginaMinhaConta .meu-tumulo-card{
  background:rgba(255,255,255,.46) !important;
  border-color:rgba(255,255,255,.48) !important;
  backdrop-filter:blur(12px) saturate(115%) !important;
  -webkit-backdrop-filter:blur(12px) saturate(115%) !important;
}

#paginaMinhaConta .painel-nav-item{
  background:rgba(255,255,255,.10) !important;
}

#paginaMinhaConta .painel-nav-item:hover{
  background:rgba(255,255,255,.30) !important;
}

#paginaMinhaConta .painel-nav-item.ativo{
  background:rgba(238,235,255,.58) !important;
}

#paginaMinhaConta .painel-form-grid input,
#paginaMinhaConta .painel-form-grid select,
#paginaMinhaConta .painel-form-grid textarea{
  background:rgba(255,255,255,.60) !important;
  border-color:rgba(255,255,255,.62) !important;
}

/* Rodapé lateral mantém apenas o sair e ocupa a largura inteira */
#paginaMinhaConta .painel-sidebar-rodape{
  display:block !important;
}

#paginaMinhaConta .painel-btn-sair{
  width:100% !important;
}

@media(max-width:767.98px){
  #paginaMinhaConta .painel-marca-logo{
    min-height:58px !important;
    padding:4px 56px 4px 8px !important;
    justify-content:flex-start !important;
  }

  #paginaMinhaConta .painel-logo-site{
    width:auto !important;
    max-width:185px !important;
    max-height:54px !important;
  }

  #paginaMinhaConta .painel-usuario-shell-fullscreen{
    background:rgba(236,241,248,.12) !important;
  }

  #paginaMinhaConta .painel-usuario-sidebar{
    background:rgba(255,255,255,.28) !important;
    border-bottom:1px solid rgba(255,255,255,.32) !important;
  }

  #paginaMinhaConta .painel-usuario-header{
    background:rgba(255,255,255,.32) !important;
  }
}


/* =========================================================
   v1.1.102 — Minha Conta: painel branco novamente
   ========================================================= */

/* Mais espaço entre Minha conta e Sair */
#paginaMinhaConta .painel-sidebar-rodape{
  margin-top:26px !important;
  padding-top:18px !important;
  border-top:1px solid var(--ui-border) !important;
}

/* Logo maior */
#paginaMinhaConta .painel-marca-logo{
  min-height:92px !important;
  padding:4px 6px !important;
}

#paginaMinhaConta .painel-logo-site{
  width:min(260px,98%) !important;
  max-width:98% !important;
  max-height:94px !important;
}

/* Retorno ao painel branco/opaco */
#paginaMinhaConta .painel-usuario-shell-fullscreen{
  background:#f5f7fb !important;
  border:1px solid rgba(255,255,255,.30) !important;
  box-shadow:0 32px 90px rgba(0,0,0,.38) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

#paginaMinhaConta .painel-usuario-sidebar{
  background:#fff !important;
  border-right:1px solid var(--ui-border) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

#paginaMinhaConta .painel-usuario-main{
  background:#f5f7fb !important;
}

#paginaMinhaConta .painel-usuario-header{
  background:#fff !important;
  border-bottom:1px solid var(--ui-border) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

#paginaMinhaConta .painel-hero,
#paginaMinhaConta .painel-card,
#paginaMinhaConta .painel-stat-card,
#paginaMinhaConta .meu-tumulo-card{
  background:#fff !important;
  border:1px solid var(--ui-border) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

#paginaMinhaConta .painel-nav-item{
  background:transparent !important;
}

#paginaMinhaConta .painel-nav-item:hover{
  background:#f3f2ff !important;
}

#paginaMinhaConta .painel-nav-item.ativo{
  background:#ebe9ff !important;
}

#paginaMinhaConta .painel-form-grid input,
#paginaMinhaConta .painel-form-grid select,
#paginaMinhaConta .painel-form-grid textarea{
  background:#fff !important;
  border-color:var(--ui-border) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

@media(max-width:767.98px){
  #paginaMinhaConta .painel-marca-logo{
    min-height:68px !important;
    padding:3px 56px 3px 6px !important;
  }

  #paginaMinhaConta .painel-logo-site{
    width:auto !important;
    max-width:215px !important;
    max-height:62px !important;
  }

  #paginaMinhaConta .painel-usuario-shell-fullscreen,
  #paginaMinhaConta .painel-usuario-sidebar,
  #paginaMinhaConta .painel-usuario-header{
    background:#fff !important;
  }

  #paginaMinhaConta .painel-usuario-main{
    background:#f5f7fb !important;
  }

  #paginaMinhaConta .painel-sidebar-rodape{
    margin-top:14px !important;
    padding-top:12px !important;
  }
}


/* =========================================================
   v1.1.103 — Minha Conta: logo +20% e responsividade consolidada
   ========================================================= */
#paginaMinhaConta,
#paginaMinhaConta *{
  box-sizing:border-box !important;
}

#paginaMinhaConta .painel-usuario-shell-fullscreen,
#paginaMinhaConta .painel-usuario-sidebar,
#paginaMinhaConta .painel-usuario-main,
#paginaMinhaConta .painel-usuario-scroll,
#paginaMinhaConta .painel-tab,
#paginaMinhaConta .painel-card,
#paginaMinhaConta .painel-hero,
#paginaMinhaConta .painel-pagina-cabecalho,
#paginaMinhaConta .painel-form-grid,
#paginaMinhaConta .meus-tumulos-grid{
  min-width:0 !important;
}

/* Logo aproximadamente 20% maior */
#paginaMinhaConta .painel-marca-logo{
  min-height:112px !important;
  padding:3px 5px !important;
}

#paginaMinhaConta .painel-logo-site{
  width:min(312px,98%) !important;
  max-width:98% !important;
  max-height:113px !important;
  height:auto !important;
}

/* Desktop / notebooks */
@media(max-width:1199.98px){
  #paginaMinhaConta.conta-eterno-fullscreen{
    padding:12px !important;
  }

  #paginaMinhaConta .painel-usuario-shell-fullscreen{
    grid-template-columns:240px minmax(0,1fr) !important;
  }

  #paginaMinhaConta .painel-logo-site{
    width:min(270px,98%) !important;
    max-height:104px !important;
  }

  #paginaMinhaConta .painel-usuario-header{
    padding:18px 24px !important;
  }

  #paginaMinhaConta .painel-usuario-scroll{
    padding:22px !important;
  }

  #paginaMinhaConta .painel-stats{
    gap:12px !important;
  }
}

/* Tablet: painel passa a ser vertical e a navegação vira faixa horizontal */
@media(max-width:899.98px){
  #paginaMinhaConta.conta-eterno-fullscreen{
    padding:8px !important;
  }

  #paginaMinhaConta .painel-usuario-shell-fullscreen{
    grid-template-columns:1fr !important;
    grid-template-rows:auto minmax(0,1fr) !important;
    border-radius:16px !important;
  }

  #paginaMinhaConta .painel-usuario-sidebar{
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
    border-right:0 !important;
    border-bottom:1px solid var(--ui-border) !important;
  }

  #paginaMinhaConta .painel-marca-logo{
    min-height:78px !important;
    padding:3px 64px 3px 10px !important;
    justify-content:flex-start !important;
  }

  #paginaMinhaConta .painel-logo-site{
    width:auto !important;
    max-width:250px !important;
    max-height:72px !important;
  }

  #paginaMinhaConta .painel-perfil-mini{
    display:none !important;
  }

  #paginaMinhaConta .painel-nav{
    display:flex !important;
    flex:0 0 auto !important;
    width:100% !important;
    gap:6px !important;
    padding:7px 10px 9px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }

  #paginaMinhaConta .painel-nav-item{
    flex:0 0 auto !important;
    min-height:44px !important;
    white-space:nowrap !important;
  }

  #paginaMinhaConta .painel-sidebar-rodape{
    margin:0 !important;
    padding:0 10px 10px !important;
    border-top:0 !important;
  }

  #paginaMinhaConta .painel-btn-sair{
    width:auto !important;
    min-height:44px !important;
    padding:0 18px !important;
  }

  #paginaMinhaConta .painel-usuario-main{
    height:auto !important;
    min-height:0 !important;
  }

  #paginaMinhaConta .painel-usuario-header{
    min-height:auto !important;
    padding:16px 64px 16px 18px !important;
  }

  #paginaMinhaConta .painel-usuario-header > div:first-child{
    min-width:0 !important;
  }

  #paginaMinhaConta .painel-usuario-header h1,
  #paginaMinhaConta .painel-usuario-header p{
    overflow-wrap:anywhere;
  }

  #paginaMinhaConta .painel-btn-fechar{
    position:absolute !important;
    top:14px !important;
    right:14px !important;
    z-index:6 !important;
  }

  #paginaMinhaConta .painel-usuario-scroll{
    padding:18px !important;
  }

  #paginaMinhaConta .painel-stats{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

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

  #paginaMinhaConta .painel-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Celulares */
@media(max-width:639.98px){
  #paginaMinhaConta.conta-eterno-fullscreen{
    padding:0 !important;
  }

  #paginaMinhaConta .painel-usuario-shell-fullscreen{
    width:100% !important;
    height:100% !important;
    border:0 !important;
    border-radius:0 !important;
  }

  #paginaMinhaConta .painel-marca-logo{
    min-height:68px !important;
    padding:2px 58px 2px 8px !important;
  }

  #paginaMinhaConta .painel-logo-site{
    max-width:230px !important;
    max-height:64px !important;
  }

  #paginaMinhaConta .painel-nav{
    padding:6px 8px 8px !important;
  }

  #paginaMinhaConta .painel-nav-item{
    min-height:44px !important;
    padding:0 12px !important;
    font-size:12px !important;
  }

  #paginaMinhaConta .painel-sidebar-rodape{
    padding:0 8px 8px !important;
  }

  #paginaMinhaConta .painel-btn-sair{
    width:100% !important;
  }

  #paginaMinhaConta .painel-usuario-header{
    padding:14px 58px 14px 14px !important;
  }

  #paginaMinhaConta .painel-usuario-header h1{
    font-size:22px !important;
  }

  #paginaMinhaConta .painel-usuario-header p{
    font-size:13px !important;
    line-height:1.45 !important;
  }

  #paginaMinhaConta .painel-btn-fechar{
    top:11px !important;
    right:10px !important;
    width:42px !important;
    height:42px !important;
  }

  #paginaMinhaConta .painel-usuario-scroll{
    padding:12px !important;
  }

  #paginaMinhaConta .painel-hero{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    gap:10px !important;
    padding:14px !important;
  }

  #paginaMinhaConta .painel-hero-selo{
    grid-column:1/-1 !important;
    width:100% !important;
  }

  #paginaMinhaConta .painel-stats,
  #paginaMinhaConta .meus-tumulos-grid,
  #paginaMinhaConta .meus-tumulos-grid.grade-completa,
  #paginaMinhaConta .painel-form-grid{
    grid-template-columns:1fr !important;
  }

  #paginaMinhaConta .painel-pagina-cabecalho,
  #paginaMinhaConta .painel-card-header{
    flex-direction:column !important;
    align-items:stretch !important;
  }

  #paginaMinhaConta .painel-card,
  #paginaMinhaConta .painel-stat-card,
  #paginaMinhaConta .meu-tumulo-card{
    width:100% !important;
  }

  #paginaMinhaConta input,
  #paginaMinhaConta select,
  #paginaMinhaConta textarea,
  #paginaMinhaConta button{
    max-width:100%;
  }

  #paginaMinhaConta input,
  #paginaMinhaConta select,
  #paginaMinhaConta textarea{
    font-size:16px !important;
  }
}

/* Telefones estreitos, inclusive 320px */
@media(max-width:379.98px){
  #paginaMinhaConta .painel-marca-logo{
    min-height:60px !important;
    padding-right:54px !important;
  }

  #paginaMinhaConta .painel-logo-site{
    max-width:195px !important;
    max-height:56px !important;
  }

  #paginaMinhaConta .painel-nav-item{
    padding:0 9px !important;
    font-size:11px !important;
  }

  #paginaMinhaConta .painel-nav-item i{
    margin-right:4px !important;
  }

  #paginaMinhaConta .painel-nav-badge{
    margin-left:4px !important;
  }

  #paginaMinhaConta .painel-usuario-header h1{
    font-size:20px !important;
  }

  #paginaMinhaConta .painel-usuario-scroll{
    padding:10px !important;
  }

  #paginaMinhaConta .painel-card,
  #paginaMinhaConta .painel-hero,
  #paginaMinhaConta .painel-stat-card{
    padding-left:12px !important;
    padding-right:12px !important;
  }
}


/* =========================================================
   v1.1.104 — login mobile centralizado + inputs sem autozoom
   ========================================================= */
@media(max-width:700px){
  .auth-eterno-overlay{
    width:100% !important;
    min-width:0 !important;
    height:100dvh !important;
    min-height:100dvh !important;
    padding:12px !important;
    display:none;
    align-items:center !important;
    justify-content:center !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
  }

  .auth-eterno-overlay.ativo{
    display:flex !important;
  }

  .auth-eterno-box{
    width:min(100%,470px) !important;
    max-width:470px !important;
    max-height:calc(100dvh - 24px) !important;
    margin:auto !important;
    border-width:1px !important;
    border-radius:18px !important;
    overflow-y:auto !important;
    box-shadow:0 18px 55px rgba(0,0,0,.28) !important;
    -webkit-overflow-scrolling:touch;
  }
}

/* Safari/iOS aplica zoom automático em campos com fonte abaixo de 16px.
   Mantemos 16px nos controles móveis sem bloquear o zoom manual/acessível. */
@media(max-width:767.98px){
  .auth-eterno-campo input,
  .auth-eterno-campo select,
  .auth-eterno-campo textarea,
  #modalEternizar input,
  #modalEternizar select,
  #modalEternizar textarea,
  #paginaMinhaConta input,
  #paginaMinhaConta select,
  #paginaMinhaConta textarea,
  .entrada-interior-overlay input,
  .entrada-interior-overlay select,
  .entrada-interior-overlay textarea,
  .editar-memorial-overlay input,
  .editar-memorial-overlay select,
  .editar-memorial-overlay textarea,
  .modal input,
  .modal select,
  .modal textarea{
    font-size:16px !important;
  }
}

@media(max-width:380px), (max-height:560px){
  .auth-eterno-overlay{
    align-items:center !important;
    padding:8px !important;
  }

  .auth-eterno-box{
    max-height:calc(100dvh - 16px) !important;
  }

  .auth-eterno-topo{
    padding:12px 14px !important;
  }

  .auth-eterno-corpo{
    padding:14px !important;
  }
}


/* =========================================================
   v1.1.109 — modais legais
   ========================================================= */
.modal-legal-eterno{
  z-index:2147483646 !important;
}

.modal-legal-eterno .modal-dialog{
  width:min(860px,calc(100vw - 28px));
  max-width:860px;
}

.modal-legal-eterno .modal-content{
  max-height:min(82dvh,820px);
  overflow:hidden;
  background:#fff;
  color:#20283a;
  border-radius:20px;
}

.modal-legal-eterno .modal-header{
  border-bottom:1px solid #e5e8ef;
  padding:20px 22px;
}

.modal-legal-eterno .modal-body{
  padding:22px;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}

.modal-legal-eterno .conteudo-legal-eterno{
  font-size:15px;
  line-height:1.75;
  overflow-wrap:anywhere;
}

.modal-legal-eterno .conteudo-legal-eterno > :last-child{
  margin-bottom:0;
}

@media(max-width:575.98px){
  .modal-legal-eterno .modal-dialog{
    width:100%;
    height:100dvh;
    max-width:none;
    margin:0;
  }

  .modal-legal-eterno .modal-content{
    height:100dvh;
    max-height:none;
    border:0;
    border-radius:0;
  }

  .modal-legal-eterno .modal-header,
  .modal-legal-eterno .modal-body,
  .modal-legal-eterno .modal-footer{
    padding-left:16px;
    padding-right:16px;
  }
}


/* =========================================================
   v1.1.110 — menu responsivo do painel do usuário
   ========================================================= */
#paginaMinhaConta .painel-menu-mobile-toggle{
  display:none;
}

/* Tablet mantém navegação horizontal organizada */
@media(min-width:640px) and (max-width:899.98px){
  #paginaMinhaConta .painel-nav{
    display:grid !important;
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:8px !important;
    padding:10px 12px !important;
    overflow:visible !important;
  }

  #paginaMinhaConta .painel-nav-item{
    min-width:0 !important;
    min-height:48px !important;
    padding:8px 9px !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    line-height:1.2 !important;
  }

  #paginaMinhaConta .painel-nav-item i{
    margin-right:5px !important;
  }

  #paginaMinhaConta .painel-sidebar-rodape{
    display:flex !important;
    justify-content:flex-end !important;
    padding:0 12px 10px !important;
  }

  #paginaMinhaConta .painel-btn-sair{
    min-width:120px !important;
  }
}

/* Mobile: menu vertical recolhível, sem scroll horizontal */
@media(max-width:639.98px){
  #paginaMinhaConta .painel-usuario-sidebar{
    position:relative !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:
      "marca toggle"
      "nav nav"
      "rodape rodape" !important;
    align-items:center !important;
    background:#fff !important;
    border-bottom:1px solid var(--ui-border) !important;
    z-index:10 !important;
  }

  #paginaMinhaConta .painel-marca-logo{
    grid-area:marca !important;
    min-width:0 !important;
    min-height:64px !important;
    padding:3px 8px !important;
    justify-content:flex-start !important;
  }

  #paginaMinhaConta .painel-logo-site{
    width:auto !important;
    max-width:min(210px,62vw) !important;
    max-height:58px !important;
  }

  #paginaMinhaConta .painel-menu-mobile-toggle{
    grid-area:toggle !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    min-width:88px !important;
    min-height:44px !important;
    margin-right:10px !important;
    padding:0 12px !important;
    border:1px solid var(--ui-border) !important;
    border-radius:11px !important;
    background:#f7f7fb !important;
    color:var(--ui-text) !important;
    font-size:13px !important;
    font-weight:800 !important;
    cursor:pointer !important;
  }

  #paginaMinhaConta .painel-menu-mobile-toggle i{
    font-size:15px !important;
  }

  #paginaMinhaConta .painel-nav{
    grid-area:nav !important;
    display:none !important;
    width:100% !important;
    padding:8px 10px 4px !important;
    overflow:visible !important;
    border-top:1px solid var(--ui-border) !important;
    background:#fff !important;
  }

  #paginaMinhaConta .painel-usuario-sidebar.menu-mobile-aberto .painel-nav{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:6px !important;
  }

  #paginaMinhaConta .painel-nav-item{
    width:100% !important;
    min-height:46px !important;
    padding:0 14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    text-align:left !important;
    white-space:normal !important;
    border-radius:10px !important;
    font-size:13px !important;
  }

  #paginaMinhaConta .painel-nav-item i{
    width:22px !important;
    margin-right:9px !important;
    text-align:center !important;
    flex:0 0 22px !important;
  }

  #paginaMinhaConta .painel-nav-badge{
    margin-left:auto !important;
  }

  #paginaMinhaConta .painel-sidebar-rodape{
    grid-area:rodape !important;
    display:none !important;
    margin:0 !important;
    padding:6px 10px 10px !important;
    border-top:0 !important;
    background:#fff !important;
  }

  #paginaMinhaConta .painel-usuario-sidebar.menu-mobile-aberto .painel-sidebar-rodape{
    display:block !important;
  }

  #paginaMinhaConta .painel-btn-sair{
    width:100% !important;
    min-height:46px !important;
    justify-content:center !important;
  }

  #paginaMinhaConta .painel-usuario-main{
    min-height:0 !important;
  }

  #paginaMinhaConta .painel-usuario-scroll{
    padding-top:12px !important;
  }
}

/* Telefones estreitos */
@media(max-width:379.98px){
  #paginaMinhaConta .painel-logo-site{
    max-width:min(170px,56vw) !important;
    max-height:52px !important;
  }

  #paginaMinhaConta .painel-menu-mobile-toggle{
    min-width:74px !important;
    padding:0 9px !important;
    font-size:12px !important;
  }
}


/* =========================================================
   v1.1.111 — remove divisória abaixo da logo no mobile
   ========================================================= */
@media(max-width:639.98px){
  #paginaMinhaConta .painel-usuario-sidebar{
    border-bottom:0 !important;
  }

  #paginaMinhaConta .painel-nav{
    border-top:0 !important;
  }
}


/* =========================================================
   v1.1.112 — remove definitivamente divisórias da área da logo mobile
   ========================================================= */
@media(max-width:639.98px){
  #paginaMinhaConta .painel-usuario-sidebar,
  #paginaMinhaConta .painel-marca,
  #paginaMinhaConta .painel-marca-logo{
    border-top:0 !important;
    border-right:0 !important;
    border-bottom:0 !important;
    border-left:0 !important;
    box-shadow:none !important;
    outline:0 !important;
  }

  #paginaMinhaConta .painel-usuario-sidebar::before,
  #paginaMinhaConta .painel-usuario-sidebar::after,
  #paginaMinhaConta .painel-marca::before,
  #paginaMinhaConta .painel-marca::after,
  #paginaMinhaConta .painel-marca-logo::before,
  #paginaMinhaConta .painel-marca-logo::after{
    content:none !important;
    display:none !important;
    border:0 !important;
    box-shadow:none !important;
  }

  #paginaMinhaConta .painel-nav{
    border-top:0 !important;
    border-bottom:0 !important;
    box-shadow:none !important;
  }
}


/* =========================================================
   v1.1.113 — aproxima Logo/Menu do Olá no mobile
   ========================================================= */
@media(max-width:639.98px){
  #paginaMinhaConta .painel-marca-logo{
    min-height:56px !important;
    padding-top:1px !important;
    padding-bottom:1px !important;
  }

  #paginaMinhaConta .painel-logo-site{
    max-height:52px !important;
  }

  #paginaMinhaConta .painel-usuario-header{
    padding-top:7px !important;
    padding-bottom:9px !important;
  }

  #paginaMinhaConta .painel-usuario-header .painel-eyebrow{
    margin-bottom:2px !important;
  }

  #paginaMinhaConta .painel-usuario-header h1{
    margin-top:0 !important;
    margin-bottom:2px !important;
  }

  #paginaMinhaConta .painel-usuario-header p{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
}

@media(max-width:379.98px){
  #paginaMinhaConta .painel-marca-logo{
    min-height:52px !important;
  }

  #paginaMinhaConta .painel-logo-site{
    max-height:48px !important;
  }
}


/* =========================================================
   v1.1.114 — reduz mais 20px no topo do painel mobile
   ========================================================= */
@media(max-width:639.98px){
  #paginaMinhaConta .painel-usuario-header{
    margin-top:-20px !important;
    padding-top:7px !important;
  }
}


/* =========================================================
   v1.1.115 — compacta o fundo branco superior sem sobreposição
   ========================================================= */
@media(max-width:639.98px){
  #paginaMinhaConta .painel-usuario-header{
    margin-top:0 !important;
  }

  #paginaMinhaConta .painel-usuario-sidebar{
    min-height:0 !important;
    height:auto !important;
    padding:0 !important;
  }

  #paginaMinhaConta .painel-marca-logo{
    min-height:42px !important;
    height:42px !important;
    padding:0 6px !important;
  }

  #paginaMinhaConta .painel-logo-site{
    width:auto !important;
    max-width:min(180px,55vw) !important;
    max-height:40px !important;
  }

  #paginaMinhaConta .painel-menu-mobile-toggle{
    min-height:36px !important;
    height:36px !important;
    margin-right:8px !important;
    padding:0 10px !important;
  }

  #paginaMinhaConta .painel-usuario-header{
    padding-top:7px !important;
    padding-bottom:9px !important;
  }
}

@media(max-width:379.98px){
  #paginaMinhaConta .painel-marca-logo{
    min-height:40px !important;
    height:40px !important;
  }

  #paginaMinhaConta .painel-logo-site{
    max-width:min(155px,52vw) !important;
    max-height:38px !important;
  }

  #paginaMinhaConta .painel-menu-mobile-toggle{
    min-height:34px !important;
    height:34px !important;
  }
}


/* =========================================================
   v1.1.116 — oculta o Olá, Nome! superior no mobile
   ========================================================= */
@media(max-width:639.98px){
  #paginaMinhaConta .painel-usuario-header{
    display:none !important;
  }
}


/* =========================================================
   v1.1.117 — centraliza logo e menu no cabeçalho mobile
   ========================================================= */
@media(max-width:639.98px){
  #paginaMinhaConta .painel-usuario-sidebar{
    align-items:center !important;
  }

  #paginaMinhaConta .painel-marca-logo{
    align-self:center !important;
    align-items:center !important;
    justify-content:flex-start !important;
    height:48px !important;
    min-height:48px !important;
    padding-top:4px !important;
    padding-bottom:4px !important;
    box-sizing:border-box !important;
  }

  #paginaMinhaConta .painel-logo-site{
    display:block !important;
    margin-top:auto !important;
    margin-bottom:auto !important;
    max-height:40px !important;
  }

  #paginaMinhaConta .painel-menu-mobile-toggle{
    align-self:center !important;
    margin-top:0 !important;
    margin-bottom:0 !important;
  }
}

@media(max-width:379.98px){
  #paginaMinhaConta .painel-marca-logo{
    height:46px !important;
    min-height:46px !important;
    padding-top:4px !important;
    padding-bottom:4px !important;
  }

  #paginaMinhaConta .painel-logo-site{
    max-height:38px !important;
  }
}


/* =========================================================
   v1.1.118 — alinhamento estrutural da linha Logo/Menu mobile
   ========================================================= */
@media(max-width:639.98px){
  #paginaMinhaConta .painel-usuario-sidebar{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-rows:56px auto auto !important;
    grid-template-areas:
      "marca toggle"
      "nav nav"
      "rodape rodape" !important;
    align-items:stretch !important;
    padding:0 !important;
  }

  #paginaMinhaConta .painel-marca-logo{
    grid-area:marca !important;
    display:flex !important;
    width:100% !important;
    height:56px !important;
    min-height:56px !important;
    margin:0 !important;
    padding:8px 8px 8px 10px !important;
    align-items:center !important;
    justify-content:flex-start !important;
    box-sizing:border-box !important;
  }

  #paginaMinhaConta .painel-logo-site{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:min(180px,55vw) !important;
    max-height:40px !important;
    margin:0 !important;
    padding:0 !important;
    align-self:center !important;
  }

  #paginaMinhaConta .painel-menu-mobile-toggle{
    grid-area:toggle !important;
    align-self:center !important;
    justify-self:end !important;
    height:36px !important;
    min-height:36px !important;
    margin:0 10px 0 0 !important;
    padding:0 10px !important;
    box-sizing:border-box !important;
  }
}

@media(max-width:379.98px){
  #paginaMinhaConta .painel-usuario-sidebar{
    grid-template-rows:54px auto auto !important;
  }

  #paginaMinhaConta .painel-marca-logo{
    height:54px !important;
    min-height:54px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  #paginaMinhaConta .painel-logo-site{
    max-height:38px !important;
  }

  #paginaMinhaConta .painel-menu-mobile-toggle{
    height:34px !important;
    min-height:34px !important;
  }
}


/* =========================================================
   v1.1.119 — cabeçalho mobile real para Logo + Menu
   ========================================================= */
#paginaMinhaConta .painel-topo-mobile{
  display:contents;
}

@media(max-width:639.98px){
  #paginaMinhaConta .painel-usuario-sidebar{
    display:block !important;
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    background:#fff !important;
  }

  #paginaMinhaConta .painel-topo-mobile{
    display:flex !important;
    width:100% !important;
    height:56px !important;
    min-height:56px !important;
    padding:8px 10px !important;
    margin:0 !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    box-sizing:border-box !important;
    background:#fff !important;
  }

  #paginaMinhaConta .painel-marca-logo{
    display:flex !important;
    flex:1 1 auto !important;
    width:auto !important;
    height:40px !important;
    min-height:40px !important;
    margin:0 !important;
    padding:0 !important;
    align-items:center !important;
    justify-content:flex-start !important;
    background:transparent !important;
  }

  #paginaMinhaConta .painel-logo-site{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:min(180px,55vw) !important;
    max-height:40px !important;
    margin:0 !important;
    padding:0 !important;
  }

  #paginaMinhaConta .painel-menu-mobile-toggle{
    display:inline-flex !important;
    flex:0 0 auto !important;
    height:36px !important;
    min-height:36px !important;
    margin:0 !important;
    padding:0 10px !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:center !important;
  }

  #paginaMinhaConta .painel-nav{
    width:100% !important;
    margin:0 !important;
  }

  #paginaMinhaConta .painel-sidebar-rodape{
    width:100% !important;
    margin:0 !important;
  }
}

@media(max-width:379.98px){
  #paginaMinhaConta .painel-topo-mobile{
    height:54px !important;
    min-height:54px !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
  }

  #paginaMinhaConta .painel-marca-logo{
    height:38px !important;
    min-height:38px !important;
  }

  #paginaMinhaConta .painel-logo-site{
    max-height:38px !important;
  }

  #paginaMinhaConta .painel-menu-mobile-toggle{
    height:34px !important;
    min-height:34px !important;
  }
}


/* =========================================================
   v1.1.120 — botão Ir para o site no cabeçalho mobile
   ========================================================= */
#paginaMinhaConta .painel-ir-site-mobile{
  display:none;
}

@media(max-width:639.98px){
  #paginaMinhaConta .painel-topo-mobile{
    gap:7px !important;
  }

  #paginaMinhaConta .painel-ir-site-mobile{
    display:inline-flex !important;
    flex:0 0 auto !important;
    height:36px !important;
    min-height:36px !important;
    margin:0 !important;
    padding:0 10px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:6px !important;
    border:1px solid var(--ui-border) !important;
    border-radius:11px !important;
    background:#fff !important;
    color:var(--ui-text) !important;
    font-size:12px !important;
    font-weight:800 !important;
    line-height:1 !important;
    cursor:pointer !important;
    white-space:nowrap !important;
    box-sizing:border-box !important;
  }

  #paginaMinhaConta .painel-ir-site-mobile i{
    font-size:12px !important;
  }

  #paginaMinhaConta .painel-menu-mobile-toggle{
    margin-right:0 !important;
  }
}

@media(max-width:419.98px){
  #paginaMinhaConta .painel-topo-mobile{
    gap:5px !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }

  #paginaMinhaConta .painel-ir-site-mobile,
  #paginaMinhaConta .painel-menu-mobile-toggle{
    padding-left:8px !important;
    padding-right:8px !important;
  }

  #paginaMinhaConta .painel-ir-site-mobile{
    font-size:11px !important;
  }
}
\n\n/* =========================================================\n   v1.1.122 — feedback do salvamento de rascunho\n   ========================================================= */\n#modalEternizar .rascunho-aviso.rascunho-aviso-erro{\n  border-color:#efb7b7 !important;\n  background:#fff1f1 !important;\n  color:#9f2d35 !important;\n}\n

/* =========================================================
   v1.1.124 — busca e visualização dos modelos de túmulo
   ========================================================= */
#modalEternizar .estilos-tumulo-topo{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:10px;
}
#modalEternizar .busca-estilo-tumulo{
  position:relative;
  display:block;
  flex:0 1 320px;
  margin:0;
}
#modalEternizar .busca-estilo-tumulo > i{
  position:absolute;
  z-index:2;
  left:13px;
  top:50%;
  transform:translateY(-50%);
  color:#788397;
  pointer-events:none;
}
#modalEternizar #buscaEstiloTumulo{
  min-height:42px;
  padding-left:38px;
  border:1px solid #d8dee8;
  border-radius:11px;
  font-size:14px;
  box-shadow:none;
}
#modalEternizar #buscaEstiloTumulo:focus{
  border-color:#4b43bd;
  box-shadow:0 0 0 3px rgba(75,67,189,.10);
}
#modalEternizar .estilo-tumulo{
  position:relative;
  overflow:visible;
}
#modalEternizar .estilo-tumulo .mini{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:62px;
  overflow:visible;
}
#modalEternizar .estilo-tumulo .mini img{
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
  transform-origin:center bottom;
}
#modalEternizar .estilos-tumulo-vazio{
  margin-top:10px;
  padding:14px 16px;
  border:1px dashed #cfd6e2;
  border-radius:12px;
  background:#f8fafc;
  color:#667085;
  font:700 13px Arial,sans-serif;
  text-align:center;
}

@media(max-width:782px){
  #modalEternizar .estilos-tumulo-topo{
    align-items:stretch;
    flex-direction:column;
    gap:8px;
  }
  #modalEternizar .busca-estilo-tumulo{
    flex-basis:auto;
    width:100%;
  }
  #modalEternizar #buscaEstiloTumulo{
    min-height:46px;
    font-size:16px;
  }
}


/* =========================================================
   v1.1.125 — validação segura da publicação do memorial
   ========================================================= */
#modalEternizar .validacao-publicacao{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:14px;
  align-items:start;
  margin-top:20px;
  padding:16px;
  border:1px solid #d9dcef;
  border-radius:14px;
  background:#f8f8ff;
}
#modalEternizar .validacao-publicacao.d-none{display:none!important}
#modalEternizar .validacao-publicacao-icone{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:12px;
  background:#ebeafe;
  color:#443bb7;
  font-size:20px;
}
#modalEternizar .validacao-publicacao-conteudo{min-width:0}
#modalEternizar .validacao-publicacao-conteudo>strong{display:block;margin-bottom:4px;font-size:14px;color:#24213f}
#modalEternizar .validacao-publicacao-conteudo>p{margin:0 0 12px;font-size:12px;line-height:1.5;color:#66647a}
#modalEternizar .validacao-publicacao-conteudo>label{display:block;margin-bottom:6px;font-size:11px;font-weight:900;color:#39364f}
#modalEternizar .validacao-publicacao-codigo{display:block}
#modalEternizar #tokenPublicacaoMemorial{
  width:180px;
  min-height:48px;
  text-align:center;
  font-size:21px;
  font-weight:900;
  letter-spacing:.32em;
  font-variant-numeric:tabular-nums;
}
#modalEternizar .validacao-publicacao-conteudo>small{display:block;margin-top:8px;color:#777489;font-size:10px}
#modalEternizar .validacao-publicacao-reenvio{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #e4e3ef;
  color:#777489;
  font-size:11px;
  font-weight:700;
}
#modalEternizar .btn-reenviar-token{
  min-height:auto;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#443bb7;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
#modalEternizar .btn-reenviar-token:hover{text-decoration:underline}
#modalEternizar .btn-reenviar-token:disabled{opacity:.55;cursor:not-allowed;text-decoration:none}
#modalEternizar .publicacao-feedback{
  margin-top:12px;
  padding:11px 13px;
  border:1px solid #bde1ca;
  border-radius:10px;
  background:#f0fbf4;
  color:#196b39;
  font-size:12px;
  font-weight:800;
  line-height:1.45;
}
#modalEternizar .publicacao-feedback.d-none{display:none!important}
#modalEternizar .publicacao-feedback.publicacao-feedback-erro{
  border-color:#efb7b7;
  background:#fff1f1;
  color:#9f2d35;
}
@media(max-width:575.98px){
  #modalEternizar .validacao-publicacao{grid-template-columns:1fr}
  #modalEternizar .validacao-publicacao-icone{width:40px;height:40px}
  #modalEternizar #tokenPublicacaoMemorial{width:100%;font-size:19px}
  #modalEternizar .validacao-publicacao-reenvio{align-items:flex-start;flex-wrap:wrap;gap:6px 9px}
  #modalEternizar .btn-reenviar-token{width:auto}
}


/* =========================================================
   v1.1.129 — modal personalizado para ações destrutivas
   ========================================================= */
body.ep-confirmacao-aberta{
  overflow:hidden !important;
}

.ep-confirmacao-overlay{
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(12,16,28,.62);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,visibility .18s ease;
}

.ep-confirmacao-overlay.ativo{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.ep-confirmacao-card{
  position:relative;
  width:min(460px,100%);
  padding:30px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.8);
  border-radius:24px;
  background:#fff;
  color:#20283a;
  box-shadow:0 26px 70px rgba(8,12,24,.28);
  transform:translateY(12px) scale(.985);
  transition:transform .2s ease;
}

.ep-confirmacao-overlay.ativo .ep-confirmacao-card{
  transform:translateY(0) scale(1);
}

.ep-confirmacao-fechar{
  position:absolute;
  top:14px;
  right:14px;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  padding:0;
  border:0;
  border-radius:11px;
  background:#f5f6f8;
  color:#667085;
  cursor:pointer;
}

.ep-confirmacao-icone{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin-bottom:18px;
  border-radius:18px;
  background:#fff0ee;
  color:#d92d20;
  font-size:24px;
}

.ep-confirmacao-eyebrow{
  display:block;
  margin-bottom:7px;
  color:#d92d20;
  font-size:10px;
  font-weight:900;
  letter-spacing:.13em;
}

.ep-confirmacao-conteudo h3{
  margin:0 46px 8px 0;
  color:#20283a;
  font-size:23px;
  line-height:1.2;
  font-weight:900;
}

.ep-confirmacao-conteudo p{
  margin:0;
  color:#667085;
  font-size:14px;
  line-height:1.6;
}

.ep-confirmacao-acoes{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:26px;
}

.ep-confirmacao-cancelar,
.ep-confirmacao-confirmar{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:0 17px;
  border-radius:12px;
  font-size:13px;
  font-weight:850;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}

.ep-confirmacao-cancelar{
  border:1px solid #d8dde6;
  background:#fff;
  color:#344054;
}

.ep-confirmacao-cancelar:hover{
  background:#f6f7f9;
}

.ep-confirmacao-confirmar{
  border:1px solid #d92d20;
  background:#d92d20;
  color:#fff;
  box-shadow:0 5px 14px rgba(217,45,32,.20);
}

.ep-confirmacao-confirmar:hover{
  border-color:#b42318;
  background:#b42318;
  color:#fff;
}

.ep-confirmacao-cancelar:focus-visible,
.ep-confirmacao-confirmar:focus-visible,
.ep-confirmacao-fechar:focus-visible{
  outline:3px solid rgba(71,84,103,.18);
  outline-offset:2px;
}

.ep-confirmacao-confirmar:active,
.ep-confirmacao-cancelar:active{
  transform:translateY(1px);
}

.zona-perigosa-conta{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;padding:20px;border:1px solid #fecaca;border-radius:16px;background:#fff7f7}.zona-perigosa-conta span{display:block;margin-bottom:5px;color:#c81e1e;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.zona-perigosa-conta h3{margin:0;color:#7f1d1d;font-size:17px;font-weight:900}.zona-perigosa-conta p{max-width:600px;margin:6px 0 0;color:#8b4a4a;font-size:13px;line-height:1.5}.zona-perigosa-conta button{display:inline-flex;flex:none;align-items:center;gap:8px;min-height:42px;padding:0 14px;border:1px solid #d92d20;border-radius:10px;background:#d92d20;color:#fff;font-size:12px;font-weight:850;cursor:pointer}.zona-perigosa-conta button:hover{background:#b42318}.ep-excluir-conta-frase{display:block;margin-top:18px;color:#6b2330;font-size:12px;font-weight:700}.ep-excluir-conta-frase strong{font-weight:900}.ep-excluir-conta-frase input{display:block;width:100%;margin-top:8px;padding:11px 12px;border:1px solid #f0b6b6;border-radius:10px;background:#fff;color:#20283a;font-size:14px}.ep-excluir-conta-frase input:focus{outline:3px solid rgba(217,45,32,.14);border-color:#d92d20}.ep-excluir-conta-card .ep-confirmacao-confirmar:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}.ep-excluir-conta-card .ep-confirmacao-confirmar:disabled:hover{background:#d92d20;border-color:#d92d20}

@media(max-width:575.98px){
  .ep-confirmacao-overlay{
    align-items:flex-end;
    padding:12px;
  }

  .ep-confirmacao-card{
    width:100%;
    padding:24px 20px 20px;
    border-radius:22px;
  }

  .ep-confirmacao-conteudo h3{
    font-size:21px;
  }

  .ep-confirmacao-acoes{
    display:grid;
    grid-template-columns:1fr;
  }

  .ep-confirmacao-cancelar,
  .ep-confirmacao-confirmar{
    width:100%;
    min-height:48px;
  }

  .ep-confirmacao-confirmar{
    order:-1;
  }
  .zona-perigosa-conta{align-items:flex-start;flex-direction:column}.zona-perigosa-conta button{width:100%;justify-content:center}
}


/* v1.1.131 — largura segura para Nome e Datas nos modelos de túmulo */
.tumulo-mini-procedural .ep-tomb-model-name,
.tumulo-mini-procedural .ep-tomb-model-dates{
  box-sizing:border-box!important;
  overflow:hidden!important;
  text-overflow:clip!important;
}

/* v1.1.158 — holofote noturno da entrada principal.
   Cada facho começa no chão (base estreita) e abre de baixo para cima. */
.entrada-holofote{
  display:none;
}

body.modo-noturno #portalEntradaPrincipal::before,
body.periodo-noite #portalEntradaPrincipal::before,
body.modo-noturno #portalEntradaPrincipal .entrada-holofote,
body.periodo-noite #portalEntradaPrincipal .entrada-holofote{
  display:block;
  position:absolute;
  bottom:-4px;
  transform:translateX(-50%);
  clip-path:polygon(41% 100%, 59% 100%, 100% 0, 0 0);
  background:linear-gradient(to top,
    rgba(255,222,133,.52) 0%,
    rgba(255,231,163,.25) 36%,
    rgba(255,241,194,.05) 71%,
    transparent 100%);
  filter:blur(2px);
  mix-blend-mode:screen;
  pointer-events:none;
  animation:eterno-pet-facho-entrada 3.8s ease-in-out infinite alternate;
}

body.modo-noturno #portalEntradaPrincipal::before,
body.periodo-noite #portalEntradaPrincipal::before{
  content:"";
  left:50%;
  width:125%;
  height:128%;
  transform:translateX(-50%);
  z-index:1;
}

body.modo-noturno #portalEntradaPrincipal .entrada-holofote-entrada,
body.periodo-noite #portalEntradaPrincipal .entrada-holofote-entrada{
  left:50%;
  width:72%;
  height:94%;
  opacity:.82;
  z-index:2;
}

body.modo-noturno #portalEntradaPrincipal .capela,
body.modo-noturno #portalEntradaPrincipal .pet-porta,
body.modo-noturno #portalEntradaPrincipal .flores,
body.periodo-noite #portalEntradaPrincipal .capela,
body.periodo-noite #portalEntradaPrincipal .pet-porta,
body.periodo-noite #portalEntradaPrincipal .flores{
  position:relative;
  z-index:4;
}

body.modo-noturno .entrada-scroll .placa,
body.modo-noturno .entrada-mundo-topo .placa,
body.periodo-noite .entrada-scroll .placa,
body.periodo-noite .entrada-mundo-topo .placa{
  filter:brightness(1.16) drop-shadow(0 0 6px rgba(255,225,145,.70));
  box-shadow:0 10px 20px rgba(255,214,112,.22);
}

@keyframes eterno-pet-facho-entrada{
  from{opacity:.72;filter:blur(2px) brightness(.92)}
  to{opacity:1;filter:blur(3px) brightness(1.16)}
}

@media(prefers-reduced-motion:reduce){
  body.modo-noturno #portalEntradaPrincipal::before,
  body.periodo-noite #portalEntradaPrincipal::before,
  body.modo-noturno #portalEntradaPrincipal .entrada-holofote,
  body.periodo-noite #portalEntradaPrincipal .entrada-holofote{
    animation:none;
  }
}

/* Fachos ascendentes removidos: a entrada mantém somente sua arte e luz ambiente. */
body.modo-noturno #portalEntradaPrincipal::before,
body.periodo-noite #portalEntradaPrincipal::before,
body.modo-noturno #portalEntradaPrincipal .entrada-holofote,
body.periodo-noite #portalEntradaPrincipal .entrada-holofote{
  content:none;
  display:none;
  animation:none;
}

/* v1.1.208 — túmulos preservam exatamente as cores originais no modo noturno, sem glow. */
body.modo-noturno .tumulo-mini-procedural,
body.periodo-noite .tumulo-mini-procedural,
body.modo-noturno .tumulo-mini-procedural .ep-tomb-model,
body.periodo-noite .tumulo-mini-procedural .ep-tomb-model,
body.modo-noturno .tumulo-mini-procedural .ep-tomb-model-art,
body.periodo-noite .tumulo-mini-procedural .ep-tomb-model-art{
  filter:none !important;
  box-shadow:none !important;
}


/* =========================================================
   v1.1.210 — lotes reservados no painel do cliente
   ========================================================= */
.reservado-conta-card{border-color:#d8d4ff;background:linear-gradient(180deg,#fff 0%,#faf9ff 100%)}
.reservado-conta-icone{background:#e7e3ff;color:#332ca1}
.btn-preencher-reservado{white-space:nowrap}


/* Confirmação interna ao sair de um lote reservado com alterações não salvas. */
.ep-confirmacao-saida-reservado{
  position:fixed;
  inset:0;
  z-index:2147483000 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.ep-confirmacao-saida-reservado.d-none{display:none!important;}
.ep-confirmacao-saida-reservado-backdrop{
  position:absolute;
  inset:0;
  background:rgba(5,8,13,.78);
  backdrop-filter:blur(3px);
}
.ep-confirmacao-saida-reservado-dialog{
  position:relative;
  z-index:1;
  width:min(92vw,520px);
}
.ep-confirmacao-saida-reservado-card{
  background:#262a30;
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
  padding:30px;
  text-align:center;
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  color:#fff;
}
.ep-confirmacao-saida-reservado-card h3{margin:10px 0 8px;font-weight:800;}
.ep-confirmacao-saida-reservado-card p{margin:0 auto 22px;max-width:420px;color:rgba(255,255,255,.72);}
.ep-saida-reservado-acoes{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.ep-btn-descartar-reserva,.ep-btn-salvar-reserva{min-height:46px;border-radius:12px;padding:0 18px;font-weight:700;}
.ep-btn-descartar-reserva{background:transparent;border:1px solid rgba(255,255,255,.22);color:#fff;}
.ep-btn-salvar-reserva{background:#fff;border:1px solid #fff;color:#1d2127;}
.ep-saida-reservado-feedback{margin-top:16px;color:#ffb4b4;font-weight:700;}
body.ep-confirmacao-reserva-aberta #modalEternizar .modal-dialog{pointer-events:auto;}


/* =========================================================
   v1.1.218 — confirmação de saída sempre acima de toda a interface
   ========================================================= */
.ep-confirmacao-saida-reservado{
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  isolation:isolate;
  transform:none !important;
  filter:none !important;
  opacity:1 !important;
  overflow:auto;
}
.ep-confirmacao-saida-reservado-backdrop{
  z-index:0 !important;
}
.ep-confirmacao-saida-reservado-dialog{
  z-index:2 !important;
  position:relative !important;
}
body.ep-confirmacao-reserva-aberta .modal-backdrop,
body.ep-confirmacao-reserva-aberta #modalEternizar{
  pointer-events:none;
}
body.ep-confirmacao-reserva-aberta .ep-confirmacao-saida-reservado{
  pointer-events:auto !important;
}

/* v1.1.223 — foto da linha da história */
#modalEternizar .historia-item-foto{display:block;width:100%;max-width:180px;max-height:120px;object-fit:cover;border-radius:10px;margin:8px 0}
#modalEternizar #historiaFotoPreviewEternizar img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}


/* v1.1.226 — prévia organizada da linha da história no cadastro */
#modalEternizar .historia-editor-lista{
  position:relative;
  display:block;
  margin-top:18px;
  padding:0;
}
#modalEternizar .historia-editor-lista.tem-momentos{
  padding-top:2px;
}
#modalEternizar .historia-previa-cabecalho{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 16px;
  padding:13px 15px;
  border:1px solid #dedcf7;
  border-radius:13px;
  background:linear-gradient(135deg,#f7f6ff,#fbfbff);
}
#modalEternizar .historia-previa-icone{
  flex:0 0 40px;
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#ebe9ff;
  color:#4037ad;
  font-size:15px;
}
#modalEternizar .historia-previa-cabecalho strong,
#modalEternizar .historia-previa-cabecalho span{display:block}
#modalEternizar .historia-previa-cabecalho strong{
  color:#293248;
  font:800 13px/1.3 Inter,Arial,sans-serif;
}
#modalEternizar .historia-previa-cabecalho div>span{
  margin-top:3px;
  color:#7b8598;
  font:11px/1.45 Arial,sans-serif;
}
#modalEternizar .historia-item-preview{
  position:relative;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:13px;
  align-items:stretch;
  margin:0;
  padding:0 0 15px;
}
#modalEternizar .historia-item-preview:last-child{padding-bottom:0}
#modalEternizar .historia-item-preview:not(:last-child)::before{
  content:"";
  position:absolute;
  left:16px;
  top:32px;
  bottom:-2px;
  width:2px;
  border-radius:999px;
  background:linear-gradient(180deg,#554cc0,#d9d6f6);
}
#modalEternizar .historia-item-marcador{
  position:relative;
  z-index:2;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  align-self:start;
  margin-top:18px;
  border:4px solid #fff;
  border-radius:50%;
  background:#443bad;
  color:#fff;
  box-shadow:0 0 0 2px #dcd8f8,0 5px 14px rgba(63,54,166,.18);
  font-size:10px;
}
#modalEternizar .historia-item-card{
  position:relative;
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  gap:16px;
  min-width:0;
  overflow:hidden;
  border:1px solid #e0e4ec;
  border-radius:15px;
  background:#fff;
  box-shadow:0 7px 22px rgba(30,39,66,.055);
}
#modalEternizar .historia-item-card.sem-foto{grid-template-columns:1fr}
#modalEternizar .historia-item-foto-wrap{
  width:170px;
  min-height:150px;
  overflow:hidden;
  background:#eef0f5;
}
#modalEternizar .historia-item-foto{
  display:block;
  width:100%!important;
  height:100%!important;
  min-height:150px;
  max-height:190px;
  object-fit:cover;
}
#modalEternizar .historia-item-conteudo{
  min-width:0;
  padding:17px 18px 56px 0;
}
#modalEternizar .historia-item-card.sem-foto .historia-item-conteudo{padding-left:18px}
#modalEternizar .historia-item-topo{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:9px;
}
#modalEternizar .historia-item-data{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:5px 9px;
  border-radius:999px;
  background:#efedff;
  color:#443aaa;
  font:800 10px/1 Arial,sans-serif;
  text-transform:capitalize;
}
#modalEternizar .historia-item-numero{
  color:#98a1b1;
  font:800 9px/1 Arial,sans-serif;
  letter-spacing:.06em;
  text-transform:uppercase;
}
#modalEternizar .historia-item-titulo{
  margin:0;
  color:#253047;
  font:800 17px/1.28 Inter,Arial,sans-serif;
  overflow-wrap:anywhere;
}
#modalEternizar .historia-item-descricao{
  margin:7px 0 0;
  color:#707d91;
  font:12px/1.6 Arial,sans-serif;
  white-space:pre-line;
  overflow-wrap:anywhere;
}
#modalEternizar .historia-item-acoes{
  position:absolute;
  right:14px;
  bottom:13px;
  display:flex;
  gap:7px;
}
#modalEternizar .historia-item-acoes button{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 10px;
  border:0;
  border-radius:9px;
  font:800 10px Arial,sans-serif;
  cursor:pointer;
  transition:transform .16s ease,box-shadow .16s ease,background .16s ease;
}
#modalEternizar .historia-item-acoes button:hover{transform:translateY(-1px)}
#modalEternizar .historia-item-editar{
  background:#eeefff;
  color:#3f36a8;
}
#modalEternizar .historia-item-editar:hover{box-shadow:0 4px 10px rgba(63,54,168,.12)}
#modalEternizar .historia-item-remover{
  background:#fff0f1;
  color:#c73b4a;
}
#modalEternizar .historia-item-remover:hover{box-shadow:0 4px 10px rgba(199,59,74,.10)}
@media(max-width:720px){
  #modalEternizar .historia-previa-cabecalho{padding:11px 12px}
  #modalEternizar .historia-item-preview{grid-template-columns:28px minmax(0,1fr);gap:9px}
  #modalEternizar .historia-item-preview:not(:last-child)::before{left:13px;top:29px}
  #modalEternizar .historia-item-marcador{width:28px;height:28px;margin-top:15px;border-width:3px;font-size:8px}
  #modalEternizar .historia-item-card{grid-template-columns:1fr}
  #modalEternizar .historia-item-foto-wrap{width:100%;height:180px;min-height:0}
  #modalEternizar .historia-item-foto{height:180px!important;min-height:0;max-height:none}
  #modalEternizar .historia-item-conteudo,
  #modalEternizar .historia-item-card.sem-foto .historia-item-conteudo{padding:14px 14px 58px}
  #modalEternizar .historia-item-titulo{font-size:15px}
  #modalEternizar .historia-item-acoes{right:11px;bottom:11px}
  #modalEternizar .historia-item-acoes button{min-height:31px;padding:0 9px}
}

/* =========================================================
   v1.1.229 — modal de erros sempre acima do memorial
   ========================================================= */
.ep-erro-global-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:2147483647!important;
  display:none;
  align-items:center!important;
  justify-content:center!important;
  width:100vw!important;
  height:100dvh!important;
  margin:0!important;
  padding:24px!important;
  background:rgba(16,24,40,.68)!important;
  backdrop-filter:blur(5px);
  -webkit-backdrop-filter:blur(5px);
  isolation:isolate!important;
  transform:none!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
}
.ep-erro-global-overlay.ativo{display:flex!important}
.ep-erro-global-card{
  position:relative!important;
  z-index:2147483647!important;
  width:min(460px,calc(100vw - 32px))!important;
  max-height:calc(100dvh - 40px)!important;
  overflow:auto!important;
  padding:30px 28px 24px!important;
  border:1px solid #f1b4b8!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 24px 80px rgba(16,24,40,.36)!important;
  text-align:center!important;
  color:#1d2939!important;
  animation:epErroEntrar .18s ease-out;
}
.ep-erro-global-icone{display:flex;align-items:center;justify-content:center;width:62px;height:62px;margin:0 auto 16px;border-radius:50%;background:#fff0f1;color:#b4232c;font-size:29px}
.ep-erro-global-card h3{margin:0 0 10px;font-size:22px;font-weight:800;color:#9f2d35}
.ep-erro-global-card p{margin:0 auto 22px;max-width:390px;font-size:15px;line-height:1.55;color:#667085}
.ep-erro-global-fechar{min-width:150px;border:0;border-radius:12px;padding:12px 22px;background:#3730b8;color:#fff;font-weight:800;cursor:pointer;box-shadow:0 4px 0 #211b78}
.ep-erro-global-fechar:hover{transform:translateY(-1px)}
.ep-erro-global-fechar:focus-visible{outline:3px solid rgba(55,48,184,.25);outline-offset:3px}
@keyframes epErroEntrar{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:575.98px){.ep-erro-global-overlay{padding:16px!important}.ep-erro-global-card{padding:26px 20px 22px!important;border-radius:18px!important}}


/* ============================================================
   v1.1.230 — contador da homenagem no fluxo principal
   ============================================================ */
#modalEternizar #contadorHomenagem{font-variant-numeric:tabular-nums;}
#modalEternizar .ep-homenagem-minimo-ok{color:#198754 !important;}

/* foto-capa-gratuito-edicao-v1232 */
.editar-foto-capa-gratis{
  display:grid;
  gap:10px;
}
.editar-foto-capa-gratis>span{
  font-weight:800;
  color:#5f6d84;
}
.editar-foto-capa-seletor{
  width:100%;
  min-height:112px;
  display:grid;
  grid-template-columns:88px 1fr auto;
  align-items:center;
  gap:18px;
  padding:14px 18px;
  border:2px dashed #aebce0;
  border-radius:20px;
  background:#f8f9ff;
  color:#3430ad;
  text-align:left;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.editar-foto-capa-seletor:hover{
  border-color:#4037c7;
  background:#f2f0ff;
  transform:translateY(-1px);
}
.editar-foto-capa-preview{
  width:88px;
  height:82px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:16px;
  background:#e8e5ff;
  font-size:28px;
}
.editar-foto-capa-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.editar-foto-capa-texto{
  display:grid;
  gap:4px;
}
.editar-foto-capa-texto strong{
  font-size:16px;
  color:#26324a;
}
.editar-foto-capa-texto small,
.editar-foto-capa-ajuda{
  color:#7b879c;
}
#modalEditarMemorial:not(.edicao-gratis) #editarFotoCapaGratisBloco{
  display:none !important;
}
@media (max-width:640px){
  .editar-foto-capa-seletor{
    grid-template-columns:72px 1fr;
  }
  .editar-foto-capa-preview{
    width:72px;
    height:72px;
  }
  .editar-foto-capa-seletor>i:last-child{
    display:none;
  }
}


/* ============================================================
   v1.1.233 — edição gratuita: foto no preview + upgrade robusto
   ============================================================ */
#modalEditarMemorial.edicao-gratis .editar-preview-card .editar-preview-avatar{
  width:168px;
  height:168px;
  overflow:hidden;
  border-radius:24px;
  background:#eef1f7;
}
#modalEditarMemorial.edicao-gratis .editar-preview-card .editar-preview-avatar.tem-foto{
  padding:0;
}
#modalEditarMemorial.edicao-gratis .editar-preview-card .editar-preview-avatar img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
#modalEditarMemorial.edicao-gratis .editar-foto-capa-gratis{
  margin-top:14px;
  padding:14px;
  border:1px solid #d8d9ef;
  border-radius:16px;
  background:rgba(255,255,255,.7);
}
#modalEditarMemorial.edicao-gratis .editar-foto-capa-gratis>span{
  display:block;
  margin-bottom:8px;
  font-size:12px;
}
#modalEditarMemorial.edicao-gratis .editar-foto-capa-seletor{
  min-height:58px;
  grid-template-columns:1fr auto;
  gap:10px;
  padding:10px 12px;
  border-width:1px;
  border-radius:12px;
}
#modalEditarMemorial.edicao-gratis .editar-foto-capa-texto strong{font-size:13px;}
#modalEditarMemorial.edicao-gratis .editar-foto-capa-texto small{font-size:10px;}
#modalEditarMemorial.edicao-gratis .editar-foto-capa-ajuda{
  display:block;
  margin-top:8px;
  font-size:10px;
  line-height:1.4;
}
#modalEditarMemorial:not(.edicao-gratis) #editarFotoCapaGratisBloco{display:none!important;}
@media(max-width:760px){
  #modalEditarMemorial.edicao-gratis .editar-preview-card .editar-preview-avatar{width:82px;height:82px;}
}


/* ============================================================
   v1.1.234 — pagamento de upgrade sempre acima do painel
   ============================================================ */
body.ep-upgrade-payment-open #modalEternizar{
  z-index:2147483647 !important;
}
body.ep-upgrade-payment-open #modalEternizar .modal-dialog,
body.ep-upgrade-payment-open #modalEternizar .modal-content{
  position:relative;
  z-index:2147483647 !important;
}
body.ep-upgrade-payment-open > .modal-backdrop{
  z-index:2147483646 !important;
  opacity:.78 !important;
  background:#101426 !important;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}
body.ep-upgrade-payment-open .conta-eterno-overlay,
body.ep-upgrade-payment-open #modalEditarMemorial{
  pointer-events:none !important;
}


/* v1.1.236 — foto real do pet nos cards do painel */
.meu-tumulo-avatar.tem-foto{overflow:hidden!important;padding:0!important;background:#eef3f7!important;}
.meu-tumulo-avatar.tem-foto img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;object-position:center!important;border:0!important;border-radius:inherit!important;}


/* ETERNO.PET v1.1.326 — mobile: memorial ocupado com a mesma escala visual do lote vago */
@media (max-width: 767.98px) {
  .scroll-tomb {
    --eterno-mobile-tomb-box: min(44vw, 190px);
  }

  .scroll-tomb .tomb-model,
  .scroll-tomb .tumulo-modelo,
  .scroll-tomb .tomb-model img,
  .scroll-tomb .tumulo-modelo img,
  .scroll-tomb img.tumulo-img,
  .scroll-tomb img.tomb-image {
    transform: none !important;
    scale: 1 !important;
  }

  .scroll-tomb:not(.is-vacant):not(.is-empty) .tomb-model,
  .scroll-tomb:not(.is-vacant):not(.is-empty) .tumulo-modelo,
  .scroll-tomb:not(.is-vacant):not(.is-empty) img.tumulo-img,
  .scroll-tomb:not(.is-vacant):not(.is-empty) img.tomb-image {
    width: var(--eterno-mobile-tomb-box) !important;
    max-width: var(--eterno-mobile-tomb-box) !important;
    height: auto !important;
    object-fit: contain !important;
    transform-origin: center bottom !important;
  }
}


/* =========================================================
   v1.1.326 — confirmação de reserva do Plano Eterno
   ========================================================= */
.ep-reserva-concluida-overlay{
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(18,24,40,.72);
  backdrop-filter:blur(6px);
}
.ep-reserva-concluida-overlay.ativo{display:flex}
.ep-reserva-concluida-card{
  width:min(560px,100%);
  padding:42px 38px 34px;
  border:1px solid #c9e7cf;
  border-radius:28px;
  background:#fff;
  box-shadow:0 28px 80px rgba(15,23,42,.28);
  text-align:center;
}
.ep-reserva-concluida-icone{
  width:82px;
  height:82px;
  margin:0 auto 20px;
  border-radius:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#e7f7e9;
  color:#2f8a48;
  font-size:34px;
}
.ep-reserva-concluida-eyebrow{
  display:block;
  margin-bottom:8px;
  color:#6c5ccf;
  font-weight:800;
  font-size:13px;
  letter-spacing:.12em;
}
.ep-reserva-concluida-card h3{
  margin:0 0 12px;
  color:#1f2937;
  font-size:30px;
  font-weight:800;
}
.ep-reserva-concluida-card p{
  margin:0 auto 28px;
  max-width:450px;
  color:#64748b;
  font-size:16px;
  line-height:1.65;
}
.ep-reserva-concluida-ok{
  min-width:180px;
  min-height:54px;
  border:0;
  border-radius:16px;
  background:#3d32bd;
  color:#fff;
  font-size:17px;
  font-weight:800;
  box-shadow:0 6px 0 #251d85;
}
.ep-reserva-concluida-ok:active{
  transform:translateY(3px);
  box-shadow:0 3px 0 #251d85;
}
@media(max-width:575.98px){
  .ep-reserva-concluida-card{padding:34px 22px 28px;border-radius:22px}
  .ep-reserva-concluida-card h3{font-size:24px}
}


/* =========================================================
   v1.1.326 — modal global de erros e notificações
   ========================================================= */
.ep-notificacao-global{
  position:fixed;
  inset:0;
  z-index:2147483647;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(15,23,42,.68);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.ep-notificacao-global.ativo{display:flex}
.ep-notificacao-card{
  width:min(590px,100%);
  position:relative;
  padding:42px 38px 34px;
  border:1px solid #d9d6ff;
  border-radius:30px;
  background:#fff;
  box-shadow:0 30px 90px rgba(15,23,42,.34);
  text-align:center;
  animation:epNotificacaoEntrada .18s ease-out both;
}
@keyframes epNotificacaoEntrada{
  from{opacity:0;transform:translateY(12px) scale(.975)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.ep-notificacao-icone{
  width:88px;
  height:88px;
  margin:0 auto 21px;
  border-radius:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:38px;
}
.ep-notificacao-eyebrow{
  display:block;
  margin-bottom:8px;
  font-size:13px;
  font-weight:900;
  letter-spacing:.13em;
}
.ep-notificacao-card h3{
  margin:0 0 13px;
  color:#1e293b;
  font-size:31px;
  line-height:1.18;
  font-weight:850;
}
.ep-notificacao-card p{
  max-width:475px;
  margin:0 auto 30px;
  color:#64748b;
  font-size:17px;
  line-height:1.65;
  white-space:pre-line;
}
.ep-notificacao-ok{
  min-width:190px;
  min-height:56px;
  padding:0 28px;
  border:0;
  border-radius:17px;
  background:#4035c7;
  color:#fff;
  font-size:17px;
  font-weight:850;
  box-shadow:0 6px 0 #261f88;
  cursor:pointer;
}
.ep-notificacao-ok:hover{filter:brightness(1.05)}
.ep-notificacao-ok:active{
  transform:translateY(3px);
  box-shadow:0 3px 0 #261f88;
}
.ep-notificacao-card.tipo-erro{
  border-color:#f1b4b8;
}
.ep-notificacao-card.tipo-erro .ep-notificacao-icone{
  background:#fff0f1;
  color:#bd2932;
}
.ep-notificacao-card.tipo-erro .ep-notificacao-eyebrow{color:#bd2932}
.ep-notificacao-card.tipo-aviso{
  border-color:#f3d59a;
}
.ep-notificacao-card.tipo-aviso .ep-notificacao-icone{
  background:#fff7df;
  color:#aa7013;
}
.ep-notificacao-card.tipo-aviso .ep-notificacao-eyebrow{color:#aa7013}
.ep-notificacao-card.tipo-sucesso{
  border-color:#bfe3c5;
}
.ep-notificacao-card.tipo-sucesso .ep-notificacao-icone{
  background:#eaf8ed;
  color:#2e8745;
}
.ep-notificacao-card.tipo-sucesso .ep-notificacao-eyebrow{color:#2e8745}
.ep-notificacao-card.tipo-info .ep-notificacao-icone{
  background:#eeecff;
  color:#4b40c8;
}
.ep-notificacao-card.tipo-info .ep-notificacao-eyebrow{color:#5f53cd}
@media(max-width:575.98px){
  .ep-notificacao-global{padding:18px}
  .ep-notificacao-card{padding:34px 22px 28px;border-radius:24px}
  .ep-notificacao-icone{width:76px;height:76px;border-radius:22px;font-size:32px}
  .ep-notificacao-card h3{font-size:25px}
  .ep-notificacao-card p{font-size:15px}
  .ep-notificacao-ok{width:100%}
}


/* =========================================================
   v1.1.326 — pré-visualizador dos modelos de túmulo
   ========================================================= */
#modalEternizar .estilo-tumulo{
  display:flex;
  flex-direction:column;
  overflow:hidden;
  padding:0!important;
}
#modalEternizar .estilo-tumulo-escolher{
  width:100%;
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:150px;
  padding:14px 12px 10px;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
}
#modalEternizar .estilo-tumulo-escolher:focus-visible,
#modalEternizar .estilo-tumulo-preview-btn:focus-visible{
  outline:3px solid rgba(75,67,189,.23);
  outline-offset:-3px;
}
#modalEternizar .estilo-tumulo .mini{
  min-height:76px;
}
#modalEternizar .estilo-tumulo .mini img{
  max-width:92px;
  max-height:82px;
  transform:none!important;
  box-shadow:none!important;
  background:transparent!important;
  padding:0!important;
}
#modalEternizar .estilo-tumulo-nome{
  display:block;
  width:100%;
  color:#536076;
  font-size:13px;
  font-weight:900;
  line-height:1.25;
  text-align:center;
  text-transform:uppercase;
}
#modalEternizar .estilo-tumulo.selecionado .estilo-tumulo-nome{
  color:#332ca1;
}
#modalEternizar .estilo-tumulo-preview-btn{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:0;
  border-top:1px solid #e6e9ef;
  background:#f8f9fc;
  color:#4b43bd;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .15s ease,color .15s ease;
}
#modalEternizar .estilo-tumulo-preview-btn:hover{
  background:#efedff;
  color:#312a9b;
}
#modalEternizar .estilo-tumulo.selecionado .estilo-tumulo-preview-btn{
  border-top-color:#d9d5ff;
  background:#f3f1ff;
}

/* Overlay próprio: permanece sobre o modal de cadastro sem fechar o Bootstrap. */
#modalEternizar .ep-tomb-preview-overlay{
  position:fixed;
  inset:0;
  z-index:1000005;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(22,27,42,.72);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
#modalEternizar .ep-tomb-preview-overlay.d-none{
  display:none!important;
}
#modalEternizar .ep-tomb-preview-dialog{
  position:relative;
  width:min(720px,100%);
  max-height:calc(100vh - 40px);
  overflow:auto;
  padding:30px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:26px;
  background:#fff;
  box-shadow:0 30px 90px rgba(12,17,32,.38);
}
#modalEternizar .ep-tomb-preview-close{
  position:absolute;
  top:18px;
  right:18px;
  width:46px;
  height:46px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:14px;
  background:#f1f3f7;
  color:#596579;
  font-size:18px;
  cursor:pointer;
}
#modalEternizar .ep-tomb-preview-heading{
  padding-right:58px;
}
#modalEternizar .ep-tomb-preview-heading>span{
  display:block;
  margin-bottom:5px;
  color:#6558d8;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}
#modalEternizar .ep-tomb-preview-heading h3{
  margin:0;
  color:#1d2939;
  font-size:25px;
  font-weight:900;
}
#modalEternizar .ep-tomb-preview-heading p{
  margin:5px 0 0;
  color:#7b8495;
  font-size:12px;
}
#modalEternizar .ep-tomb-preview-stage{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 52px;
  align-items:center;
  gap:16px;
  margin-top:22px;
}
#modalEternizar .ep-tomb-preview-image-wrap{
  min-height:390px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  border:1px solid #e4e8ef;
  border-radius:20px;
  background:
    radial-gradient(circle at center,#fff 0,#fafbfe 68%,#f3f5f9 100%);
}
#modalEternizar #epTombPreviewImage{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:430px;
  object-fit:contain;
  image-rendering:auto;
}
#modalEternizar .ep-tomb-preview-fallback{
  width:150px;
  height:190px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px dashed #d4d9e2;
  border-radius:18px;
  color:#7b8495;
  font-size:54px;
}
#modalEternizar .ep-tomb-preview-nav{
  width:52px;
  height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #dfe3eb;
  border-radius:16px;
  background:#fff;
  color:#4037b6;
  font-size:18px;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(31,38,55,.08);
}
#modalEternizar .ep-tomb-preview-nav:hover:not(:disabled){
  border-color:#bbb5ef;
  background:#f4f2ff;
}
#modalEternizar .ep-tomb-preview-nav:disabled{
  opacity:.35;
  cursor:not-allowed;
}
#modalEternizar .ep-tomb-preview-counter{
  margin-top:12px;
  color:#7d8799;
  font-size:11px;
  font-weight:800;
  text-align:center;
}
#modalEternizar .ep-tomb-preview-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:20px;
}
#modalEternizar .ep-tomb-preview-actions .btn{
  min-height:48px;
  padding:0 20px;
  border-radius:13px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}
#modalEternizar .ep-tomb-preview-cancel{
  border:1px solid #d7dce5;
  background:#fff;
  color:#536076;
}
#modalEternizar .ep-tomb-preview-select{
  border:0;
  background:#4338bd;
  color:#fff;
  box-shadow:0 5px 0 #29218d;
}
#modalEternizar .ep-tomb-preview-select:hover{
  background:#392fac;
  color:#fff;
}
body.ep-tomb-preview-open{
  overflow:hidden!important;
}

@media(max-width:640px){
  #modalEternizar .estilo-tumulo-escolher{
    min-height:132px;
  }
  #modalEternizar .ep-tomb-preview-overlay{
    padding:12px;
  }
  #modalEternizar .ep-tomb-preview-dialog{
    padding:22px 16px 18px;
    border-radius:20px;
  }
  #modalEternizar .ep-tomb-preview-stage{
    grid-template-columns:42px minmax(0,1fr) 42px;
    gap:8px;
  }
  #modalEternizar .ep-tomb-preview-nav{
    width:42px;
    height:42px;
    border-radius:13px;
  }
  #modalEternizar .ep-tomb-preview-image-wrap{
    min-height:300px;
    padding:12px;
  }
  #modalEternizar #epTombPreviewImage{
    max-height:340px;
  }
  #modalEternizar .ep-tomb-preview-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  #modalEternizar .ep-tomb-preview-actions .btn{
    width:100%;
  }
}


/* =========================================================
   v1.1.326 — pré-visualizador perfeitamente ajustado à viewport
   ========================================================= */
.ep-tomb-preview-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box;
  padding:clamp(10px,2vw,22px)!important;
  overflow:hidden!important;
  background:rgba(22,27,42,.76)!important;
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.ep-tomb-preview-overlay.d-none{
  display:none!important;
}
.ep-tomb-preview-dialog{
  position:relative!important;
  width:min(760px,calc(100vw - 24px))!important;
  height:min(760px,calc(100dvh - 24px))!important;
  max-width:100%!important;
  max-height:calc(100dvh - 24px)!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto auto!important;
  gap:0!important;
  overflow:hidden!important;
  padding:22px 24px 18px!important;
  border:1px solid rgba(255,255,255,.78)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 28px 90px rgba(12,17,32,.38)!important;
}
.ep-tomb-preview-heading{
  min-width:0;
  padding:0 58px 14px 0!important;
}
.ep-tomb-preview-heading>span{
  display:block;
  margin-bottom:4px;
  color:#6558d8;
  font-size:10px;
  font-weight:900;
  letter-spacing:.12em;
}
.ep-tomb-preview-heading h3{
  margin:0;
  color:#1d2939;
  font-size:clamp(19px,2.2vw,25px);
  line-height:1.15;
  font-weight:900;
}
.ep-tomb-preview-heading p{
  margin:5px 0 0;
  color:#7b8495;
  font-size:11px;
  line-height:1.4;
}
.ep-tomb-preview-close{
  position:absolute!important;
  top:16px!important;
  right:16px!important;
  z-index:4;
  width:44px!important;
  height:44px!important;
  border-radius:13px!important;
}
.ep-tomb-preview-stage{
  min-height:0!important;
  height:100%!important;
  display:grid!important;
  grid-template-columns:48px minmax(0,1fr) 48px!important;
  align-items:center!important;
  gap:12px!important;
  margin:0!important;
  overflow:hidden;
}
.ep-tomb-preview-image-wrap{
  width:100%;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  padding:14px!important;
  border:1px solid #e4e8ef!important;
  border-radius:18px!important;
  background:radial-gradient(circle at center,#fff 0,#fafbfe 68%,#f3f5f9 100%)!important;
}
#epTombPreviewImage{
  width:auto!important;
  height:auto!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
}
.ep-tomb-preview-nav{
  width:48px!important;
  height:48px!important;
  border-radius:14px!important;
  flex:0 0 48px;
}
.ep-tomb-preview-counter{
  margin:9px 0 0!important;
  min-height:18px;
  color:#7d8799;
  font-size:11px;
  font-weight:800;
  text-align:center;
}
.ep-tomb-preview-actions{
  display:flex!important;
  justify-content:flex-end!important;
  align-items:center;
  gap:10px!important;
  margin:10px 0 0!important;
  padding:0!important;
}
.ep-tomb-preview-actions .btn{
  min-height:44px!important;
  padding:0 18px!important;
  border-radius:12px!important;
}
body.ep-tomb-preview-open{
  overflow:hidden!important;
}

/* Notebooks e telas com pouca altura */
@media(max-height:760px){
  .ep-tomb-preview-dialog{
    height:calc(100dvh - 20px)!important;
    max-height:calc(100dvh - 20px)!important;
    padding:16px 18px 14px!important;
    border-radius:20px!important;
  }
  .ep-tomb-preview-heading{
    padding-bottom:9px!important;
  }
  .ep-tomb-preview-heading p{
    display:none;
  }
  .ep-tomb-preview-stage{
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    gap:9px!important;
  }
  .ep-tomb-preview-nav{
    width:44px!important;
    height:44px!important;
  }
  .ep-tomb-preview-image-wrap{
    padding:10px!important;
  }
  .ep-tomb-preview-counter{
    margin-top:6px!important;
  }
  .ep-tomb-preview-actions{
    margin-top:7px!important;
  }
  .ep-tomb-preview-actions .btn{
    min-height:42px!important;
  }
}

/* Mobile: aproveita quase toda a tela, sem cortar ações */
@media(max-width:640px){
  .ep-tomb-preview-overlay{
    padding:8px!important;
  }
  .ep-tomb-preview-dialog{
    width:calc(100vw - 16px)!important;
    height:calc(100dvh - 16px)!important;
    max-height:calc(100dvh - 16px)!important;
    padding:16px 12px 12px!important;
    border-radius:18px!important;
  }
  .ep-tomb-preview-heading{
    padding:0 48px 9px 2px!important;
  }
  .ep-tomb-preview-heading h3{
    font-size:19px!important;
  }
  .ep-tomb-preview-heading p{
    display:none;
  }
  .ep-tomb-preview-close{
    top:10px!important;
    right:10px!important;
    width:40px!important;
    height:40px!important;
  }
  .ep-tomb-preview-stage{
    grid-template-columns:38px minmax(0,1fr) 38px!important;
    gap:6px!important;
  }
  .ep-tomb-preview-nav{
    width:38px!important;
    height:46px!important;
    border-radius:12px!important;
  }
  .ep-tomb-preview-image-wrap{
    padding:8px!important;
    border-radius:14px!important;
  }
  .ep-tomb-preview-counter{
    margin-top:6px!important;
  }
  .ep-tomb-preview-actions{
    display:grid!important;
    grid-template-columns:1fr 1.45fr!important;
    gap:8px!important;
    margin-top:7px!important;
  }
  .ep-tomb-preview-actions .btn{
    width:100%!important;
    min-width:0;
    min-height:44px!important;
    padding:0 10px!important;
    font-size:10px!important;
  }
}


/* =========================================================
   v1.1.326 — acabamento visual do pré-visualizador
   ========================================================= */
.ep-tomb-preview-dialog{
  border-color:rgba(101,88,216,.14)!important;
  box-shadow:0 32px 100px rgba(12,17,32,.42),0 0 0 1px rgba(255,255,255,.7) inset!important;
}
.ep-tomb-preview-close,
.ep-tomb-preview-nav{
  border:1px solid #dddaf5!important;
  background:#f6f5ff!important;
  color:#4338bd!important;
  box-shadow:none!important;
  transition:transform .15s ease,background .15s ease,border-color .15s ease!important;
}
.ep-tomb-preview-close:hover,
.ep-tomb-preview-nav:hover:not(:disabled){
  border-color:#bbb5ef!important;
  background:#ece9ff!important;
  transform:translateY(-1px);
}
.ep-tomb-preview-counter{
  display:table;
  margin:9px auto 0!important;
  padding:5px 11px;
  border-radius:999px;
  background:#f4f2ff;
  color:#5d53c6!important;
  font-weight:900!important;
}
.ep-tomb-preview-actions{
  padding-top:10px!important;
  border-top:1px solid #edf0f5;
}
.ep-tomb-preview-cancel{
  border:1px solid #dfe3ea!important;
  background:#fff!important;
  color:#596579!important;
  box-shadow:none!important;
}
.ep-tomb-preview-cancel:hover{
  border-color:#c9ced8!important;
  background:#f7f8fa!important;
  color:#313b4d!important;
}
.ep-tomb-preview-select{
  border:1px solid #218a50!important;
  background:#2ca863!important;
  color:#fff!important;
  box-shadow:0 5px 0 #18733f,0 10px 22px rgba(44,168,99,.18)!important;
  transition:transform .15s ease,background .15s ease,box-shadow .15s ease!important;
}
.ep-tomb-preview-select:hover{
  border-color:#1c7f48!important;
  background:#249956!important;
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 6px 0 #176b3b,0 12px 24px rgba(44,168,99,.22)!important;
}
.ep-tomb-preview-select:active{
  transform:translateY(3px);
  box-shadow:0 2px 0 #176b3b,0 5px 12px rgba(44,168,99,.16)!important;
}
.ep-tomb-preview-select i{
  margin-right:6px;
}


/* =========================================================
   v1.1.326 — apresentação do memorial gratuito
   ========================================================= */
#modalEternizar #conteudoEtapaGratis{
  max-width:1080px;
  margin:0 auto;
}
#modalEternizar .ep-free-step-heading{
  max-width:760px;
  margin:0 auto 22px;
  text-align:center;
}
#modalEternizar .ep-free-step-kicker{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:8px;
  padding:7px 11px;
  border-radius:999px;
  background:#f0efff;
  color:#5146c4;
  font:900 10px/1 Arial,sans-serif;
  letter-spacing:.08em;
}
#modalEternizar .ep-free-step-heading .titulo-etapa{
  margin-bottom:7px!important;
}
#modalEternizar .ep-free-step-heading .subtitulo-etapa{
  max-width:720px;
  margin-left:auto!important;
  margin-right:auto!important;
}

#modalEternizar .resumo-gratis{
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
  overflow:hidden;
  border:1px solid #e0e5ed!important;
  border-radius:24px!important;
  background:#fff!important;
  text-align:left!important;
  box-shadow:0 18px 55px rgba(31,39,62,.08)!important;
}

#modalEternizar .ep-free-preview-column{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:28px;
  border-right:1px solid #e8ebf1;
  background:
    radial-gradient(circle at 50% 40%,rgba(239,237,255,.95),rgba(249,250,253,.8) 56%,#f7f9fc 100%);
}
#modalEternizar .ep-free-preview-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-bottom:18px;
  padding:7px 11px;
  border:1px solid #ddd8ff;
  border-radius:999px;
  background:#fff;
  color:#5146c4;
  font:800 9px/1 Arial,sans-serif;
  text-transform:uppercase;
  letter-spacing:.04em;
}
#modalEternizar .resumo-gratis .lapide-demo.ep-free-tomb-preview{
  width:100%!important;
  max-width:310px!important;
  height:330px!important;
  min-height:330px!important;
  margin:0 auto!important;
  padding:18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #e1e5ed!important;
  border-radius:20px!important;
  clip-path:none!important;
  background:rgba(255,255,255,.72)!important;
  box-shadow:0 15px 35px rgba(31,38,67,.08)!important;
  overflow:hidden;
}
#modalEternizar .ep-free-tomb-preview img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
#modalEternizar .ep-free-tomb-fallback{
  width:110px;
  height:140px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px dashed #cfd5df;
  border-radius:18px;
  color:#6358ca;
  font-size:38px;
}
#modalEternizar .ep-free-tomb-name{
  margin-top:14px;
  color:#293447;
  font:900 14px/1.25 Arial,sans-serif;
  text-align:center;
}
#modalEternizar .ep-free-random-note{
  display:flex;
  align-items:center;
  gap:6px;
  margin-top:6px;
  color:#8791a2;
  font:700 10px/1.35 Arial,sans-serif;
}

#modalEternizar .ep-free-content-column{
  min-width:0;
  display:flex;
  flex-direction:column;
  padding:34px;
}
#modalEternizar .ep-free-content-eyebrow{
  margin-bottom:7px;
  color:#6b60cf;
  font:900 9px/1 Arial,sans-serif;
  letter-spacing:.1em;
}
#modalEternizar .ep-free-content-column h4{
  margin:0;
  color:#202a3a;
  font:900 24px/1.18 Arial,sans-serif;
}
#modalEternizar .resumo-gratis .ep-free-description{
  margin:10px 0 20px!important;
  color:#69758a!important;
  font:13px/1.55 Arial,sans-serif!important;
}
#modalEternizar .ep-free-benefits{
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
  list-style:none;
}
#modalEternizar .ep-free-benefits li{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  align-items:center;
  padding:11px 12px;
  border:1px solid #e8ebf0;
  border-radius:14px;
  background:#fbfcfe;
}
#modalEternizar .ep-free-benefits li>span{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#eaf8ef;
  color:#29905a;
  font-size:13px;
}
#modalEternizar .ep-free-benefits strong{
  display:block;
  color:#344054;
  font:850 12px/1.25 Arial,sans-serif;
}
#modalEternizar .ep-free-benefits small{
  display:block;
  margin-top:2px;
  color:#818b9d;
  font:10px/1.4 Arial,sans-serif;
}
#modalEternizar .ep-free-upgrade-note{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  gap:11px;
  align-items:center;
  margin-top:18px;
  padding:12px 13px;
  border:1px solid #f0df9d;
  border-radius:14px;
  background:#fffaf0;
}
#modalEternizar .ep-free-upgrade-note>i{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#fff1bd;
  color:#a57708;
}
#modalEternizar .ep-free-upgrade-note strong{
  display:block;
  color:#6f550c;
  font:850 11px/1.25 Arial,sans-serif;
}
#modalEternizar .ep-free-upgrade-note span{
  display:block;
  margin-top:2px;
  color:#8b7b4c;
  font:10px/1.45 Arial,sans-serif;
}
#modalEternizar .ep-free-cta{
  min-height:52px!important;
  margin-top:auto!important;
  padding-top:14px!important;
  padding-bottom:14px!important;
  border-radius:13px!important;
  background:#4338bd!important;
  color:#fff!important;
  box-shadow:0 5px 0 #29218d!important;
}
#modalEternizar .ep-free-cta:hover{
  background:#392fac!important;
  color:#fff!important;
  transform:translateY(-1px);
}

@media(max-width:820px){
  #modalEternizar .resumo-gratis{
    grid-template-columns:1fr;
  }
  #modalEternizar .ep-free-preview-column{
    border-right:0;
    border-bottom:1px solid #e8ebf1;
    padding:22px;
  }
  #modalEternizar .resumo-gratis .lapide-demo.ep-free-tomb-preview{
    max-width:280px!important;
    height:280px!important;
    min-height:280px!important;
  }
  #modalEternizar .ep-free-content-column{
    padding:24px;
  }
}
@media(max-width:575.98px){
  #modalEternizar .ep-free-step-heading{
    margin-bottom:16px;
  }
  #modalEternizar .ep-free-preview-column{
    padding:18px 14px;
  }
  #modalEternizar .resumo-gratis .lapide-demo.ep-free-tomb-preview{
    max-width:240px!important;
    height:240px!important;
    min-height:240px!important;
  }
  #modalEternizar .ep-free-content-column{
    padding:18px 14px;
  }
  #modalEternizar .ep-free-content-column h4{
    font-size:19px;
  }
}


/* =========================================================
   v1.1.326 — upgrade do plano gratuito + espaçamento
   ========================================================= */
#modalEternizar .ep-free-upgrade-note{
  margin-bottom:24px!important;
}
#modalEternizar .ep-free-upgrade-note>div{
  min-width:0;
}
#modalEternizar .ep-free-upgrade-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:10px;
  padding:0;
  border:0;
  background:transparent;
  color:#6d5208;
  font:900 10px/1.35 Arial,sans-serif;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
#modalEternizar .ep-free-upgrade-link:hover{
  color:#4338bd;
}
#modalEternizar .ep-free-upgrade-link i{
  font-size:9px;
}
#modalEternizar .ep-free-cta{
  margin-top:0!important;
}


/* =========================================================
   v1.1.326 — cupom no checkout
   ========================================================= */
#modalEternizar .ep-cupom-checkout{
  margin:18px 0;
  padding:16px;
  border:1px solid #e0e4ec;
  border-radius:16px;
  background:#fafbfc;
}
#modalEternizar .ep-cupom-titulo>div{display:flex;align-items:center;gap:10px}
#modalEternizar .ep-cupom-titulo>div>i{
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border-radius:11px;background:#efedff;color:#4b43bd
}
#modalEternizar .ep-cupom-titulo strong{display:block;color:#273247;font:850 12px/1.2 Arial,sans-serif}
#modalEternizar .ep-cupom-titulo small{display:block;margin-top:2px;color:#7e8899;font:10px/1.35 Arial,sans-serif}
#modalEternizar .ep-cupom-linha{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:12px}
#modalEternizar .ep-cupom-linha input{
  min-width:0;height:46px;padding:0 13px;border:1px solid #d9dee8;border-radius:12px;
  background:#fff;color:#263247;font-weight:800;text-transform:uppercase;outline:none
}
#modalEternizar .ep-cupom-linha input:focus{border-color:#7066d7;box-shadow:0 0 0 3px rgba(82,72,190,.12)}
#modalEternizar .ep-cupom-linha button{
  min-height:46px;padding:0 16px;border:0;border-radius:12px;background:#4338bd;color:#fff;font-weight:900;cursor:pointer
}
#modalEternizar .ep-cupom-linha button:disabled{opacity:.6;cursor:wait}
#modalEternizar .ep-cupom-feedback{margin-top:9px;padding:9px 11px;border-radius:10px;font:750 10px/1.4 Arial,sans-serif}
#modalEternizar .ep-cupom-feedback.erro{background:#fff0f0;color:#a52d2d}
#modalEternizar .ep-cupom-feedback.sucesso{background:#edf9f1;color:#267044}
#modalEternizar .ep-cupom-aplicado{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;
  padding:10px 11px;border:1px solid #cce9d6;border-radius:12px;background:#f2fbf5
}
#modalEternizar .ep-cupom-aplicado>div{display:flex;align-items:center;gap:9px;min-width:0}
#modalEternizar .ep-cupom-check{
  width:32px;height:32px;flex:0 0 32px;display:flex;align-items:center;justify-content:center;
  border-radius:10px;background:#2da765;color:#fff
}
#modalEternizar .ep-cupom-aplicado strong{display:block;color:#247447;font:900 11px/1.2 Arial,sans-serif}
#modalEternizar .ep-cupom-aplicado small{display:block;margin-top:2px;color:#5f7d69;font:10px/1.3 Arial,sans-serif}
#modalEternizar .ep-cupom-aplicado button{border:0;background:transparent;color:#a44545;font:800 10px Arial,sans-serif;cursor:pointer}
#modalEternizar .pagamento-valor{display:flex;flex-direction:column;align-items:flex-start}
#modalEternizar .pagamento-valor del{margin-top:3px;color:#9098a6;font-size:11px}
#modalEternizar #epPagamentoDescontoResumo{
  display:inline-flex;margin-top:6px;padding:5px 8px;border-radius:999px;background:#e8f8ee;color:#277447;
  font:900 9px/1 Arial,sans-serif
}
@media(max-width:575.98px){
  #modalEternizar .ep-cupom-linha{grid-template-columns:1fr}
  #modalEternizar .ep-cupom-linha button{width:100%}
}

/* v1.1.326 — localização nos cards de ONGs */
.ong-card-somente-link .ong-info span{display:flex !important;align-items:center !important;gap:6px !important;}
.ong-card-somente-link .ong-info span > i{flex:0 0 auto !important;margin:0 !important;}



/* Estado visual de memorial desabilitado no painel do cliente */
#paginaMinhaConta .meu-tumulo-card.memorial-desabilitado{position:relative;border-color:#e4c5c8!important;background:#fffafa!important;overflow:hidden}
#paginaMinhaConta .meu-tumulo-card.memorial-desabilitado .memorial-card-topo{opacity:.72}
#paginaMinhaConta .memorial-status-desabilitado{display:flex;align-items:center;gap:11px;margin:-1px -1px 14px;padding:12px 14px;border-bottom:1px solid #f0d4d7;background:#fff1f2;color:#8f2732}
#paginaMinhaConta .memorial-status-icone{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border-radius:10px;background:#ffe0e3;color:#bd3443}
#paginaMinhaConta .memorial-status-desabilitado strong,#paginaMinhaConta .memorial-status-desabilitado small{display:block}
#paginaMinhaConta .memorial-status-desabilitado strong{font-size:12px;font-weight:900}
#paginaMinhaConta .memorial-status-desabilitado small{margin-top:2px;color:#9b5a62;font-size:10px;line-height:1.4}
#paginaMinhaConta .memorial-card-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#paginaMinhaConta .memorial-visibilidade-badge{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #f0c7cc;border-radius:999px;background:#fff0f1;color:#aa3541;font-size:9px;font-weight:900}
#paginaMinhaConta .btn-habilitar-memorial{width:100%;min-height:43px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;border:1px solid #b8e3c8!important;background:#eaf8ef!important;color:#237846!important;font-weight:900!important}
#paginaMinhaConta .btn-habilitar-memorial:hover{border-color:#8fd0a7!important;background:#daf3e3!important;color:#176236!important}
#paginaMinhaConta .memorial-card-acoes button.is-loading{pointer-events:none;opacity:.7}
@media(max-width:640px){#paginaMinhaConta .memorial-status-desabilitado{align-items:flex-start}#paginaMinhaConta .memorial-status-desabilitado small{font-size:9px}}


/* Modal específico de habilitar/desabilitar memorial — não usa linguagem visual de exclusão */
.ep-visibilidade-overlay{position:fixed;inset:0;z-index:1000000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(17,22,35,.62);backdrop-filter:blur(7px);opacity:0;visibility:hidden;transition:.2s ease}
.ep-visibilidade-overlay.ativo{opacity:1;visibility:visible}
body.ep-visibilidade-aberta{overflow:hidden}
.ep-visibilidade-card{position:relative;width:min(520px,100%);border:1px solid #e4e8f0;border-radius:24px;background:#fff;box-shadow:0 28px 80px rgba(15,23,42,.24);padding:30px}
.ep-visibilidade-fechar{position:absolute;top:18px;right:18px;width:42px;height:42px;border:0;border-radius:12px;background:#f4f6f9;color:#596579;display:grid;place-items:center;font-size:18px}
.ep-visibilidade-ilustracao{display:flex;align-items:center;gap:12px;padding-right:52px}
.ep-visibilidade-icone{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;font-size:23px}
.ep-visibilidade-eyebrow{font-size:11px;font-weight:900;letter-spacing:.1em}
.ep-visibilidade-conteudo h3{margin:18px 0 8px;color:#202a3b;font-size:26px;line-height:1.15;font-weight:900}
.ep-visibilidade-conteudo>p{margin:0;color:#66748a;font-size:15px;line-height:1.6}
.ep-visibilidade-info{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:13px 14px;border-radius:14px;font-size:12px;line-height:1.5}
.ep-visibilidade-info i{margin-top:2px}
.ep-visibilidade-acoes{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin-top:24px}
.ep-visibilidade-acoes button{min-height:48px;border-radius:13px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:8px}
.ep-visibilidade-cancelar{border:1px solid #dce2eb;background:#fff;color:#536176}
.ep-visibilidade-confirmar{border:1px solid transparent}
.ep-visibilidade-overlay.modo-desabilitar .ep-visibilidade-icone{background:#fff3dc;color:#a86600}
.ep-visibilidade-overlay.modo-desabilitar .ep-visibilidade-eyebrow{color:#9b690e}
.ep-visibilidade-overlay.modo-desabilitar .ep-visibilidade-info{background:#fff9ec;color:#7e632f;border:1px solid #f3dfb4}
.ep-visibilidade-overlay.modo-desabilitar .ep-visibilidade-confirmar{background:#f0a51b;color:#231b0d}
.ep-visibilidade-overlay.modo-desabilitar .ep-visibilidade-confirmar:hover{background:#dc9411}
.ep-visibilidade-overlay.modo-habilitar .ep-visibilidade-icone{background:#e9f8ef;color:#25814c}
.ep-visibilidade-overlay.modo-habilitar .ep-visibilidade-eyebrow{color:#277c4a}
.ep-visibilidade-overlay.modo-habilitar .ep-visibilidade-info{background:#f0faf4;color:#397253;border:1px solid #cdebd8}
.ep-visibilidade-overlay.modo-habilitar .ep-visibilidade-confirmar{background:#2d9b5c;color:#fff}
.ep-visibilidade-overlay.modo-habilitar .ep-visibilidade-confirmar:hover{background:#25834d}
@media(max-width:560px){.ep-visibilidade-overlay{padding:12px}.ep-visibilidade-card{border-radius:20px;padding:24px 18px 18px}.ep-visibilidade-conteudo h3{font-size:22px}.ep-visibilidade-acoes{grid-template-columns:1fr}.ep-visibilidade-confirmar{order:-1}.ep-visibilidade-fechar{top:14px;right:14px}}


/* Confirmação de visibilidade sempre acima do Painel do Usuário e de seus modais */
html body #epVisibilidadeMemorialV2.ep-visibilidade-overlay{
  position:fixed!important;
  inset:0!important;
  z-index:2147483646!important;
  isolation:isolate!important;
  transform:none!important;
}
html body #epVisibilidadeMemorialV2 .ep-visibilidade-card{
  position:relative!important;
  z-index:2147483647!important;
}
body.ep-visibilidade-aberta #paginaMinhaConta{
  pointer-events:none;
}
body.ep-visibilidade-aberta #epVisibilidadeMemorialV2{
  pointer-events:auto!important;
}


/* Estado compacto durante habilitar/desabilitar: evita texto quebrado no botão de ação */
#paginaMinhaConta .memorial-card-acoes button.ep-visibilidade-carregando{
  width:44px!important;
  min-width:44px!important;
  max-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 44px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}
#paginaMinhaConta .memorial-card-acoes button.ep-visibilidade-carregando .fa-spinner{
  margin:0!important;
  font-size:16px!important;
}
.ep-sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}


/* Memorial desabilitado: ação de habilitar ocupa toda a largura disponível */
#paginaMinhaConta .meu-tumulo-card.memorial-desabilitado .memorial-card-acoes{
  display:flex!important;
  width:100%!important;
}
#paginaMinhaConta .meu-tumulo-card.memorial-desabilitado .btn-habilitar-memorial{
  width:100%!important;
  max-width:none!important;
  flex:1 1 100%!important;
  min-height:48px!important;
  padding:12px 18px!important;
  border-radius:13px!important;
  white-space:nowrap!important;
}
#paginaMinhaConta .meu-tumulo-card.memorial-desabilitado .btn-habilitar-memorial.ep-visibilidade-carregando{
  width:100%!important;
  max-width:none!important;
  flex:1 1 100%!important;
}


/* Loja: orientação para pedidos personalizados de pets diferentes */
.ep-store-cart-pet-warning{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:0 22px 18px;
  padding:14px 16px;
  border:1px solid #ddd6fe;
  border-radius:14px;
  background:#f7f5ff;
  color:#3f3a68;
}
.ep-store-cart-pet-warning>i{
  flex:0 0 auto;
  margin-top:2px;
  font-size:18px;
  color:#5547d8;
}
.ep-store-cart-pet-warning div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}
.ep-store-cart-pet-warning strong{
  font-size:14px;
  line-height:1.3;
  color:#292342;
}
.ep-store-cart-pet-warning span{
  font-size:12px;
  line-height:1.45;
  color:#746e8e;
}
@media(max-width:575.98px){
  .ep-store-cart-pet-warning{
    margin:0 14px 14px;
    padding:12px 13px;
  }
}


/* Loja: resumo acompanha o preenchimento no desktop */
@media(min-width:851px){
  .ep-store-step[data-shop-step="3"] .ep-store-order-sidebar,
  .ep-store-step[data-shop-step="4"] .ep-store-order-sidebar{
    align-self:start!important;
    position:sticky!important;
    top:18px!important;
    z-index:4!important;
  }
  .ep-store-step[data-shop-step="3"] .ep-store-side-card,
  .ep-store-step[data-shop-step="4"] .ep-store-side-card{
    position:static!important;
  }
}

/* Checkout: aceite legal alinhado e sem camada que bloqueie o modal */
.ep-store-legal-accept{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:100%!important;
  min-height:58px!important;
  padding:14px 16px!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
.ep-store-legal-accept>input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
}
.ep-store-legal-accept .ep-store-checkmark{
  flex:0 0 26px!important;
  width:26px!important;
  height:26px!important;
  margin:0!important;
}
.ep-store-legal-accept>span:last-child{
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  line-height:1.5!important;
  font-size:10px!important;
}
.ep-store-legal-accept a{
  position:relative!important;
  z-index:2!important;
  pointer-events:auto!important;
}
.ep-store-legal-accept.is-checked{
  border-color:#c9c3f7!important;
  background:#f7f5ff!important;
}

/* CEP sendo consultado */
#lojaCep.ep-store-field-loading{
  background-image:linear-gradient(90deg,transparent,rgba(80,68,196,.07),transparent)!important;
  background-size:200% 100%!important;
  animation:epStoreCepLoading 1s linear infinite!important;
}
@keyframes epStoreCepLoading{to{background-position:-200% 0}}

.painel-pedido-status.is-paid{background:#e8f7ee!important;color:#237a46!important;border:1px solid #c9ead6!important}.painel-pedido-status.is-pending{background:#fff4d6!important;color:#8a6400!important;border:1px solid #f5df9d!important}.painel-pedido-status.is-cancelled{background:#fff0f0!important;color:#b63737!important;border:1px solid #f3cccc!important}.painel-pedido-status.is-info{background:#eef2ff!important;color:#4652a8!important;border:1px solid #dce2ff!important}.painel-pedido-variations{display:flex!important;flex-wrap:wrap!important;gap:5px!important;margin-top:6px!important}.painel-pedido-variation{display:inline-flex!important;gap:3px!important;padding:4px 7px!important;border-radius:999px!important;background:#f3f1ff!important;color:#5a4fc4!important;font-size:8px!important}.painel-pedido-details-btn{margin-left:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;min-height:38px!important;padding:0 14px!important;border:1px solid #d9d5fb!important;border-radius:11px!important;background:#f4f2ff!important;color:#493dc0!important;font-weight:800!important;cursor:pointer!important}.ep-order-details-modal{position:fixed!important;inset:0!important;z-index:1000005!important;display:none!important}.ep-order-details-modal.is-open{display:block!important}.ep-order-details-backdrop{position:absolute!important;inset:0!important;background:rgba(20,24,35,.62)!important;backdrop-filter:blur(5px)!important}.ep-order-details-dialog{position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;width:min(760px,calc(100vw - 28px))!important;max-height:calc(100dvh - 28px)!important;overflow:hidden!important;border-radius:24px!important;background:#fff!important;box-shadow:0 30px 90px rgba(0,0,0,.25)!important}.ep-order-details-dialog>header{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:15px!important;padding:22px 24px!important;border-bottom:1px solid #e9edf3!important}.ep-order-details-dialog>header small{display:block!important;color:#6a5dd1!important;font-size:9px!important;font-weight:900!important;letter-spacing:.12em!important}.ep-order-details-dialog>header h3{margin:4px 0 2px!important;font-size:22px!important;color:#20293a!important}.ep-order-details-dialog>header span{font-size:10px!important;color:#8d98aa!important}.ep-order-details-dialog>header button{flex:0 0 42px!important;width:42px!important;height:42px!important;border:1px solid #e0e5ec!important;border-radius:13px!important;background:#f8f9fb!important;color:#596579!important}.ep-order-details-body{max-height:calc(100dvh - 145px)!important;overflow:auto!important;padding:22px 24px!important}.ep-order-detail-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin-bottom:20px!important}.ep-order-detail-grid>div{padding:13px!important;border:1px solid #e5e9ef!important;border-radius:14px!important;background:#fafbfc!important}.ep-order-detail-grid small,.ep-order-detail-grid strong{display:block!important}.ep-order-detail-grid small{margin-bottom:5px!important;color:#8d98aa!important;font-size:8px!important;font-weight:800!important}.ep-order-detail-grid strong{font-size:10px!important;color:#293447!important}.ep-order-details-body section{padding:17px 0!important;border-top:1px solid #edf0f4!important}.ep-order-details-body section h4{margin:0 0 10px!important;color:#263044!important;font-size:13px!important}.ep-order-details-body section p{margin:5px 0!important;color:#69758a!important;font-size:10px!important;line-height:1.5!important}.ep-order-detail-item{display:flex!important;justify-content:space-between!important;gap:15px!important;padding:12px 0!important;border-bottom:1px solid #edf0f4!important}.ep-order-detail-item:last-child{border-bottom:0!important}.ep-order-detail-item strong,.ep-order-detail-item small{display:block!important}.ep-order-detail-item small{margin-top:3px!important;color:#8d98aa!important;font-size:9px!important}body.ep-order-modal-open{overflow:hidden!important}@media(max-width:700px){.painel-pedido-foot{flex-wrap:wrap!important}.painel-pedido-details-btn{width:100%!important;margin-left:0!important}.ep-order-detail-grid{grid-template-columns:1fr 1fr!important}.ep-order-details-dialog>header,.ep-order-details-body{padding-left:16px!important;padding-right:16px!important}}

/* v1.1.327 — pedidos: carregamento otimizado e detalhes no topo da interface */
.ep-order-details-modal{margin:0!important;padding:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;border:0!important;background:transparent!important;overflow:hidden!important;z-index:2147483647!important}.ep-order-details-modal::backdrop{background:rgba(17,15,34,.76)!important;backdrop-filter:blur(9px)!important;-webkit-backdrop-filter:blur(9px)!important}.ep-order-details-dialog{position:absolute!important;inset:24px!important;transform:none!important;width:auto!important;max-width:980px!important;height:auto!important;max-height:calc(100dvh - 48px)!important;margin:auto!important;border-radius:30px!important;background:#fff!important;box-shadow:0 35px 100px rgba(18,14,45,.32)!important;overflow:hidden!important}.ep-order-details-dialog>header{padding:28px 32px!important;background:linear-gradient(135deg,#292244,#40356a)!important;border:0!important;color:#fff!important}.ep-order-title{min-width:0!important}.ep-order-kicker{display:flex!important;align-items:center!important;gap:8px!important;color:#f7d77c!important;font-size:11px!important;font-weight:900!important;letter-spacing:.14em!important}.ep-order-details-dialog>header h3{margin:8px 0 5px!important;color:#fff!important;font-size:30px!important;line-height:1.05!important;font-weight:850!important}.ep-order-details-dialog>header p{margin:0!important;color:#d7d2e7!important;font-size:13px!important}.ep-order-details-dialog>header p span{padding:0 5px!important;color:#f7d77c!important}.ep-order-details-dialog>header button{width:48px!important;height:48px!important;flex-basis:48px!important;border:1px solid rgba(255,255,255,.18)!important;background:rgba(255,255,255,.1)!important;color:#fff!important;font-size:18px!important}.ep-order-details-body{max-height:calc(100dvh - 164px)!important;padding:28px 32px 36px!important;background:#f7f8fc!important}.ep-order-detail-grid{gap:12px!important;margin-bottom:24px!important}.ep-order-detail-grid>div{display:flex!important;align-items:center!important;gap:12px!important;min-height:88px!important;padding:16px!important;background:#fff!important;border:1px solid #e3e5ef!important;border-radius:18px!important}.ep-order-detail-grid>div>i{display:grid!important;place-items:center!important;flex:0 0 38px!important;width:38px!important;height:38px!important;border-radius:12px!important;background:#efedff!important;color:#5547cb!important;font-size:15px!important}.ep-order-detail-grid small{font-size:10px!important;letter-spacing:.04em!important}.ep-order-detail-grid strong{font-size:13px!important}.ep-order-section{margin-top:14px!important;padding:22px!important;border:1px solid #e2e5ee!important;border-radius:20px!important;background:#fff!important}.ep-order-section-title{display:flex!important;align-items:center!important;gap:12px!important;margin-bottom:16px!important}.ep-order-section-title>i{display:grid!important;place-items:center!important;width:42px!important;height:42px!important;border-radius:13px!important;background:#efedff!important;color:#5547cb!important;font-size:16px!important}.ep-order-section-title h4{margin:0!important;font-size:17px!important;color:#252d3d!important}.ep-order-section-title p{margin:3px 0 0!important;font-size:11px!important;color:#8b95a8!important}.ep-order-detail-item{align-items:center!important;padding:15px 2px!important}.ep-order-detail-item strong{font-size:14px!important;color:#293246!important}.ep-order-detail-item small{font-size:11px!important}.ep-order-detail-item>b{font-size:14px!important;color:#3329a5!important}.painel-pedido-variation{font-size:10px!important;padding:5px 8px!important}.ep-order-info-box{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px 18px!important;padding:16px!important;border-radius:15px!important;background:#f8f9fc!important}.ep-order-info-box p{margin:0!important}.ep-order-info-box p b,.ep-order-info-box p span{display:block!important}.ep-order-info-box p b{margin-bottom:4px!important;color:#7d8799!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.04em!important}.ep-order-info-box p span{color:#30394b!important;font-size:13px!important;line-height:1.45!important}.ep-orders-loading{display:flex!important;align-items:center!important;gap:14px!important}.ep-orders-loading>span{width:28px!important;height:28px!important;border:3px solid #e2dfff!important;border-top-color:#4b3bc1!important;border-radius:50%!important;animation:epOrderSpin .7s linear infinite!important}.ep-orders-loading strong,.ep-orders-loading small{display:block!important}.ep-orders-loading small{margin-top:3px!important;color:#8c97aa!important}@keyframes epOrderSpin{to{transform:rotate(360deg)}}
@media(max-width:700px){.ep-order-details-dialog{inset:8px!important;max-height:calc(100dvh - 16px)!important;border-radius:22px!important}.ep-order-details-dialog>header{padding:20px!important}.ep-order-details-dialog>header h3{font-size:24px!important}.ep-order-details-body{max-height:calc(100dvh - 136px)!important;padding:16px!important}.ep-order-detail-grid{grid-template-columns:1fr 1fr!important}.ep-order-detail-grid>div{min-height:78px!important;padding:12px!important}.ep-order-section{padding:16px!important}.ep-order-info-box{grid-template-columns:1fr!important}.ep-order-detail-item{align-items:flex-start!important}.ep-order-detail-item>b{white-space:nowrap!important}}

/* Pedidos do cliente — hierarquia do modal e escala tipográfica */
dialog.ep-order-details-modal[open]{display:block!important;position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;z-index:2147483647!important}
dialog.ep-order-details-modal[open]::backdrop{background:rgba(18,15,36,.78)!important;backdrop-filter:blur(10px)!important;-webkit-backdrop-filter:blur(10px)!important}
#paginaMinhaConta.ep-order-details-behind{visibility:hidden!important}
.painel-pedido-card{font-size:16px!important}
.painel-pedido-head{padding:28px 32px!important}
.painel-pedido-head small{font-size:13px!important;letter-spacing:.05em!important}
.painel-pedido-head strong{font-size:22px!important;line-height:1.2!important}
.painel-pedido-head span:not(.painel-pedido-status){font-size:15px!important}
.painel-pedido-status{font-size:14px!important;padding:10px 16px!important}
.painel-pedido-itens{padding:28px 32px!important}
.painel-pedido-itens>div{gap:20px!important;padding:16px 0!important}
.painel-pedido-itens strong{font-size:17px!important;line-height:1.35!important}
.painel-pedido-itens small{font-size:14px!important;margin-top:7px!important}
.painel-pedido-variations{gap:8px!important;margin-top:12px!important}
.painel-pedido-variation{font-size:13px!important;padding:8px 12px!important}
.painel-pedido-foot{padding:24px 32px!important;gap:20px!important}
.painel-pedido-foot small{font-size:12px!important}
.painel-pedido-foot strong{font-size:18px!important}
.painel-pedido-details-btn{min-height:52px!important;padding:0 22px!important;border-radius:15px!important;font-size:17px!important}
.ep-order-details-dialog{font-size:16px!important}
.ep-order-details-dialog>header h3{font-size:34px!important}.ep-order-details-dialog>header p{font-size:15px!important}.ep-order-kicker{font-size:13px!important}
.ep-order-detail-grid small{font-size:12px!important}.ep-order-detail-grid strong{font-size:16px!important}.ep-order-section-title h4{font-size:21px!important}.ep-order-section-title p{font-size:14px!important}.ep-order-detail-item strong{font-size:17px!important}.ep-order-detail-item small{font-size:14px!important}.ep-order-detail-item>b{font-size:17px!important}.ep-order-info-box p b{font-size:12px!important}.ep-order-info-box p span{font-size:15px!important}
@media(max-width:700px){.painel-pedido-head,.painel-pedido-itens,.painel-pedido-foot{padding-left:20px!important;padding-right:20px!important}.painel-pedido-head strong{font-size:19px!important}.painel-pedido-itens strong{font-size:15px!important}.painel-pedido-variation{font-size:12px!important}.ep-order-details-dialog>header h3{font-size:27px!important}}
/* v1.1.333 - respiro e contenção do modal de detalhes do pedido */
.ep-order-details-dialog{box-sizing:border-box!important;inset:32px!important;max-width:1120px!important;max-height:calc(100dvh - 64px)!important}
.ep-order-details-dialog *{box-sizing:border-box!important;min-width:0}
.ep-order-details-body{max-height:calc(100dvh - 186px)!important;padding:32px!important;overflow-x:hidden!important}
.ep-order-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;width:100%!important}
.ep-order-detail-grid>div,.ep-order-section{min-width:0!important;overflow:hidden!important}
.ep-order-section{margin-top:18px!important;padding:26px!important}
.ep-order-detail-item{width:100%!important;min-width:0!important;gap:24px!important}
.ep-order-detail-item>div{min-width:0!important;flex:1 1 auto!important}.ep-order-detail-item>b{flex:0 0 auto!important}
.painel-pedido-variations{max-width:100%!important}.painel-pedido-variation{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important}
@media(max-width:900px){.ep-order-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ep-order-details-dialog{inset:18px!important;max-height:calc(100dvh - 36px)!important}.ep-order-details-body{padding:22px!important}}
@media(max-width:560px){.ep-order-details-dialog{inset:8px!important;max-height:calc(100dvh - 16px)!important;border-radius:20px!important}.ep-order-details-dialog>header{padding:20px 18px!important}.ep-order-details-body{padding:14px!important;max-height:calc(100dvh - 142px)!important}.ep-order-detail-grid{grid-template-columns:1fr!important;gap:10px!important}.ep-order-section{padding:17px!important;margin-top:12px!important}.ep-order-detail-item{flex-direction:column!important;gap:10px!important}.ep-order-detail-item>b{align-self:flex-start!important}.ep-order-info-box{grid-template-columns:1fr!important}}
/* v1.1.333 - reconstrução estrutural do modal de pedido */
dialog.ep-order-details-modal[open]{display:grid!important;place-items:center!important;padding:28px!important;overflow:hidden!important}
dialog.ep-order-details-modal[open] .ep-order-details-dialog{position:relative!important;inset:auto!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;transform:none!important;display:flex!important;flex-direction:column!important;width:min(1180px,100%)!important;max-width:1180px!important;height:min(900px,calc(100dvh - 56px))!important;max-height:calc(100dvh - 56px)!important;margin:0!important;overflow:hidden!important;border-radius:30px!important}
dialog.ep-order-details-modal[open] .ep-order-details-dialog>header{position:relative!important;z-index:2!important;flex:0 0 auto!important;width:100%!important;padding:30px 34px!important}
dialog.ep-order-details-modal[open] .ep-order-details-body{position:relative!important;z-index:1!important;flex:1 1 auto!important;width:100%!important;max-height:none!important;min-height:0!important;margin:0!important;padding:30px 34px 38px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important}
dialog.ep-order-details-modal[open] .ep-order-detail-grid{margin:0 0 24px!important;padding:0!important;gap:14px!important}
dialog.ep-order-details-modal[open] .ep-order-detail-grid>div{margin:0!important;min-height:96px!important;padding:18px!important;overflow:visible!important}
dialog.ep-order-details-modal[open] .ep-order-section{width:100%!important;margin:0 0 18px!important;padding:26px!important;overflow:visible!important}
dialog.ep-order-details-modal[open] .ep-order-section:last-child{margin-bottom:0!important}
@media(max-width:900px){dialog.ep-order-details-modal[open]{padding:16px!important}dialog.ep-order-details-modal[open] .ep-order-details-dialog{height:calc(100dvh - 32px)!important;max-height:calc(100dvh - 32px)!important}dialog.ep-order-details-modal[open] .ep-order-details-dialog>header{padding:24px!important}dialog.ep-order-details-modal[open] .ep-order-details-body{padding:22px!important}}
@media(max-width:560px){dialog.ep-order-details-modal[open]{padding:6px!important}dialog.ep-order-details-modal[open] .ep-order-details-dialog{height:calc(100dvh - 12px)!important;max-height:calc(100dvh - 12px)!important;border-radius:20px!important}dialog.ep-order-details-modal[open] .ep-order-details-dialog>header{padding:19px 18px!important}dialog.ep-order-details-modal[open] .ep-order-details-body{padding:14px!important}dialog.ep-order-details-modal[open] .ep-order-section{padding:17px!important}}
