/* =========================================================
   PUBLICAÇÕES — listagem completa
   Visual fiel ao .card-publicacao da home, 3 por linha
   ========================================================= */

.grid-publicacoes{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:28px;
    list-style:none;
    margin:8px 0 70px;
    padding:0;
}

.card-publicacao-pagina{
    background:#eaecef;
    border-radius:12px;
    padding:28px 22px 24px;
    display:flex;
    flex-direction:column;
    align-items:center;
    transition:transform .35s ease, box-shadow .35s ease;
}
.card-publicacao-pagina:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 40px rgba(13,26,38,.12);
}

/* Capa vertical 3:4 — mesmo formato da home */
.card-publicacao-pagina .card-foto{
    width:100%;
    max-width:220px;
    aspect-ratio:3 / 4;
    border-radius:6px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 14px 32px rgba(0,0,0,.12);
}
.card-publicacao-pagina .card-foto img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    display:block;
    transition:transform .5s ease;
}
.card-publicacao-pagina:hover .card-foto img{transform:scale(1.04);}

/* Texto centralizado */
.card-publicacao-pagina .card-corpo{
    width:100%;
    padding-top:22px;
    text-align:center;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
}
.card-publicacao-pagina h3{
    font-size:16px;
    line-height:1.25;
    font-weight:900;
    color:#0d1a26;
    margin:0;
    letter-spacing:-.01em;
}
.card-publicacao-pagina .card-autor{
    display:block;
    font-size:12px;
    color:var(--sj-cinza-texto);
    font-weight:600;
    font-style:italic;
}
.card-publicacao-pagina p{
    font-size:13px;
    line-height:1.55;
    color:var(--sj-cinza-texto);
    margin:8px 0 14px;
}
.card-publicacao-pagina .btn-pub{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:auto;
    height:40px;
    min-width:130px;
    padding:0 22px;
    background:var(--sj-azul);
    color:#fff;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
    border-radius:6px;
    transition:all .25s ease;
}
.card-publicacao-pagina .btn-pub:hover{
    background:var(--sj-azul-escuro);
    color:#fff;
    transform:translateY(-2px);
}

/* Estado vazio */
.publicacoes-vazio{
    text-align:center;
    padding:80px 20px;
    color:var(--sj-cinza-texto);
}
.publicacoes-vazio i{
    font-size:54px;
    color:var(--sj-azul-claro);
    margin-bottom:18px;
    display:block;
}
.publicacoes-vazio p{
    font-size:15px;
    line-height:1.55;
    margin:0;
}

@media (max-width:1100px){
    .grid-publicacoes{grid-template-columns:repeat(2, 1fr);gap:22px;}
}

@media (max-width:760px){
    .grid-publicacoes{grid-template-columns:1fr;gap:18px;margin-bottom:50px;}
    .card-publicacao-pagina{padding:24px 18px 20px;}
    .card-publicacao-pagina .card-foto{max-width:200px;}
}
