/* ============================================================
   MÓDULOS DA HOME + PÁGINA DE PROGRAMAÇÃO — componentes editoriais
   Carregado depois de sistema.css.

   - Cores e fontes do painel: --primary, --sobre-primaria, --titulos,
     --text-primary, --text-secondary, --font-titulo, --font-texto.
   - Escala editorial compartilhada com sistema.css no acabamento moderno.
     Hierarquia por tamanho, peso e espaço. Sem maiúsculas forçadas.
   - Listas agrupadas (bloco arredondado, separador recuado), cartões
     com canto de 16px, botões em cápsula de 44px.
   - Números reais continuam virando faixas (andamento, curtidas, votos).
   ============================================================ */

:root {
    --mod-titulo: var(--font-titulo, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif);
    --mod-texto: var(--font-texto, -apple-system, BlinkMacSystemFont, 'Helvetica Neue', Arial, sans-serif);

    --t-large: 34px;   /* título de página */
    --t-title2: 22px;  /* título de seção */
    --t-title3: 20px;
    --t-head: 17px;    /* título de item (seminegrito) */
    --t-body: 15px;    /* texto */
    --t-foot: 13px;    /* datas, detalhes */

    --superficie: color-mix(in srgb, var(--text-primary) 7%, transparent);
    --superficie-hover: color-mix(in srgb, var(--text-primary) 11%, transparent);
    --separador: color-mix(in srgb, var(--text-primary) 12%, transparent);
    --trilho: color-mix(in srgb, var(--text-primary) 16%, transparent);
    --tinta-primaria: color-mix(in srgb, var(--primary) 14%, transparent);
    --nivel-cor: color-mix(in srgb, var(--primary) 18%, transparent);
    --sobre: var(--sobre-primaria, #fff);
    --luz-no-ar: #ff453a;

    --r-card: 16px;
    --r-grupo: 12px;
    --r-mini: 8px;
    --ease: cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* ── Base ───────────────────────────────────────────────────── */
:is(.home-mod, .ev-mod) {
    font-family: var(--mod-texto);
    font-size: var(--t-body);
}

/* Cartões: cantos configuráveis, superfície sólida, sem sombra */
:is(.home-mod, .ev-mod) :is(.postagensbox-card, .card, .pod-card, .album-card, .news-card, .globe-card) {
    background: var(--superficie) !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: var(--r-card) !important;
    overflow: hidden;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    transition: background-color 200ms var(--ease);
}
:is(.home-mod, .ev-mod) :is(.postagensbox-card, .card, .pod-card, .album-card, .news-card):hover {
    background: var(--superficie-hover) !important;
    transform: none !important;
}
:is(.home-mod, .ev-mod) :is(.postagensbox-card, .card, .pod-card, .album-card, .news-card):active { transform: none !important; }
:is(.home-mod, .ev-mod) :is(.postagensbox-img-wrap, .pod-thumb, .embed-responsive, .card-img-top) { border-radius: 0 !important; }
:is(.home-mod, .ev-mod) .mch-destaque { border-radius: var(--r-card) !important; overflow: hidden; }

/* ── Título de seção ────────────────────────────────────────── */
:is(.home-mod, .ev-mod) .secao-cab {
    border: 0;
    padding: 0;
    margin: 0 0 var(--esp-3, 12px);
    align-items: baseline;
}
:is(.home-mod, .ev-mod) .secao-cab::before,
:is(.home-mod, .ev-mod) .secao-cab::after { display: none; }
:is(.home-mod, .ev-mod) .secao-titulo,
.col-md-5 :is(.home-mod, .ev-mod) .secao-titulo,
.col-lg-4 :is(.home-mod, .ev-mod) .secao-titulo {
    font-family: var(--mod-titulo);
    font-size: var(--t-title2);
    font-weight: 700;
    text-transform: none;
    letter-spacing: -0.01em;
    line-height: 1.2;
    color: var(--titulos, var(--text-primary)) !important;
}
:is(.home-mod, .ev-mod) .secao-sub { display: none; }
:is(.home-mod, .ev-mod) .secao-link {
    font-size: var(--t-body);
    font-weight: 400;
    color: var(--primary-texto, var(--primary)) !important;
}
:is(.home-mod, .ev-mod) .secao-link:hover { color: var(--primary-texto, var(--primary)) !important; opacity: .75; }

/* ── Botões: cantos configuráveis, mínimo de 44px ─────────────── */
:is(.home-mod, .ev-mod) :is(.btn-votar, .btn-enviar-recado, .btn-entrar, .btn-parcial, .btn-voltar, .pod-tab) {
    border: 0 !important;
    border-radius: var(--r-grupo) !important;
    box-shadow: none !important;
    min-height: 44px;
    padding: 10px 20px !important;
    font-family: var(--mod-texto);
    font-size: var(--t-body) !important;
    font-weight: 600 !important;
    transition: opacity 200ms var(--ease);
}
:is(.home-mod, .ev-mod) :is(.btn-votar, .btn-enviar-recado, .btn-entrar, .pod-tab.active) {
    background: var(--primary) !important;
    color: var(--sobre) !important;
}
:is(.home-mod, .ev-mod) :is(.btn-parcial, .btn-voltar, .pod-tab:not(.active)) {
    background: var(--tinta-primaria) !important;
    color: var(--primary-texto, var(--primary)) !important;
}
:is(.home-mod, .ev-mod) :is(.btn-votar, .btn-enviar-recado, .btn-entrar, .btn-parcial, .btn-voltar, .pod-tab):hover { opacity: .85; filter: none; transform: none; }
:is(.home-mod, .ev-mod) :is(.btn-votar, .btn-enviar-recado, .btn-entrar, .btn-parcial, .btn-voltar, .pod-tab):active { transform: none; }
:is(.home-mod, .ev-mod) .form-control {
    min-height: 44px;
    border-radius: var(--r-grupo) !important;
    border: 0 !important;
    background: var(--superficie) !important;
    color: var(--text-primary) !important;
    font-size: var(--t-body);
}
:is(.home-mod, .ev-mod) .form-control:focus { box-shadow: 0 0 0 4px var(--tinta-primaria) !important; }

/* ── Menos ruído ────────────────────────────────────────────── */
:is(.home-mod, .ev-mod) :is(.postagensbox-badge, .mch-pilula, .pod-type-badge) { display: none !important; }
:is(.home-mod, .ev-mod) :is(.postagensbox-data, .video-meta, .pod-meta, .album-stats, .mch-tempo) i { display: none; }

/* Texto dos itens: 17 seminegrito / 15 / 13 */
:is(.home-mod, .ev-mod) :is(.postagensbox-titulo, .card-title, .pod-body h3, .album-info h3, .mch-item h4) {
    font-family: var(--mod-titulo) !important;
    font-size: var(--t-head) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.01em !important;
    text-transform: none !important;
    color: var(--titulos, var(--text-primary)) !important;
}
:is(.home-mod, .ev-mod) :is(.postagensbox-resumo, .card-text, .recado-mensagem) {
    font-size: var(--t-body) !important;
    line-height: 1.6 !important;
    color: var(--text-secondary) !important;
}
:is(.home-mod, .ev-mod) :is(.postagensbox-data, .video-meta, .pod-meta, .album-stats, .mch-tempo, .recado-data, .umt-artist, .umt-time, .mch-cat) {
    font-size: var(--t-foot) !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    color: var(--text-secondary) !important;
}
:is(.home-mod, .ev-mod) .mch-cat { color: var(--primary-texto, var(--primary)) !important; }

/* Manchete principal: Title 1 (28px), sem sombra no texto */
:is(.home-mod, .ev-mod) .mch-destaque h3 {
    font-family: var(--mod-titulo) !important;
    font-size: clamp(22px, 1rem + 1vw, 28px) !important;
    font-weight: 700 !important;
    text-transform: none !important;
    letter-spacing: -0.015em !important;
    line-height: 1.2 !important;
    text-shadow: none !important;
}

/* ── Grades ─────────────────────────────────────────────────── */
:is(.home-mod, .ev-mod) .postagensbox-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: var(--esp-4, 16px) !important;
}
:is(.home-mod, .ev-mod) :is(.pod-grid, .albums-grid) {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)) !important;
    gap: var(--esp-4, 16px) !important;
}
@container modulo (max-width: 600px) {
    :is(.home-mod, .ev-mod) .postagensbox-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: var(--esp-3, 12px) !important; }
}
@container modulo (max-width: 340px) {
    :is(.home-mod, .ev-mod) .postagensbox-grid { grid-template-columns: minmax(0, 1fr) !important; }
}

/* ── Listas agrupadas (estilo Ajustes do iPhone) ────────────────
   Um bloco arredondado; cada linha separada por um fio recuado. */
:is(.home-mod, .ev-mod) :is(.recados-lista, .umt-list, .enquete-opcoes, .resultados-lista) {
    display: flex !important;
    flex-direction: column;
    gap: 0 !important;
    background: var(--superficie);
    border-radius: var(--r-grupo);
    overflow: hidden;
}
:is(.home-mod, .ev-mod) :is(.recado-item, .umt-item, .enquete-opcao, .resultado-item) {
    position: relative;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    min-height: 44px;
    transition: background-color 200ms var(--ease);
}
:is(.home-mod, .ev-mod) :is(.recado-item, .umt-item, .enquete-opcao, .resultado-item) + :is(.recado-item, .umt-item, .enquete-opcao, .resultado-item)::after {
    content: '';
    position: absolute;
    top: 0;
    left: var(--recuo, 16px);
    right: 0;
    height: 1px;
    background: var(--separador);
}
:is(.home-mod, .ev-mod) :is(.umt-item, .enquete-opcao):hover { background: var(--superficie) !important; transform: none !important; }
:is(.home-mod, .ev-mod) .recado-item { padding: 12px 16px !important; --recuo: 64px; }
:is(.home-mod, .ev-mod) .umt-item { padding: 10px 16px !important; }
:is(.home-mod, .ev-mod) .recado-header-item strong,
:is(.home-mod, .ev-mod) .recado-header-item .recado-nome { font-size: var(--t-body); font-weight: 600; }
:is(.home-mod, .ev-mod) .globe-card { padding: var(--esp-4, 16px) !important; }

/* ── Locutor no Ar: cartão "Tocando agora" ──────────────────── */
.noar-painel {
    background: var(--superficie);
    border-radius: var(--r-card);
    padding: var(--esp-4, 16px);
    color: var(--text-primary);
}
.noar-cab {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
}
.noar-foto {
    width: 64px;
    height: 64px;
    object-fit: cover;
    display: block;
    border-radius: var(--r-grupo);
    background: var(--superficie);
}
.noar-txt { min-width: 0; }
.noar-status {
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 2px;
    font-size: var(--t-foot);
    font-weight: 600;
    color: var(--luz-no-ar);
}
.noar-luz {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--luz-no-ar);
    flex-shrink: 0;
    animation: noar-luz 1.6s ease-in-out infinite;
}
@keyframes noar-luz { 50% { opacity: .35; } }
.noar-programa {
    font-family: var(--mod-texto);
    font-size: var(--t-head);
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: -0.01em;
    text-transform: none;
    color: var(--titulos, var(--text-primary)) !important;
    margin: 0;
    overflow-wrap: normal;
    word-break: normal;
}
.noar-locutor {
    margin: 2px 0 0;
    font-size: var(--t-body);
    color: var(--text-secondary);
}
.noar-tempo { margin-top: var(--esp-4, 16px); }
.noar-trilho {
    height: 4px;
    border-radius: 9999px;
    background: var(--trilho);
    overflow: hidden;
}
.noar-nivel {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--primary);
    transition: width 1s linear;
}
.noar-horas {
    display: flex;
    justify-content: space-between;
    gap: var(--esp-3, 12px);
    margin-top: 6px;
    font-size: var(--t-foot);
    color: var(--text-secondary);
    font-variant-numeric: tabular-nums;
}
.noar-resta { text-align: center; }

.noar-vazio .noar-status { color: var(--text-secondary); }
.noar-vazio .noar-luz { background: var(--text-secondary); animation: none; }
.noar-vazio .noar-locutor { margin: 0; }

@container modulo (min-width: 560px) {
    .noar-cab { grid-template-columns: 88px minmax(0, 1fr); gap: var(--esp-4, 16px); }
    .noar-foto { width: 88px; height: 88px; border-radius: var(--r-card); }
    .noar-programa { font-size: var(--t-title3); }
}

/* ── Ao vivo (noar.php) ─────────────────────────────────────────
   Foto redonda dentro de um anel que enche conforme o programa
   avança (--pct, 0–100, atualizado pelo script), bloco "No ar" na
   cor principal e a lista "A seguir". */
.aovivo {
    display: grid;
    gap: var(--esp-5, 20px);
    align-items: center;
}
.aovivo-palco { display: flex; justify-content: center; }
.aovivo-anel {
    --pct: 0;
    width: min(240px, 72%);
    aspect-ratio: 1;
    padding: 8px;
    border-radius: 50%;
    background: conic-gradient(var(--primary) calc(var(--pct) * 1%), var(--trilho) 0);
    transition: background .6s var(--ease);
}
.aovivo-foto {
    width: 100%;
    height: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    display: block;
    border-radius: 50%;
    border: 6px solid var(--conteudo, var(--bg));
    background: var(--superficie);
}
.aovivo-info { display: flex; flex-direction: column; gap: var(--esp-3, 12px); min-width: 0; }
.aovivo-noar {
    background: var(--primary);
    color: var(--sobre);
    border-radius: var(--r-card);
    padding: var(--esp-4, 16px) var(--esp-5, 20px);
}
.aovivo-tag {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 8px;
    font-size: var(--t-foot);
    margin-bottom: 6px;
}
.aovivo-tag strong { font-weight: 700; letter-spacing: .02em; }
.aovivo-tag span:not(.aovivo-luz) { opacity: .85; }
.aovivo-luz {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--sobre);
    animation: noar-luz 1.6s ease-in-out infinite;
}
.aovivo-programa {
    font-family: var(--mod-titulo);
    font-size: var(--t-title3);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--sobre) !important;
    margin: 0;
}
.aovivo-locutor { margin: 2px 0 0; font-size: var(--t-body); opacity: .9; }
.aovivo-resta { margin: 8px 0 0; font-size: var(--t-foot); font-weight: 600; }
.aovivo-resta:empty { display: none; }
.aovivo-vazio .aovivo-noar { background: var(--superficie); color: var(--text-primary); }
.aovivo-vazio .aovivo-programa { color: var(--titulos, var(--text-primary)) !important; }

.aovivo-seguir { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.aovivo-seguir li {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: baseline;
    gap: 12px;
    padding: 10px var(--esp-4, 16px);
    background: var(--superficie);
    border-radius: var(--r-grupo);
}
.aovivo-hora { font-size: var(--t-body); font-weight: 700; color: var(--primary-texto, var(--primary)); font-variant-numeric: tabular-nums; }
.aovivo-prox { font-size: var(--t-body); font-weight: 600; color: var(--titulos, var(--text-primary)); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.aovivo-quem { font-size: var(--t-foot); color: var(--text-secondary); white-space: nowrap; }

/* Coluna larga: foto ao lado, como um palco */
@container modulo (min-width: 600px) {
    .aovivo:not(.aovivo-vazio) { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--esp-6, 32px); }
    .aovivo-anel { width: 100%; max-width: 300px; padding: 10px; }
    .aovivo-programa { font-size: var(--t-title2); }
}

/* ── Top Vídeos: lançamento em destaque ─────────────────────── */
:is(.home-mod, .ev-mod) .tv-destaque .card-body,
:is(.home-mod, .ev-mod) .tv-destaque .video-play-overlay { display: none !important; }
:is(.home-mod, .ev-mod) .tv-destaque .video-thumbnail { position: relative; }
:is(.home-mod, .ev-mod) .tv-destaque img { transition: transform .6s var(--ease); }
:is(.home-mod, .ev-mod) .tv-destaque:hover img { transform: scale(1.03); }
.tv-destaque-txt {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 48px var(--esp-5, 24px) var(--esp-5, 24px);
    background: var(--destaque-fundo, linear-gradient(to top, rgba(0, 0, 0, .78), rgba(0, 0, 0, 0)));
    color: var(--destaque-texto, #fff);
}
.tv-destaque-cat { font-size: var(--t-foot); font-weight: 600; opacity: .85; }
.tv-destaque-titulo {
    margin: 0;
    font-family: var(--mod-titulo);
    font-size: clamp(18px, .9rem + .8vw, 24px);
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
    max-width: 30ch;
    color: var(--destaque-titulo, #fff);
}
.tv-destaque-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 18px;
    margin-top: 4px;
    border-radius: 9999px;
    background: var(--primary);
    color: var(--sobre);
    font-size: var(--t-body);
    font-weight: 600;
    transition: transform 100ms var(--ease), opacity 200ms var(--ease);
}
.tv-destaque:hover .tv-destaque-btn { opacity: .9; }
.tv-destaque:active .tv-destaque-btn { transform: scale(.97); }
:is(.home-mod, .ev-mod) .tv-com-destaque .card-text { display: none; }
:is(.home-mod, .ev-mod) .tv-faixa .card-body { padding: 12px 14px 14px !important; }
:is(.home-mod, .ev-mod) .tv-faixa .card-title { font-size: var(--t-body) !important; }
/* No celular: destaque na largura toda e os outros em 2 colunas (sem faixa que desliza) */
@media (max-width: 575px) {
    .news-music-section .tv-faixa.tv-com-destaque { flex-wrap: wrap; overflow: visible; }
    .news-music-section .tv-faixa.tv-com-destaque > [class*="col-"] { flex: 0 0 50%; max-width: 50%; margin-bottom: var(--esp-3, 12px) !important; }
    .news-music-section .tv-faixa.tv-com-destaque > .tv-destaque-col { flex: 0 0 100%; max-width: 100%; }
    :is(.home-mod, .ev-mod) .tv-destaque .video-thumbnail { padding-bottom: 100% !important; }
    :is(.home-mod, .ev-mod) .tv-destaque .video-thumbnail img { object-fit: cover; height: 100%; }
    .tv-destaque-txt { padding: 40px var(--esp-4, 16px) var(--esp-4, 16px); }
}
.tv-destaque-titulo {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Top Músicas: nº 1 em destaque + lista ──────────────────────
   O 1º lugar é um bloco na cor principal com capa grande, "Nº 1 da
   semana" e o botão Tocar; do 2º ao 5º, lista agrupada compacta.
   Clicar em qualquer parte de um item toca a música (topmusica.php). */
:is(.home-mod, .ev-mod) .top-musicas-container {
    display: flex !important;
    flex-direction: column;
    gap: 8px !important;
    background: transparent;
}
:is(.home-mod, .ev-mod) .top-musicas-container .musica-item {
    position: relative;
    display: grid !important;
    align-items: center;
    margin: 0 !important;
    border: 0 !important;
    min-width: 0;
    cursor: pointer;
    transition: background-color 200ms var(--ease);
}
:is(.home-mod, .ev-mod) .top-musicas-container .musica-item::before { display: none !important; }
:is(.home-mod, .ev-mod) .top-musicas-container .musica-info { padding: 0 !important; min-width: 0; gap: 0; }
:is(.home-mod, .ev-mod) .top-musicas-container .musica-info h4 {
    font-family: var(--mod-texto);
    font-weight: 600;
    line-height: 1.25;
    text-transform: none;
    letter-spacing: -0.005em;
    -webkit-line-clamp: 1;
}
:is(.home-mod, .ev-mod) .top-musicas-container .musica-info p { font-size: var(--t-foot) !important; }
:is(.home-mod, .ev-mod) .top-musicas-container .yt-badge { display: none; }
:is(.home-mod, .ev-mod) .top-musicas-container .btn-curtir {
    padding: 6px 8px;
    min-height: 36px;
    border-radius: 9999px;
    font-size: var(--t-foot);
}
:is(.home-mod, .ev-mod) .top-musicas-container .curtidas-count { font-size: var(--t-foot); }

/* Nº 1 */
:is(.home-mod, .ev-mod) .top-musicas-container .tm-destaque {
    grid-template-columns: minmax(96px, 150px) minmax(0, 1fr);
    grid-template-areas: "capa info" "capa acoes";
    column-gap: 16px;
    row-gap: 10px;
    align-content: center;
    padding: 14px !important;
    background: var(--primary) !important;
    border-radius: var(--r-card) !important;
}
:is(.home-mod, .ev-mod) .tm-destaque .musica-rank-col { display: none; }
:is(.home-mod, .ev-mod) .tm-destaque .musica-thumbnail-wrapper {
    grid-area: capa;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1;
    border-radius: var(--r-grupo) !important;
}
:is(.home-mod, .ev-mod) .tm-destaque .musica-info { grid-area: info; align-self: end; }
:is(.home-mod, .ev-mod) .tm-destaque .tm-no1 { display: block; font-size: var(--t-foot); font-weight: 700; color: var(--sobre); opacity: .85; }
:is(.home-mod, .ev-mod) .tm-destaque .musica-info h4 {
    font-family: var(--mod-titulo);
    font-size: var(--t-title3) !important;
    font-weight: 700;
    color: var(--sobre) !important;
    -webkit-line-clamp: 2;
    margin-top: 2px;
}
:is(.home-mod, .ev-mod) .tm-destaque .musica-info p { color: var(--sobre) !important; opacity: .85; white-space: normal; }
:is(.home-mod, .ev-mod) .tm-destaque .musica-actions {
    grid-area: acoes;
    align-self: start;
    justify-content: flex-start;
    gap: 10px;
    margin: 0;
}
.tm-tocar {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 40px;
    padding: 0 18px;
    border-radius: 9999px;
    background: var(--sobre);
    color: var(--primary);
    font-size: var(--t-body);
    font-weight: 700;
    transition: transform 100ms var(--ease), opacity 200ms var(--ease);
}
.tm-destaque:hover .tm-tocar { opacity: .9; }
.tm-destaque:active .tm-tocar { transform: scale(.97); }
:is(.home-mod, .ev-mod) .tm-destaque .btn-curtir { color: var(--sobre); }
:is(.home-mod, .ev-mod) .tm-destaque .btn-curtir:hover { background: rgba(255, 255, 255, .15); }
:is(.home-mod, .ev-mod) .tm-destaque .play-overlay { border-radius: var(--r-grupo); }

/* 2º ao 5º: lista agrupada */
:is(.home-mod, .ev-mod) .tm-lista {
    display: flex;
    flex-direction: column;
    background: var(--superficie);
    border-radius: var(--r-grupo);
    overflow: hidden;
}
:is(.home-mod, .ev-mod) .tm-lista .musica-item {
    grid-template-columns: 22px 44px minmax(0, 1fr) auto;
    column-gap: 12px;
    padding: 8px 10px 8px 14px !important;
    background: transparent !important;
    border-radius: 0 !important;
}
:is(.home-mod, .ev-mod) .tm-lista .musica-item + .musica-item::after {
    content: '';
    position: absolute;
    top: 0;
    left: 48px;
    right: 0;
    height: 1px;
    background: var(--separador);
}
:is(.home-mod, .ev-mod) .tm-lista .musica-item:hover { background: var(--superficie) !important; }
:is(.home-mod, .ev-mod) .tm-lista .musica-rank-col { width: auto !important; justify-content: center; }
:is(.home-mod, .ev-mod) .tm-lista .musica-rank-num {
    font-family: var(--mod-texto) !important;
    font-size: var(--t-body) !important;
    font-weight: 700;
    letter-spacing: 0;
    color: var(--text-secondary);
}
:is(.home-mod, .ev-mod) .tm-lista .musica-thumbnail-wrapper {
    width: 44px !important;
    height: 44px !important;
    border-radius: var(--r-mini) !important;
}
:is(.home-mod, .ev-mod) .tm-lista .play-button { width: 26px; height: 26px; }
:is(.home-mod, .ev-mod) .tm-lista .play-button i { font-size: 10px; }
:is(.home-mod, .ev-mod) .tm-lista .musica-info h4 { font-size: var(--t-body) !important; }
:is(.home-mod, .ev-mod) .tm-lista .musica-info p { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
:is(.home-mod, .ev-mod) .tm-lista .musica-actions { margin: 0; }

/* Coluna estreita: a capa do nº 1 fica menor */
@container modulo (max-width: 360px) {
    :is(.home-mod, .ev-mod) .top-musicas-container .tm-destaque { grid-template-columns: 104px minmax(0, 1fr); }
    :is(.home-mod, .ev-mod) .tm-destaque .musica-info h4 { font-size: var(--t-head) !important; }
}

/* ── Feed de postagens (estilo "Tá no feed") ────────────────────
   Cartões verticais: a foto ocupa o cartão inteiro e o título fica
   sobre ela, em cima de um véu escuro para leitura. */
:is(.home-mod, .ev-mod) .postagensbox-card { position: relative; }
:is(.home-mod, .ev-mod) .postagensbox-img-wrap { aspect-ratio: 4 / 5 !important; }
:is(.home-mod, .ev-mod) .postagensbox-body {
    position: absolute;
    inset: auto 0 0 0;
    z-index: 2;
    padding: var(--postagem-inset, 56px var(--esp-4, 16px) var(--esp-4, 16px)) !important;
    gap: 6px !important;
    background: var(--destaque-fundo, linear-gradient(to top, rgba(0, 0, 0, .82), rgba(0, 0, 0, 0)));
}
:is(.home-mod, .ev-mod) .postagensbox-body .postagensbox-titulo {
    color: var(--destaque-titulo, #fff) !important;
    font-size: var(--t-body) !important;
    -webkit-line-clamp: 3;
}
:is(.home-mod, .ev-mod) .postagensbox-resumo { display: none !important; }
:is(.home-mod, .ev-mod) .postagensbox-data {
    color: var(--destaque-texto, rgba(255, 255, 255, .8)) !important;
    opacity: 1 !important;
    padding-top: 0 !important;
    font-size: 12px !important;
}
:is(.home-mod, .ev-mod) .postagensbox-card:hover .postagensbox-img-wrap img { transform: scale(1.05); }
@container modulo (max-width: 600px) {
    :is(.home-mod, .ev-mod) .postagensbox-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* ── Baixe nosso app: QR code + lojas ───────────────────────── */
.app-box {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    gap: var(--esp-4, 16px);
    align-items: center;
    padding: var(--esp-4, 16px);
    background: var(--superficie);
    border-radius: var(--r-card);
}
.app-qr {
    width: 112px;
    height: 112px;
    padding: 8px;
    background: #fff;
    border-radius: var(--r-grupo);
    display: block;
}
.app-txt { min-width: 0; }
.app-chamada {
    margin: 0 0 4px;
    font-family: var(--mod-titulo);
    font-size: var(--t-head);
    font-weight: 700;
    line-height: 1.25;
    color: var(--titulos, var(--text-primary));
}
.app-dica { margin: 0 0 var(--esp-3, 12px); font-size: var(--t-foot); color: var(--text-secondary); }
:is(.home-mod, .ev-mod) .app-box .aplicativos-botoes {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
}
:is(.home-mod, .ev-mod) .app-box .btn-store {
    display: inline-flex;
    flex: 0 0 auto;
    justify-content: flex-start;
    gap: 8px;
    min-height: 40px;
    padding: 6px 14px !important;
    border: 0 !important;
    border-radius: 9999px !important;
    background: var(--text-primary) !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}
:is(.home-mod, .ev-mod) .app-box .btn-store:hover { transform: none; opacity: .85; box-shadow: none; }
:is(.home-mod, .ev-mod) .app-box :is(.btn-store-icon, .btn-store-name) { color: var(--bg, #000) !important; }
:is(.home-mod, .ev-mod) .app-box .btn-store-icon { font-size: 20px; min-width: 20px; }
:is(.home-mod, .ev-mod) .app-box .btn-store-sub { color: var(--bg, #000) !important; opacity: .7; font-size: 10px; text-transform: none; letter-spacing: 0; }
:is(.home-mod, .ev-mod) .app-box .btn-store-name { font-size: 14px; }
@container modulo (max-width: 320px) {
    .app-box { grid-template-columns: 1fr; }
    .app-qr { display: none; }
}

/* ── Enquete ────────────────────────────────────────────────── */
.enquete-container .enquete-titulo {
    font-family: var(--mod-texto);
    font-size: var(--t-head);
    font-weight: 600;
    line-height: 1.3;
}
.enquete-container .enquete-opcao { padding: 11px 16px !important; --recuo: 46px; }
.enquete-container .opcao-texto { font-size: var(--t-body); }
.enquete-container .enquete-opcao:has(input:checked) { background: var(--tinta-primaria) !important; }
.enquete-container .enquete-opcao:has(input:checked) .opcao-texto { font-weight: 600; }
.enquete-container .resultado-item {
    isolation: isolate;
    overflow: hidden;
    padding: 12px 16px !important;
}
.enquete-container .resultado-info { margin: 0; }
.enquete-container .resultado-opcao { font-size: var(--t-body); }
.enquete-container .resultado-stats { font-size: var(--t-foot); color: var(--text-secondary); }
.enquete-container .resultado-barra-container {
    position: absolute;
    inset: 0;
    z-index: -1;
    width: auto;
    height: auto;
    background: transparent;
    border-radius: 0;
}
.enquete-container .resultado-barra { background: var(--nivel-cor); border-radius: 0; }
.enquete-container .resultados-footer { border-top: 0; padding-top: var(--esp-3, 12px); }
.enquete-container .enquete-acoes { gap: var(--esp-2, 8px); }

/* ============================================================
   PÁGINA DE PROGRAMAÇÃO (programacao-content.php)
   Faixa do dia (largura = duração), marcador "agora", bloco
   "No ar agora", "A seguir" com sino de lembrete e lista do dia.
   ============================================================ */
.prog-page .container .container { padding: 0; }
.pg-topo { display: flex; justify-content: space-between; align-items: flex-end; gap: var(--esp-4, 16px); flex-wrap: wrap; margin: var(--esp-4, 16px) 0 var(--esp-5, 24px); }

/* Dias: um seletor só */
.prog-page .pg-dias {
    display: flex;
    gap: 4px;
    padding: 4px;
    margin: 0;
    border: 0;
    border-radius: 9999px;
    background: var(--superficie);
}
.prog-page .pg-dias .dia-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 54px;
    padding: 7px 12px;
    margin: 0;
    border: 0 !important;
    border-radius: 9999px !important;
    background: transparent !important;
    color: var(--text-primary) !important;
    box-shadow: none !important;
    font-family: var(--mod-texto);
    font-size: var(--t-body);
    font-weight: 600;
    line-height: 1.1;
    text-transform: none;
    letter-spacing: 0;
    transition: background-color 200ms var(--ease);
}
.prog-page .pg-dias .dia-btn::before, .prog-page .pg-dias .dia-btn::after { display: none !important; }
.prog-page .pg-dias .dia-btn small { font-size: 11px; font-weight: 500; color: var(--text-secondary); }
.prog-page .pg-dias .dia-btn:hover { background: var(--superficie) !important; }
.prog-page .pg-dias .dia-btn.active { background: var(--primary) !important; color: var(--sobre) !important; }
.prog-page .pg-dias .dia-btn.active small { color: var(--sobre); opacity: .8; }
.prog-page .pg-dias .dia-btn:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

.prog-page .pg-dia { display: none; }
.prog-page .pg-dia.active { display: block; }
.pg-vazio { padding: var(--esp-6, 32px); background: var(--superficie); border-radius: var(--r-card); color: var(--text-secondary); }

/* Faixa do dia */
.pg-faixa-wrap { margin-bottom: var(--esp-6, 32px); }
.pg-trilho { position: relative; padding-top: 24px; }
.pg-faixa { display: flex; gap: 3px; height: 76px; }
.pg-blk {
    position: relative;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: var(--r-grupo);
    background: var(--superficie);
    overflow: hidden;
}
.pg-blk img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.pg-blk div { min-width: 0; }
.pg-blk b { display: block; font-size: 13px; font-weight: 700; color: var(--titulos, var(--text-primary)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-blk small { display: block; font-size: 12px; color: var(--text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pg-blk.on { background: var(--primary); }
.pg-blk.on b, .pg-blk.on small { color: var(--sobre); }
.pg-blk.on img { outline: 2px solid var(--sobre); }
.pg-enche { position: absolute; left: 0; bottom: 0; height: 4px; background: var(--sobre); transition: width 1s linear; }
.pg-agora { position: absolute; top: 10px; height: 14px; width: 2px; background: var(--luz-no-ar); transition: left 1s linear; }
.pg-agora span {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap;
    padding: 2px 8px;
    border-radius: 9999px;
    background: var(--luz-no-ar);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}
.pg-regua { position: relative; height: 18px; margin-top: 8px; }
.pg-regua span { position: absolute; transform: translateX(-50%); font-size: 12px; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.pg-regua span:first-child { transform: none; }
.pg-regua span:last-child { transform: translateX(-100%); }

/* Palco: no ar + a seguir */
.pg-palco { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--esp-5, 22px); margin-bottom: var(--esp-7, 48px); align-items: start; }
.pg-vivo {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: var(--esp-5, 24px);
    padding: var(--esp-5, 24px);
    border-radius: 20px;
    background: var(--primary);
    color: var(--sobre);
}
.pg-vivo-vazio { grid-template-columns: 1fr; }
.pg-vivo-foto img { width: 220px; height: 260px; border-radius: 14px; object-fit: cover; display: block; }
.pg-vivo-tag { display: flex; align-items: center; gap: 6px; margin: 0; font-size: var(--t-foot); font-weight: 700; }
.pg-luz { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--luz-no-ar); margin-right: 6px; vertical-align: middle; animation: noar-luz 1.6s ease-in-out infinite; }
.pg-vivo .pg-luz { background: var(--sobre); margin-right: 0; }
.pg-vivo h2 { font-family: var(--mod-titulo); font-size: clamp(26px, 1rem + 1.4vw, 32px); font-weight: 800; letter-spacing: -0.01em; line-height: 1.1; color: var(--sobre) !important; margin: 8px 0 2px; }
.pg-vivo-quem { margin: 0; font-size: var(--t-head); opacity: .85; }
.pg-vivo-desc { margin: 12px 0 0; font-size: var(--t-body); line-height: 1.5; opacity: .92; }
.pg-barra { height: 6px; border-radius: 6px; background: color-mix(in srgb, var(--sobre) 30%, transparent); margin: 18px 0 6px; overflow: hidden; }
.pg-barra i { display: block; height: 100%; background: var(--sobre); border-radius: 6px; transition: width 1s linear; }
.pg-tempo { display: flex; justify-content: space-between; font-size: 12px; font-variant-numeric: tabular-nums; }
.pg-tempo span { opacity: .8; }
.pg-acoes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: var(--esp-4, 16px); }
.pg-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 20px;
    border: 0;
    border-radius: 9999px;
    font-size: var(--t-body);
    font-weight: 700;
    text-decoration: none;
    cursor: pointer;
    transition: opacity 200ms var(--ease), transform 100ms var(--ease);
}
.pg-btn:active { transform: scale(.97); }
.pg-btn-ouvir { background: var(--sobre); color: var(--primary); }
.pg-btn-recado { background: color-mix(in srgb, var(--sobre) 16%, transparent); color: var(--sobre) !important; }
.pg-btn:hover { opacity: .88; }
.pg-btn:focus-visible { outline: 2px solid var(--sobre); outline-offset: 2px; }

.pg-lado h3 { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-family: var(--mod-texto); font-size: var(--t-head); font-weight: 700; color: var(--titulos, var(--text-primary)); margin: 0 0 10px; }
.pg-lado h3:not(:first-child) { margin-top: var(--esp-4, 18px); }
.pg-lado h3 small { font-size: var(--t-foot); font-weight: 500; color: var(--text-secondary); }
.pg-prox {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    padding: 12px 14px;
    margin-bottom: 8px;
    border-radius: 14px;
    background: var(--superficie);
}
.pg-prox img, .pg-prox .pg-sem-foto { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.pg-prox-h { display: block; font-size: var(--t-foot); font-weight: 800; color: var(--primary-texto, var(--primary)); }
.pg-prox b { display: block; font-size: var(--t-body); color: var(--titulos, var(--text-primary)); }
.pg-prox small { display: block; font-size: var(--t-foot); color: var(--text-secondary); }
.pg-sem-foto { display: block; background: var(--superficie); }

/* Sino de lembrete */
.pg-sino {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb, var(--primary) 30%, transparent);
    border-radius: 50%;
    background: var(--conteudo, #fff);
    color: var(--primary-texto, var(--primary));
    font-size: 15px;
    cursor: pointer;
    transition: background-color 200ms var(--ease), color 200ms var(--ease), transform 100ms var(--ease);
}
.pg-sino:hover { background: var(--tinta-primaria); }
.pg-sino:active { transform: scale(.92); }
.pg-sino.on { background: var(--primary); border-color: var(--primary); color: var(--sobre); }
.pg-sino:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

/* Lista do dia completo */
.pg-h2 { font-family: var(--mod-titulo); font-size: var(--t-title2); font-weight: 700; color: var(--titulos, var(--text-primary)); margin: 0 0 12px; }
.pg-lista { border-radius: 14px; overflow: hidden; background: var(--superficie); }
.pg-lin {
    display: grid;
    grid-template-columns: 110px 44px minmax(0, 240px) minmax(0, 1fr) 40px;
    gap: 16px;
    align-items: center;
    padding: 12px 18px;
    border-top: 1px solid var(--conteudo, #fff);
}
.pg-lin:first-child { border-top: 0; }
.pg-lin-h { font-size: var(--t-body); font-weight: 800; color: var(--titulos, var(--text-primary)); font-variant-numeric: tabular-nums; }
.pg-lin-h small { display: block; font-size: 12px; font-weight: 500; color: var(--text-secondary); }
.pg-lin img, .pg-lin .pg-sem-foto { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.pg-lin-nome { min-width: 0; }
.pg-lin-nome b { display: block; font-size: var(--t-body); color: var(--titulos, var(--text-primary)); }
.pg-lin-nome small { display: block; font-size: var(--t-foot); color: var(--text-secondary); }
.pg-lin-desc { margin: 0; font-size: var(--t-foot); line-height: 1.45; color: var(--text-secondary); }
.pg-lin.on { background: var(--tinta-primaria); }
.pg-lin.on .pg-lin-h { color: var(--primary-texto, var(--primary)); }

/* Aviso de lembrete (layout.php, qualquer página) */
.radio-aviso {
    position: fixed;
    left: 50%;
    bottom: 24px;
    z-index: 3000;
    display: flex;
    align-items: center;
    gap: 12px;
    max-width: calc(100vw - 32px);
    padding: 12px 14px 12px 18px;
    border-radius: 16px;
    background: #0f172a;
    color: #fff;
    font-size: var(--t-body);
    box-shadow: 0 16px 40px rgba(0, 0, 0, .3);   /* flutua sobre a página */
    transform: translateX(-50%);
    animation: aviso-entra .3s var(--ease);
    transition: opacity .3s, transform .3s;
}
.radio-aviso i.fa-bell { color: #facc15; }
.radio-aviso button { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border: 0; border-radius: 9999px; background: var(--primary); color: var(--sobre); font-weight: 700; cursor: pointer; white-space: nowrap; }
.radio-aviso.sai { opacity: 0; transform: translate(-50%, 12px); }
@keyframes aviso-entra { from { opacity: 0; transform: translate(-50%, 16px); } }

@media (max-width: 991px) {
    .pg-palco { grid-template-columns: 1fr; }
    .pg-lin { grid-template-columns: 90px 44px minmax(0, 1fr) 40px; }
    .pg-lin-desc { display: none; }
}
@media (max-width: 767px) {
    .pg-topo { align-items: flex-start; }
    .prog-page .pg-dias { width: 100%; overflow-x: auto; scrollbar-width: none; }
    .prog-page .pg-dias::-webkit-scrollbar { display: none; }
    .prog-page .pg-dias .dia-btn { min-width: 0; flex: 1 0 auto; padding: 7px 10px; font-size: var(--t-foot); }
    /* Faixa: desliza para o lado, cada bloco com largura mínima legível */
    .pg-faixa-wrap { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; margin-right: -16px; padding-right: 16px; }
    .pg-faixa-wrap::-webkit-scrollbar { display: none; }
    .pg-trilho { width: 1100px; padding-top: 34px; }
    .pg-agora { top: 20px; }
    .pg-vivo { grid-template-columns: 1fr; }
    .pg-vivo-foto img { width: 100%; height: 220px; }
    .pg-lin { grid-template-columns: 64px 40px minmax(0, 1fr) 40px; gap: 10px; padding: 10px 12px; }
    .pg-lin img, .pg-lin .pg-sem-foto { width: 40px; height: 40px; }
    .radio-aviso { bottom: 90px; }
}
@media (prefers-reduced-motion: reduce) {
    .pg-luz { animation: none; }
    .pg-enche, .pg-agora, .pg-barra i { transition: none; }
}

/* ============================================================
   NOTÍCIAS AUTOMÁTICAS — lista (noticias_atualizadas.php) e
   box (noticias_atualizadas_box.php) no mesmo padrão dos módulos
   ============================================================ */
:is(.home-mod, .ev-mod) .news-container-home { display: flex; flex-direction: column; gap: 8px; }
:is(.home-mod, .ev-mod) .news-card-home {
    border: 0 !important;
    box-shadow: none !important;
    border-radius: var(--r-card) !important;
    background: var(--superficie) !important;
    overflow: hidden;
    margin: 0 !important;
    transition: background-color 200ms var(--ease);
}
:is(.home-mod, .ev-mod) .news-card-home:hover { background: var(--superficie-hover) !important; transform: none !important; }
:is(.home-mod, .ev-mod) .news-title-home { font-size: var(--t-head) !important; font-weight: 600 !important; line-height: 1.3 !important; color: var(--titulos, var(--text-primary)) !important; }
:is(.home-mod, .ev-mod) .news-excerpt-home { font-size: var(--t-foot) !important; color: var(--text-secondary) !important; }
:is(.home-mod, .ev-mod) .news-date-home { font-size: 12px !important; color: var(--text-secondary) !important; }
:is(.home-mod, .ev-mod) .news-date-home i { display: none; }

:is(.home-mod, .ev-mod) .noticiabox-grid { gap: var(--esp-4, 16px) !important; }
:is(.home-mod, .ev-mod) .noticiabox-card {
    border: 0 !important;
    box-shadow: none !important;
    border-radius: var(--r-card) !important;
    background: var(--superficie) !important;
    overflow: hidden;
    transition: background-color 200ms var(--ease);
}
:is(.home-mod, .ev-mod) .noticiabox-card:hover { background: var(--superficie-hover) !important; transform: none !important; }
:is(.home-mod, .ev-mod) .noticiabox-badge { display: none !important; }
:is(.home-mod, .ev-mod) .noticiabox-titulo { font-size: var(--t-body) !important; font-weight: 600 !important; line-height: 1.3 !important; color: var(--titulos, var(--text-primary)) !important; }
:is(.home-mod, .ev-mod) .noticiabox-resumo { font-size: var(--t-foot) !important; color: var(--text-secondary) !important; opacity: 1 !important; }
:is(.home-mod, .ev-mod) .noticiabox-data { font-size: 12px !important; color: var(--text-secondary) !important; opacity: 1 !important; }
:is(.home-mod, .ev-mod) .noticiabox-data i { display: none; }

/* ============================================================
   BATE-PAPO NA HOME (batepapo.php): prévia da conversa + entrar
   ============================================================ */
.news-music-section :is(.home-mod, .ev-mod) .entrada-card {
    padding: var(--esp-4, 16px) !important;
    background: var(--superficie) !important;
    border-radius: var(--r-card) !important;
}
.chat-previa-topo { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 10px; font-size: var(--t-body); font-weight: 600; color: var(--titulos, var(--text-primary)); }
.chat-previa-topo small { font-size: 12px; font-weight: 700; color: #dc2626; text-transform: uppercase; letter-spacing: .04em; }
.chat-previa-luz { display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: #22c55e; vertical-align: middle; animation: noar-luz 1.6s ease-in-out infinite; }
.chat-previa { list-style: none; margin: 0 0 var(--esp-4, 16px); padding: 0; display: flex; flex-direction: column; gap: 8px; }
.chat-previa li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 10px; align-items: start; }
.chat-previa-av { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 14px; font-weight: 700; text-transform: uppercase; }
.chat-previa li > div { padding: 8px 12px; border-radius: 4px 14px 14px 14px; background: var(--conteudo, #fff); min-width: 0; }
.chat-previa b { display: block; font-size: 13px; color: var(--titulos, var(--text-primary)); }
.chat-previa b small { font-weight: 400; color: var(--text-secondary); margin-left: 4px; }
.chat-previa p { margin: 2px 0 0 !important; display: block !important; font-size: 14px; line-height: 1.4; color: var(--text-primary); overflow-wrap: anywhere; }
.chat-previa-vazia { margin: 0 0 var(--esp-4, 16px); padding: 12px; border-radius: 12px; background: var(--conteudo, #fff); font-size: 14px; color: var(--text-secondary); }

/* ============================================================
   MENU — fonte escolhida no painel (Configurações > Fontes > Fonte do menu)
   Vale para os 4 modelos de topo, submenus e menu do celular.
   ============================================================ */
:is(.main-header, .main-header-t2, .main-header-t3, .main-header-t4, .t3-header, .t3-navbar, .navbar, .offcanvas, header)
    :is(.nav-link, .dropdown-item) {
    font-family: var(--font-menu, var(--font-texto)) !important;
}
/* Menu em CAIXA ALTA (Configurações > Fontes) */
body.menu-maiusculas :is(.main-header, .main-header-t2, .main-header-t3, .main-header-t4, .t3-header, .t3-navbar, .navbar, .offcanvas, header)
    :is(.nav-link, .dropdown-item) {
    text-transform: uppercase !important;
    letter-spacing: .04em;
}

/* ============================================================
   PÁGINAS INTERNAS — cabeçalho padrão (Equipe, Contato…)
   ============================================================ */
.pag-cab { margin: var(--esp-4, 16px) 0 var(--esp-5, 24px); }
.pag-titulo {
    font-family: var(--mod-titulo);
    font-size: var(--t-large);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.15;
    color: var(--titulos, var(--text-primary));
    margin: 0;
}
.pag-sub { margin: 4px 0 0; font-size: var(--t-body); color: var(--text-secondary); }
@media (max-width: 575px) { .pag-titulo { font-size: 30px; } }

/* ============================================================
   PÁGINA EQUIPE (equipe.php)
   Quem está no ar em destaque (anel de andamento) e cada pessoa
   com os programas que apresenta, tirados da grade.
   ============================================================ */
.eq-intro { margin-bottom: var(--esp-5, 24px); }

.eq-noar {
    display: grid;
    grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
    gap: var(--esp-6, 32px);
    align-items: center;
    padding: var(--esp-5, 24px);
    margin-bottom: var(--esp-6, 32px);
    background: var(--superficie);
    border-radius: var(--r-card);
}
.eq-noar .eq-noar-anel { width: 100%; max-width: 260px; }
.eq-noar-tag {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 6px;
    font-size: var(--t-foot);
    font-weight: 600;
    color: var(--luz-no-ar);
}
.eq-noar-tag .aovivo-luz { background: var(--luz-no-ar); }
.eq-noar-nome {
    font-family: var(--mod-titulo);
    font-size: var(--t-large);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.1;
    color: var(--titulos, var(--text-primary));
    margin: 0;
}
.eq-noar-prog { margin: 6px 0 0; font-size: var(--t-body); color: var(--text-secondary); }
.eq-noar-prog strong { color: var(--text-primary); font-weight: 600; }
.eq-noar-bio { margin: var(--esp-3, 12px) 0 0; font-size: var(--t-body); line-height: 1.5; color: var(--text-secondary); max-width: 60ch; }
.eq-noar-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: var(--esp-4, 16px); }
.eq-ouvir {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 22px;
    border: 0;
    border-radius: 9999px;
    background: var(--primary);
    color: var(--sobre);
    font-size: var(--t-body);
    font-weight: 600;
    cursor: pointer;
    transition: opacity 200ms var(--ease), transform 100ms var(--ease);
}
.eq-ouvir:hover { opacity: .88; }
.eq-ouvir:active { transform: scale(.97); }
.eq-ouvir:focus-visible, .eq-rede:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }

.eq-rede {
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--superficie);
    color: var(--text-primary);
    text-decoration: none;
    font-size: 14px;
    transition: background-color 200ms var(--ease), color 200ms var(--ease);
}
.eq-rede:hover { background: var(--primary); color: var(--sobre); }

.eq-grade {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
    gap: var(--esp-4, 16px);
}
.eq-pessoa {
    display: flex;
    flex-direction: column;
    background: var(--superficie);
    border-radius: var(--r-card);
    overflow: hidden;
    transition: background-color 200ms var(--ease);
}
.eq-pessoa:hover { background: var(--superficie-hover); }
.eq-foto { position: relative; aspect-ratio: 4 / 5; background: var(--superficie); overflow: hidden; }
.eq-foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease); }
.eq-pessoa:hover .eq-foto img { transform: scale(1.04); }
.eq-sem-foto { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; font-size: 40px; color: var(--text-secondary); opacity: .4; }
.eq-redes {
    position: absolute;
    right: 10px;
    bottom: 10px;
    display: flex;
    gap: 6px;
}
.eq-redes .eq-rede { width: 34px; height: 34px; font-size: 13px; background: rgba(0, 0, 0, .55); color: #fff; }
.eq-redes .eq-rede:hover { background: var(--primary); color: var(--sobre); }
.eq-corpo { padding: 14px var(--esp-4, 16px) var(--esp-4, 16px); }
.eq-nome {
    font-family: var(--mod-texto);
    font-size: var(--t-head);
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.25;
    color: var(--titulos, var(--text-primary));
    margin: 0;
}
.eq-funcao { margin: 2px 0 0; font-size: var(--t-foot); color: var(--primary-texto, var(--primary)); font-weight: 600; }
.eq-progs { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.eq-progs li {
    display: flex;
    flex-direction: column;
    padding: 8px 12px;
    border-radius: var(--r-mini);
    background: var(--tinta-primaria);
    line-height: 1.3;
}
.eq-progs strong { font-size: var(--t-foot); font-weight: 600; color: var(--text-primary); }
.eq-progs span { font-size: 12px; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.eq-bio { margin: 10px 0 0; font-size: var(--t-foot); line-height: 1.5; color: var(--text-secondary); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.eq-vazio { padding: var(--esp-6, 32px); background: var(--superficie); border-radius: var(--r-card); color: var(--text-secondary); }

/* Desktop: 3 colunas de cartões deitados (foto ao lado do texto) */
@media (min-width: 992px) {
    .eq-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .eq-pessoa { flex-direction: row; align-items: stretch; }
    .eq-foto { width: 140px; flex-shrink: 0; aspect-ratio: auto; min-height: 175px; }
    .eq-corpo { flex: 1; min-width: 0; padding: var(--esp-4, 16px); }
    .eq-redes { right: 8px; bottom: 8px; gap: 4px; }
    .eq-redes .eq-rede { width: 30px; height: 30px; font-size: 12px; }
}
@media (max-width: 767px) {
    .eq-noar { grid-template-columns: 1fr; text-align: center; gap: var(--esp-4, 16px); padding: var(--esp-5, 24px) var(--esp-4, 16px); }
    .eq-noar .eq-noar-anel { max-width: 200px; margin: 0 auto; }
    .eq-noar-tag, .eq-noar-acoes { justify-content: center; }
    .eq-noar-nome { font-size: 28px; }
    .eq-noar-bio { margin-left: auto; margin-right: auto; }
}
@media (max-width: 520px) {
    .eq-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--esp-3, 12px); }
    .eq-corpo { padding: 10px 12px 12px; }
    .eq-nome { font-size: var(--t-body); }
}

/* ============================================================
   PÁGINA CONTATO (contato.php)
   ============================================================ */
.ct-grade {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
    gap: var(--esp-5, 24px);
    align-items: start;
}
.ct-lado { display: flex; flex-direction: column; gap: var(--esp-3, 12px); }
.ct-noar {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: var(--esp-4, 16px);
    background: var(--primary);
    color: var(--sobre);
    border-radius: var(--r-card);
}
.ct-noar img { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; outline: 3px solid var(--sobre); outline-offset: -1px; }
.ct-noar-tag { display: flex; align-items: center; gap: 6px; margin: 0 0 2px; font-size: var(--t-foot); font-weight: 700; }
.ct-noar-tag .aovivo-luz { background: var(--sobre); }
.ct-noar-txt { margin: 0; font-size: var(--t-body); line-height: 1.4; }
.ct-noar-txt strong { font-weight: 700; }

.ct-canais { list-style: none; margin: 0; padding: 0; background: var(--superficie); border-radius: var(--r-grupo); overflow: hidden; }
.ct-canais li { position: relative; display: flex; align-items: center; gap: 12px; padding: 12px var(--esp-4, 16px); }
.ct-canais li + li::after { content: ''; position: absolute; top: 0; left: 60px; right: 0; height: 1px; background: var(--separador); }
.ct-icone {
    width: 32px; height: 32px; flex-shrink: 0;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: var(--r-mini);
    background: var(--tinta-primaria);
    color: var(--primary-texto, var(--primary));
    font-size: 14px;
}
.ct-canais small { display: block; font-size: 12px; color: var(--text-secondary); }
.ct-canais a { font-size: var(--t-body); font-weight: 600; color: var(--text-primary); text-decoration: none; overflow-wrap: anywhere; }
.ct-canais a:hover { color: var(--primary-texto, var(--primary)); }

.ct-form {
    padding: var(--esp-5, 24px);
    background: var(--superficie);
    border-radius: var(--r-card);
}
.ct-assuntos { border: 0; margin: 0 0 var(--esp-4, 16px); padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ct-assuntos legend { width: 100%; margin: 0 0 8px; font-size: var(--t-head); font-weight: 600; color: var(--titulos, var(--text-primary)); }
.ct-chip input { position: absolute; opacity: 0; pointer-events: none; }
.ct-chip span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 16px;
    border-radius: 9999px;
    background: var(--tinta-primaria);
    color: var(--primary-texto, var(--primary));
    font-size: var(--t-body);
    font-weight: 600;
    cursor: pointer;
    transition: background-color 200ms var(--ease), color 200ms var(--ease), transform 100ms var(--ease);
}
.ct-chip span:active { transform: scale(.97); }
.ct-chip input:checked + span { background: var(--primary); color: var(--sobre); }
.ct-chip input:focus-visible + span { outline: 2px solid var(--primary); outline-offset: 2px; }

.ct-campos { display: grid; grid-template-columns: 1fr 1fr; gap: var(--esp-3, 12px); }
.ct-campo { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.ct-campo-largo { grid-column: 1 / -1; }
.ct-campo span { font-size: var(--t-foot); font-weight: 600; color: var(--text-secondary); }
.ct-campo :is(input, textarea) {
    width: 100%;
    min-height: 44px;
    padding: 10px 14px;
    border: 0;
    border-radius: var(--r-grupo);
    background: var(--superficie);
    color: var(--text-primary);
    font: inherit;
    font-size: var(--t-body);
    outline: none;
    transition: box-shadow 200ms var(--ease);
}
.ct-campo textarea { resize: vertical; min-height: 130px; }
.ct-campo :is(input, textarea):focus { box-shadow: 0 0 0 3px var(--primary); }
.ct-campo :is(input, textarea)::placeholder { color: var(--text-secondary); opacity: .8; }
.ct-erro { margin: var(--esp-3, 12px) 0 0; font-size: var(--t-foot); color: var(--luz-no-ar); }
.ct-enviar {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    margin-top: var(--esp-4, 16px);
    padding: 0 28px;
    border: 0;
    border-radius: 9999px;
    background: var(--primary);
    color: var(--sobre);
    font-size: var(--t-body);
    font-weight: 600;
    cursor: pointer;
    transition: opacity 200ms var(--ease), transform 100ms var(--ease);
}
.ct-enviar:hover { opacity: .88; }
.ct-enviar:active { transform: scale(.97); }

@media (max-width: 860px) {
    .ct-grade { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .ct-campos { grid-template-columns: 1fr; }
    .ct-form { padding: var(--esp-4, 16px); }
    .ct-enviar { width: 100%; justify-content: center; }
}

/* ============================================================
   PÁGINA POSTAGENS (postagens.php)
   ============================================================ */
.ps-cab { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--esp-4, 16px); flex-wrap: wrap; }
.ps-busca {
    position: relative;
    flex: 0 1 320px;
    margin: 0;
}
.ps-busca i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); font-size: 14px; color: var(--text-secondary); pointer-events: none; }
.ps-busca input {
    width: 100%;
    min-height: 44px;
    padding: 0 16px 0 40px;
    border: 0;
    border-radius: 9999px;
    background: var(--superficie);
    color: var(--text-primary);
    font: inherit;
    font-size: var(--t-body);
    outline: none;
    transition: box-shadow 200ms var(--ease);
}
.ps-busca input:focus { box-shadow: 0 0 0 3px var(--primary); }

.ps-cats { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 var(--esp-5, 24px); }
.ps-cat {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 36px;
    padding: 0 14px;
    border-radius: 9999px;
    background: var(--superficie);
    color: var(--text-primary);
    font-size: var(--t-foot);
    font-weight: 600;
    text-decoration: none;
    transition: background-color 200ms var(--ease), color 200ms var(--ease);
}
.ps-cat span { font-weight: 400; color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.ps-cat:hover { background: var(--superficie-hover); color: var(--text-primary); }
.ps-cat.ativa { background: var(--primary); color: var(--sobre); }
.ps-cat.ativa span { color: var(--sobre); opacity: .8; }
.ps-resultado { margin: -8px 0 var(--esp-4, 16px); font-size: var(--t-body); color: var(--text-secondary); }
.ps-resultado a { color: var(--primary-texto, var(--primary)); }

.ps-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 6px; font-size: 12px; color: var(--text-secondary); }
.ps-meta-cat { color: var(--primary-texto, var(--primary)); font-weight: 600; }

/* Capa */
.ps-capa {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
    margin-bottom: var(--esp-6, 32px);
    background: var(--superficie);
    border-radius: var(--r-card);
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    transition: background-color 200ms var(--ease);
}
.ps-capa:hover { background: var(--superficie-hover); color: inherit; }
.ps-capa-foto { aspect-ratio: 16 / 10; background: var(--superficie); overflow: hidden; }
.ps-capa-foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease); }
.ps-capa:hover .ps-capa-foto img { transform: scale(1.03); }
.ps-capa-txt { display: flex; flex-direction: column; justify-content: center; padding: var(--esp-6, 32px); }
.ps-capa-titulo {
    font-family: var(--mod-titulo);
    font-size: clamp(22px, 1rem + 1vw, 28px);
    font-weight: 700;
    letter-spacing: -0.015em;
    line-height: 1.2;
    color: var(--titulos, var(--text-primary));
    margin: 0;
}
.ps-capa-resumo { margin: 10px 0 0; font-size: var(--t-body); line-height: 1.5; color: var(--text-secondary); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.ps-ler { display: inline-flex; align-items: center; gap: 8px; margin-top: var(--esp-4, 16px); font-size: var(--t-body); font-weight: 600; color: var(--primary-texto, var(--primary)); }
.ps-ler i { font-size: 12px; transition: transform 200ms var(--ease); }
.ps-capa:hover .ps-ler i { transform: translateX(3px); }

/* Grade + lateral */
.ps-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--esp-6, 32px); align-items: start; }
.ps-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: var(--esp-4, 16px); }
.ps-item {
    display: flex;
    flex-direction: column;
    background: var(--superficie);
    border-radius: var(--r-card);
    overflow: hidden;
    color: inherit;
    text-decoration: none;
    transition: background-color 200ms var(--ease), transform 100ms var(--ease);
}
.ps-item:hover { background: var(--superficie-hover); color: inherit; }
.ps-item:active { transform: scale(.98); }
.ps-item-foto { aspect-ratio: 16 / 10; background: var(--superficie); overflow: hidden; }
.ps-item-foto img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s var(--ease); }
.ps-item:hover .ps-item-foto img { transform: scale(1.04); }
.ps-item-txt { padding: 14px var(--esp-4, 16px) var(--esp-4, 16px); }
.ps-item-titulo { font-family: var(--mod-texto); font-size: var(--t-head); font-weight: 600; line-height: 1.3; letter-spacing: -0.01em; color: var(--titulos, var(--text-primary)); margin: 0; }
.ps-item-resumo { margin: 6px 0 0; font-size: var(--t-foot); line-height: 1.5; color: var(--text-secondary); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ps-vazio { padding: var(--esp-6, 32px); background: var(--superficie); border-radius: var(--r-card); color: var(--text-secondary); }
.ps-vazio p { margin: 0 0 4px; }

.ps-lado { position: sticky; top: 90px; }
.ps-lado-titulo { font-family: var(--mod-titulo); font-size: var(--t-title2); font-weight: 700; color: var(--titulos, var(--text-primary)); margin: 0 0 var(--esp-3, 12px); }
.ps-ranking { list-style: none; counter-reset: rank; margin: 0; padding: 0; background: var(--superficie); border-radius: var(--r-grupo); overflow: hidden; }
.ps-ranking li { counter-increment: rank; position: relative; }
.ps-ranking li + li::after { content: ''; position: absolute; top: 0; left: 56px; right: 0; height: 1px; background: var(--separador); }
.ps-ranking a { display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 12px; padding: 12px var(--esp-4, 16px); color: inherit; text-decoration: none; transition: background-color 200ms var(--ease); }
.ps-ranking a::before {
    content: counter(rank);
    grid-row: span 2;
    font-family: var(--mod-titulo);
    font-size: var(--t-title2);
    font-weight: 700;
    line-height: 1;
    color: var(--primary-texto, var(--primary));
    font-variant-numeric: tabular-nums;
}
.ps-ranking a:hover { background: var(--superficie); color: inherit; }
.ps-rank-txt { font-size: var(--t-body); font-weight: 600; line-height: 1.3; color: var(--text-primary); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ps-rank-meta { margin-top: 2px; font-size: 12px; color: var(--text-secondary); }

.ps-pag { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px; margin-top: var(--esp-6, 32px); }
.ps-pag :is(a, span) {
    min-width: 40px; height: 40px; padding: 0 12px;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 9999px;
    font-size: var(--t-body); font-weight: 600;
    color: var(--text-primary); text-decoration: none;
}
.ps-pag a { background: var(--superficie); }
.ps-pag a:hover { background: var(--superficie-hover); color: var(--text-primary); }
.ps-pag .ativa { background: var(--primary); color: var(--sobre); }

@media (max-width: 1024px) {
    .ps-layout { grid-template-columns: minmax(0, 1fr); }
    .ps-lado { position: static; }
}
@media (max-width: 767px) {
    .ps-capa { grid-template-columns: 1fr; }
    .ps-capa-txt { padding: var(--esp-4, 16px) var(--esp-4, 16px) var(--esp-5, 20px); }
    .ps-busca { flex-basis: 100%; }
    .ps-cats { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-right: -16px; padding-right: 16px; }
    .ps-cats::-webkit-scrollbar { display: none; }
    .ps-cat { flex-shrink: 0; }
}

/* ============================================================
   PÁGINA DE LEITURA (postagem.php)
   Foto de capa mais larga que o texto; texto numa coluna de ~70
   caracteres; barra de progresso de leitura; WhatsApp em destaque;
   "Leia também" no fim.
   ============================================================ */
.post-single > .container { max-width: 1180px !important; }
/* Duas colunas: a postagem à esquerda e "Mais postagens" à direita */
.post-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 48px;
    align-items: start;
}
.post-principal { min-width: 0; max-width: 760px; }
.post-single .post-header-body { width: 100%; }
.post-single .post-cover {
    aspect-ratio: 16 / 9 !important;
    border-radius: var(--r-card) !important;
    margin-top: var(--esp-6, 32px) !important;
}
.post-single .post-categoria { font-size: var(--t-foot) !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important; }
.post-single .post-titulo {
    font-family: var(--mod-titulo) !important;
    font-size: clamp(28px, 1.2rem + 1.6vw, 40px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
}
.post-single .post-meta { border-bottom: 0 !important; padding-bottom: 0 !important; font-size: var(--t-foot) !important; }
.post-single .post-descricao { font-size: 19px !important; line-height: 1.5 !important; color: var(--text-primary) !important; opacity: .85; }
.post-single .post-tags { margin-top: var(--esp-3, 12px); }
.post-single .post-tag {
    border: 0 !important;
    border-radius: 9999px !important;
    background: var(--tinta-primaria) !important;
    color: var(--primary-texto, var(--primary)) !important;
    padding: 4px 12px !important;
    font-size: var(--t-foot) !important;
    font-weight: 600 !important;
}
.post-single .post-conteudo { font-size: 18px !important; line-height: 1.7 !important; }
.post-single .post-conteudo h2 { font-size: var(--t-title2); font-weight: 700; }
.post-single .post-conteudo img { border-radius: var(--r-card) !important; }
.post-single .post-conteudo blockquote {
    border-left: 0 !important;
    padding: var(--esp-4, 16px) var(--esp-5, 20px) !important;
    background: var(--tinta-primaria);
    border-radius: var(--r-grupo);
}

/* Compartilhar */
.post-single .post-share { border-top: 0 !important; padding-top: 0 !important; gap: 8px !important; }
.post-share-whats {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 0 20px;
    border-radius: 9999px;
    background: #25d366;
    color: #fff !important;
    font-size: var(--t-body);
    font-weight: 600;
    text-decoration: none !important;
    margin-right: 4px;
    transition: opacity 200ms var(--ease), transform 100ms var(--ease);
}
.post-share-whats i { font-size: 18px; }
.post-share-whats:hover { opacity: .9; }
.post-share-whats:active { transform: scale(.97); }
.post-single .btn-post-share {
    width: 44px !important;
    height: 44px !important;
    border: 0 !important;
    background: var(--superficie) !important;
}
.post-single .btn-post-share:hover { background: var(--superficie-hover) !important; }

/* Mais postagens (coluna da direita) */
.post-lado { position: sticky; top: 90px; }
.post-lado-titulo { font-family: var(--mod-titulo); font-size: var(--t-title2); font-weight: 700; color: var(--titulos, var(--text-primary)); margin: 0 0 12px; }
.post-lado-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.post-lado-item {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    padding: 8px;
    border-radius: 12px;
    color: inherit;
    text-decoration: none;
    transition: background-color 200ms var(--ease);
}
.post-lado-item:hover { background: var(--superficie); color: inherit; }
.post-lado-foto { display: block; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; background: var(--superficie); }
.post-lado-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.post-lado-cat { display: block; font-size: 12px; font-weight: 600; color: var(--primary-texto, var(--primary)); }
.post-lado-txt b { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--titulos, var(--text-primary)); }
.post-lado-item.primeira { grid-template-columns: 1fr; gap: 10px; }
.post-lado-item.primeira .post-lado-foto { aspect-ratio: 16 / 9; }
.post-lado-item.primeira .post-lado-txt b { font-size: 16px; }
.post-lado-todas { display: inline-flex; align-items: center; gap: 8px; margin: 12px 8px 0; font-size: 14px; font-weight: 600; color: var(--primary-texto, var(--primary)); text-decoration: none; }
.post-lado-todas i { font-size: 12px; transition: transform 200ms var(--ease); }
.post-lado-todas:hover i { transform: translateX(3px); }
@media (max-width: 991px) {
    .post-layout { grid-template-columns: 1fr; gap: 40px; }
    .post-principal { max-width: none; }
    .post-lado { position: static; }
    .post-lado-lista { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .post-lado-item, .post-lado-item.primeira { grid-template-columns: 1fr; }
    .post-lado-item .post-lado-foto { aspect-ratio: 16 / 9; }
}

/* Barra de progresso de leitura */
.post-progresso { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 2000; pointer-events: none; }
.post-progresso span { display: block; height: 100%; background: var(--primary); transform: scaleX(0); transform-origin: left; }

@media (max-width: 767px) {
    .post-single .post-cover { aspect-ratio: 4 / 3 !important; margin-top: var(--esp-4, 16px) !important; }
    .post-single .post-conteudo { font-size: 17px !important; }
    .post-share-whats { flex: 1 1 100%; justify-content: center; margin: 0 0 4px; }
}

/* ============================================================
   PÁGINA SOBRE (sobre.php)
   ============================================================ */
.sb-topo { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--esp-6, 32px); align-items: start; margin-bottom: var(--esp-7, 56px); }
.sb-topo.sb-sem-noar { grid-template-columns: minmax(0, 1fr); }
.sb-texto { font-size: 18px; }
.sb-texto > :first-child { font-size: 21px; line-height: 1.55; color: var(--titulos, var(--text-primary)); }
.sb-noar {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: var(--esp-5, 24px);
    background: var(--primary);
    color: var(--sobre);
    border-radius: var(--r-card);
}
.sb-noar img { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; outline: 3px solid var(--sobre); margin-bottom: 12px; }
.sb-noar-tag { display: flex; align-items: center; gap: 6px; margin: 0; font-size: var(--t-foot); font-weight: 700; }
.sb-noar-tag .aovivo-luz { background: var(--sobre); }
.sb-noar-prog { margin: 4px 0 0; font-family: var(--mod-titulo); font-size: var(--t-title3); font-weight: 700; line-height: 1.2; }
.sb-noar-quem { margin: 2px 0 0; font-size: var(--t-body); opacity: .9; }
.sb-noar .sb-ouvir { margin-top: var(--esp-4, 16px); background: var(--sobre); color: var(--primary); }

.sb-h2 { font-family: var(--mod-titulo); font-size: var(--t-title2); font-weight: 700; color: var(--titulos, var(--text-primary)); margin: 0 0 var(--esp-3, 12px); }
.sb-numeros { margin-bottom: var(--esp-7, 56px); }
.sb-numeros ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: var(--esp-3, 12px); }
.sb-numeros li { display: flex; flex-direction: column; gap: 4px; padding: var(--esp-5, 24px); background: var(--superficie); border-radius: var(--r-card); }
.sb-numeros strong {
    font-family: var(--mod-titulo);
    font-size: clamp(36px, 1.5rem + 2vw, 52px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.03em;
    color: var(--primary-texto, var(--primary));
    font-variant-numeric: tabular-nums;
}
.sb-numeros span { font-size: var(--t-body); color: var(--text-secondary); }

.sb-equipe {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: var(--esp-5, 24px);
    align-items: center;
    padding: var(--esp-5, 24px);
    background: var(--superficie);
    border-radius: var(--r-card);
}
.sb-equipe .sb-h2 { margin-bottom: 4px; }
.sb-equipe-txt { margin: 0; font-size: var(--t-body); color: var(--text-secondary); }
.sb-rostos { display: flex; }
.sb-rostos img {
    width: 56px; height: 56px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--conteudo, var(--bg));
    margin-left: -14px;
    background: var(--superficie);
    transition: transform 200ms var(--ease);
}
.sb-rostos img:first-child { margin-left: 0; }
.sb-rostos img:hover { transform: translateY(-4px); position: relative; z-index: 1; }
.sb-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 20px; border-radius: 9999px; background: var(--tinta-primaria); color: var(--primary-texto, var(--primary)); font-weight: 600; text-decoration: none; white-space: nowrap; }
.sb-link:hover { color: var(--primary-texto, var(--primary)); opacity: .85; }

@media (max-width: 860px) {
    .sb-topo { grid-template-columns: 1fr; }
    .sb-equipe { grid-template-columns: 1fr; justify-items: start; }
}
@media (max-width: 575px) {
    .sb-numeros ul { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .sb-numeros li { padding: var(--esp-4, 16px); }
    .sb-numeros strong { font-size: 32px; }
    .sb-numeros span { font-size: var(--t-foot); }
}

/* Etapa 1: destaques sólidos e cartões estáveis no acabamento editorial.
   O anel de progresso mantém a representação dos dados do programa. */
body.acab-editorial .tv-destaque-txt {
    padding: var(--esp-4) var(--esp-5);
}
body.acab-editorial :is(.home-mod, .ev-mod) .postagensbox-body {
    position: static;
}
body.acab-editorial .tv-destaque-btn {
    color: var(--sobre-primaria);
    border-radius: var(--raio);
}
body.acab-editorial :is(.home-mod, .ev-mod) .tv-destaque:hover img,
body.acab-editorial .sb-rostos img:hover { transform: none; }
@container modulo (max-width: 460px) {
    body.acab-editorial .tv-destaque-txt { padding: var(--esp-3) var(--esp-4); }
}

/* ── Movimento ──────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
    .noar-luz { animation: none; }
    .top-musicas-container .musica-item::before { animation: none; }
    .noar-nivel, .enquete-container .resultado-barra { transition: none; }
    :is(.home-mod, .ev-mod) * { transition-duration: .01ms !important; }
}

/* Acabamento das notícias: somente os módulos de notícias, no acabamento
   editorial. Fontes, superfícies e cantos continuam definidos no painel. */
body.acab-editorial :is(.home-mod, .ev-mod) :is(.news-container-home, .noticiabox-grid, .news-section) {
    --superficie: var(--conteudo, var(--bg));
    --superficie-hover: color-mix(in srgb, var(--conteudo, var(--bg)) 96%, var(--text-primary));
    --t-head: 1.125rem;
    --t-foot: .875rem;
}
body.acab-editorial :is(.home-mod, .ev-mod) .news-container-home { gap: var(--esp-4, 16px); }
body.acab-editorial :is(.home-mod, .ev-mod) :is(.news-card-home, .noticiabox-card) {
    min-width: 0;
    outline: 1px solid var(--linha);
    outline-offset: -1px;
}
body.acab-editorial :is(.home-mod, .ev-mod) .news-card-home { min-height: 0; }
body.acab-editorial :is(.home-mod, .ev-mod) .news-card-home > a {
    display: grid;
    grid-template-columns: minmax(120px, 28%) minmax(0, 1fr);
    align-items: center;
    gap: 20px;
    padding: 16px;
}
body.acab-editorial :is(.home-mod, .ev-mod) .news-image-home {
    width: 100%; height: auto; aspect-ratio: 3 / 2;
    border-radius: var(--raio-sm, 6px);
    background: var(--tinta-primaria, var(--conteudo));
}
body.acab-editorial :is(.home-mod, .ev-mod) .news-content-home {
    min-width: 0; padding: 0; gap: 8px;
}
body.acab-editorial :is(.home-mod, .ev-mod) .news-title-home {
    font-family: var(--font-titulo, inherit);
    margin: 0;
    letter-spacing: -.01em;
    -webkit-line-clamp: 3;
    overflow-wrap: anywhere;
}
body.acab-editorial :is(.home-mod, .ev-mod) .news-date-home { margin: 0; font-variant-numeric: tabular-nums; }
body.acab-editorial :is(.home-mod, .ev-mod) .news-excerpt-home { line-height: 1.55; -webkit-line-clamp: 2; }
body.acab-editorial :is(.home-mod, .ev-mod) :is(.news-image-home img, .noticiabox-img-wrap img, .news-image img) { display: block; transform: none; }
body.acab-editorial :is(.home-mod, .ev-mod) :is(.news-placeholder-home, .noticiabox-placeholder, .news-placeholder) { background: var(--tinta-primaria, var(--conteudo)); }
body.acab-editorial :is(.home-mod, .ev-mod) :is(.news-placeholder-home i, .noticiabox-placeholder i, .news-placeholder i) { color: var(--primary-texto, var(--primary)); opacity: .55; }
body.acab-editorial :is(.home-mod, .ev-mod) :is(.news-card-home, .noticiabox-card, .news-card) > a:focus-visible {
    outline: 3px solid var(--primary-texto, var(--primary));
    outline-offset: -3px;
    border-radius: var(--raio);
}

/* Slot em cartões e módulo antigo: mesma leitura, sem trocar sua estrutura. */
body.acab-editorial :is(.home-mod, .ev-mod) .noticiabox-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
body.acab-editorial :is(.home-mod, .ev-mod) .noticiabox-body { padding: 18px; gap: 10px; }
body.acab-editorial :is(.home-mod, .ev-mod) .noticiabox-titulo { font-family: var(--font-titulo, inherit); }
body.acab-editorial :is(.home-mod, .ev-mod) .noticiabox-img-wrap { aspect-ratio: 16 / 10; background: var(--tinta-primaria); }
body.acab-editorial :is(.home-mod, .ev-mod) .news-section { background: transparent; padding: 0; }
body.acab-editorial :is(.home-mod, .ev-mod) .news-section .news-title { color: var(--titulos); font-family: var(--font-titulo); line-height: 1.35; }
body.acab-editorial :is(.home-mod, .ev-mod) .news-section :is(.news-date, .news-excerpt) { color: var(--text-secondary); }
body.acab-editorial :is(.home-mod, .ev-mod) .news-section .news-image { background: var(--tinta-primaria); }

/* A adaptação segue a largura do módulo, inclusive na coluna lateral. */
@container modulo (max-width: 460px) {
    body.acab-editorial :is(.home-mod, .ev-mod) .news-card-home > a {
        grid-template-columns: 88px minmax(0, 1fr);
        align-items: start; padding: 12px; gap: 12px;
    }
    body.acab-editorial :is(.home-mod, .ev-mod) .news-container-home { --t-head: 1rem; --t-foot: .8125rem; }
    body.acab-editorial :is(.home-mod, .ev-mod) .news-image-home { aspect-ratio: 1; }
}
@container modulo (max-width: 300px) {
    body.acab-editorial :is(.home-mod, .ev-mod) .news-card-home > a { grid-template-columns: minmax(0, 1fr); }
    body.acab-editorial :is(.home-mod, .ev-mod) .news-image-home { aspect-ratio: 16 / 9; }
}

/* Acabamento do módulo noar.php. O anel continua mostrando o progresso
   real; a identidade do painel e os módulos vizinhos são preservados. */
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo {
    padding: 24px;
    gap: 24px;
    align-items: start;
    border: 1px solid var(--linha);
    border-radius: var(--raio, 10px);
    background: var(--conteudo, var(--bg));
}
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-palco { align-self: start; padding-top: 4px; min-width: 0; }
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-anel { width: min(176px, 100%); padding: 5px; flex-shrink: 0; }
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-foto { border-width: 4px; object-position: 50% 25%; }
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-info { gap: 20px; }
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-noar { padding: 20px; border-radius: var(--raio); }
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-tag {
    display: grid; grid-template-columns: auto minmax(0, 1fr);
    align-items: center; gap: 8px; margin-bottom: 12px;
}
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-tag > span:not(.aovivo-luz) {
    grid-column: 1 / -1; font-size: .875rem; line-height: 1.4;
    font-variant-numeric: tabular-nums; opacity: 1;
}
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-programa {
    font-size: clamp(1.25rem, 1rem + 1.5cqi, 1.75rem);
    line-height: 1.2; overflow-wrap: anywhere; text-wrap: balance;
}
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-locutor { margin-top: 8px; line-height: 1.5; opacity: 1; overflow-wrap: anywhere; }
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-resta { margin-top: 14px; font-weight: 400; font-size: .8125rem; }
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-seguir { gap: 0; }
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-seguir::before {
    content: 'A seguir'; font-family: var(--font-texto); font-weight: 700;
    font-size: .8125rem; color: var(--text-secondary); margin-bottom: 4px;
}
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-seguir li {
    grid-template-columns: 58px minmax(0, 1fr);
    align-items: start; gap: 4px 12px; padding: 14px 0;
    background: transparent; border-radius: 0;
}
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-seguir li + li { border-top: 1px solid var(--linha); }
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-hora { grid-column: 1; grid-row: 1 / span 2; font-size: .875rem; line-height: 1.5; }
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-prox { grid-column: 2; font-size: 1rem; line-height: 1.4; white-space: normal; overflow: visible; overflow-wrap: anywhere; }
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-quem { grid-column: 2; font-size: .8125rem; line-height: 1.4; white-space: normal; overflow-wrap: anywhere; }
body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-vazio .aovivo-noar { background: var(--tinta-primaria, var(--conteudo)); }
@container modulo (min-width: 600px) {
    body.acab-editorial :is(.home-mod, .ev-mod) .aovivo:not(.aovivo-vazio) { grid-template-columns: 176px minmax(0, 1fr); gap: 28px; }
    body.acab-editorial :is(.home-mod, .ev-mod) .aovivo:not(.aovivo-vazio) .aovivo-info { display: contents; }
    body.acab-editorial :is(.home-mod, .ev-mod) .aovivo:not(.aovivo-vazio) .aovivo-noar { grid-column: 2; }
    body.acab-editorial :is(.home-mod, .ev-mod) .aovivo:not(.aovivo-vazio) .aovivo-seguir {
        grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px 16px;
    }
    body.acab-editorial :is(.home-mod, .ev-mod) .aovivo:not(.aovivo-vazio) .aovivo-seguir::before { grid-column: 1 / -1; }
    body.acab-editorial :is(.home-mod, .ev-mod) .aovivo:not(.aovivo-vazio) .aovivo-seguir li { grid-template-columns: minmax(0, 1fr); padding: 0; }
    body.acab-editorial :is(.home-mod, .ev-mod) .aovivo:not(.aovivo-vazio) .aovivo-seguir li + li { border-top: 0; border-left: 1px solid var(--linha); padding-left: 16px; }
    body.acab-editorial :is(.home-mod, .ev-mod) .aovivo:not(.aovivo-vazio) :is(.aovivo-hora, .aovivo-prox, .aovivo-quem) { grid-column: 1; grid-row: auto; }
}
@container modulo (max-width: 360px) {
    body.acab-editorial :is(.home-mod, .ev-mod) .aovivo { padding: 16px; gap: 20px; }
    body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-noar { padding: 16px; }
    body.acab-editorial :is(.home-mod, .ev-mod) .aovivo-anel { width: min(152px, 100%); }
}

/* ============================================================
   MEIO DO SITE: "Fundo do Conteúdo" do painel pinta o bloco principal,
   e os módulos usam um tom dessa cor para continuarem destacados.
   ============================================================ */
body.acab-editorial #page-content {
    background: var(--meio) !important;
    --conteudo: color-mix(in srgb, var(--meio) 90%, var(--text-primary));
    --superficie: var(--conteudo);
    --superficie-hover: color-mix(in srgb, var(--meio) 84%, var(--text-primary));
    --destaque-fundo: var(--conteudo);
}

/* O meio vira um cartão solto: desgrudado do topo e do rodapé, com borda fina e sombra suave */
body.acab-editorial #page-content {
    margin-block: 28px 40px;
    padding-top: 28px;
    border: 1px solid color-mix(in srgb, var(--text-primary) 16%, transparent);
    border-radius: var(--raio, 18px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .18);
}
@media (max-width: 575px) {
    body.acab-editorial #page-content { margin-block: 16px 24px; padding-top: 16px; }
}
.rd-ct i { color: var(--rodape-icone, var(--primary)) !important; }

/* Faixinha vertical ao lado dos títulos, na cor principal do painel */
:is(.secao-titulo, .pag-titulo, .page-header-title) {
    display: flex;
    align-items: center;
    gap: .45em;
}
:is(.secao-titulo, .pag-titulo, .page-header-title)::before {
    content: '';
    flex: 0 0 auto;
    width: 6px;
    height: 1em;
    border-radius: 2px;
    background: var(--cartao-primaria, var(--primary));
}

body.acab-editorial .page-header-bar::after { display: none !important; }
body.acab-editorial #page-content:not(:has(.home-mod, .ev-mod)) .news-section { background: transparent !important; padding-top: 0; }

/* Páginas internas: com o meio pintado, o conteúdo precisa de folga até a borda (a home tem a dela) */
body.acab-editorial #page-content:not(:has(.home-mod, .ev-mod)) {
    padding-inline: clamp(16px, 3vw, 32px);
}
body.acab-editorial #page-content:not(:has(.home-mod, .ev-mod)) .container {
    padding-inline: 0;
}

/* Imagem de fundo do painel: o acabamento Moderno escondia a camada. Sem imagem ela fica vazia. */
html body.acab-editorial::before { display: block !important; }
:is(.botaotopo, #toTop) { color: var(--sobre-primaria) !important; }

/* ============================================================
   CORES POR REGIÃO
   Cada região recebe o texto medido contra o fundo dela (layout.php).
   Os valores vêm do painel; só mudam quando ficariam ilegíveis ali.
   ============================================================ */
.postagensbox-card,
:is(.home-mod, .ev-mod) .card,
:is(.home-mod, .ev-mod) :is(.btn-parcial, .btn-voltar),
.pod-card,
.album-card,
.news-card,
.globe-card,
.form-control,
.recados-lista,
.umt-list,
.enquete-opcoes,
.resultados-lista,
.noar-painel,
.aovivo,
.tv-destaque-txt,
.tm-lista,
.postagensbox-body,
.app-box,
.pg-dias,
.pg-vazio,
.pg-blk,
.pg-prox,
.pg-lista,
.news-card-home,
.noticiabox-card,
.entrada-card,
.chat-previa-vazia,
.eq-noar,
.eq-pessoa,
.eq-vazio,
.ct-canais,
.ct-form,
.ps-busca,
.ps-cat,
.ps-item,
.ps-vazio,
.ps-ranking,
.sb-numeros li,
.sb-equipe,
.info-card,
.locutor-card,
.programa-card,
.umt-box,
.noar-mini-card,
.eq-card,
.sidebar-card,
.chat-previa li > div,
.ct-campo input,
.ct-campo textarea,
.ps-pag a,
.post-single .btn-post-share,
.aovivo-seguir li,
.ps-capa {
    --titulos: var(--cartao-titulos);
    --text-primary: var(--cartao-texto);
    --text-secondary: var(--cartao-texto2);
    --primary-texto: var(--cartao-primaria);
    --destaque-titulo: var(--cartao-titulos);
    --destaque-texto: var(--cartao-texto);
}
/* Sem o "header" solto: o cabeçalho das páginas (.pag-cab) também é um <header> */
:is(.main-header, .main-header-t2, .main-header-t3, .main-header-t4, .t3-header, .t3-navbar, .navbar, .offcanvas) {
    --text-primary: var(--menu-texto);
    --text-secondary: var(--menu-texto2);
    --primary-texto: var(--menu-ativo);
}
/* O botão da loja pinta o texto com --bg: igual ao botão quando a principal é a cor do fundo */
:is(.home-mod, .ev-mod) .app-box .btn-store { --bg: var(--cartao-sobre); }
/* Blocos e botões em cor cheia que ficam direto sobre o fundo da página */
:is(.home-mod, .ev-mod) :is(.tm-destaque, .btn-votar, .btn-enviar-recado, .btn-entrar, .pod-tab.active) {
    --primary: var(--bloco-cor);
    --sobre: var(--bloco-sobre);
    --sobre-primaria: var(--bloco-sobre);
}
