/* Visual das Perguntas Bíblicas (todas as classes começam com pb-) */

.pb-selo { display: inline-flex; align-items: center; gap: .35rem; margin: .6rem 0 0; padding: .28rem .75rem; border-radius: 999px; background: var(--dourado-suave); color: var(--dourado); font-size: .76rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.pb-sub { margin: 0 0 1rem; font-size: .9rem; color: var(--texto-2); }

/* ---------- Pergunta do dia ---------- */
.pb-dia { margin: .4rem 0 1.4rem; border-left: 5px solid var(--dourado); }
.pb-dia h2 { margin-top: 0; font-size: 1.05rem; }
.pb-dia-p { margin: 0 0 .7rem; font-family: var(--fonte-titulo); font-size: clamp(1.25rem, 5vw, 1.55rem); line-height: 1.3; font-weight: 700; }
.pb-dia .chips { margin-top: .8rem; flex-wrap: wrap; }

/* ---------- Gerador ---------- */
.pb-gerador { margin: 0 0 1.6rem; }
.pb-gerador h2 { display: flex; align-items: center; gap: .45rem; margin-top: 0; }
.pb-gerador h2 .ico { color: var(--dourado); }
.pb-campos { display: grid; gap: .7rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: .9rem; }
.pb-campos > * { min-width: 0; }
.pb-campos select { width: 100%; }
@media (max-width: 600px) { .pb-campos { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .pb-campos > :first-child { grid-column: 1 / -1; } }
.pb-gerado { margin-top: 1.2rem; scroll-margin-top: 80px; }
.pb-gerado[hidden] { display: none; }
.pb-gerado-info { margin: 0 0 .6rem; font-size: .9rem; font-weight: 600; color: var(--texto-2); }
.pb-gerado-acoes { flex-wrap: wrap; margin-bottom: 1rem; }

/* ---------- Barra da lista (categorias) ---------- */
.pb-tit-lista { margin-bottom: .6rem; }
.pb-barra { display: grid; gap: .6rem; margin: 0 0 1rem; }
.pb-busca { display: flex; align-items: center; gap: .4rem; position: relative; }
.pb-busca .ico { position: absolute; left: .8rem; width: 18px; height: 18px; color: var(--texto-2); pointer-events: none; }
.pb-busca input { width: 100%; padding-left: 2.4rem; }
.pb-barra .chips, .pb-gerado-acoes { display: flex; flex-wrap: wrap; gap: .4rem; }
.pb-barra .chip, .pb-gerado-acoes .chip, .pb-dia .chip { display: inline-flex; align-items: center; gap: .35rem; }
.pb-barra .ico, .pb-gerado-acoes .ico, .pb-dia .chip .ico { width: 18px; height: 18px; }

/* ---------- Lista de perguntas ---------- */
.pb-lista { list-style: none; counter-reset: pb; margin: 0 0 1.4rem; padding: 0; display: grid; gap: .55rem; }
.pb-item { counter-increment: pb; position: relative; padding: .85rem 1rem .85rem 3.1rem; border-radius: var(--raio-p); background: var(--superficie); border: 1px solid var(--borda); }
.pb-item[hidden] { display: none; }
.pb-item::before { content: counter(pb); position: absolute; left: .8rem; top: .8rem; display: grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--dourado-suave); color: var(--dourado); font-weight: 800; font-size: .82rem; }
.pb-p { margin: 0 0 .35rem; font-weight: 650; line-height: 1.4; padding-right: 3.6rem; }
.pb-pistas { margin: 0 0 .4rem; padding-left: 1.2rem; font-size: .95rem; }
.pb-pistas li { margin: .1rem 0; }
.pb-r summary { display: inline-block; cursor: pointer; color: var(--primaria); font-weight: 650; font-size: .9rem; list-style: none; padding: .15rem 0; }
.pb-r summary::-webkit-details-marker { display: none; }
.pb-r summary::before { content: '▸ '; }
.pb-r[open] summary::before { content: '▾ '; }
.pb-r > div { margin-top: .35rem; padding: .55rem .75rem; border-radius: 10px; background: var(--superficie-2); }
.pb-r > div p { margin: 0 0 .2rem; }
.pb-ref { font-size: .85rem; color: var(--texto-2); }
.pb-ref:empty { display: none; }
.pb-nivel { position: absolute; right: .8rem; top: .85rem; font-size: .68rem; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; padding: .12rem .45rem; border-radius: 999px; background: var(--superficie-2); color: var(--texto-2); }
.pb-n1 { color: var(--sucesso); }
.pb-n3 { color: var(--dourado); }
.pb-anuncio { list-style: none; }
.pb-anuncio[hidden] { display: none; }
.pb-nada { margin: 0 0 1rem; color: var(--texto-2); }
.pb-nada[hidden] { display: none; }
.pb-dia .pb-r summary { font-size: 1rem; }

/* ---------- Categorias ---------- */
.pb-cats { display: grid; gap: .55rem; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); margin-bottom: 1.6rem; }
.pb-cat { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: .65rem; align-items: center; padding: .75rem .9rem; border-radius: var(--raio-p); border: 1px solid var(--borda); background: var(--superficie); color: var(--texto); text-decoration: none; }
.pb-cat:hover { border-color: var(--dourado); }
.pb-cat span { grid-row: span 2; font-size: 1.5rem; line-height: 1; }
.pb-cat small { font-size: .78rem; color: var(--texto-2); }
.pb-quiz { padding: .8rem 1rem; border-radius: var(--raio-p); background: var(--dourado-suave); }

/* ---------- Modo apresentador ---------- */
.pb-palco { width: min(860px, calc(100vw - 1.5rem)); max-height: calc(100dvh - 1.5rem); padding: 0; border: 0; border-radius: var(--raio); background: var(--superficie); color: var(--texto); box-shadow: var(--sombra); overflow: auto; }
.pb-palco::backdrop { background: rgba(10, 25, 22, .72); }
.pb-palco[open] { display: flex; flex-direction: column; }
.pb-palco-topo { display: flex; align-items: center; gap: .6rem; padding: .7rem .9rem; border-bottom: 1px solid var(--borda); }
.pb-palco-topo > span { font-weight: 750; color: var(--texto-2); font-size: .9rem; white-space: nowrap; }
.pb-placar { display: flex; gap: .4rem; margin-left: auto; flex-wrap: wrap; justify-content: flex-end; }
.pb-equipe { display: inline-flex; align-items: center; gap: .4rem; border: 1.5px solid var(--borda); background: var(--superficie-2); color: var(--texto); border-radius: 999px; padding: .35rem .75rem; font: inherit; font-size: .85rem; font-weight: 650; cursor: pointer; }
.pb-equipe strong { min-width: 1.4rem; text-align: center; font-size: 1.05rem; color: var(--primaria); }
.pb-fechar { display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--superficie-2); color: var(--texto); cursor: pointer; }
.pb-palco-corpo { flex: 1; padding: 1.4rem 1.2rem; text-align: center; }
.pb-palco-nivel { margin: 0 0 .5rem; font-size: .8rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; color: var(--dourado); }
.pb-palco-p { margin: 0 auto .8rem; max-width: 32ch; font-family: var(--fonte-titulo); font-size: clamp(1.5rem, 5.5vw, 2.4rem); line-height: 1.25; font-weight: 700; }
.pb-palco-pistas { display: inline-block; margin: 0 0 1rem; padding-left: 1.4rem; text-align: left; font-size: clamp(1.05rem, 3.5vw, 1.35rem); }
.pb-palco-pistas[hidden], .pb-palco-r[hidden] { display: none; }
.pb-palco-r { margin: 0 auto; max-width: 40ch; padding: .9rem 1rem; border-radius: var(--raio-p); background: var(--dourado-suave); font-size: clamp(1.05rem, 3.5vw, 1.3rem); }
.pb-palco-r p { margin: 0 0 .25rem; }
.pb-palco-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; padding: .8rem .9rem; border-top: 1px solid var(--borda); }
.pb-palco-dica { margin: 0; padding: 0 .9rem .8rem; text-align: center; font-size: .78rem; color: var(--texto-2); }
.pb-zerar { border: 0; background: none; color: var(--primaria); font: inherit; font-weight: 650; text-decoration: underline; cursor: pointer; padding: 0 .2rem; }
@media (max-width: 520px) {
  .pb-palco-acoes .btn { flex: 1 1 calc(50% - .45rem); justify-content: center; }
  .pb-palco-topo { flex-wrap: wrap; }
  .pb-placar { order: 3; width: 100%; justify-content: center; margin: 0; }
  .pb-fechar { margin-left: auto; }
}

/* ---------- Folha para imprimir ---------- */
.pb-impressao[hidden] { display: none; }
@media print {
  .topo, .barra-app, .rodape, .trilha, .anuncio, .outras, .faixa-instalar, .nao-imprimir { display: none !important; }
  .pb-r > div { display: block; }
  body.pb-imprimindo .principal > *:not(#pb-impressao) { display: none !important; }
  body.pb-imprimindo #pb-impressao { display: block !important; color: #000; font-size: 12pt; }
  .pb-imp-tit { font-size: 18pt; margin: 0 0 8pt; }
  .pb-imp-nome { margin: 0 0 12pt; }
  .pb-imp-lista { padding-left: 2em; }
  .pb-imp-lista li { margin: 0 0 9pt; break-inside: avoid; }
  .pb-imp-lista p { margin: 0 0 2pt; }
  .pb-imp-linha { height: 22pt; border-bottom: 1px solid #999; }
  .pb-imp-gabarito { break-before: page; font-size: 10pt; }
  .pb-imp-gabarito ol { columns: 2; column-gap: 24pt; }
  .pb-cartoes { display: grid; grid-template-columns: 1fr 1fr; gap: 0; }
  .pb-cartao-imp { position: relative; min-height: 5.4cm; padding: 10pt 12pt; border: 1px dashed #888; break-inside: avoid; display: flex; flex-direction: column; }
  .pb-ci-num { position: absolute; top: 6pt; right: 9pt; margin: 0; font-size: 9pt; color: #777; }
  .pb-ci-p { margin: 0 0 8pt; font-weight: 700; font-size: 12.5pt; }
  .pb-ci-r { margin: auto 0 0; padding-top: 6pt; border-top: 1px dotted #aaa; font-size: 9.5pt; }
  .pb-ci-r span { font-weight: 700; }
  .pb-imp-rodape { margin-top: 12pt; font-size: 8pt; color: #666; }
}
