/*
 * Modules en producten: het productoverzicht op een modulepagina en de vaste
 * opbouw van een productpagina. Eén stylesheet voor alle modules; zie
 * docs/ontwerp/modules-en-producten.md.
 */

/* Vier groepen, twee naast elkaar op een breed scherm. */
.productgroepen {
  display: grid;
  gap: var(--space-l) var(--space-xl);
}

@media (min-width: 62em) {
  .productgroepen {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.productgroep__kop {
  margin: 0 0 var(--space-s);
  padding-bottom: var(--space-xs);
  border-bottom: 2px solid var(--colour-base);
  font-size: 1.125rem;
}

/* Productpagina */
.product__meta {
  margin-bottom: var(--space-m);
}

.product__noot {
  color: var(--colour-text-muted);
  font-size: 0.9375rem;
}

/* De productladder: vijf treden, wat bereikt is in Leisteen, de rest grijs. */
.ladder {
  display: grid;
  gap: var(--space-s);
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 62em) {
  .ladder {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.ladder__stap {
  display: flex;
  gap: var(--space-s);
  padding: var(--space-s);
  border: 1px dashed var(--colour-line);
  border-radius: var(--radius-card);
  color: var(--colour-text-muted);
}

.ladder__stap--klaar {
  border-style: solid;
  border-color: var(--colour-base);
  background-color: var(--colour-surface);
  color: var(--colour-ink);
}

.ladder__letter {
  flex: none;
  display: inline-grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  border: 2px solid currentColor;
  font-weight: 800;
}

.ladder__stap--klaar .ladder__letter {
  border-color: var(--colour-base);
  background-color: var(--colour-base);
  color: #fff;
}

.ladder__titel {
  margin: 0;
  font-weight: 700;
}

.ladder__tekst {
  margin: 0.2em 0 0;
  font-size: 0.875rem;
}

/* "(gereed)" of "(nog niet)" voor een schermlezer; het oog ziet het aan de vorm. */
.ladder__status {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Boven de producten: de module als tegel, zoals op /abonnementen/, met ernaast
   in welk abonnement zij zit en de brochure. */
.modulekop {
  display: grid;
  grid-template-columns: minmax(0, 260px) minmax(0, 1fr);
  gap: var(--space-l);
  align-items: center;
  margin: 0 0 var(--space-xl);
}

@media (max-width: 40em) {
  .modulekop {
    grid-template-columns: minmax(0, 1fr);
  }
}

.modulekop__tekst p {
  margin: 0 0 var(--space-xs);
}

.modulekop__regel {
  font-weight: 600;
}

.modulekop__links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-s);
  margin-top: var(--space-s);
}
