/* =========================================================================
   page-compost.css — data/compost/cwmi.html
   Bespoke components. Tokens, .card, .pill, .callout, .btn, .site-hero, and the
   injected footer come from the canonical system. Migrated from an inline
   <style> block that redefined :root (drift incl. --maxw), added leaky global
   *, body, a, footer resets, hardcoded brand hex, and duplicated canonical
   .card / .pill / .callout / .hero.
   ========================================================================= */

.grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 14px;
  align-items: start;
}
@media (max-width: 980px) { .grid { grid-template-columns: 1fr; } }

.kpis { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }

/* In-page table of contents */
.toc a {
  display: block;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(14, 59, 46, 0.10);
  background: rgba(255, 255, 255, 0.55);
  text-decoration: none;
}
.toc a:hover { background: rgba(31, 111, 98, 0.08); }
.toc a.active {
  background: rgba(14, 59, 46, 0.10);
  border-color: rgba(14, 59, 46, 0.18);
  font-weight: 700;
  color: var(--hvb-green);
}

/* Figure + caption */
.figure {
  border: 1px solid rgba(14, 59, 46, 0.10);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.55);
}
.figure img { width: 100%; display: block; }
.figcap {
  padding: 10px 12px;
  font-size: 13px;
  color: var(--hvb-slate);
  border-top: 1px solid rgba(14, 59, 46, 0.10);
}

.linkrow { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 12px; }

.pager {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 14px;
}
.pager a { flex: 1; }
