/* Shared primitives. Loaded before the component sheets, which supply the
   per-context variance (--min, padding, font-weight) on top. */

/* min() caps the track at 100% so a wide track can never overflow a narrow
   viewport, which is the site's no-horizontal-scroll invariant. */
.auto-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--min), 100%), 1fr));
}

.card {
  background: var(--white);
  padding: 2rem;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.card--compact {
  padding: 1.5rem;
}

.btn-primary {
  display: inline-block;
  background: var(--primary);
  color: var(--white);
  border-radius: 8px;
}

.btn-primary:hover {
  background: var(--primary-dark);
  text-decoration: none;
}
