.news-home{padding:56px 0 72px;background:#f8f8f6;}
.news-wrap{width:min(1200px, calc(100% - 32px));margin:0 auto;}
.news-featured-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:56px;}
.news-featured-card{position:relative;overflow:hidden;border-radius:24px;min-height:420px;background:#e9e3d6;text-decoration:none;color:#fff;display:flex;align-items:flex-end;box-shadow:0 16px 40px rgba(0,0,0,.10);}
.news-featured-bg{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1);transition:transform .35s ease;}
.news-featured-card:hover .news-featured-bg{transform:scale(1.04);}
.news-featured-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.72) 100%);}
.news-featured-content{position:relative;z-index:2;padding:28px;width:100%;}
.news-pill{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:700;margin-bottom:16px;backdrop-filter:blur(6px);}
.news-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;opacity:.92;margin-bottom:12px;}
.news-featured-title{margin:0 0 14px;font-size:32px;line-height:1.15;color:#fff;}
.news-featured-excerpt{margin:0;color:rgba(255,255,255,.92);line-height:1.7;font-size:15px;max-width:92%;}
.news-latest-grid{display:grid;grid-template-columns:repeat(3, 1fr);gap:24px;}
.news-card{background:#fff;border:1px solid #ece5d8;border-radius:22px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.05);display:flex;flex-direction:column;height:100%;}
.news-card-thumb{display:block;height:220px;background:#ece6da center/cover no-repeat;}
.news-card-body{padding:22px;display:flex;flex-direction:column;flex:1;}
.news-card-category{display:inline-flex;align-items:center;align-self:flex-start;padding:7px 12px;border-radius:999px;background:#f3ecd8;color:#111;font-size:12px;font-weight:700;margin-bottom:14px;}
.news-card-title{margin:0 0 12px;font-size:22px;line-height:1.2;color:#111;}
.news-card-title a{color:inherit;text-decoration:none;}
.news-card-title a:hover{color:#8b6f1d;}
.news-card-meta{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:#6d675f;margin-bottom:12px;}
.news-card-excerpt{margin:0 0 18px;color:#4f4a43;line-height:1.7;flex:1;}
.news-card-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#111;text-decoration:none;}
.news-card-link:hover{color:#8b6f1d;}
/* ── Paginação ───────────────────────────────────────────────────────────
   O markup é o do Bootstrap 5 (.pagination > .page-item > .page-link), por
   isso o estilo tem de assentar no .page-link e não no a/span genéricos —
   era isso que deixava os botões desajustados. Cores do Banco Sol:
   amarelo #FFD200, preto #0b1220, neutro #E2DACB. */
.news-pagination{margin-top:34px;width:100%;}
.news-pagination .pagination{gap:8px;flex-wrap:wrap;justify-content:center;}
.news-pagination .page-item{margin:0;}
.news-pagination .page-link{
  min-width:44px;height:44px;padding:0 14px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:12px;border:1px solid #E2DACB;background:#fff;
  color:#0b1220;font-weight:700;font-size:.95rem;line-height:1;
  text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease;
}
.news-pagination .page-link:hover,
.news-pagination .page-link:focus-visible{background:#FFD200;border-color:#FFD200;color:#0b1220;}
.news-pagination .page-item.active .page-link{background:#0b1220;border-color:#0b1220;color:#fff;}
.news-pagination .page-item.disabled .page-link{
  background:#F6F4EE;border-color:#EAE4D6;color:#A9A296;pointer-events:none;
}
/* resumo de registos */
.news-pagination .text-muted{color:#6d675f;margin:0;}
@media (max-width: 575px){
  .news-pagination{gap:14px;}
  .news-pagination .pagination{gap:6px;}
  .news-pagination .page-link{min-width:40px;height:40px;padding:0 11px;}
}
.news-empty{background:#fff;border:1px solid #ece5d8;border-radius:22px;padding:28px;color:#5f5a52;}
@media (max-width: 991px){
  .news-featured-grid, .news-latest-grid{grid-template-columns:1fr;}
  .news-featured-card{min-height:360px;}
  .news-featured-title{font-size:28px;}

}
