/* ========================================================================== 
   VARIÁVEIS, RESET E BASE
   ========================================================================== */
:root {
    --papel: #f4edd9;
    --papel-claro: #fcf8ee;
    --fundo: #ede3cb;
    --fundo-ponto: #dbcea7;
    --borda: #c4b595;
    --borda-escura: #b5a684;
    --tinta: #1a1a1a;
    --texto: #222222;
    --texto-suave: #444444;
    --vermelho: #8b0000;
    --vermelho-claro: #d00000;
    --amarelo: #ffcc00;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    min-width: 320px;
}

body {
    display: flex;
    justify-content: center;
    min-height: 100vh;
    padding: 30px 20px;
    color: var(--tinta);
    background-color: var(--fundo);
    background-image: radial-gradient(var(--fundo-ponto) 1px, transparent 0);
    background-size: 24px 24px;
    font-family: Arial, sans-serif;
}

a {
    color: inherit;
}

img {
    max-width: 100%;
}

.jornal-container {
    width: 100%;
    max-width: 1200px;
    padding: 40px;
    background-color: var(--papel);
    border: 1px solid var(--borda);
    box-shadow: 0 10px 30px rgb(0 0 0 / 15%);
}

/* ========================================================================== 
   CABEÇALHO E LOGOTIPO
   ========================================================================== */
.jornal-header {
    margin-bottom: 25px;
    padding-bottom: 15px;
    text-align: center;
    border-bottom: 5px solid var(--tinta);
}

.header-meta,
.header-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-family: "Courier New", monospace;
    font-weight: bold;
}

.header-meta {
    padding-bottom: 5px;
    font-size: 0.8rem;
    letter-spacing: 1px;
    border-bottom: 1px solid var(--tinta);
}

.header-bar {
    padding-top: 5px;
    font-size: 0.85rem;
    border-top: 1px solid var(--tinta);
}

.header-bar > span:nth-child(2) {
    flex: 1;
    text-align: center;
}

.header-bar > span:last-child {
    text-align: right;
}

.logo-jornal {
    width: 100%;
    margin: clamp(14px, 2.4vw, 28px) auto clamp(12px, 2vw, 22px);
    line-height: 0;
    text-align: center;
}

.logo-svg-inteira {
    display: block;
    width: min(100%, 820px);
    height: auto;
    margin-inline: auto;
    overflow: visible;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.link-arquivo-topo {
    color: var(--vermelho);
    text-decoration: none;
}

.link-arquivo-topo:hover,
.link-arquivo-topo:focus-visible {
    text-decoration: underline;
}


/* ========================================================================== 
   BANNER DE RECRUTAMENTO
   ========================================================================== */
.banner-recrutamento {
    margin-bottom: 35px;
    padding: 20px;
    color: var(--papel);
    text-align: center;
    background-color: var(--tinta);
    border: 2px dashed var(--vermelho);
}

.banner-recrutamento h2 {
    margin-bottom: 8px;
    color: #ff3333;
    font-family: "Arial Black", sans-serif;
    font-size: 1.3rem;
    font-weight: 900;
    letter-spacing: 0.5px;
}

.banner-recrutamento p {
    font-family: "Courier New", monospace;
    font-size: 0.95rem;
}

.btn-link {
    color: var(--amarelo) !important;
    font-weight: bold;
    text-decoration: underline;
}

/* ========================================================================== 
   GRID PRINCIPAL DA HOME
   ========================================================================== */
.jornal-grid-triplo {
    display: grid;
    grid-template-columns: 2.2fr 1.1fr 1fr;
    gap: 35px;
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 4px double var(--tinta);
}

.coluna-meio {
    padding-inline: 20px;
    border-right: 1px solid var(--borda);
    border-left: 1px solid var(--borda);
}

.coluna-direita {
    display: flex;
    flex-direction: column;
}

/* ========================================================================== 
   TEXTOS, MANCHETES E CARDS
   ========================================================================== */
.manchete-sangrenta {
    margin-bottom: 15px;
    color: var(--vermelho);
    font-family: Georgia, serif;
    font-size: 2.3rem;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.subtitulo-jornal {
    margin-bottom: 20px;
    color: #333333;
    font-family: Georgia, serif;
    font-size: 1.05rem;
    font-style: italic;
    text-align: justify;
}

.noticia-conteudo p {
    margin-bottom: 15px;
    color: var(--texto);
    font-family: Georgia, serif;
    font-size: 1.05rem;
    line-height: 1.6;
    text-align: justify;
}

.box-lateral {
    margin-bottom: 25px;
    padding: 18px;
    background-color: rgb(139 0 0 / 2%);
    border: 1px solid var(--borda-escura);
}

.tag-idioma {
    display: inline-block;
    margin-bottom: 12px;
    padding: 3px 8px;
    color: #ffffff;
    background-color: var(--vermelho);
    font-family: "Courier New", monospace;
    font-size: 0.7rem;
    font-weight: bold;
}

.box-lateral h3 {
    margin-bottom: 10px;
    color: var(--tinta);
    font-family: "Arial Black", sans-serif;
    font-size: 1.05rem;
    text-transform: uppercase;
}

.box-lateral p {
    margin-bottom: 12px;
    color: #333333;
    font-size: 0.9rem;
    line-height: 1.5;
    text-align: justify;
}

.leia-mais {
    color: var(--vermelho);
    font-family: "Courier New", monospace;
    font-size: 0.85rem;
    font-weight: bold;
    text-decoration: none;
}

.leia-mais:hover,
.leia-mais:focus-visible {
    text-decoration: underline;
}

.box-terror-curto {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px dashed var(--borda-escura);
}

.box-terror-curto h4 {
    margin-bottom: 8px;
    color: #000000;
    font-family: "Courier New", monospace;
    font-size: 0.95rem;
    font-weight: bold;
}

.box-terror-curto p {
    color: var(--texto-suave);
    font-size: 0.85rem;
    line-height: 1.5;
    text-align: justify;
}

/* ========================================================================== 
   CARTAZ PROCURA-SE
   ========================================================================== */
.banner-procurase-dinamico {
    margin-top: 10px;
    padding: 15px;
    text-align: center;
    background-color: var(--papel-claro);
    border: 3px dashed var(--vermelho);
}

.badge-procurase {
    margin-bottom: 15px;
    padding: 5px;
    color: #ffffff;
    background-color: var(--vermelho);
    font-family: "Arial Black", sans-serif;
    font-size: 1.1rem;
    font-weight: 900;
    letter-spacing: 2px;
}

.foto-procurase-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 3 / 4;
    margin-bottom: 12px;
    overflow: hidden;
    background-color: var(--fundo-ponto);
    border: 2px solid var(--tinta);
}

.foto-procurase-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.foto-procurase-placeholder span {
    color: #777777;
    font-family: "Courier New", monospace;
    font-size: 0.8rem;
    font-weight: bold;
}

.banner-procurase-dinamico h5 {
    margin-bottom: 5px;
    font-family: "Arial Black", sans-serif;
    font-size: 1rem;
}

.banner-procurase-dinamico p {
    color: var(--texto-suave);
    font-size: 0.8rem;
    line-height: 1.4;
    text-align: center;
}

/* ========================================================================== 
   VITRINE DE POSTS E FOTOS 16:9
   ========================================================================== */
.secao-fotos-chamadas {
    margin-bottom: 40px;
    padding-top: 0;
}

.titulo-secao-fotos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 25px;
}

.titulo-secao-fotos h3 {
    color: var(--tinta);
    font-family: "Arial Black", sans-serif;
    font-size: 1.2rem;
}

.btn-ver-todos {
    color: var(--vermelho);
    font-family: "Courier New", monospace;
    font-size: 0.85rem;
    font-weight: bold;
    text-decoration: none;
    border-bottom: 1px solid var(--vermelho);
}

.btn-ver-todos:hover,
.btn-ver-todos:focus-visible {
    color: #ff0000;
    border-bottom-color: #ff0000;
}

.grid-fotos-chamadas {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px;
}

.card-chamada-foto h4 {
    margin: 12px 0 6px;
    font-family: "Arial Black", sans-serif;
    font-size: 0.95rem;
    line-height: 1.3;
}

.card-chamada-foto p {
    color: #333333;
    font-size: 0.85rem;
    line-height: 1.5;
    text-align: justify;
}

.foto-evidencia-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background-color: #e5dac1;
    border: 1px solid var(--borda);
}

.foto-evidencia-placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.foto-evidencia-placeholder span {
    color: #777777;
    font-family: "Courier New", monospace;
    font-size: 0.8rem;
}

/* ========================================================================== 
   ARQUIVO DE MATÉRIAS
   ========================================================================== */
.arquivo-grid {
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 35px;
    margin-bottom: 40px;
    padding-bottom: 40px;
    border-bottom: 4px double var(--tinta);
}

.lista-materias-fluxo {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.item-materia-linha {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 20px;
    padding-bottom: 25px;
    border-bottom: 1px dashed var(--borda);
}

.item-materia-linha:last-of-type {
    border-bottom: 0;
}

.materia-linha-info h3 {
    margin-bottom: 5px;
    color: var(--vermelho);
    font-family: "Arial Black", sans-serif;
    font-size: 1.2rem;
}

.meta-dados-caso {
    margin-bottom: 10px;
    color: #666666;
    font-family: "Courier New", monospace;
    font-size: 0.8rem;
    font-weight: bold;
}

.materia-linha-info p {
    margin-bottom: 10px;
    color: #333333;
    font-family: Georgia, serif;
    font-size: 0.95rem;
    line-height: 1.5;
    text-align: justify;
}

.coluna-filtros-arquivo {
    padding-left: 20px;
    border-left: 1px solid var(--borda);
}

.box-filtro-categoria {
    padding: 20px;
    background-color: rgb(0 0 0 / 2%);
    border: 1px solid var(--tinta);
}

.box-filtro-categoria h4 {
    margin-bottom: 15px;
    padding-bottom: 8px;
    font-family: "Arial Black", sans-serif;
    font-size: 1rem;
    border-bottom: 2px solid var(--tinta);
}

.lista-filtros {
    list-style: none;
}

.lista-filtros li {
    margin-bottom: 10px;
}

.lista-filtros a {
    display: block;
    color: var(--tinta);
    font-family: "Courier New", monospace;
    font-size: 0.9rem;
    font-weight: bold;
    text-decoration: none;
}

.lista-filtros a:hover,
.lista-filtros a:focus-visible {
    color: var(--vermelho);
    text-decoration: underline;
}

.paginacao-jornal {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
    font-family: "Courier New", monospace;
    font-weight: bold;
}

.paginacao-jornal a,
.paginacao-jornal span {
    padding: 5px 10px;
    color: var(--tinta);
    text-decoration: none;
    border: 1px solid var(--tinta);
}

.paginacao-jornal .ativa {
    color: #ffffff;
    background-color: var(--vermelho);
    border-color: var(--vermelho);
}

/* ========================================================================== 
   MATÉRIA INTERNA
   ========================================================================== */
.leitura-interna-container {
    width: 100%;
    max-width: 800px;
    margin: 0 auto 40px;
}

.tag-idioma-interna {
    margin-bottom: 15px;
}

.manchete-interna {
    margin-bottom: 10px;
    font-size: 2.8rem;
}

.subtitulo-interno {
    margin-bottom: 25px;
    font-size: 1.15rem;
}

.foto-evidencia-destaque {
    margin-bottom: 30px;
    border: 2px solid var(--tinta);
}

.noticia-conteudo-interno {
    padding-bottom: 30px;
    border-bottom: 1px dashed var(--borda);
}

.navegacao-casos {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 25px;
    font-family: "Courier New", monospace;
    font-size: 0.9rem;
    font-weight: bold;
}

.navegacao-casos-link {
    color: var(--vermelho);
    text-decoration: none;
}

.navegacao-casos-link:hover,
.navegacao-casos-link:focus-visible {
    text-decoration: underline;
}

/* ========================================================================== 
   RODAPÉ E NEWSLETTER
   ========================================================================== */
.newsletter-container {
    margin-bottom: 25px;
    padding: 30px;
    text-align: center;
    background-color: rgb(0 0 0 / 2%);
    border: 1px solid var(--tinta);
}

.newsletter-container h3 {
    margin-bottom: 10px;
    font-family: "Arial Black", sans-serif;
    font-size: 1.4rem;
    font-weight: 900;
}

.newsletter-container p {
    margin-bottom: 20px;
    color: #333333;
    font-size: 0.9rem;
}

.newsletter-form {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.newsletter-form input {
    width: min(50%, 520px);
    padding: 12px;
    background-color: #ffffff;
    border: 1px solid var(--tinta);
}

.newsletter-form button {
    padding: 12px 25px;
    color: #ffffff;
    background-color: var(--vermelho);
    border: 0;
    font-family: "Courier New", monospace;
    font-weight: bold;
    cursor: pointer;
}

.copyright {
    color: #666666;
    font-family: "Courier New", monospace;
    font-size: 0.75rem;
    text-align: center;
}

/* ========================================================================== 
   RESPONSIVIDADE
   ========================================================================== */
@media (max-width: 1024px) {
    .jornal-grid-triplo,
    .arquivo-grid {
        grid-template-columns: 1fr;
    }

    .coluna-meio {
        padding-inline: 0;
        padding-block: 20px;
        border-right: 0;
        border-left: 0;
        border-top: 1px dashed var(--borda);
        border-bottom: 1px dashed var(--borda);
    }

    .coluna-direita,
    .coluna-filtros-arquivo,
    .jornal-grid-triplo.sem-casos-investigaveis .coluna-direita {
        grid-column: span 1;
        padding-top: 20px;
        padding-left: 0;
        border-top: 1px dashed var(--borda);
        border-left: 0;
    }

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

@media (max-width: 768px) {
    body {
        padding: 12px;
    }

    .jornal-container {
        padding: 24px 18px;
    }

    .header-meta,
    .header-bar {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
        text-align: left;
    }

    .header-bar > span:nth-child(2),
    .header-bar > span:last-child {
        text-align: left;
    }

    .jornal-grid-triplo {
        gap: 24px;
    }

    .grid-fotos-chamadas {
        grid-template-columns: 1fr;
    }

    .item-materia-linha {
        grid-template-columns: 1fr;
    }

    .newsletter-form {
        flex-direction: column;
    }

    .newsletter-form input {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .jornal-container {
        padding: 18px 14px;
    }

    .manchete-sangrenta {
        font-size: 1.8rem !important;
    }

    .newsletter-container {
        padding: 20px 14px;
    }
}

/* ========================================================================== 
   DESAPARECEU DINÂMICO · PATCH 021
   ========================================================================== */
.logo-jornal { display:block; }
.header-bar a { color: var(--vermelho); text-decoration: none; }
.banner-editorial {
    margin: 0 0 34px;
    padding: 0;
    line-height: 0;
    background: transparent;
    border: 0;
}
.banner-editorial a {
    display: block;
    line-height: 0;
    background: transparent;
    border: 0;
}
.banner-editorial img {
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}
.capa-destaque {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    margin: 0 0 20px;
    border: 1px solid var(--borda-escura);
}
.leia-mais-destaque { display: inline-block; margin-top: 6px; }
.box-lateral h2,
.box-terror-curto h2 {
    margin-bottom: 10px;
    color: var(--tinta);
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 1rem;
    text-transform: uppercase;
}
.box-terror-curto a,
.card-chamada-foto a,
.materia-linha-info a { color: inherit; text-decoration: none; }
.foto-cartaz {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
}
.cartaz-imagem-direta {
    margin-top: 12px;
    padding: 0;
    line-height: 0;
    background: transparent;
    border: 0;
}
.cartaz-imagem-direta a {
    display: block;
    line-height: 0;
    background: transparent;
    border: 0;
}
.cartaz-lateral {
    margin-top: 0;
}
.arquivo-sidebar-stack {
    display: grid;
    gap: 24px;
}
.arquivo-confidencial-vazio {
    padding: 18px;
    color: var(--texto-suave);
    background: rgb(139 0 0 / 2%);
    border: 1px dashed var(--borda-escura);
}
.arquivo-confidencial-vazio p {
    font-family: Georgia, serif;
    font-size: 0.9rem;
    line-height: 1.5;
}
.card-chamada-foto > a > .foto-evidencia-placeholder,
.item-materia-linha > a > .foto-evidencia-placeholder {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}
.archive-search {
    padding: 18px;
    background: rgb(0 0 0 / 2%);
    border: 1px solid var(--tinta);
}
.archive-search > label {
    display: block;
    margin-bottom: 10px;
    font-family: "Arial Black", Arial, sans-serif;
}
.archive-search > div { display: flex; gap: 8px; }
.archive-search input { flex: 1; min-width: 0; padding: 11px; border: 1px solid var(--tinta); }
.archive-search button { padding: 11px 18px; color: #fff; background: var(--vermelho); border: 0; font-family: "Courier New",monospace; font-weight:bold; }
.team-list { display: grid; gap: 15px; }
.team-list article { display: grid; grid-template-columns: 52px 1fr; gap: 10px; align-items: center; }
.team-list img { width: 52px; height: 52px; object-fit: cover; filter: grayscale(1); border: 1px solid var(--tinta); }
.team-list strong,.team-list span { display:block; }
.team-list strong { font-size:.9rem; }
.team-list span { margin-top:3px; color:#555; font-size:.75rem; }
.article-byline { margin: 0 0 24px; padding: 8px 0; font: bold .78rem/1.4 "Courier New",monospace; border-top: 1px solid var(--borda); border-bottom: 1px solid var(--borda); }
img.foto-evidencia-destaque { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; }
.noticia-conteudo-interno img { display:block; max-width:100%; height:auto; margin:20px auto; }
.noticia-conteudo-interno h2,.noticia-conteudo-interno h3 { margin:26px 0 10px; font-family:Georgia,serif; }
.noticia-conteudo-interno blockquote { margin:20px 0; padding:10px 20px; border-left:4px solid var(--vermelho); font-style:italic; }
.game-case-cta { margin: 30px 0; padding: 24px; text-align:center; color:#fff; background:#181818; border:2px dashed var(--vermelho-claro); }
.game-case-cta h2 { margin-bottom:14px; color:#ff3434; font:900 1.15rem/1.25 "Arial Black",Arial,sans-serif; }
.game-case-cta a { display:inline-block; padding:11px 18px; color:#111; background:var(--amarelo); font:bold .85rem "Courier New",monospace; text-decoration:none; }
.empty-state { padding:40px 24px; text-align:center; border:1px dashed var(--borda-escura); }
.empty-state h1,.empty-state h2 { margin-bottom:12px; color:var(--vermelho); font-family:Georgia,serif; }
.page-404 { min-height:300px; display:grid; place-content:center; margin-bottom:35px; }
.newsletter-form button:disabled { opacity:.7; cursor:wait; }

@media (max-width: 768px) {
    .archive-search > div { flex-direction:column; }
    .header-bar > span:empty { display:none; }
}

/* ========================================================================== 
   REDAÇÃO E PERFIS DA EQUIPE
   ========================================================================== */
.team-sidebar h2 {
    margin-bottom: 15px;
    padding-bottom: 8px;
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 1.05rem;
    line-height: 1;
    border-bottom: 2px solid var(--tinta);
}

.team-list a {
    display: block;
    color: inherit;
    text-decoration: none;
}

.team-list article {
    padding: 4px;
    transition: background-color .15s ease, transform .15s ease;
}

.team-list a:hover article,
.team-list a:focus-visible article {
    background: rgb(139 0 0 / 7%);
    transform: translateX(3px);
}

.team-avatar-placeholder {
    display: grid !important;
    place-items: center;
    width: 52px;
    height: 52px;
    margin: 0 !important;
    color: var(--papel-claro) !important;
    background: var(--tinta);
    border: 1px solid var(--tinta);
    font: 900 1.35rem/1 "Arial Black", Arial, sans-serif !important;
}

.article-byline a {
    color: var(--vermelho);
    text-decoration: none;
}

.article-byline a:hover,
.article-byline a:focus-visible {
    text-decoration: underline;
}

.team-profile-page {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 40px;
}

.team-profile-card {
    display: grid;
    grid-template-columns: minmax(260px, 360px) minmax(0, 1fr);
    gap: clamp(28px, 5vw, 60px);
    align-items: start;
    padding-bottom: 40px;
    border-bottom: 4px double var(--tinta);
}

.team-profile-photo {
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    color: var(--papel-claro);
    background: var(--tinta);
    border: 1px solid var(--tinta);
    font: 900 5rem/1 "Arial Black", Arial, sans-serif;
}

.team-profile-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1);
}

.team-profile-main h1 {
    margin: 0 0 8px;
    color: var(--vermelho);
    font-family: Georgia, serif;
    font-size: clamp(2.2rem, 5vw, 4rem);
    line-height: .98;
    text-transform: uppercase;
}

.team-profile-role {
    margin-bottom: 16px;
    font: 900 1.1rem/1.3 "Arial Black", Arial, sans-serif;
    text-transform: uppercase;
}

.team-profile-sector {
    margin-bottom: 24px;
    padding: 9px 0;
    font: .82rem/1.45 "Courier New", monospace;
    border-top: 1px solid var(--borda);
    border-bottom: 1px solid var(--borda);
}

.team-profile-bio {
    color: var(--texto);
    font: 1.08rem/1.7 Georgia, serif;
    text-align: justify;
}

.team-profile-contact {
    margin-top: 26px;
    padding: 16px;
    background: rgb(0 0 0 / 3%);
    border: 1px solid var(--borda-escura);
}

.team-profile-contact span,
.team-profile-contact a {
    display: block;
    font-family: "Courier New", monospace;
}

.team-profile-contact span {
    margin-bottom: 6px;
    font-size: .72rem;
    font-weight: bold;
    letter-spacing: 1px;
}

.team-profile-contact a {
    color: var(--vermelho);
    font-size: .92rem;
    font-weight: bold;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.team-profile-contact a:hover,
.team-profile-contact a:focus-visible {
    text-decoration: underline;
}

.team-profile-quote {
    max-width: 820px;
    margin: 34px auto;
    padding: 22px 30px;
    color: var(--vermelho);
    font: italic 1.35rem/1.5 Georgia, serif;
    text-align: center;
    border-top: 1px solid var(--borda-escura);
    border-bottom: 1px solid var(--borda-escura);
}

.team-authored-posts {
    padding-top: 28px;
    border-top: 4px double var(--tinta);
}

.team-authored-posts .titulo-secao-fotos h2 {
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 1.1rem;
}

.team-authored-posts .card-chamada-foto h3 {
    margin: 12px 0 6px;
    font-family: "Arial Black", Arial, sans-serif;
    font-size: .95rem;
    line-height: 1.3;
}

.team-authored-posts .card-chamada-foto a {
    color: inherit;
    text-decoration: none;
}

.team-authored-posts .card-chamada-foto a:hover h3,
.team-authored-posts .card-chamada-foto a:focus-visible h3 {
    color: var(--vermelho);
    text-decoration: underline;
}

@media (max-width: 768px) {
    .team-profile-card {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .team-profile-photo {
        max-width: 420px;
        margin-inline: auto;
    }

    .team-profile-main h1 {
        font-size: 2.35rem;
    }

    .team-profile-bio {
        text-align: left;
    }

    .team-profile-quote {
        padding-inline: 14px;
        font-size: 1.12rem;
    }
}

/* ========================================================================== 
   PATCH 028 — MENSAGENS E AUTORIZAÇÃO WEB PUSH POR TOAST
   ========================================================================== */
.dp-toast {
    position: fixed;
    z-index: 9999;
    right: max(20px, env(safe-area-inset-right));
    bottom: max(20px, env(safe-area-inset-bottom));
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px 18px;
    width: min(430px, calc(100vw - 32px));
    padding: 18px 18px 16px;
    color: var(--tinta);
    background: var(--papel-claro);
    border: 2px solid var(--tinta);
    box-shadow: 8px 8px 0 rgb(0 0 0 / 18%);
    font-family: "Courier New", monospace;
    opacity: 0;
    transform: translateY(18px);
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
}

.dp-toast::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: var(--vermelho);
}

.dp-toast.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.dp-toast-copy {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding-left: 7px;
}

.dp-toast-copy strong {
    color: var(--vermelho);
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dp-toast-copy span {
    font-size: .88rem;
    font-weight: bold;
    line-height: 1.5;
}

.dp-toast-actions {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    padding-left: 7px;
}

.dp-toast-actions:empty {
    display: none;
}

.dp-toast-actions button,
.dp-toast-close {
    font: bold .75rem/1 "Courier New", monospace;
    cursor: pointer;
}

.dp-toast-actions button {
    min-height: 38px;
    padding: 0 14px;
}

.dp-toast-primary {
    color: #fff;
    background: var(--vermelho);
    border: 1px solid var(--vermelho);
}

.dp-toast-secondary {
    color: var(--tinta);
    background: transparent;
    border: 1px solid var(--tinta);
}

.dp-toast-close {
    align-self: start;
    width: 30px;
    height: 30px;
    color: var(--tinta);
    background: transparent;
    border: 1px solid var(--borda-escura);
}

.dp-toast[data-type="success"]::before { background: #466b28; }
.dp-toast[data-type="success"] .dp-toast-copy strong { color: #36571d; }
.dp-toast[data-type="warning"]::before { background: #9a6700; }
.dp-toast[data-type="warning"] .dp-toast-copy strong { color: #7d5200; }
.dp-toast[data-type="error"]::before { background: var(--vermelho-claro); }

@media (max-width: 600px) {
    .dp-toast {
        right: 16px;
        bottom: max(16px, env(safe-area-inset-bottom));
        left: 16px;
        width: auto;
    }

    .dp-toast-actions button {
        flex: 1;
    }
}

/* ========================================================================== 
   PATCH 036 — TERMOS DE USO E POLÍTICA DE PRIVACIDADE
   ========================================================================== */
.footer-legal-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 12px;
    margin: 0 0 18px;
    font-family: "Courier New", monospace;
    font-size: .78rem;
    font-weight: bold;
}

.footer-legal-links a {
    color: var(--vermelho);
    text-decoration: none;
}

.footer-legal-links a:hover,
.footer-legal-links a:focus-visible {
    text-decoration: underline;
}

.footer-legal-links span {
    color: var(--borda-escura);
}

.footer-social-links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 0 16px;
    font-family: "Courier New", monospace;
    font-size: .76rem;
    font-weight: bold;
}

.footer-social-links a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 10px;
    color: var(--vermelho);
    background: rgb(139 0 0 / 2%);
    border: 1px solid var(--borda-escura);
    text-decoration: none;
    transition: color .15s ease, background-color .15s ease, transform .15s ease;
}

.footer-social-links a:hover,
.footer-social-links a:focus-visible {
    color: var(--papel-claro);
    background: var(--vermelho);
    transform: translateY(-2px);
    outline: none;
}

.footer-social-links svg {
    width: 16px;
    height: 16px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.footer-social-links svg path { fill: currentColor; stroke: none; }
.footer-social-links .social-icon-dot { fill: currentColor; stroke: none; }

.legal-document {
    width: min(900px, 100%);
    margin: 0 auto 42px;
}

.legal-document-heading {
    margin-bottom: 28px;
    padding-bottom: 24px;
    border-bottom: 4px double var(--tinta);
}

.legal-document-heading span {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--vermelho);
    font-family: "Courier New", monospace;
    font-size: .78rem;
    font-weight: bold;
    letter-spacing: .08em;
}

.legal-document-heading h1 {
    margin: 0 0 12px;
    color: var(--vermelho);
    font: 900 clamp(2.2rem, 6vw, 4.2rem)/1 Georgia, serif;
    text-transform: uppercase;
}

.legal-document-heading p {
    max-width: 760px;
    margin: 0;
    color: var(--texto-suave);
    font: italic 1.08rem/1.6 Georgia, serif;
}

.legal-document-body {
    padding: clamp(22px, 4vw, 42px);
    background: rgb(255 255 255 / 18%);
    border: 1px solid var(--borda-escura);
}

.legal-document-body h2,
.legal-document-body h3,
.legal-document-body h4 {
    margin: 30px 0 10px;
    color: var(--tinta);
    font-family: "Arial Black", Arial, sans-serif;
    line-height: 1.2;
}

.legal-document-body h2 { font-size: 1.3rem; }
.legal-document-body h3 { font-size: 1.1rem; }
.legal-document-body h4 { font-size: 1rem; }
.legal-document-body > :first-child { margin-top: 0; }

.legal-document-body p,
.legal-document-body li {
    color: var(--texto);
    font: 1rem/1.75 Georgia, serif;
}

.legal-document-body p { margin: 0 0 16px; }
.legal-document-body ul,
.legal-document-body ol { margin: 14px 0 22px 24px; }
.legal-document-body li + li { margin-top: 8px; }

.legal-document-body a {
    color: var(--vermelho);
    font-weight: bold;
    text-underline-offset: 3px;
}

.legal-document-body blockquote {
    margin: 24px 0;
    padding: 16px 20px;
    color: var(--vermelho);
    font: italic 1.05rem/1.65 Georgia, serif;
    background: rgb(139 0 0 / 3%);
    border-left: 4px solid var(--vermelho);
}

@media (max-width: 600px) {
    .legal-document-heading h1 {
        font-size: 2rem;
    }

    .legal-document-body {
        padding: 20px 16px;
    }
}


/* ========================================================================== 
   RELEVÂNCIA E COMENTÁRIOS DOS INVESTIGADORES
   ========================================================================== */
.article-relevance {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 28px 0 34px;
    padding: 18px 0;
    border-top: 1px dashed var(--borda-escura);
    border-bottom: 1px dashed var(--borda-escura);
}
.relevance-button {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 15px;
    color: var(--vermelho);
    background: transparent;
    border: 1px solid var(--vermelho);
    font-family: "Courier New", monospace;
    font-size: .82rem;
    font-weight: 800;
    cursor: pointer;
}
.relevance-button:hover,
.relevance-button:focus-visible,
.relevance-button.is-active {
    color: #fff;
    background: var(--vermelho);
}
.relevance-button:disabled { opacity: .55; cursor: wait; }
.article-relevance p {
    margin: 0;
    color: var(--texto-suave);
    font-family: "Courier New", monospace;
    font-size: .82rem;
}
.article-relevance p strong { color: var(--vermelho); font-size: 1rem; }

.article-comments {
    margin: 40px 0;
    padding-top: 30px;
    border-top: 4px double var(--tinta);
}
.article-comments-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 22px;
}
.article-comments-header span,
.comment-submission-copy > span {
    display: block;
    margin-bottom: 5px;
    color: var(--vermelho);
    font-family: "Courier New", monospace;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
}
.article-comments-header h2,
.comment-submission-copy h3 {
    margin: 0;
    font-family: "Arial Black", Arial, sans-serif;
    font-size: 1.12rem;
    text-transform: uppercase;
}
.article-comments-header > strong {
    min-width: 45px;
    padding: 8px 10px;
    color: #fff;
    background: var(--vermelho);
    font-family: "Courier New", monospace;
    text-align: center;
}
.comments-list { display: grid; gap: 14px; }
.reader-comment {
    padding: 18px;
    background: rgb(255 255 255 / 24%);
    border-left: 3px solid var(--vermelho);
}
.reader-comment header {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 16px;
    margin-bottom: 10px;
    font-family: "Courier New", monospace;
}
.reader-comment header strong { font-size: .9rem; text-transform: uppercase; }
.reader-comment time { color: #6b6255; font-size: .75rem; }
.reader-comment p {
    margin: 0;
    color: var(--texto);
    font-family: Georgia, serif;
    line-height: 1.65;
}
.comments-empty {
    margin: 0;
    padding: 18px;
    color: #6b6255;
    border: 1px dashed var(--borda-escura);
    font-family: Georgia, serif;
    font-style: italic;
}
.comment-submission {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 30px;
    margin-top: 30px;
    padding: 26px;
    background: rgb(0 0 0 / 2%);
    border: 1px solid var(--tinta);
}
.comment-submission-copy p {
    margin: 13px 0;
    color: var(--texto-suave);
    font-size: .9rem;
    line-height: 1.6;
}
.comment-submission-copy a {
    color: var(--vermelho);
    font-family: "Courier New", monospace;
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
}
.comment-submission-copy a:hover,
.comment-submission-copy a:focus-visible { text-decoration: underline; }
.comment-form { display: grid; gap: 14px; }
.comment-form label {
    display: grid;
    gap: 7px;
    font-family: "Courier New", monospace;
    font-size: .78rem;
    font-weight: 800;
    text-transform: uppercase;
}
.comment-form input,
.comment-form textarea {
    width: 100%;
    padding: 12px;
    color: var(--texto);
    background: var(--papel-claro);
    border: 1px solid var(--tinta);
    font: 1rem Arial, sans-serif;
    text-transform: none;
}
.comment-form textarea { resize: vertical; }
.comment-form button {
    justify-self: start;
    padding: 12px 18px;
    color: #fff;
    background: var(--vermelho);
    border: 0;
    font-family: "Courier New", monospace;
    font-weight: 800;
    cursor: pointer;
}
.comment-form button:disabled { opacity: .55; cursor: wait; }

@media (max-width: 720px) {
    .article-relevance { align-items: stretch; flex-direction: column; }
    .relevance-button { justify-content: center; width: 100%; }
    .comment-submission { grid-template-columns: 1fr; padding: 20px 16px; }
    .article-comments-header { align-items: flex-start; }
}


/* Ajuste 057 — relevância e redação completa */
.relevance-button .relevance-thumb { flex: 0 0 auto; width: 19px; height: 19px; transform: translateY(-1px); }
.relevance-button.is-active .relevance-thumb { fill: currentColor; }
.team-list { align-content: start; }

/* ========================================================================== 
   RÁDIO DESAPARECEU! · PATCH 072
   ========================================================================== */
.header-bar > span:last-child{min-width:min(420px,46%)}.dp-radio{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:38px;padding:4px 7px;color:var(--tinta);text-align:left;border:1px solid var(--tinta);background:var(--papel-claro);font-family:"Courier New",monospace}.dp-radio-toggle{display:grid;place-items:center;width:30px;height:30px;padding:0;color:var(--papel);background:var(--vermelho);border:1px solid var(--vermelho);font-weight:900;cursor:pointer}.dp-radio-toggle:hover,.dp-radio-toggle:focus-visible{color:var(--vermelho);background:var(--papel);outline:none}.dp-radio-toggle[disabled]{opacity:.45;cursor:not-allowed}.dp-radio-copy{display:flex;flex-direction:column;min-width:0;line-height:1.15}.dp-radio-copy strong{font-size:.72rem;letter-spacing:.06em}.dp-radio-copy small{display:block;overflow:hidden;color:var(--vermelho);font-size:.62rem;white-space:nowrap;text-overflow:ellipsis}.dp-radio-live{padding:2px 4px;color:var(--papel);background:#3f8f2f;border:1px solid #2d6a20;font-size:.55rem;letter-spacing:.07em;box-shadow:inset 0 0 0 1px rgb(255 255 255 / 8%)}.dp-radio.is-playing .dp-radio-live{background:#4ea63a;border-color:#2f7d24;animation:dp-radio-pulse 1.8s ease-in-out infinite}.dp-radio audio{display:none}.dp-radio.is-buffering .dp-radio-live{background:#8b6508;border-color:#6d4e04;animation:dp-radio-pulse .9s ease-in-out infinite}.dp-radio.is-buffering .dp-radio-copy small{color:#8b6508}@keyframes dp-radio-pulse{0%,100%{opacity:1}50%{opacity:.55}}
@media(max-width:820px){.header-bar{display:grid;grid-template-columns:1fr;gap:8px}.header-bar>span,.header-bar>span:nth-child(2),.header-bar>span:last-child{min-width:0;text-align:center}.dp-radio{max-width:520px;margin-inline:auto;text-align:left}}
@media(max-width:520px){.dp-radio{grid-template-columns:32px minmax(0,1fr)}.dp-radio-live{display:none}.dp-radio-copy strong{font-size:.68rem}.dp-radio-copy small{font-size:.58rem}}

/* PATCH 076 · Contexto editorial realmente abaixo da linha preta. */
.header-bar-right{
    display:block;
    width:min(440px,46vw);
    min-width:min(420px,46%);
}
.jornal-header.has-context-below{
    margin-bottom:0;
}
.header-context-row{
    display:flex;
    justify-content:flex-end;
    min-height:16px;
    margin:6px 0 25px;
}
.header-context-right{
    display:block;
    width:min(440px,46vw);
    color:var(--tinta);
    font:700 .67rem/1.2 "Courier New",monospace;
    letter-spacing:.055em;
    text-align:right;
    text-transform:uppercase;
}
.dp-radio{
    grid-template-columns:34px minmax(0,1fr) auto 30px;
}
.dp-radio-popup{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    padding:0;
    color:var(--vermelho);
    background:transparent;
    border:1px solid var(--borda-escura);
    font:900 1rem/1 "Courier New",monospace;
    cursor:pointer;
}
.dp-radio-popup:hover,.dp-radio-popup:focus-visible{
    color:var(--papel);
    background:var(--vermelho);
    border-color:var(--vermelho);
    outline:none;
}
.radio-popup-page{
    min-height:100vh;
    display:grid;
    place-items:center;
    padding:22px;
    background-color:var(--papel);
    background-image:radial-gradient(rgba(80,55,24,.16) .7px,transparent .7px);
    background-size:24px 24px;
}
.radio-popup-shell{
    width:min(100%,520px);
    padding:30px;
    color:var(--tinta);
    background:var(--papel-claro);
    border:1px solid var(--borda-escura);
    box-shadow:0 14px 45px rgba(0,0,0,.2);
}
.radio-popup-logo{display:block;margin:0 0 22px;line-height:0}
.radio-popup-logo img{display:block;width:100%;height:auto}
.radio-popup-kicker{
    display:block;
    margin-bottom:6px;
    color:var(--vermelho);
    font:700 .68rem/1.2 "Courier New",monospace;
    letter-spacing:.08em;
}
.radio-popup-shell h1{
    margin:0 0 10px;
    color:var(--vermelho);
    font:900 clamp(1.65rem,7vw,2.55rem)/1 "Arial Black",Arial,sans-serif;
}
.radio-popup-shell>p{
    margin:0 0 22px;
    font:400 .9rem/1.55 Georgia,serif;
}
.dp-radio-standalone{
    grid-template-columns:48px minmax(0,1fr) auto;
    min-height:68px;
    padding:9px;
    border-width:2px;
}
.dp-radio-standalone .dp-radio-toggle{width:46px;height:46px;font-size:1.05rem}
.dp-radio-standalone .dp-radio-copy strong{font-size:.9rem}
.dp-radio-standalone .dp-radio-copy small{font-size:.7rem;white-space:normal}
.radio-popup-help{
    display:flex;
    flex-direction:column;
    gap:4px;
    margin-top:18px;
    padding:13px 14px;
    border-left:4px solid var(--vermelho);
    background:rgba(139,0,0,.06);
    font-family:"Courier New",monospace;
}
.radio-popup-help strong{font-size:.72rem;color:var(--vermelho)}
.radio-popup-help span{font-size:.68rem;line-height:1.45}
.radio-popup-actions{display:flex;justify-content:space-between;gap:10px;margin-top:22px}
.radio-popup-actions a,.radio-popup-actions button{
    padding:9px 12px;
    color:var(--vermelho);
    background:transparent;
    border:1px solid var(--vermelho);
    font:700 .7rem "Courier New",monospace;
    text-decoration:none;
    cursor:pointer;
}
.radio-popup-actions a:hover,.radio-popup-actions button:hover{color:var(--papel);background:var(--vermelho)}
@media(max-width:820px){
    .header-bar-right{width:100%;min-width:0}
    .header-context-row{justify-content:center}
    .header-context-right{width:100%;text-align:center}
    .dp-radio{width:min(100%,520px);margin-inline:auto}
}
@media(max-width:520px){
    .dp-radio:not(.dp-radio-standalone){grid-template-columns:32px minmax(0,1fr) 28px}
    .dp-radio:not(.dp-radio-standalone) .dp-radio-live{display:none}
    .radio-popup-page{padding:10px}
    .radio-popup-shell{padding:20px}
    .radio-popup-actions{flex-direction:column}
    .radio-popup-actions a,.radio-popup-actions button{text-align:center}
}

/* PATCH 080 — listas editoriais com recuo e leitura consistentes. */
.noticia-conteudo-interno ul,
.noticia-conteudo-interno ol {
    margin: 14px 0 22px;
    padding-left: 1.7rem;
}
.noticia-conteudo-interno ul { list-style: disc outside; }
.noticia-conteudo-interno ol { list-style: decimal outside; }
.noticia-conteudo-interno li {
    margin: 5px 0;
    padding-left: .2rem;
    line-height: 1.45;
}
.noticia-conteudo-interno li::marker {
    color: var(--tinta);
    font-weight: 700;
}
.noticia-conteudo-interno li > ul,
.noticia-conteudo-interno li > ol {
    margin: 6px 0 8px;
}

/* PATCH 088 · Acesso manual às notificações sem depender do aviso automático. */
.footer-notification-button{
    padding:0;
    color:inherit;
    background:transparent;
    border:0;
    font:inherit;
    text-decoration:underline;
    cursor:pointer;
}
.footer-notification-button:hover,.footer-notification-button:focus-visible{color:var(--vermelho);outline:none}
