/* ==========================================================================
   artigos.css
   Listagem (/artigos/), categorias (/artigos/categoria/...) e a página de
   cada artigo, desde 2026-10-23. A capa escura, a trilha, a assinatura, o
   .texto (prosa), o .fecho e o .cta vivem em base.css; aqui fica só o que é
   da seção de Artigos.
   ========================================================================== */

/* ---------- FILTRO POR CATEGORIA ----------
   Links em pílula, não botões: cada um leva à página da categoria. Alvo de
   44px de altura. A categoria aberta fica violeta cheia (aria-current). */
.filtro ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.filtro a{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;
 background:#fff;border:1px solid var(--areia-borda);color:var(--violeta);font-size:14px;font-weight:600;
 text-decoration:none}
.filtro a:hover{border-color:var(--dourado)}
.filtro a[aria-current]{background:var(--violeta);border-color:var(--violeta);color:#fff}
.filtro a:focus-visible,.paginacao a:focus-visible,.compartilhar a:focus-visible,.compartilhar button:focus-visible{
 outline:3px solid var(--violeta);outline-offset:3px}

/* ---------- CARDS DE ARTIGO ----------
   O card inteiro é clicável pelo ::after do link do título, que cobre o
   card; o foco do teclado desenha o contorno no card todo (:focus-within). */
.cards-artigos{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;
 margin:36px 0 0;padding:0}
.card-artigo{position:relative;display:flex;flex-direction:column;background:#fff;
 border:1px solid var(--areia-borda);border-radius:16px;overflow:hidden;
 transition:border-color .25s ease,box-shadow .25s ease}
.card-artigo:hover{border-color:rgba(209,176,78,.8);box-shadow:0 14px 30px rgba(46,12,94,.10)}
.card-artigo:focus-within{outline:3px solid var(--violeta);outline-offset:3px}
.card-artigo-capa{aspect-ratio:2/1;background:var(--violeta-esc);border-bottom:3px solid var(--dourado)}
.card-artigo-capa img{display:block;width:100%;height:100%;object-fit:cover}
.card-artigo-texto{display:flex;flex-direction:column;padding:22px 24px 26px}
.card-artigo-categoria{order:-1;margin:0 0 10px;font-size:11.5px;font-weight:600;letter-spacing:.2em;
 text-transform:uppercase;color:#8A6F1E}
.card-artigo .card-artigo-titulo{margin:0 0 10px;max-width:none;font-family:'Playfair Display',serif;
 font-size:21px;font-weight:500;line-height:1.3;color:var(--violeta)}
.card-artigo-titulo a{color:inherit;text-decoration:none}
.card-artigo-titulo a:after{content:"";position:absolute;inset:0;z-index:1}
.card-artigo-titulo a:focus{outline:none}
.card-artigo:hover .card-artigo-titulo a{text-decoration:underline;text-underline-offset:4px;
 text-decoration-color:rgba(209,176,78,.8)}
.card-artigo-data{margin:0 0 12px;font-size:13px;color:#6B6577}
.card-artigo-resumo{margin:0;font-size:15px;line-height:1.7;color:#57525F;font-weight:300}

/* ---------- PAGINAÇÃO ----------
   "Página X de N" em texto, acima dos links. Número e setas com alvo de
   44px; a página atual em violeta cheio, com aria-current. */
.paginacao{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:52px}
.paginacao-total{margin:0;font-size:14px;color:#57525F}
.paginacao ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0}
.paginacao a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;
 min-height:44px;padding:0 14px;border-radius:999px;background:#fff;border:1px solid var(--areia-borda);
 color:var(--violeta);font-size:15px;font-weight:600;text-decoration:none}
.paginacao a:hover{border-color:var(--dourado)}
.paginacao a[aria-current]{background:var(--violeta);border-color:var(--violeta);color:#fff}
.paginacao .paginacao-seta{padding:0 18px}

/* ---------- PÁGINA DO ARTIGO: CAPA ----------
   Texto à esquerda e imagem de capa à direita; até 1000px, a imagem desce
   para baixo do texto. A imagem mantém a proporção que a Monica enviou. */
.artigo-capa{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:center}
.artigo .capa h1{font-size:clamp(32px,3vw,48px);line-height:1.15;color:#fff;margin-bottom:22px}
.artigo-categoria{margin:0 0 18px;font-size:12px;letter-spacing:.24em;text-transform:uppercase}
.artigo-categoria a{color:var(--dourado);text-decoration:none;border-bottom:1px solid rgba(209,176,78,.55)}
.artigo-categoria a:hover{color:var(--dourado-cl)}
.artigo-categoria a:focus-visible,.trilha a:focus-visible{outline:3px solid var(--dourado-cl);outline-offset:3px}
.artigo-capa-imagem img{display:block;width:100%;height:auto;border-radius:16px;
 border:1px solid rgba(209,176,78,.45);box-shadow:0 18px 40px rgba(0,0,0,.35)}

/* ---------- PÁGINA DO ARTIGO: TEXTO DA MONICA ----------
   A prosa de base.css (.texto) não se aplica aqui porque o Markdown traz
   elementos que ela não cobre (lista numerada, citação, tabela, imagem). A
   medida e as cores são as mesmas. */
.artigo-texto{max-width:760px}
.artigo-texto > :first-child{margin-top:0}
.artigo-texto p{font-size:17px;line-height:1.85;color:#57525F;font-weight:300;margin:0 0 20px}
.artigo-texto strong{color:#3F3A4A;font-weight:600}
.artigo-texto h2{margin:52px 0 16px;max-width:none}
.artigo-texto h3{font-family:'Playfair Display',serif;font-size:23px;font-weight:500;color:var(--violeta);
 line-height:1.3;margin:36px 0 12px}
.artigo-texto h4,.artigo-texto h5,.artigo-texto h6{font-size:17px;font-weight:600;color:var(--violeta);margin:28px 0 10px}
.artigo-texto a{color:var(--violeta);text-decoration:underline;text-underline-offset:3px;
 text-decoration-color:rgba(209,176,78,.7)}
.artigo-texto a:hover{background:rgba(209,176,78,.16)}
.artigo-texto a:focus-visible{outline:3px solid var(--violeta);outline-offset:2px}
.artigo-texto ul,.artigo-texto ol{margin:0 0 22px;padding:0;display:grid;gap:10px}
.artigo-texto ul{list-style:none}
.artigo-texto ul > li{position:relative;padding-left:22px}
.artigo-texto ul > li:before{content:"";position:absolute;left:2px;top:11px;width:6px;height:6px;
 border-radius:50%;background:var(--dourado)}
.artigo-texto ol{list-style:none;counter-reset:item}
.artigo-texto ol > li{position:relative;padding-left:40px;counter-increment:item}
.artigo-texto ol > li:before{content:counter(item);position:absolute;left:0;top:1px;width:28px;height:28px;
 border-radius:50%;background:var(--violeta);color:var(--dourado-cl);display:flex;align-items:center;
 justify-content:center;font-size:13.5px;font-weight:600}
.artigo-texto li{font-size:16.5px;line-height:1.75;color:#57525F;font-weight:300}
.artigo-texto li p{margin:0}
.artigo-texto li ul,.artigo-texto li ol{margin:10px 0 0}

/* citação comum */
.artigo-texto blockquote{margin:28px 0;padding:6px 0 6px 24px;border-left:4px solid var(--dourado)}
.artigo-texto blockquote p{font-family:'Playfair Display',serif;font-style:italic;font-size:19px;
 line-height:1.65;color:#3F3A4A;font-weight:500}
.artigo-texto blockquote p:last-child{margin-bottom:0}

/* ementa e súmula: citação cuja primeira linha em negrito começa com
   "Ementa", "Súmula" ou "Tese" (classe posta no Markdown, ver
   eleventy.config.js). O rótulo vira cabeçalho do bloco, e o texto do
   tribunal fica em serifa, sem itálico, como documento. */
.artigo-texto blockquote.ementa{position:relative;padding:26px 30px 24px;border:1px solid var(--areia-borda);
 border-top:4px solid var(--violeta);border-radius:14px;background:#fff;
 box-shadow:0 10px 26px rgba(46,12,94,.06)}
.artigo-texto blockquote.ementa p{font-style:normal;font-size:18.5px;line-height:1.7;color:#2A2731}
.artigo-texto blockquote.ementa p:first-child > strong:first-child{display:block;margin-bottom:10px;
 font-family:'Montserrat',sans-serif;font-style:normal;font-size:12.5px;font-weight:700;letter-spacing:.16em;
 text-transform:uppercase;color:var(--violeta)}

/* tabela: rola na horizontal dentro da própria caixa no celular */
.artigo-texto .tabela{margin:28px 0;overflow-x:auto;border:1px solid var(--areia-borda);border-radius:12px;
 background:#fff}
.artigo-texto table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.6;color:#3F3A4A}
.artigo-texto th,.artigo-texto td{padding:12px 16px;text-align:left;vertical-align:top;
 border-bottom:1px solid var(--areia-borda)}
.artigo-texto th{background:var(--areia-escura);color:var(--violeta);font-weight:600;white-space:nowrap}
.artigo-texto tr:last-child td{border-bottom:0}

/* imagem do texto */
.artigo-texto img{display:block;width:100%;height:auto;margin:30px 0;border-radius:14px}
.artigo-texto p > img:only-child{margin:0}
.artigo-texto hr{border:0;height:1px;margin:44px 0;background:var(--areia-borda)}
.artigo-texto code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em;
 background:var(--areia-escura);padding:2px 6px;border-radius:4px}

/* ---------- PÁGINA DO ARTIGO: FIM ---------- */
.artigo-fim{max-width:760px;margin-top:48px}
.artigo-fim p{font-size:16px;line-height:1.7;color:#3F3A4A;margin:0}
.artigo-nota{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;border-radius:10px;
 background:rgba(209,176,78,.13);border-left:4px solid var(--dourado)}
.artigo-nota svg{flex:none;color:var(--violeta);margin-top:2px}
.artigo-fim .artigo-nota{font-weight:500}

.compartilhar{margin-top:36px}
.artigo-fim .compartilhar-titulo{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.22em;
 text-transform:uppercase;color:#6B6577}
.compartilhar ul{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.compartilhar li[hidden]{display:none}
.compartilhar a,.compartilhar button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 18px;
 border-radius:999px;background:#fff;border:1px solid var(--areia-borda);color:var(--violeta);
 font:600 14px 'Montserrat',sans-serif;text-decoration:none;cursor:pointer}
.compartilhar a:hover,.compartilhar button:hover{border-color:var(--dourado)}
.compartilhar svg{flex:none}
.artigo-fim .copiar-aviso{margin-top:10px;font-size:14px;color:#57525F;min-height:1.7em}

.artigo-redes{margin-top:28px;padding-top:26px;border-top:1px solid var(--areia-borda)}
.artigo-redes a,.artigo-fim .artigo-redes-aviso a{color:var(--violeta);font-weight:600;text-decoration:underline;
 text-underline-offset:3px;text-decoration-color:rgba(209,176,78,.7)}
.artigo-fim .artigo-redes-aviso{margin-top:8px;font-size:15px;color:#57525F}
.artigo-fim .fecho{margin-top:36px}

/* ---------- OUTROS ARTIGOS DA MESMA CATEGORIA ---------- */
.artigos-relacionados h2{margin:0}
.artigos-relacionados .cards-artigos{margin-top:30px}

/* ---------- RESPONSIVO ---------- */
@media (max-width:1100px){
 .cards-artigos{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1000px){
 .artigo-capa{grid-template-columns:1fr;gap:36px}
 .artigo-capa-imagem{max-width:640px}
}
@media (max-width:700px){
 .cards-artigos{grid-template-columns:1fr;max-width:520px}
 .card-artigo-texto{padding:20px 20px 22px}
 .card-artigo .card-artigo-titulo{font-size:19.5px}
 .artigo-texto p{font-size:16.5px}
 .artigo-texto h3{font-size:21px}
 .artigo-texto blockquote.ementa{padding:22px 20px 20px}
 .artigo-texto blockquote.ementa p{font-size:17px}
 .artigo-texto blockquote p{font-size:17.5px}
 .paginacao a{padding:0 12px}
 .paginacao .paginacao-seta{padding:0 14px}
}
