/* ==========================================================================
   TOWN SQUARE — Classic small-town gathering place
   Forest green, warm white, brick red, clean and readable
   ========================================================================== */

:root {
  --color-primary: #2a6040;
  --color-primary-dark: #1e4830;
  --color-primary-light: #3a8058;
  --color-accent: #a04030;
  --color-text-primary: #1a2420;
  --color-text-body: #3a4840;
  --color-text-secondary: #6a7a70;
  --color-bg: #f8faf5;
  --color-card-bg: #ffffff;
  --color-border: #c8d8c4;
  --color-section-alt-bg: #eef4ea;
  --color-hero-bg: #2a6040;
  --color-hero-text: #ffffff;
  --color-footer-bg: #1a2420;
  --color-footer-text: #88a894;
  --font-family-heading: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-family-body: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius: 6px;
}

.site-header { background: #fff; border-bottom: 2px solid var(--color-primary); }
.site-header .site-title { font-weight: 800; color: var(--color-primary); }

.hero { padding: 3.5rem 0; text-align: center; }
.hero-title { font-weight: 800; }

.article-card { border: 1px solid var(--color-border); border-radius: var(--radius); }
.article-card:hover { border-color: var(--color-primary); box-shadow: 0 4px 12px rgba(42,96,64,0.1); }
.article-card .card-category { color: var(--color-accent); font-weight: 700; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.08em; }
.article-card .card-title { font-weight: 700; }

.section-title { color: var(--color-primary); font-weight: 800; }

.category-badge { background: var(--color-primary); color: #fff; padding: 0.3rem 0.8rem; border-radius: 20px; font-size: 0.8rem; font-weight: 600; }
.category-badge:hover { background: var(--color-accent); }

.btn { border-radius: var(--radius); }
.btn-primary { background: var(--color-primary); }
.btn-primary:hover { background: var(--color-primary-dark); }

.site-footer { background: var(--color-footer-bg); }
.site-footer a { color: var(--color-primary-light); }
