:root {
  --bg: #050505; --sup: #111112; --sup2: #18181a; --borda: #26262a; --borda2: #34343a;
  --txt: #f4f4f5; --fraco: #a1a1aa; --fraco2: #71717a; --perigo: #f87171; --ok: #4ade80;
  --holo: linear-gradient(115deg, #1d2b9a 0%, #2f6bff 22%, #22d3ee 42%, #a3e635 56%, #8b5cf6 74%, #1e3a8a 100%);
  --raio: 18px; --larg: "Archivo", "Arial Black", sans-serif; --corpo: "Inter", system-ui, sans-serif;
  color-scheme: dark;
}
* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html, body { margin: 0; background: var(--bg); color: var(--txt); font: 15px/1.5 var(--corpo); }
body { min-height: 100dvh; overflow-x: hidden; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
img { max-width: 100%; display: block; }
.holo { background: var(--holo); background-size: 200% 200%; animation: holo 8s ease infinite; }
.holo-txt { background: var(--holo); background-size: 200% 200%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: holo 8s ease infinite; }
@keyframes holo { 0%,100% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } }

/* ---------- moldura ---------- */
.topo { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 12px; padding: 12px 16px; padding-top: max(12px, env(safe-area-inset-top));
  background: rgba(5,5,5,.86); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-bottom: 1px solid #ffffff10; }
.topo .simb { width: 26px; height: auto; }
.marca { font-family: var(--larg); font-weight: 900; font-stretch: 125%; font-variation-settings: "wdth" 125; letter-spacing: -.02em; font-size: 17px; display: flex; align-items: center; gap: 3px; white-space: nowrap; text-decoration: none; }
.marca .pill { font-size: .42em; letter-spacing: .02em; padding: .3em .7em; border-radius: 99px; background: #fff; color: #000; margin: 0 1px; position: relative; }
.marca .pill::before { content: ""; position: absolute; inset: -3px; border-radius: 99px; background: var(--holo); z-index: -1; }
.marca .pill { isolation: isolate; }
.topo .esp { flex: 1; }

.layout { display: flex; max-width: 1180px; margin: 0 auto; }
.lateral { display: none; }
main { flex: 1; min-width: 0; padding: 16px 16px 110px; }
.nav { position: fixed; bottom: 0; left: 0; right: 0; z-index: 30; display: grid; grid-template-columns: repeat(5, 1fr);
  background: rgba(10,10,11,.94); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-top: 1px solid #ffffff12; padding-bottom: env(safe-area-inset-bottom); }
.nav a { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 9px 2px 8px; font-size: 11px; color: var(--fraco2); text-decoration: none; }
.nav a svg { width: 22px; height: 22px; }
.nav a.ativo { color: var(--txt); }
.nav a.ativo svg { filter: drop-shadow(0 0 8px #2f6bff99); }
@media (min-width: 900px) {
  .nav { display: none; }
  .lateral { display: flex; flex-direction: column; gap: 2px; width: 220px; flex: none; padding: 20px 12px; position: sticky; top: 60px; height: calc(100dvh - 60px); }
  .lateral a { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-radius: 12px; color: var(--fraco); text-decoration: none; font-weight: 500; }
  .lateral a svg { width: 20px; height: 20px; }
  .lateral a:hover { background: var(--sup); color: var(--txt); }
  .lateral a.ativo { background: var(--sup2); color: var(--txt); }
  main { padding: 24px 28px 60px; }
  .marca { font-size: 20px; }
}

/* ---------- blocos ---------- */
h1, h2, h3 { margin: 0; }
.titulo { font-family: var(--larg); font-weight: 900; font-variation-settings: "wdth" 125; font-stretch: 125%; text-transform: uppercase; letter-spacing: -.01em; line-height: 1.02; }
.t1 { font-size: clamp(26px, 6vw, 38px); }
.t2 { font-size: 19px; }
.t3 { font-size: 15px; }
.rotulo { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--fraco); }
.sec { margin: 28px 0 12px; display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.sec a { font-size: 13px; color: var(--fraco); text-decoration: none; }
.fraco { color: var(--fraco); }
.peq { font-size: 13px; }
.cartao { background: var(--sup); border: 1px solid var(--borda); border-radius: var(--raio); padding: 16px; }
.cartao + .cartao { margin-top: 12px; }
.grade { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
.linha { display: flex; align-items: center; gap: 10px; }
.entre { justify-content: space-between; }
.quebra { flex-wrap: wrap; }
.vazio { padding: 28px 16px; text-align: center; color: var(--fraco); border: 1px dashed var(--borda2); border-radius: var(--raio); }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 0; border-radius: 99px; padding: 11px 20px; font-weight: 700; cursor: pointer; text-decoration: none; background: #fff; color: #000; font-size: 14px; }
.btn.sec2 { background: var(--sup2); color: var(--txt); border: 1px solid var(--borda2); }
.btn.holo { background: var(--holo); background-size: 200% 200%; color: #fff; text-shadow: 0 1px 2px #0006; }
.btn.perigo { background: transparent; color: var(--perigo); border: 1px solid #f8717155; }
.btn.mini { padding: 7px 13px; font-size: 13px; }
.btn.bloco { width: 100%; }
.btn:disabled { opacity: .5; cursor: default; }
.btn svg { width: 17px; height: 17px; }
.icone-btn { background: none; border: 0; padding: 6px; border-radius: 10px; cursor: pointer; color: var(--fraco); display: inline-flex; }
.icone-btn:hover { background: var(--sup2); color: var(--txt); }
.icone-btn svg { width: 18px; height: 18px; }

/* ---------- live / culto ---------- */
.hero { position: relative; border-radius: 22px; overflow: hidden; background: #000; border: 1px solid var(--borda); min-height: 210px; display: flex; align-items: flex-end; cursor: pointer; }
.hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 20%, #000d 100%); }
.hero .dentro { position: relative; z-index: 1; padding: 18px; width: 100%; }
.selo { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px; border-radius: 99px; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #fff; }
.selo .ponto { width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: pisca 1.2s infinite; }
@keyframes pisca { 50% { opacity: .2; } }
.selo.cinza { background: #ffffff1f; }
.contagem { font-family: var(--larg); font-variation-settings: "wdth" 125; font-weight: 800; font-size: 13px; color: var(--fraco); margin-top: 6px; }
.hero .titulo { margin-top: 10px; font-size: clamp(20px, 5vw, 30px); }
.player { position: relative; aspect-ratio: 16/9; border-radius: 18px; overflow: hidden; background: #000; border: 1px solid var(--borda); }
.player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.video { cursor: pointer; }
.video .thumb { position: relative; aspect-ratio: 16/9; border-radius: 14px; overflow: hidden; background: var(--sup2); }
.video .thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.video:hover .thumb img { transform: scale(1.04); }
.video .nome { margin-top: 8px; font-weight: 600; font-size: 14px; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.video .info { font-size: 12px; color: var(--fraco2); margin-top: 2px; }
.trilho { display: flex; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; margin: 0 -16px; padding: 0 16px 4px; scrollbar-width: none; }
.trilho::-webkit-scrollbar { display: none; }
.trilho > * { flex: 0 0 72%; max-width: 300px; scroll-snap-align: start; }

/* ---------- devocional ---------- */
.devo { position: relative; overflow: hidden; }
.devo .barra { position: absolute; left: 0; top: 0; bottom: 0; width: 4px; }
.versiculo { font-family: Georgia, "Times New Roman", serif; font-size: 18px; line-height: 1.5; font-style: italic; margin: 14px 0 6px; }
.ref { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.leitura { font-size: 16.5px; line-height: 1.75; white-space: pre-wrap; margin-top: 18px; color: #e4e4e7; }
.sequencia { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; font-size: 13px; }

/* ---------- células / cidades ---------- */
.chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.chips::-webkit-scrollbar { display: none; }
.chip { flex: none; border: 1px solid var(--borda2); background: transparent; border-radius: 99px; padding: 7px 14px; font-size: 13px; cursor: pointer; color: var(--fraco); }
.chip.ativo { background: #fff; color: #000; border-color: #fff; font-weight: 700; }
.celula { cursor: pointer; transition: border-color .2s; }
.celula:hover { border-color: var(--borda2); }
.tag { display: inline-block; font-size: 11px; padding: 3px 9px; border-radius: 99px; background: var(--sup2); border: 1px solid var(--borda2); color: var(--fraco); }
.avatar { width: 36px; height: 36px; border-radius: 50%; background: var(--sup2); border: 1px solid var(--borda2); display: grid; place-items: center; font-weight: 800; font-size: 13px; flex: none; }

/* ---------- postagens ---------- */
.post .img { margin: 12px -16px -16px; border-top: 1px solid var(--borda); }
.post .img img { width: 100%; max-height: 520px; object-fit: cover; border-radius: 0 0 var(--raio) var(--raio); }
.post .corpo { white-space: pre-wrap; margin-top: 8px; color: #e4e4e7; }

/* ---------- formulários ---------- */
label.campo { display: block; margin-bottom: 12px; }
label.campo > span { display: block; font-size: 12px; font-weight: 600; color: var(--fraco); margin-bottom: 5px; }
.inp { width: 100%; background: var(--bg); border: 1px solid var(--borda2); border-radius: 12px; padding: 11px 13px; outline: none; }
.inp:focus { border-color: #8b8bff; box-shadow: 0 0 0 3px #2f6bff33; }
textarea.inp { min-height: 120px; resize: vertical; }
.duas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.check { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--fraco); margin: 6px 0 14px; }
.check input { margin-top: 3px; accent-color: #2f6bff; width: 17px; height: 17px; flex: none; }
.erro-msg { color: var(--perigo); font-size: 13px; min-height: 18px; margin: 4px 0 8px; }

/* ---------- abas da gestão ---------- */
.abas { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; border-bottom: 1px solid var(--borda); margin: 16px -16px 18px; padding: 0 16px; }
.abas::-webkit-scrollbar { display: none; }
.abas button { flex: none; background: none; border: 0; padding: 10px 12px; color: var(--fraco); font-weight: 600; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.abas button.ativo { color: var(--txt); border-image: var(--holo) 1; border-bottom-width: 2px; border-bottom-style: solid; }
.lista-p > div { display: flex; align-items: center; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--borda); }
.lista-p > div:last-child { border-bottom: 0; }
.lista-p .nm { flex: 1; min-width: 0; }
.lista-p .nm b { display: block; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.papel { font-size: 11px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--fraco); }

/* ---------- janela e aviso ---------- */
.fundo { position: fixed; inset: 0; z-index: 50; background: #000b; display: flex; align-items: flex-end; justify-content: center; animation: aparece .2s; }
@keyframes aparece { from { opacity: 0; } }
.janela { background: var(--sup); border: 1px solid var(--borda2); border-radius: 22px 22px 0 0; width: 100%; max-width: 560px; max-height: 92dvh; overflow: auto; padding: 18px 18px calc(22px + env(safe-area-inset-bottom)); animation: sobe .25s ease; }
.janela.larga { max-width: 900px; }
@keyframes sobe { from { transform: translateY(30px); opacity: 0; } }
@media (min-width: 700px) { .fundo { align-items: center; } .janela { border-radius: 22px; } }
.janela .cab { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.aviso { position: fixed; left: 50%; bottom: 96px; transform: translateX(-50%); z-index: 70; background: #fff; color: #000; padding: 11px 18px; border-radius: 99px; font-weight: 600; font-size: 14px; box-shadow: 0 10px 30px #0008; animation: sobe .25s; max-width: calc(100% - 32px); text-align: center; }
.aviso.mau { background: var(--perigo); }
.carregando { display: grid; place-items: center; min-height: 50dvh; }
.carregando img { width: 46px; animation: pulsa 1.4s ease-in-out infinite; }
@keyframes pulsa { 50% { opacity: .35; transform: scale(.94); } }
.qr { background: #fff; padding: 12px; border-radius: 14px; width: max-content; margin: 12px auto; }
.visite .cartao:hover { border-color: var(--borda2); }

/* cards de célula com foto */
.cel-card { cursor: pointer; background: var(--sup); border: 1px solid var(--borda); border-radius: var(--raio); overflow: hidden; transition: transform .2s, border-color .2s; }
.cel-card:hover { border-color: var(--borda2); transform: translateY(-2px); }
.cel-card.minha { border-color: #2f6bff88; }
.cel-card .foto { position: relative; aspect-ratio: 4/3; background: var(--sup2); }
.cel-card .foto > img { width: 100%; height: 100%; object-fit: cover; }
.cel-card .foto .selo { position: absolute; left: 10px; top: 10px; }
.sem-foto { width: 100%; height: 100%; display: grid; place-items: center; position: relative; }
.sem-foto::after { content: ""; position: absolute; inset: 0; background: #0006; }
.sem-foto img { width: 34%; max-width: 70px; position: relative; z-index: 1; opacity: .95; }
.cel-info { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 3px; font-size: 13px; }
.cel-info b { font-size: 14px; margin-bottom: 2px; }
.trilho-cel > * { flex: 0 0 62%; max-width: 240px; }
.grade-cel { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
@media (max-width: 520px) { .grade-cel { grid-template-columns: 1fr 1fr; } }

/* capa de eventos presenciais (início) */
.capa { position: relative; margin: 0 -16px; }
.slides { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.slides::-webkit-scrollbar { display: none; }
.slide { flex: 0 0 100%; scroll-snap-align: center; position: relative; aspect-ratio: 4/5; max-height: 72dvh; overflow: hidden; cursor: pointer; background: #000; display: flex; align-items: flex-end; }
.slide > img, .slide > video, .slide > .sem-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.slide > .sem-foto img { width: 30%; max-width: 140px; }
.slide::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0000 35%, #000000e6 100%); }
.slide .dentro { position: relative; z-index: 1; padding: 20px 18px 22px; width: 100%; }
.slide .titulo { margin-top: 10px; font-size: clamp(30px, 9vw, 52px); }
.slide .sub { margin: 8px 0 0; font-size: 16px; color: #e4e4e7; }
.pontos { display: flex; justify-content: center; gap: 6px; padding: 10px 0 0; }
.pontos i { width: 6px; height: 6px; border-radius: 99px; background: var(--borda2); transition: width .3s; cursor: pointer; }
.pontos i.ativo { width: 20px; background: #fff; }
@media (min-width: 700px) { .capa { margin: 0; } .slide { aspect-ratio: 16/8; border-radius: 22px; } .slides { border-radius: 22px; gap: 12px; } }
.barra-live { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; padding: 10px 14px; border-radius: 14px; margin-bottom: 12px; font-size: 13px; }
.barra-live .ponto { width: 8px; height: 8px; border-radius: 50%; background: #fff; animation: pisca 1.2s infinite; flex: none; }
.barra-live .tl { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; opacity: .9; }
.ev-midia { position: relative; aspect-ratio: 16/9; border-radius: 18px; overflow: hidden; margin: 12px 0 18px; background: #000; border: 1px solid var(--borda); }
.ev-midia > img, .ev-midia > video, .ev-midia > .sem-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cel-card .foto > video { width: 100%; height: 100%; object-fit: cover; }
.slide > .sem-foto { place-items: start center; padding-top: 16%; }
.ev-midia > img, .slide > img { object-position: center 25%; }

/* logo só branco, centralizado e menor */
.topo { justify-content: center; }
.topo .esp { display: none; }
.marca { font-size: 14px; color: #fff; gap: 2px; }
.marca .pill { background: #fff; color: #000; }
.marca .pill::before { display: none; }
@media (min-width: 900px) { .marca { font-size: 16px; } }
.visita { width: 100%; margin-top: 28px; gap: 14px; cursor: pointer; font: inherit; color: inherit; }
.visita:hover { border-color: var(--borda2); }
.visite { display: grid; gap: 10px; }
/* botões principais em branco sólido (sem degradê) */
.btn.holo { background: #fff; color: #000; text-shadow: none; animation: none; }

/* células: uma cidade por página, desliza para o lado */
.cidades-nav { display: flex; gap: 22px; overflow-x: auto; scrollbar-width: none; margin: 4px 0 18px; border-bottom: 1px solid var(--borda); }
.cidades-nav::-webkit-scrollbar { display: none; }
.cidades-nav button { flex: none; background: none; border: 0; padding: 0 0 10px; margin-bottom: -1px; font-size: 11px; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--fraco2); cursor: pointer; border-bottom: 1px solid transparent; transition: color .3s, border-color .3s; }
.cidades-nav button.ativo { color: #fff; border-color: #fff; }
.paginas { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -16px; align-items: flex-start; }
.paginas::-webkit-scrollbar { display: none; }
.pagina { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; padding: 0 16px; }
.vazio-cid { padding: 64px 16px; text-align: center; color: var(--fraco2); font-size: 13px; }
.vazio-cid span { display: block; font-family: var(--larg); font-variation-settings: "wdth" 125; font-weight: 300; font-size: 26px; letter-spacing: .04em; text-transform: uppercase; color: #fff; margin-bottom: 8px; }
@media (min-width: 900px) { .paginas { margin: 0; } .pagina { padding: 0; } }

/* ---------- menu ☰ ---------- */
.bt-menu { position: absolute; left: 6px; bottom: 0; height: 46px; width: 46px; display: grid; place-items: center; background: none; border: 0; color: #fff; cursor: pointer; }
.bt-menu svg { width: 24px; height: 24px; }
.gaveta-fundo { position: fixed; inset: 0; z-index: 60; background: #0000; transition: background .25s; }
.gaveta-fundo.aberto { background: #000b; }
.gaveta { position: absolute; left: 0; top: 0; bottom: 0; width: min(84vw, 320px); background: #0b0b0c; border-right: 1px solid var(--borda); transform: translateX(-100%); transition: transform .26s cubic-bezier(.2,.8,.2,1); overflow-y: auto; padding: calc(12px + env(safe-area-inset-top)) 10px calc(24px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; }
.gaveta-fundo.aberto .gaveta { transform: none; }
.gaveta-cab { display: flex; align-items: center; gap: 12px; padding: 8px 6px 18px; border-bottom: 1px solid var(--borda); margin-bottom: 4px; }
.gaveta-quem { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.gaveta-quem b { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gaveta-quem span { font-size: 12.5px; color: var(--fraco); }
.gaveta-rot { font-size: 10.5px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--fraco2); padding: 16px 12px 6px; }
.gaveta a { display: flex; align-items: center; gap: 14px; padding: 11px 12px; border-radius: 12px; color: #d4d4d8; text-decoration: none; font-weight: 500; font-size: 15px; }
.gaveta a svg { width: 20px; height: 20px; color: var(--fraco); flex: none; }
.gaveta a.ativo { background: var(--sup2); color: #fff; }
.gaveta a.ativo svg { color: #fff; }
.avatar.grande { width: 44px; height: 44px; font-size: 15px; }

/* ---------- gestão (pensada para o celular) ---------- */
.g { max-width: 720px; }
.g-cab { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin: 4px 0 18px; }
.g-cab h1 { margin-top: 4px; }
.g-cab p { margin: 6px 0 0; }
.g-cab .btn { flex: none; }
.g-lista { background: var(--sup); border: 1px solid var(--borda); border-radius: var(--raio); overflow: hidden; }
.g-item { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; background: none; border: 0; border-bottom: 1px solid var(--borda); text-align: left; color: inherit; font: inherit; cursor: pointer; text-decoration: none; }
.g-item:last-child { border-bottom: 0; }
.g-item:active { background: var(--sup2); }
.g-thumb { width: 48px; height: 48px; border-radius: 12px; overflow: hidden; flex: none; background: var(--sup2); display: grid; place-items: center; }
.g-thumb > img, .g-thumb > video { width: 100%; height: 100%; object-fit: cover; }
.g-thumb .sem-foto img { width: 46%; }
.g-thumb > svg { width: 20px; height: 20px; color: var(--fraco); }
.g-thumb .ini { font-size: 14px; font-weight: 800; }
.g-txt { flex: 1; min-width: 0; }
.g-txt b { display: block; font-weight: 600; font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g-txt span { display: block; margin-top: 2px; font-size: 12.5px; color: var(--fraco); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g-fim { display: flex; align-items: center; gap: 6px; flex: none; color: var(--fraco2); }
.g-fim > svg { width: 18px; height: 18px; }
.pilula { font-size: 11px; font-weight: 700; padding: 4px 9px; border-radius: 99px; background: var(--sup2); border: 1px solid var(--borda2); color: var(--fraco); white-space: nowrap; }
.pilula.viva { background: #fff; color: #000; border-color: #fff; }
.g-grupo { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--fraco2); margin: 24px 4px 8px; }
.g-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.g-tile { background: var(--sup); border: 1px solid var(--borda); border-radius: 16px; padding: 16px 14px; text-align: left; cursor: pointer; color: inherit; font: inherit; }
.g-tile:active { background: var(--sup2); }
.g-tile b { display: block; font-family: var(--larg); font-variation-settings: "wdth" 125; font-weight: 800; font-size: 30px; line-height: 1; }
.g-tile span { display: block; margin-top: 8px; font-size: 12.5px; color: var(--fraco); }
.g-alerta { display: flex; align-items: center; gap: 12px; width: 100%; background: #fff; color: #000; border: 0; border-radius: 16px; padding: 14px; margin-bottom: 12px; text-align: left; font: inherit; cursor: pointer; }
.g-form { background: var(--sup); border: 1px solid var(--borda); border-radius: var(--raio); padding: 16px; }
.janela .linha.quebra { gap: 8px; }

/* ---------- minimalista: sem cores ---------- */
.holo { background: #18181a; animation: none; }
.holo-txt { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: var(--txt); animation: none; }
.selo.holo { background: #fff; color: #000; }
.selo.holo .ponto { background: #000; }
.btn.holo { background: #fff; color: #000; }
.barra-live.holo { background: #fff; color: #000; }
.barra-live .ponto { background: #000; }
.devo .barra.holo { background: #fff; }
.sem-foto.holo { background: #141416; }
.sem-foto::after { background: none; }
.sem-foto img { opacity: .35; }
.cel-card.minha { border-color: var(--borda2); }
.nav a.ativo svg { filter: none; }
.inp:focus { border-color: #fff; box-shadow: 0 0 0 3px #ffffff1f; }
.check input { accent-color: #fff; }
.abas button.ativo { border-image: none; border-bottom-color: #fff; }
.marca .pill::before { display: none; }
/* menu ☰ do lado direito */
.bt-menu { left: auto; right: 6px; }
.gaveta { left: auto; right: 0; border-right: 0; border-left: 1px solid var(--borda); transform: translateX(100%); }

/* ---------- rede: avatares, célula, conversa, setores ---------- */
.avatar.foto { object-fit: cover; padding: 0; background: var(--sup2); }
.avatar.mini { width: 28px; height: 28px; font-size: 11px; }
.avatar.enorme { width: 76px; height: 76px; font-size: 24px; }
.g-thumb > .avatar { width: 100%; height: 100%; border: 0; border-radius: 0; }
.perfil-foto { display: flex; align-items: center; gap: 16px; }
.perfil-foto > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.perfil-foto b { font-size: 17px; }
.esp-cab { position: relative; margin: -16px -16px 0; aspect-ratio: 16/9; max-height: 260px; overflow: hidden; display: flex; align-items: flex-end; background: #111; }
.esp-cab > img, .esp-cab > .sem-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.esp-cab::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0000 30%, #000e 100%); }
.esp-cab .dentro { position: relative; z-index: 1; padding: 16px; }
.esp-cab .titulo { font-size: clamp(26px, 8vw, 40px); margin-top: 6px; }
.esp-cab p { margin: 6px 0 0; color: #d4d4d8; font-size: 14px; }
@media (min-width: 900px) { .esp-cab { margin: 0; border-radius: 22px; } }
.seg { display: flex; gap: 6px; margin: 14px 0 16px; overflow-x: auto; scrollbar-width: none; }
.seg::-webkit-scrollbar { display: none; }
.seg a { flex: none; padding: 8px 16px; border-radius: 99px; border: 1px solid var(--borda2); color: var(--fraco); text-decoration: none; font-size: 14px; font-weight: 600; }
.seg a.ativo { background: #fff; color: #000; border-color: #fff; }
.chat { display: flex; flex-direction: column; background: var(--sup); border: 1px solid var(--borda); border-radius: var(--raio); overflow: hidden; }
.chat-msgs { height: calc(100dvh - 380px); min-height: 280px; overflow-y: auto; padding: 14px 12px; display: flex; flex-direction: column; gap: 3px; }
.chat-dia { align-self: center; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fraco2); margin: 12px 0 6px; }
.chat-vazio { margin: auto; color: var(--fraco); font-size: 14px; }
.msg { display: flex; align-items: flex-end; gap: 8px; max-width: 86%; }
.msg.novo { margin-top: 8px; }
.msg .av-esp { width: 28px; flex: none; }
.msg .bolha { background: var(--sup2); border: 1px solid var(--borda); border-radius: 16px 16px 16px 4px; padding: 8px 12px 6px; display: flex; flex-direction: column; min-width: 0; }
.msg .bolha b { font-size: 12px; color: var(--fraco); margin-bottom: 2px; }
.msg .bolha span { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 15px; line-height: 1.4; }
.msg .bolha i { font-style: normal; font-size: 10.5px; color: var(--fraco2); align-self: flex-end; margin-top: 2px; }
.msg.eu { align-self: flex-end; }
.msg.eu .bolha { background: #fff; color: #000; border-color: #fff; border-radius: 16px 16px 4px 16px; }
.msg.eu .bolha i { color: #0008; }
.chat-barra { display: flex; gap: 8px; padding: 10px; border-top: 1px solid var(--borda); background: var(--bg); }
.chat-barra .inp { border-radius: 99px; }
.chat-barra .btn { padding: 0; width: 44px; height: 44px; flex: none; }
.album { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; border-radius: 14px; overflow: hidden; }
.album-f { border: 0; padding: 0; aspect-ratio: 1; background: var(--sup2); cursor: pointer; }
.album-f img { width: 100%; height: 100%; object-fit: cover; }
.escala { display: flex; gap: 14px; background: var(--sup); border: 1px solid var(--borda); border-radius: var(--raio); padding: 14px; margin-bottom: 10px; }
.escala[role=button] { cursor: pointer; }
.escala.minha { border-color: #fff; }
.esc-data { width: 48px; flex: none; text-align: center; border-right: 1px solid var(--borda); padding-right: 12px; }
.esc-data b { display: block; font-family: var(--larg); font-variation-settings: "wdth" 125; font-weight: 800; font-size: 24px; line-height: 1; }
.esc-data span { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--fraco); }
.esc-info { flex: 1; min-width: 0; }
.esc-info ul { list-style: none; margin: 10px 0 0; padding: 0; }
.esc-info li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 0; border-top: 1px solid var(--borda); font-size: 14px; }
.esc-info li span { color: var(--fraco); }
.esboco .leitura { font-size: 15.5px; }
label.g-item { cursor: pointer; }

.esp-cab.compacta { aspect-ratio: auto; height: 96px; }
.esp-cab.compacta .titulo { font-size: 22px; }
.esp-cab.compacta p, .esp-cab.compacta .rotulo { display: none; }
.chat-msgs { height: calc(100dvh - 400px - env(safe-area-inset-bottom)); min-height: 240px; }
@media (min-width: 900px) { .chat-msgs { height: calc(100dvh - 330px); } }

/* conversa flutuante */
.fab { position: fixed; right: 16px; bottom: calc(84px + env(safe-area-inset-bottom)); z-index: 40; width: 56px; height: 56px; border-radius: 50%; background: #fff; color: #000; border: 0; display: grid; place-items: center; box-shadow: 0 10px 30px #000c; cursor: pointer; animation: aparece .25s; }
.fab svg { width: 26px; height: 26px; }
@media (min-width: 900px) { .fab { bottom: 24px; right: 24px; } }
.chat-flut { position: fixed; left: 10px; right: 10px; bottom: calc(76px + env(safe-area-inset-bottom)); height: min(72dvh, 600px); z-index: 45; display: flex; flex-direction: column; background: var(--sup); border: 1px solid var(--borda2); border-radius: 20px; box-shadow: 0 24px 70px #000; overflow: hidden; animation: sobe .22s ease; }
@media (min-width: 600px) { .chat-flut { left: auto; right: 20px; width: 390px; } }
@media (min-width: 900px) { .chat-flut { bottom: 20px; } }
.chat-flut > .cab { display: flex; align-items: center; gap: 8px; padding: 12px 12px 12px 16px; border-bottom: 1px solid var(--borda); }
.chat-flut > .corpo { flex: 1; min-height: 0; display: flex; flex-direction: column; overflow-y: auto; }
.chat-flut .chat { flex: 1; min-height: 0; border: 0; border-radius: 0; background: none; }
.chat-flut .chat-msgs { height: auto; flex: 1; min-height: 0; }
.chat-flut { bottom: calc(var(--nav-h, 64px) + 12px); }
@media (min-width: 900px) { .chat-flut { bottom: 20px; } }

/* capa: data em texto pequeno e ícone de agenda para confirmar */
.ev-data { display: block; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #e4e4e7; }
.bt-agenda { flex: none; width: 48px; height: 48px; border-radius: 50%; border: 1.5px solid #fff; background: #0006; color: #fff; display: grid; place-items: center; cursor: pointer; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); transition: background .2s, color .2s; }
.bt-agenda svg { width: 22px; height: 22px; }
.bt-agenda.ok { background: #fff; color: #000; }

/* sem zoom e sem copiar */
html { touch-action: manipulation; -webkit-text-size-adjust: 100%; }
body { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
img, video { -webkit-user-drag: none; -webkit-touch-callout: none; }
input, textarea, select, .inp { -webkit-user-select: text; user-select: text; }
/* 16px nos campos: o iPhone não dá zoom ao tocar */
.inp, input, textarea, select { font-size: 16px; }
.msg.eu .bolha b { color: #0009; }

.visita-min { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 32px; padding: 16px 0; background: none; border: 0; border-top: 1px solid var(--borda); color: var(--txt); font: inherit; font-size: 13px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; cursor: pointer; }
.visita-min svg { width: 16px; height: 16px; }

/* área do membro: sua célula e sua igreja */
.sua-cel { position: relative; display: flex; align-items: flex-end; gap: 12px; min-height: 170px; border-radius: var(--raio); overflow: hidden; text-decoration: none; color: #fff; border: 1px solid var(--borda); background: #111; padding: 16px; }
.sua-cel > img, .sua-cel > .sem-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sua-cel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0000 20%, #000d 100%); }
.sua-cel .dentro { position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column; gap: 3px; }
.sua-cel .titulo { font-size: 22px; }
.sua-cel .dentro span { color: #e4e4e7; font-size: 14px; }
.sua-cel .dentro .peq { color: #a1a1aa; font-size: 12.5px; }
.sua-cel > svg { position: relative; z-index: 1; width: 22px; height: 22px; flex: none; }
.pessoas-trilho { display: flex; gap: 14px; overflow-x: auto; scrollbar-width: none; margin: 0 -16px; padding: 2px 16px 6px; }
.pessoas-trilho::-webkit-scrollbar { display: none; }
.pessoa-chip { flex: none; width: 68px; display: flex; flex-direction: column; align-items: center; gap: 5px; text-decoration: none; color: var(--txt); }
.pessoa-chip .avatar { width: 62px; height: 62px; font-size: 18px; }
.pessoa-chip span { font-size: 12.5px; font-weight: 600; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pessoa-chip i { font-style: normal; font-size: 10.5px; color: var(--fraco2); margin-top: -4px; }
.perfil-topo { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; margin: 18px 0 22px; }
.avatar.gigante { width: 112px; height: 112px; font-size: 34px; margin-bottom: 8px; }

/* card da igreja local */
.igreja-local { position: relative; border-radius: var(--raio); overflow: hidden; border: 1px solid var(--borda); background: #111; min-height: 230px; display: flex; align-items: flex-end; }
.igreja-local > img, .igreja-local > .sem-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.igreja-local::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0000 10%, #000e 75%); }
.igreja-local .dentro { position: relative; z-index: 1; padding: 18px 16px 16px; width: 100%; display: flex; flex-direction: column; gap: 6px; }
.igreja-local .titulo { font-size: 22px; }
.il-end { display: flex; align-items: flex-start; gap: 6px; color: #e4e4e7; font-size: 14px; }
.il-end svg { width: 15px; height: 15px; flex: none; margin-top: 2px; }
.igreja-local ul { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.igreja-local li { font-size: 13px; color: #d4d4d8; }
.igreja-local .btn { align-self: flex-start; margin-top: 8px; }
.igreja-pasta { cursor: pointer; }

.igreja-local.sem-capa { min-height: 0; }
.igreja-local.sem-capa::after { display: none; }
.igreja-local.sem-capa .titulo { font-size: 20px; }
.igreja-local .il-seta { position: absolute; right: 16px; bottom: 18px; z-index: 1; width: 22px; height: 22px; color: #fff; }
.igreja-pasta .igreja-local .dentro { padding-right: 46px; }

/* capa v2: imagem limpa, texto embaixo */
.slide { display: block; aspect-ratio: auto; max-height: none; background: none; overflow: visible; }
.slide::after { display: none; }
.slide-img { position: relative; aspect-ratio: 1 / 1; max-height: 62dvh; width: 100%; overflow: hidden; background: #111; }
.slide-img > img, .slide-img > video, .slide-img > .sem-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; }
.slide-img > .sem-foto { place-items: center; padding: 0; }
.slide-acoes { position: absolute; top: 12px; right: 12px; z-index: 2; display: flex; gap: 8px; }
.bt-ico { width: 42px; height: 42px; border-radius: 50%; border: 0; background: #0000006b; color: #fff; display: grid; place-items: center; cursor: pointer; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); text-decoration: none; transition: background .2s, color .2s; }
.bt-ico svg { width: 20px; height: 20px; }
.bt-ico.ok { background: #fff; color: #000; }
.slide-txt { padding: 16px 16px 4px; }
.slide-txt .ev-data { color: var(--fraco); }
.slide-txt .titulo { margin-top: 6px; font-size: clamp(26px, 7.5vw, 42px); }
.slide-txt .sub { margin: 6px 0 0; font-size: 15px; color: #d4d4d8; }
.ev-local { display: block; margin-top: 8px; font-size: 13px; color: var(--fraco2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (min-width: 700px) { .slide-img { aspect-ratio: 16 / 8; border-radius: 22px; } .slide-txt { padding: 16px 4px 4px; } }
/* card da igreja v2 */
.igreja-card { background: var(--sup); border: 1px solid var(--borda); border-radius: var(--raio); overflow: hidden; }
.ic-img { position: relative; aspect-ratio: 16 / 9; background: #111; }
.ic-img > img { width: 100%; height: 100%; object-fit: cover; }
.ic-img .bt-ico { position: absolute; top: 12px; right: 12px; }
.ic-txt { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 4px; }
.ic-txt .titulo { font-size: 18px; }
.ic-txt .bt-ico { background: var(--sup2); border: 1px solid var(--borda2); flex: none; margin-top: -4px; }
.ic-txt .il-end { color: var(--fraco); font-size: 14px; }
.ic-txt ul { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.ic-txt li { font-size: 13px; color: #d4d4d8; }
.ic-txt .il-seta { position: static; width: 20px; height: 20px; color: var(--fraco); flex: none; }

/* carregamento grande e no centro da tela */
.carregando { position: fixed; inset: 0; z-index: 5; display: grid; place-items: center; min-height: 0; pointer-events: none; }
.carregando img { width: 92px; }

/* perfil estilo rede social */
.perfil { max-width: 640px; margin: 0 auto; }
.perfil-capa { position: relative; height: 170px; margin: -16px -16px 0; overflow: hidden; background: radial-gradient(120% 100% at 20% 0%, #2a2a2e 0%, #121214 55%, #050505 100%); }
.perfil-capa > img { width: 100%; height: 100%; object-fit: cover; filter: blur(26px) brightness(.55) saturate(1.2); transform: scale(1.35); }
.perfil-capa::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0000 40%, var(--bg) 100%); }
.perfil-voltar { position: absolute; top: 12px; left: 12px; z-index: 2; }
@media (min-width: 900px) { .perfil-capa { margin: 0; border-radius: 22px; } }
.perfil-cab { position: relative; z-index: 2; display: flex; align-items: flex-end; gap: 12px; margin-top: -58px; }
.avatar.perfil-av { width: 108px; height: 108px; font-size: 34px; border: 4px solid var(--bg); box-shadow: 0 8px 30px #000a; }
.perfil-acoes { margin-left: auto; display: flex; align-items: center; gap: 8px; padding-bottom: 8px; }
.perfil-tel { background: var(--sup2); border: 1px solid var(--borda2); }
.perfil-nome { font-family: var(--larg); font-variation-settings: "wdth" 110; font-weight: 800; font-size: 24px; line-height: 1.1; margin: 14px 0 0; }
.perfil-sub { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 8px; font-size: 13px; color: var(--fraco); }
.perfil-sub span { display: inline-flex; align-items: center; gap: 4px; }
.perfil-sub svg { width: 14px; height: 14px; }
.perfil-bio { margin: 14px 0 0; font-size: 15px; line-height: 1.5; white-space: pre-wrap; }
.perfil-nums { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 18px; border-top: 1px solid var(--borda); border-bottom: 1px solid var(--borda); }
.perfil-nums div { padding: 14px 4px; text-align: center; display: flex; flex-direction: column; gap: 2px; }
.perfil-nums div + div { border-left: 1px solid var(--borda); }
.perfil-nums b { font-family: var(--larg); font-variation-settings: "wdth" 110; font-weight: 800; font-size: 20px; text-transform: capitalize; }
.perfil-nums span { font-size: 11.5px; color: var(--fraco); }
.perfil-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.perfil-chips .chip { display: inline-flex; align-items: center; gap: 6px; color: var(--txt); text-decoration: none; padding: 8px 14px; }
.perfil-chips svg { width: 15px; height: 15px; }
.perfil-cel { display: flex; align-items: center; gap: 14px; background: var(--sup); border: 1px solid var(--borda); border-radius: var(--raio); padding: 10px; }
.perfil-cel[role=button] { cursor: pointer; }
.pc-img { width: 72px; height: 72px; border-radius: 14px; overflow: hidden; flex: none; background: #111; }
.pc-img > img, .pc-img .sem-foto { width: 100%; height: 100%; object-fit: cover; }
.pc-img .sem-foto img { width: 40%; }
.pc-txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pc-txt b { font-size: 16px; }
.pc-txt span { font-size: 13px; color: var(--fraco); }

/* capa: foto entra com fade e se funde no fundo preto */
.slide-img::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg, #0000 0%, #0000 52%, #05050599 78%, var(--bg) 100%); }
.slide-acoes { z-index: 3; }
.slide-img > img, .slide-img > video { opacity: 0; transform: scale(1.06); transition: opacity 1s ease, transform 1.6s cubic-bezier(.2,.7,.2,1); }
.slide.ativa .slide-img > img, .slide.ativa .slide-img > video { opacity: 1; transform: none; }
.slide-txt { position: relative; z-index: 2; margin-top: -34px; padding-top: 0; }
.slide-txt > * { opacity: 0; transform: translateY(10px); transition: opacity .7s ease .25s, transform .7s ease .25s; }
.slide.ativa .slide-txt > * { opacity: 1; transform: none; }
@media (min-width: 700px) { .slide-img::after { border-radius: 22px; } }

/* botão "+" no meio da barra */
.nav-mais { display: grid; place-items: center; background: none; border: 0; cursor: pointer; padding: 0; }
.nav-mais span { width: 50px; height: 50px; border-radius: 50%; background: #fff; color: #000; display: grid; place-items: center; box-shadow: 0 6px 20px #0009; transform: translateY(-6px); transition: transform .15s; }
.nav-mais:active span { transform: translateY(-6px) scale(.92); }
.nav-mais svg { width: 26px; height: 26px; stroke-width: 2.2; }
.lateral .nav-mais { justify-content: start; padding: 6px 14px; }
.lateral .nav-mais span { width: 40px; height: 40px; transform: none; box-shadow: none; }
.pub-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pub-op { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; text-align: left; padding: 14px; background: var(--bg); border: 1px solid var(--borda); border-radius: 16px; color: var(--txt); font: inherit; cursor: pointer; }
.pub-op:active { background: var(--sup2); }
.pub-op svg { width: 22px; height: 22px; margin-bottom: 4px; }
.pub-op b { font-size: 14.5px; }
.pub-op span { font-size: 12px; color: var(--fraco); line-height: 1.35; }

/* formulário da célula */
.duas > * { min-width: 0; }
input[type=time].inp, input[type=date].inp { -webkit-appearance: none; appearance: none; display: block; width: 100%; min-height: 46px; text-align: left; }
input[type=time].inp::-webkit-date-and-time-value, input[type=date].inp::-webkit-date-and-time-value { text-align: left; }
.form-sec { font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--fraco2); margin: 22px 0 10px; padding-top: 16px; border-top: 1px solid var(--borda); }
.foto-pick { position: relative; display: block; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: var(--bg); border: 1px dashed var(--borda2); cursor: pointer; }
.foto-pick > img { width: 100%; height: 100%; object-fit: cover; }
.fp-vazio { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--fraco); }
.fp-vazio svg { width: 28px; height: 28px; }
.fp-vazio b { color: var(--txt); font-size: 14px; }
.fp-vazio i { font-style: normal; font-size: 12px; }
.rot-campo { display: block; font-size: 12px; font-weight: 600; color: var(--fraco); margin-bottom: 6px; }
.dias { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; margin-bottom: 14px; }
.dias button { padding: 10px 0; border-radius: 10px; border: 1px solid var(--borda2); background: var(--bg); color: var(--fraco); font: inherit; font-size: 12.5px; font-weight: 600; cursor: pointer; }
.dias button.ativo { background: #fff; color: #000; border-color: #fff; }
.quebra-chips { flex-wrap: wrap; overflow: visible; }
.lid-sel { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 10px; min-height: 20px; }
.lid-chip { display: inline-flex; align-items: center; gap: 8px; padding: 4px 4px 4px 4px; border-radius: 99px; background: #fff; color: #000; font-size: 13.5px; font-weight: 600; }
.lid-chip .avatar { width: 26px; height: 26px; font-size: 10px; color: var(--txt); }
.lid-chip button { border: 0; background: #0000000f; color: #000; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; cursor: pointer; }
.lid-chip button svg { width: 14px; height: 14px; }
.lid-lista { margin-top: 8px; }
.lid-lista .g-item { padding: 10px 12px; }
.lid-lista .g-thumb { width: 38px; height: 38px; border-radius: 50%; }

/* página da célula (membros) */
.janela.janela-cel { padding: 0; }
.cel-pag .cp-img { position: relative; aspect-ratio: 16 / 9; background: #111; overflow: hidden; }
.cel-pag .cp-img > img, .cel-pag .cp-img > .sem-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cel-pag .cp-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0000 55%, var(--sup) 100%); pointer-events: none; }
.cp-fechar { position: absolute; top: 12px; right: 12px; z-index: 2; }
.cp-mapa { position: absolute; top: 12px; right: 62px; z-index: 2; }
.cel-pag .cp-txt { padding: 4px 18px calc(22px + env(safe-area-inset-bottom)); }
.cp-pessoas { display: flex; flex-wrap: wrap; gap: 14px 12px; }
.cp-pessoa { width: 64px; display: flex; flex-direction: column; align-items: center; gap: 6px; text-decoration: none; color: var(--txt); }
.cp-pessoa .avatar { width: 56px; height: 56px; font-size: 17px; }
.cp-pessoa span { font-size: 12px; font-weight: 600; max-width: 100%; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
a.g-item { color: inherit; }

.nav-av { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; border: 1.5px solid transparent; }
.nav a.ativo .nav-av { border-color: #fff; }

/* caminho do discípulo */
.passos { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; margin-top: 14px; }
.passo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.passo i { height: 5px; border-radius: 99px; background: var(--borda2); }
.passo.feito i { background: #ffffffaa; }
.passo.atual i { background: #fff; box-shadow: 0 0 10px #ffffff66; }
.passo span { font-size: 9.5px; color: var(--fraco2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.passo.atual span { color: #fff; font-weight: 700; }
.jornada-card { display: block; background: var(--sup); border: 1px solid var(--borda); border-radius: var(--raio); padding: 16px; text-decoration: none; color: var(--txt); }
.trilha { margin-top: 18px; }
.t-etapa { display: flex; gap: 14px; position: relative; padding-bottom: 20px; }
.t-etapa:not(:last-child)::before { content: ""; position: absolute; left: 17px; top: 40px; bottom: 2px; width: 2px; background: var(--borda); }
.t-etapa.feito:not(:last-child)::before { background: #ffffff55; }
.t-marca { width: 36px; height: 36px; border-radius: 50%; flex: none; display: grid; place-items: center; border: 1.5px solid var(--borda2); color: var(--fraco); font-weight: 800; font-size: 14px; background: var(--bg); }
.t-marca svg { width: 18px; height: 18px; }
.t-etapa.feito .t-marca { background: #ffffff1a; color: #fff; border-color: #ffffff55; }
.t-etapa.atual .t-marca { background: #fff; color: #000; border-color: #fff; }
.t-corpo { flex: 1; min-width: 0; padding-top: 6px; }
.t-corpo b { font-size: 16px; }
.t-corpo p { margin: 4px 0 0; font-size: 13.5px; color: var(--fraco); line-height: 1.45; }
.aulas { margin-top: 10px; background: var(--sup); border: 1px solid var(--borda); border-radius: 14px; overflow: hidden; }
.aula { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border-bottom: 1px solid var(--borda); font-size: 14px; cursor: pointer; }
.aula:last-child { border-bottom: 0; }
.aula input { width: 18px; height: 18px; accent-color: #fff; flex: none; }
.aula input:checked + span { color: var(--fraco); text-decoration: line-through; }
.aulas-lista { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.aulas-lista span { font-size: 12px; padding: 4px 10px; border-radius: 99px; border: 1px solid var(--borda2); color: var(--fraco); }

.passos { grid-template-columns: repeat(6, 1fr); }
.passo span { font-size: 9px; }

.passos { grid-template-columns: repeat(5, 1fr); }
.passo span { font-size: 9.5px; }

/* perfil: capa = foto da célula; célula e setores lado a lado */
.perfil-capa.capa-celula { height: 190px; }
.perfil-capa > img:not(.desfoca) { filter: brightness(.8); transform: none; }
.perfil-capa > img.desfoca { filter: blur(26px) brightness(.55) saturate(1.2); transform: scale(1.35); }
.part-trilho { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; margin: 0 -16px; padding: 0 16px 4px; scroll-snap-type: x mandatory; scroll-padding-inline: 16px; }
.part-trilho::-webkit-scrollbar { display: none; }
.part-card { flex: 0 0 46%; max-width: 220px; scroll-snap-align: start; padding: 0; border: 1px solid var(--borda); border-radius: var(--raio); background: var(--sup); overflow: hidden; text-align: left; color: var(--txt); font: inherit; cursor: pointer; }
.pt-img { aspect-ratio: 4 / 3; background: #111; position: relative; }
.pt-img > img, .pt-img .sem-foto { width: 100%; height: 100%; object-fit: cover; }
.pt-img .sem-foto img { width: 34%; }
.pt-ico { display: grid; place-items: center; background: radial-gradient(120% 100% at 30% 0%, #26262a 0%, #111113 70%); }
.pt-ico svg { width: 38px; height: 38px; color: #fff; stroke-width: 1.5; }
.pt-txt { padding: 10px 12px 12px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pt-txt span { font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--fraco2); }
.pt-txt b { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pt-txt i { font-style: normal; font-size: 12px; color: var(--fraco); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-height: 15px; }
.perfil-sub { margin-bottom: 4px; }

/* configurações v2 */
.perfil-foto > div:not(.avatar) { display: flex; flex-direction: column; }
.cfg-topo { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; margin: 6px 0 4px; }
.cfg-foto { position: relative; cursor: pointer; margin-bottom: 10px; }
.cfg-foto .avatar.gigante { margin: 0; }
.cfg-cam { position: absolute; right: 2px; bottom: 2px; width: 36px; height: 36px; border-radius: 50%; background: #fff; color: #000; display: grid; place-items: center; border: 3px solid var(--bg); }
.cfg-cam svg { width: 18px; height: 18px; }
.cfg-nome { font-family: var(--larg); font-variation-settings: "wdth" 110; font-weight: 800; font-size: 22px; }
.cfg-bloco { background: var(--sup); border: 1px solid var(--borda); border-radius: var(--raio); overflow: hidden; }
.cfg-campo { display: flex; align-items: center; gap: 12px; min-height: 54px; padding: 8px 16px; border-bottom: 1px solid var(--borda); cursor: text; }
.cfg-campo:last-child { border-bottom: 0; }
.cfg-campo[hidden] { display: none; }
.cfg-campo > span { flex: none; width: 96px; font-size: 13px; color: var(--fraco); }
.cfg-campo input, .cfg-campo textarea { flex: 1; min-width: 0; width: 100%; background: none; border: 0; outline: none; color: var(--txt); font: inherit; font-size: 16px; padding: 8px 0; resize: none; }
.cfg-campo input[type=date] { -webkit-appearance: none; appearance: none; text-align: left; min-height: 38px; }
.cfg-campo input[type=date]::-webkit-date-and-time-value { text-align: left; }
.cfg-campo textarea { line-height: 1.4; }
.cfg-campo input::placeholder, .cfg-campo textarea::placeholder { color: var(--fraco2); }
.cfg-nota { margin: 8px 4px 0; }
.cfg-sw { cursor: pointer; justify-content: space-between; }
.cfg-sw > span { width: auto; flex: 1; color: var(--txt); font-size: 15px; }
.cfg-sw input { position: absolute; opacity: 0; width: 0; height: 0; }
.sw { width: 46px; height: 28px; border-radius: 99px; background: var(--borda2); position: relative; flex: none; transition: background .2s; }
.sw::after { content: ""; position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; transition: transform .2s; }
.cfg-sw input:checked + .sw { background: #fff; }
.cfg-sw input:checked + .sw::after { transform: translateX(18px); background: #000; }
.cfg form .btn.bloco { margin-top: 16px; }
.cfg-campo textarea { min-height: 70px; padding-top: 12px; } .cfg-campo:has(textarea) { align-items: flex-start; } .cfg-campo:has(textarea) > span { padding-top: 12px; }

/* setores em cards */
.setores-grade { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.setor-card { display: flex; flex-direction: column; gap: 4px; padding: 14px; background: var(--sup); border: 1px solid var(--borda); border-radius: var(--raio); text-decoration: none; color: var(--txt); min-width: 0; }
.setor-card:active { background: var(--sup2); }
.setor-card.escalado { border-color: #ffffff66; }
.sc-topo { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 10px; }
.sc-ico { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: radial-gradient(120% 100% at 30% 0%, #2c2c31 0%, #151517 75%); border: 1px solid var(--borda2); color: #fff; flex: none; }
.sc-ico svg { width: 22px; height: 22px; }
.sc-ico.grande { width: 56px; height: 56px; border-radius: 16px; }
.sc-ico.grande svg { width: 26px; height: 26px; }
.sc-tag { font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fraco); border: 1px solid var(--borda2); border-radius: 99px; padding: 3px 8px; }
.setor-card b { font-size: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-sub { font-size: 12.5px; color: var(--fraco); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sc-prox { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--borda); font-size: 12px; color: var(--fraco2); }
.setor-card.escalado .sc-prox { color: #fff; font-weight: 600; }
.setor-cab { align-items: center !important; justify-content: flex-start !important; gap: 14px !important; }

/* central de conversas */
.fab[data-n]:not([data-n=""])::after { content: attr(data-n); position: absolute; top: -2px; right: -2px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 99px; background: #000; color: #fff; border: 2px solid #fff; font-size: 11px; font-weight: 800; display: grid; place-items: center; }
.chat-flut > .cab .avatar.mini { width: 34px; height: 34px; font-size: 12px; }
.cab-ico { width: 34px; height: 34px; border-radius: 10px; background: var(--sup2); border: 1px solid var(--borda2); display: grid; place-items: center; flex: none; }
.cab-ico svg { width: 18px; height: 18px; }
.cab-nome { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.conv-topo { padding: 12px; border-bottom: 1px solid var(--borda); }
.conv-lista { display: flex; flex-direction: column; }
.conv { display: flex; align-items: center; gap: 12px; padding: 12px 14px; background: none; border: 0; border-bottom: 1px solid var(--borda); color: var(--txt); font: inherit; text-align: left; cursor: pointer; width: 100%; }
.conv:active { background: var(--sup2); }
.conv-av .avatar { width: 48px; height: 48px; font-size: 15px; }
.conv-av .avatar svg { width: 20px; height: 20px; }
.conv-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.conv-txt b { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.conv-txt i { font-style: normal; font-size: 11.5px; color: var(--fraco2); flex: none; }
.conv-txt span { font-size: 13px; color: var(--fraco); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.conv-txt em { font-style: normal; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 99px; background: #fff; color: #000; font-size: 11px; font-weight: 800; display: grid; place-items: center; flex: none; }

/* setor: membros num botão de fotos empilhadas */
.mem-btn { position: relative; display: flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 99px; background: var(--sup2); border: 1px solid var(--borda2); color: var(--txt); font: inherit; cursor: pointer; flex: none; align-self: center; }
.mem-pilha { display: flex; }
.mem-pilha .avatar { width: 28px; height: 28px; font-size: 10px; border: 2px solid var(--sup2); margin-left: -8px; }
.mem-pilha .avatar:first-child { margin-left: 0; }
.mem-pilha > svg { width: 20px; height: 20px; margin: 4px; }
.mem-btn b { font-size: 14px; }
.mem-btn i { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 99px; background: #fff; color: #000; font-style: normal; font-size: 10.5px; font-weight: 800; display: grid; place-items: center; }
.esc-vazia { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; padding: 36px 16px; border: 1px dashed var(--borda2); border-radius: var(--raio); color: var(--fraco); }
.esc-vazia svg { width: 28px; height: 28px; margin-bottom: 4px; }
.esc-vazia b { color: var(--txt); font-size: 15px; }
.esc-vazia span { font-size: 13px; }

/* espaço da célula v3 */
.cel-esp .ce-img { position: relative; margin: -16px -16px 0; aspect-ratio: 16 / 9; max-height: 280px; overflow: hidden; background: #111; }
.cel-esp .ce-img > img { width: 100%; height: 100%; object-fit: cover; }
.cel-esp .ce-img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, #0000 50%, var(--bg) 100%); pointer-events: none; }
.cel-esp .ce-img.sem { aspect-ratio: auto; height: 64px; background: none; }
.cel-esp .ce-img.sem::after { display: none; }
.cel-esp .ce-img .slide-acoes { top: 12px; right: 12px; }
.cel-esp .ce-img.sem .slide-acoes { top: 14px; right: 16px; }
.cel-esp .ce-img.sem .bt-ico { background: var(--sup2); border: 1px solid var(--borda2); }
@media (min-width: 900px) { .cel-esp .ce-img { margin: 0; border-radius: 22px; } }
.ce-txt { position: relative; z-index: 1; margin-top: -26px; }
.ce-img.sem + .ce-txt { margin-top: -50px; padding-right: 140px; }
.ce-txt .titulo { margin-top: 6px; }
.cp-pessoa i { font-style: normal; font-size: 10px; color: var(--fraco2); margin-top: -4px; }
a.g-thumb { text-decoration: none; color: inherit; }

/* célula: capa grande de volta + informações minimalistas */
.esp-cab.ce-cab { aspect-ratio: 4 / 3.2; max-height: 340px; }
.esp-cab.ce-cab .slide-acoes { top: 14px; right: 14px; z-index: 3; }
.esp-cab.ce-cab .sem-foto img { width: 30%; max-width: 120px; opacity: .3; }
.esp-cab.ce-cab .sem-foto { place-items: center; }
.ce-info { display: flex; flex-direction: column; gap: 2px; margin: 14px 0 4px; }
.ce-info > div, .ce-info > a { display: flex; align-items: center; gap: 12px; padding: 9px 2px; color: var(--txt); text-decoration: none; font-size: 15px; border-bottom: 1px solid var(--borda); }
.ce-info > :last-child { border-bottom: 0; }
.ce-info svg { width: 18px; height: 18px; color: var(--fraco); flex: none; }
.ce-info span { flex: 1; min-width: 0; }
.ce-info i { font-style: normal; font-size: 12px; color: var(--fraco2); flex: 1; }
.ce-lider { color: var(--txt); text-decoration: none; font-weight: 600; }
.ce-info .ce-fim { margin-left: auto; color: var(--fraco); background: none; border: 0; padding: 0; cursor: pointer; display: grid; }

/* participação da célula */
.part-sem { display: flex; gap: 10px; overflow-x: auto; scrollbar-width: none; margin: 0 -16px; padding: 0 16px 4px; }
.part-sem::-webkit-scrollbar { display: none; }
.ps-card { flex: 0 0 auto; min-width: 168px; background: var(--sup); border: 1px solid var(--borda); border-radius: 16px; padding: 12px 14px; display: flex; flex-direction: column; gap: 8px; }
.ps-card b { font-size: 15px; }
.ps-av { display: flex; align-items: center; min-height: 28px; }
.ps-av .avatar { width: 28px; height: 28px; font-size: 10px; border: 2px solid var(--sup); margin-left: -8px; }
.ps-av .avatar:first-child { margin-left: 0; }
.ps-av .mais { margin-left: 6px; font-size: 12px; color: var(--fraco); }
.chat-aviso { text-align: center; font-size: 11px; color: var(--fraco2); padding: 6px 0 0; }
.esc-info li b { text-align: right; font-weight: 600; }

/* editor de escala */
.fn-linha { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 8px; }
.fn-linha .fn-sel, .fn-linha > .fn-funcao:first-child { flex: 1 1 38%; min-width: 0; }
.fn-linha .fn-pessoa { flex: 1.3 1 44%; min-width: 0; }
.fn-linha .fn-sel ~ .fn-funcao { order: 5; flex: 1 1 100%; }
.fn-linha .icone-btn { flex: none; }

/* aceite da escala */
.esc-info li b { display: inline-flex; align-items: center; gap: 6px; justify-content: flex-end; }
.st { font-style: normal; font-size: 10.5px; font-weight: 600; color: var(--fraco2); }
.st.ok { color: #fff; font-size: 13px; }
.st.no { color: var(--fraco); font-size: 12px; }
.esc-resp { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--borda); }
.esc-resp span { flex: 1 1 100%; font-size: 13px; font-weight: 600; }

/* sino de notificações */
.bt-sino { position: absolute; right: 50px; bottom: 0; height: 46px; width: 40px; display: grid; place-items: center; background: none; border: 0; color: #fff; cursor: pointer; }
.bt-sino svg { width: 21px; height: 21px; }
.bt-sino[data-n]:not([data-n=""])::after { content: attr(data-n); position: absolute; top: 7px; right: 4px; min-width: 15px; height: 15px; padding: 0 4px; border-radius: 99px; background: #fff; color: #000; font-size: 9.5px; font-weight: 800; display: grid; place-items: center; }
/* faixa no topo (estilo notificação do celular) */
.faixa-notif { position: fixed; left: 10px; right: 10px; top: calc(8px + env(safe-area-inset-top)); z-index: 80; display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-radius: 22px; background: #1c1c1fe8; border: 1px solid #ffffff1f; backdrop-filter: blur(20px) saturate(1.4); -webkit-backdrop-filter: blur(20px) saturate(1.4); box-shadow: 0 16px 40px #000c; color: var(--txt); font: inherit; text-align: left; cursor: pointer; transform: translateY(-140%); transition: transform .45s cubic-bezier(.2,.9,.2,1); }
.faixa-notif.ver { transform: none; }
@media (min-width: 600px) { .faixa-notif { left: auto; width: 380px; right: 16px; } }
.fn-ico { width: 38px; height: 38px; border-radius: 11px; background: #fff; color: #000; display: grid; place-items: center; flex: none; }
.fn-ico svg { width: 20px; height: 20px; }
.fn-txt { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.fn-txt .fn-app { font-size: 10.5px; letter-spacing: .06em; color: var(--fraco); }
.fn-txt b { font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fn-txt span { font-size: 13px; color: #d4d4d8; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
/* central de notificações (desce do topo) */
.painel-notif { position: fixed; inset: 0; z-index: 75; background: #0000; transition: background .25s; }
.painel-notif.ver { background: #000a; }
.pn-caixa { position: absolute; left: 0; right: 0; top: 0; max-height: 82dvh; overflow-y: auto; padding: calc(12px + env(safe-area-inset-top)) 12px 16px; background: #0d0d0ff2; backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); border-bottom: 1px solid var(--borda2); border-radius: 0 0 24px 24px; transform: translateY(-100%); transition: transform .3s cubic-bezier(.2,.9,.2,1); display: flex; flex-direction: column; gap: 8px; }
.painel-notif.ver .pn-caixa { transform: none; }
@media (min-width: 600px) { .pn-caixa { left: auto; width: 400px; right: 12px; top: 8px; border-radius: 24px; } }
.pn-cab { display: flex; align-items: center; justify-content: space-between; padding: 4px 4px 6px; }
.pn-cab b { font-family: var(--larg); font-variation-settings: "wdth" 110; font-weight: 800; font-size: 20px; }
.pn-item { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: 18px; background: var(--sup); border: 1px solid var(--borda); color: var(--txt); font: inherit; text-align: left; cursor: pointer; }
.pn-item.nova { border-color: #ffffff55; background: var(--sup2); }
.pn-item:not(.nova) .fn-ico { background: var(--sup2); color: #fff; border: 1px solid var(--borda2); }
.pn-vazio { padding: 28px 12px; text-align: center; color: var(--fraco); font-size: 14px; }

/* histórico de notificações, arrastar para apagar */
.pn-lista { display: flex; flex-direction: column; gap: 8px; }
.pn-linha { overflow: hidden; transition: height .25s ease, margin .25s ease, opacity .25s; }
.pn-linha.sai { height: 0 !important; opacity: 0; margin-top: -8px; }
.pn-item { width: 100%; touch-action: pan-y; transition: transform .25s ease, opacity .25s ease; user-select: none; }
.pn-hora { font-style: normal; font-size: 11px; color: var(--fraco2); flex: none; }
.pn-dica { text-align: center; font-size: 11px; color: var(--fraco2); margin: 4px 0 0; }

/* login centralizado */
.login-tela { max-width: 400px; margin: 0 auto; min-height: calc(100dvh - 190px - env(safe-area-inset-bottom)); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; padding: 10px 0; }
.login-simb { width: 64px; margin-bottom: 18px; opacity: .95; }
.login-tela > p { margin: 6px 0 24px; }
.login-form { width: 100%; text-align: left; }
.login-form .cfg-campo > span { width: 64px; }
.login-form .btn { margin-top: 14px; }
.login-nota { margin: 18px 8px 0; line-height: 1.5; }

/* pedir para ativar notificações */
.push-card { display: flex; align-items: center; gap: 12px; margin-top: 14px; flex-wrap: wrap; }
.push-card .fn-ico { flex: none; }
.push-acoes { display: flex; align-items: center; gap: 4px; }

/* relatório do encontro */
.rel-num { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--borda); }
.rel-num:last-child { border-bottom: 0; }
.rel-num b { display: block; font-size: 15px; }
.rel-num span { font-size: 12px; color: var(--fraco); }
.stepper { display: flex; align-items: center; border: 1px solid var(--borda2); border-radius: 99px; overflow: hidden; flex: none; }
.stepper button { width: 38px; height: 38px; background: var(--sup2); border: 0; color: #fff; font-size: 20px; cursor: pointer; }
.stepper input { width: 46px; text-align: center; background: none; border: 0; color: #fff; font: inherit; font-size: 16px; font-weight: 700; -moz-appearance: textfield; }
.stepper input::-webkit-outer-spin-button, .stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.rel-oferta { display: flex; align-items: center; gap: 6px; border: 1px solid var(--borda2); border-radius: 99px; padding: 0 14px; height: 40px; flex: none; }
.rel-oferta span { color: var(--fraco); font-size: 14px; }
.rel-oferta input { width: 76px; background: none; border: 0; color: #fff; font: inherit; font-size: 16px; font-weight: 700; outline: none; }
.rel-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.rel-chips span { font-size: 12px; color: var(--fraco); border: 1px solid var(--borda2); border-radius: 99px; padding: 4px 10px; }
.rel-chips b { color: #fff; }
.esc-info li b { white-space: normal; }

/* estrelas de frequência */
.estrelas { display: inline-flex; gap: 2px; align-items: center; }
.estrelas svg { width: 16px; height: 16px; fill: none; stroke: var(--fraco2); stroke-width: 1.6; stroke-linejoin: round; }
.estrelas svg.on { fill: #fff; stroke: #fff; }
.estrelas.mini svg { width: 11px; height: 11px; }
.cp-pessoa .estrelas { margin-top: -2px; }
.freq-bloco { display: flex; align-items: center; gap: 14px; margin-top: 16px; padding: 14px 16px; background: var(--sup); border: 1px solid var(--borda); border-radius: 16px; }
.freq-bloco .estrelas svg { width: 20px; height: 20px; }
.freq-bloco b { display: block; font-size: 15px; }
.freq-bloco span { font-size: 12px; color: var(--fraco); }
.perfil-acoes { gap: 6px; flex-wrap: wrap; justify-content: flex-end; min-width: 0; } .perfil-acoes .bt-ico { width: 38px; height: 38px; } .perfil-acoes .bt-ico svg { width: 18px; height: 18px; } .perfil-acoes .btn.mini { padding: 7px 12px; }

/* logo igual à original: o "D" é um bloco esticado com o CHURCH dentro, depois "OPAI" */
.marca { gap: 0; }
.marca .logo-d { display: inline-flex; align-items: center; height: .69em; padding: 0 .36em 0 .12em; margin: 0 .03em 0 .06em; transform: translateY(-.035em); background: #fff; border-radius: 0 99px 99px 0; }
.marca .logo-d .pill { font-size: .34em; line-height: 1; letter-spacing: .02em; padding: .2em .7em; margin: 0; border-radius: 99px; background: #fff; color: #000; box-shadow: 0 0 0 1.5px #000 inset; }
.marca .logo-d .pill::before { display: none; }
.marca { font-size: 15px; }
@media (min-width: 900px) { .marca { font-size: 17px; } }
