/* =====================================================================
   PB CONECTADA — Fase 2: Podcast, TV, galerias, especiais, Eleições PB
   (carregado junto com site.css; separado para facilitar manutenção)
   ===================================================================== */
.podcast-hero { background: radial-gradient(circle at 15% 20%, #3A1210, #121316 60%); color: #F3F1EC; padding: 42px 0 36px; }
.podcast-hero h1 { font: 800 clamp(34px, 6vw, 60px)/1 var(--fonte-titulo); font-stretch: 80%; margin: 8px 0 10px; text-transform: uppercase; }
.podcast-hero p { max-width: 640px; margin: 0; color: rgba(243, 241, 236, .8); font-size: 17px; }
.tv-hero { background: radial-gradient(circle at 85% 10%, #4A0F0B, #0B0C0E 60%); }
.chip-escuro { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.2); color: #fff; }
.chip-escuro:hover, .chip-escuro[aria-current="page"] { background: #fff; color: #A30000; border-color: #fff; }
.chip-escuro .ico-rede { width: 16px; height: 16px; }
.lista-episodios { display: grid; gap: 18px; }
.episodio { display: grid; grid-template-columns: 96px 1fr; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--linha); }
@media (min-width: 768px) { .episodio { grid-template-columns: 160px 1fr; gap: 22px; } }
.episodio-capa { display: grid; place-items: center; aspect-ratio: 1; border-radius: var(--raio); overflow: hidden; background: linear-gradient(135deg, #D10808, #6E0000); color: #fff; }
.episodio-capa img { width: 100%; height: 100%; object-fit: cover; }
.episodio-capa .ico { width: 40px; height: 40px; }
.episodio-capa.grande { width: 200px; flex: none; }
/* Episódios em vídeo (YouTube): capa 16:9 */
.episodio-video { grid-template-columns: 140px 1fr; }
.episodio-video .episodio-capa { aspect-ratio: 16 / 9; }
@media (min-width: 768px) { .episodio-video { grid-template-columns: 260px 1fr; } }
.episodio-topo { display: flex; gap: 24px; align-items: flex-end; flex-wrap: wrap; margin-top: 14px; }
.btn-ouvir { margin-top: 10px; min-height: 38px; font-size: 14px; }
.transcricao { margin-top: 24px; border-top: 1px solid var(--linha); padding-top: 14px; }
.transcricao summary { cursor: pointer; font-weight: 800; color: var(--brand); }
.player-titulo { font-weight: 700; font-size: 14px; max-width: 34%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.video-card .midia { position: relative; }
.video-card.vertical .midia { aspect-ratio: 9 / 12; }
.video-selo { position: absolute; right: 10px; bottom: 10px; width: 42px; height: 42px; border-radius: 50%; background: rgba(209, 8, 8, .92); color: #fff; display: grid; place-items: center; }
.video-selo .ico { width: 18px; height: 18px; margin-left: 2px; }
.video-fachada.vertical { aspect-ratio: 9 / 16; max-width: 420px; margin: 0 auto; }
.contador-fotos { position: absolute; left: 10px; bottom: 10px; display: inline-flex; gap: 6px; align-items: center; background: rgba(0,0,0,.7); color: #fff; padding: 4px 9px; border-radius: 999px; font-size: 13px; font-weight: 700; }
.galeria-mosaico { columns: 2 220px; column-gap: 14px; margin-bottom: 40px; }
.galeria-mosaico figure { break-inside: avoid; margin: 0 0 14px; }
.galeria-mosaico button { display: block; width: 100%; padding: 0; border: 0; border-radius: var(--raio-sm); overflow: hidden; cursor: zoom-in; background: var(--fundo-2); }
.galeria-mosaico img { width: 100%; height: auto; transition: transform .4s; }
.galeria-mosaico button:hover img { transform: scale(1.03); }
.galeria-mosaico figcaption { font-size: 13px; color: var(--mudo); margin-top: 6px; }
.lightbox { position: fixed; inset: 0; z-index: 800; background: rgba(5,5,7,.96); display: grid; grid-template-columns: 56px 1fr 56px; align-items: center; }
.lightbox figure { margin: 0; display: grid; justify-items: center; gap: 10px; padding: 16px 0; max-height: 100vh; }
.lightbox img { max-width: 100%; max-height: 82vh; object-fit: contain; touch-action: pan-y; }
.lightbox figcaption { color: #ddd; font-size: 14px; text-align: center; max-width: 900px; padding: 0 10px; }
.lb-pos { display: block; color: #999; font-size: 12px; margin-top: 4px; }
.lb-nav { height: 64px; border: 0; background: rgba(255,255,255,.08); color: #fff; font-size: 34px; border-radius: 8px; margin: 0 6px; }
.lb-fechar { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: rgba(255,255,255,.12); color: #fff; display: grid; place-items: center; z-index: 2; }
.especial-capa { position: relative; min-height: 320px; display: flex; align-items: flex-end; background: var(--masthead); color: #fff; overflow: hidden; border-bottom: 6px solid var(--cor-especial); }
.especial-fundo { position: absolute; inset: 0; }
.especial-fundo img { width: 100%; height: 100%; object-fit: cover; opacity: .55; }
.especial-capa::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.85), transparent 70%); }
.especial-texto { position: relative; z-index: 1; padding-top: 60px; padding-bottom: 32px; }
.especial-texto h1 { font: 800 clamp(34px, 6.5vw, 72px)/1 var(--fonte-titulo); font-stretch: 78%; margin: 12px 0 8px; text-transform: uppercase; }
.especial-sub { font: 400 clamp(17px, 2.2vw, 22px)/1.4 var(--fonte-leitura); margin: 0; max-width: 760px; opacity: .9; }

/* Eleições PB — identidade própria */
.eleicoes-capa { background: linear-gradient(120deg, #1B0B38 0%, #3A1474 55%, #6B2BB5 100%); color: #fff; padding: 34px 0 28px; }
.eleicoes-marca { font: 800 15px/1 var(--fonte-titulo); letter-spacing: .3em; background: #fff; color: #3A1474; padding: 7px 12px; border-radius: 4px; display: inline-block; }
.eleicoes-marca b { color: #D10808; }
.eleicoes-capa h1 { font: 800 clamp(28px, 5vw, 50px)/1.05 var(--fonte-titulo); font-stretch: 82%; margin: 14px 0 16px; }
.apuracao { background: rgba(255,255,255,.08); border-radius: 12px; padding: 14px 16px; max-width: 720px; }
.apuracao-topo { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.apuracao .meta { color: rgba(255,255,255,.75); }
.barra-apuracao { height: 10px; background: rgba(255,255,255,.18); border-radius: 5px; overflow: hidden; margin: 10px 0 4px; }
.barra-apuracao span { display: block; height: 100%; background: linear-gradient(90deg, #FFD54A, #FF9F1C); transition: width .8s ease; }
.candidatos { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.candidato { display: grid; grid-template-columns: 56px 1fr auto; gap: 14px; align-items: center; padding: 12px; border: 1px solid var(--linha); border-radius: var(--raio); background: var(--superficie); transition: box-shadow .3s; }
.candidato.eleito { border-color: #0A8F4E; box-shadow: 0 0 0 2px rgba(10,143,78,.25); }
.cand-foto { width: 56px; height: 56px; border-radius: 50%; overflow: hidden; background: var(--cor-cand); color: #fff; display: grid; place-items: center; font: 800 22px var(--fonte-titulo); }
.cand-foto img { width: 100%; height: 100%; object-fit: cover; }
.cand-nome { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; font-size: 16px; }
.cand-barra { height: 9px; border-radius: 5px; background: var(--fundo-2); overflow: hidden; margin-top: 7px; }
.cand-barra span { display: block; height: 100%; background: var(--cor-cand, #6B2BB5); border-radius: 5px; transition: width .8s ease; }
.cand-numeros { text-align: right; display: grid; }
.cand-numeros strong { font: 800 22px var(--fonte-titulo); }
.selo-eleito { background: #0A8F4E; color: #fff; }
.pesquisa { border: 1px solid var(--linha); border-radius: var(--raio); padding: 14px 16px; }
.pesquisa header { margin-bottom: 10px; }
.pesquisa-linha { display: grid; grid-template-columns: minmax(90px, 32%) 1fr 54px; gap: 10px; align-items: center; font-size: 14px; padding: 4px 0; }
.pesquisa-linha .cand-barra { margin: 0; }
.pesquisa-linha .cand-barra span { background: #6B2BB5; }
.legenda-mapa { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 10px; font-size: 13px; }
.legenda-mapa i { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.grade-2 { grid-template-columns: 1fr; }
@media (min-width: 768px) { .grade-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.mapa-pb path.lider { fill: var(--cor-lider); }

/* Personalização e notificações */
.para-voce-aviso { font-size: 12.5px; color: var(--mudo); margin: -8px 0 14px; }
.push-caixa { position: fixed; left: 12px; right: 12px; bottom: 76px; z-index: 450; max-width: 420px; margin: 0 auto; background: var(--superficie); border: 1px solid var(--linha-forte); border-radius: 14px; box-shadow: var(--sombra-forte); padding: 16px 18px; font-size: 14px; }
@media (min-width: 992px) { .push-caixa { left: auto; right: 24px; bottom: 24px; } }
.push-caixa h2 { font-size: 16px; margin: 0 0 6px; }
.push-topicos { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 10px; margin: 10px 0; }
.push-topicos label { display: flex; gap: 8px; align-items: center; }
.busca-ia { background: linear-gradient(120deg, #F6F2FF, var(--fundo-2)); border: 1px solid #DCCFFF; border-radius: var(--raio); padding: 12px 16px; margin-bottom: 18px; font-size: 14.5px; }
:root[data-tema="escuro"] .busca-ia { background: var(--fundo-2); border-color: #3D2E6B; }

/* Sem legenda, o crédito não leva o separador "· ". */
.lightbox [data-lb-legenda]:empty + .credito::before { content: none; }
