/* Styles for the Good News Aggregator Static Site */
:root{
  --primary:#2a9d8f;
  --primary-light:#e0f2f1;
  --secondary:#457b9d;
  --accent:#f4a261;
  --text-dark:#2c3e50;
  --card-radius:16px;
}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:#f7fbfb;color:var(--text-dark);}
.app-hero{background:linear-gradient(135deg,#eaf6ff 0%,#e7fff3 60%,#fff7e6 100%);border-bottom:1px solid rgba(0,0,0,0.06);}
.soft-badge{background:rgba(42,157,143,0.12);color:#157a6e;border:1px solid rgba(42,157,143,0.25);font-weight:600;}
.hero-meta{border:1px solid rgba(0,0,0,0.06);background:rgba(255,255,255,0.65);backdrop-filter:blur(6px);border-radius:var(--card-radius);padding:12px 14px;min-width:170px;}
.filters-card{border:1px solid rgba(0,0,0,0.06);background:rgba(255,255,255,0.8);border-radius:var(--card-radius);padding:16px;box-shadow:0 10px 30px rgba(0,0,0,0.04);}
.article-card{border:1px solid rgba(0,0,0,0.06);border-radius:var(--card-radius);overflow:hidden;background:#fff;box-shadow:0 12px 28px rgba(0,0,0,0.06);transition:transform .15s ease, box-shadow .15s ease;height:100%;}
.article-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(0,0,0,0.10);}
.article-img{width:100%;height:190px;object-fit:cover;background:#edf7f6;}
.article-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.article-summary{color:#536b78;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.meta-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(69,123,157,0.10);color:#2f5e7b;border:1px solid rgba(69,123,157,0.18);font-size:.8rem;font-weight:600;}
.cat-chip{border-radius:999px;padding:6px 10px;border:1px solid rgba(0,0,0,0.10);background:#fff;color:#335;font-size:.85rem;cursor:pointer;transition:background .12s ease, border-color .12s ease;}
.cat-chip:hover{background:rgba(42,157,143,0.08);border-color:rgba(42,157,143,0.35);}
.cat-chip.active{background:rgba(42,157,143,0.14);border-color:rgba(42,157,143,0.45);color:#0f6a61;font-weight:700;}
.featured-card{border:1px solid rgba(42,157,143,0.30);background:linear-gradient(180deg, rgba(42,157,143,0.06), #fff);}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;margin-bottom:10px;}
.count-badge{background:rgba(0,0,0,0.04);border:1px solid rgba(0,0,0,0.06);border-radius:999px;padding:4px 10px;font-size:.8rem;color:#556;}
a{color:var(--secondary);} a:hover{color:#2b6e93;}
