/* ==========================================================================
   H2G — Traject kaarten (h2g/traject-kaarten + h2g/traject-stap)
   Traject-sectie "Van idee naar livegang": kop-rij (label links, optionele
   link rechts) + een responsief grid van vier stap-kaarten. Kleur erft accent
   (monochroom huisstijl); tekens buiten het grid vallen weg via auto-fit.
   ========================================================================== */

.h2g-traject-kaarten {
  padding: 0 var(--gutter) 130px;
  color: var(--color-accent);
}

/* --- Kop-rij: label links, optionele link rechts (typografie zoals h2g-sectie-kop) --- */
.h2g-traject-kaarten__kop {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding-bottom: 24px;
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: inherit;
}

.h2g-traject-kaarten__kop-links {
  margin: 0;
  font: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
}

.h2g-traject-kaarten__kop-rechts {
  display: inline-block;
  color: inherit;
}

.h2g-traject-kaarten__kop-rechts--link {
  color: var(--color-accent);
  text-decoration: none;
  transition: text-decoration 0.2s ease;
}

.h2g-traject-kaarten__kop-rechts--link:hover,
.h2g-traject-kaarten__kop-rechts--link:focus-visible {
  text-decoration: underline;
}

/* --- Grid: responsief kaart-grid, min. 250px per kolom --- */
.h2g-traject-kaarten__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
}

/* --- Kaart (h2g/traject-stap) --- */
.h2g-traject-stap {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px;
  border: 2px solid var(--color-accent);
  border-radius: var(--radius);
}

.h2g-traject-stap__nr {
  font-family: var(--font-mono);
  font-size: 15px;
}

.h2g-traject-stap__body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.h2g-traject-stap__body h3 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1;
  text-transform: uppercase;
}

.h2g-traject-stap__body p {
  margin: 0;
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.45;
}

/* "Wat je krijgt"-punten: plakt onderaan de kaart via margin-top: auto. */
.h2g-traject-stap__krijgt {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
  padding-top: 16px;
  border-top: 2px solid var(--color-accent);
}

.h2g-traject-stap__label {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.h2g-traject-stap__punt {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.01em;
  text-transform: uppercase;
}

/* --- Variant compact: "Waarom gratis?"-kaarten (GRATIS-CONCEPT.dc.html r.227-237):
       grid minmax 240px, kaart-padding 26px / gap 16px, tekst 16px, sectie-voet 120px. --- */
.h2g-traject-kaarten--compact {
  padding-bottom: 120px;
}

.h2g-traject-kaarten--compact .h2g-traject-kaarten__grid {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.h2g-traject-kaarten--compact .h2g-traject-stap {
  padding: 26px;
  gap: 16px;
}

.h2g-traject-kaarten--compact .h2g-traject-stap__body p {
  font-size: 16px;
}
