/*
Theme Name: HSDF Enhanced
Description: Brand-led enhancements for Hope and Social Development Foundation.
Version: 1.0.0
Template: hsdf
Text Domain: hsdf-posts-child
*/

:root {
  --hsdf-blue: #0757a6;
  --hsdf-blue-deep: #032b57;
  --hsdf-green: #3eae4b;
  --hsdf-gold: #ffd23f;
  --hsdf-ink: #102538;
  --hsdf-muted: #5f7180;
  --hsdf-paper: #f5f8f7;
  --hsdf-line: #dbe4e5;
}

.posts-archive { background: var(--hsdf-paper); }
.posts-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.post-card { display: flex; min-height: 100%; flex-direction: column; overflow: hidden; background: #fff; box-shadow: 0 18px 46px rgba(3, 43, 87, .07); }
.post-card-media { display: block; position: relative; min-height: 210px; overflow: hidden; background: linear-gradient(135deg, var(--hsdf-blue-deep), var(--hsdf-blue)); }
.post-card-media::after { position: absolute; inset: 0; background: linear-gradient(135deg, transparent, rgba(62, 174, 75, .28)); content: ""; }
.post-card-media img { width: 100%; height: 100%; object-fit: cover; }
.post-card-placeholder { display: grid; height: 100%; min-height: 210px; place-items: center; color: #fff; font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.post-card-body { display: flex; flex: 1; flex-direction: column; padding: 28px; }
.post-card-date { margin: 0 0 16px; color: var(--hsdf-green); font-size: .7rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.post-card h2 { margin: 0 0 16px; color: var(--hsdf-blue-deep); font-size: clamp(1.35rem, 2vw, 1.8rem); line-height: 1.18; }
.post-card h2 a:hover { color: var(--hsdf-blue); }
.post-card-excerpt { margin: 0 0 25px; color: var(--hsdf-muted); line-height: 1.68; }
.post-card-link { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--hsdf-line); color: var(--hsdf-blue); font-size: .82rem; font-weight: 800; }
.post-card-link:hover { color: var(--hsdf-green); }
.posts-empty { max-width: 650px; padding: 48px; background: #fff; color: var(--hsdf-muted); box-shadow: 0 18px 46px rgba(3, 43, 87, .07); }
.posts-empty h2 { color: var(--hsdf-blue-deep); }
.posts-pagination { display: flex; justify-content: center; margin-top: 52px; }
.posts-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.posts-pagination .page-numbers { display: grid; min-width: 42px; min-height: 42px; place-items: center; border: 1px solid var(--hsdf-line); background: #fff; color: var(--hsdf-blue); font-size: .8rem; font-weight: 800; padding: 0 12px; }
.posts-pagination .page-numbers.current, .posts-pagination .page-numbers:hover { border-color: var(--hsdf-blue); background: var(--hsdf-blue); color: #fff; }

@media (max-width: 960px) { .posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .posts-grid { grid-template-columns: 1fr; } .post-card-body { padding: 24px; } }
