:root {
  --primary:       #2e7d32;
  --secondary:     #43a047;
  --accent:        #f4762a;
  --header-bg:     #ffffff;
  --footer-bg:     #1b5e20;
  --btn-color:     #2e7d32;
  --text-color:    #1a1a1a;
}

body {
  color: var(--text-color);
}

/* Utility classes wired to CSS vars */
.bg-theme-primary   { background-color: var(--primary); }
.bg-theme-secondary { background-color: var(--secondary); }
.bg-theme-accent    { background-color: var(--accent); }
.bg-header          { background-color: var(--header-bg); }
.bg-footer          { background-color: var(--footer-bg); }
.text-theme-primary { color: var(--primary); }
.text-theme-accent  { color: var(--accent); }
.border-theme       { border-color: var(--primary); }

.btn-theme {
  background-color: var(--btn-color);
  color: #ffffff;
  transition: filter 0.2s ease;
}
.btn-theme:hover { filter: brightness(0.9); }

.link-theme {
  color: var(--primary);
  text-decoration: none;
}
.link-theme:hover { color: var(--accent); }