/* Estilos para páginas de Notícias e Eventos */

/* Container central comum para ambas as páginas */
.noticias-page .page-center-wrapper,
.eventos-page .page-center-wrapper {
    max-width: 980px;
    margin: 28px auto;
    padding: 20px;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

/* Cabeçalho da página */
.page-title { font-size: 1.45rem; margin: 0 0 6px 0; color: #0b3b6f; }
.page-subtitle { margin: 0 0 14px 0; color: #666; font-size: 0.95rem; }

/* Grid de cards responsivo */
.news-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    margin-top: 18px;
}

.news-card {
    background: #fbfdff;
    border: 1px solid #e6eef6;
    padding: 16px;
    border-radius: 10px;
    transition: transform .12s ease, box-shadow .12s ease;
}
.news-card:hover { transform: translateY(-4px); box-shadow: 0 6px 18px rgba(11,59,111,0.08); }

.news-date { display: block; color: #6b7280; font-size: 0.87rem; margin-bottom: 8px; }
.news-title { margin: 0 0 8px 0; font-size: 1.08rem; color: #072a4d; }
.news-summary { margin: 0 0 10px 0; color: #333; line-height: 1.45; font-size: 0.95rem; }
.news-category { display:inline-block; background: #eaf3ff; color: #0b57b7; padding: 5px 10px; border-radius: 999px; font-size: 0.78rem; }

/* Ações de página */
.area-actions { display:flex; gap:10px; margin-top:18px; }
.btn-primary { background:#0b57b7; color:#fff; padding:8px 12px; border-radius:6px; text-decoration:none; border:none; cursor:pointer; }
.btn-ghost { background:transparent; color:#0b57b7; padding:8px 12px; border-radius:6px; border:1px solid transparent; text-decoration:none; cursor:pointer; }
.btn-ghost:hover { background:rgba(11,87,183,0.06); }
.btn-secondary { background:#eef3fb; color:#0b57b7; padding:8px 12px; border-radius:6px; text-decoration:none; }

/* Mensagens informativas */
.message.info { display: inline-block; margin: 12px 0; padding: 10px 12px; background: #fff9e6; border: 1px solid #ffe7a8; border-radius: 6px; color:#6b4f00; }

/* Pequenas imagens nos cards (quando existirem) */
.news-card img { max-width:100%; height:auto; border-radius:6px; margin-bottom:10px; display:block; }

/* Mobile adjustments */
@media (max-width: 900px) {
    .news-grid { gap:12px; }
    .noticias-page .page-center-wrapper,
    .eventos-page .page-center-wrapper { margin:16px; padding:14px; }
}

@media (max-width: 520px) {
    .news-card { padding:12px; }
    .page-title { font-size:1.2rem; }
}

/* Acessibilidade: foco visível para botões/link */
.btn-primary:focus, .btn-ghost:focus, a:focus { outline: 3px solid rgba(11,87,183,0.18); outline-offset: 2px; }

