/* ========================================
   Flow Enrol
   ======================================== */
.flow-enrol {
  margin-block: 2rem;
}

#flow-enrol-title {
  margin: 1rem 0 1rem 0;
}

.flow-enrol__subheading {
  margin: 1rem 0 1rem 0;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--almost-black);
}

.flow-enrol__blocks {
  display: grid;
  gap: 1.5rem;
  margin: 1.5rem 0;
}

/* Blocks base */
.flow-enrol__block {
  padding: 1.5rem;
  border-radius: 0 3rem;
  display: flex;
  flex-direction: column;
}

.flow-enrol__heading {
  font-weight: 600;
  font-size: 1.25rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid currentColor;
}

.flow-enrol__content {
  display: flex;
  gap: 1rem;
}

.flow-enrol__text {
  flex: 3;
}

.flow-enrol__text .white-under {
  text-decoration-color: #ffffff;
}

.flow-enrol__text .white-under:hover {
  text-decoration-color: var(--pink);
}

.flow-enrol__text p {
  margin: 0 0 1rem 0;
}

.flow-enrol__icon svg,
.flow-enrol__icon img {
  display: block;
  height: 4rem; /* consistent height */
  width: auto; /* width adapts */
  max-width: 100%; /* safety */
}

/* Color variants */
.flow-enrol__block--green {
  background: var(--green, #13914b);
  color: var(--white, #fff);
}

.flow-enrol__block--green-light {
  background: color-mix(in srgb, var(--green, #13914b) 20%, transparent);
  color: var(--almost-black, #111);
}

.flow-enrol__block--green a {
  color: var(--white, #fff);
}

/* Tablet (2x2 grid of blocks) */
@media (min-width: 48rem) {
  .flow-enrol__blocks {
    grid-template-columns: 1fr 1fr;
  }
  .flow-enrol__icon svg,
  .flow-enrol__icon img {
    height: 4rem;
  }
}

/* Desktop (4 across, tall/thin style) */
@media (min-width: 75rem) {
  .flow-enrol__blocks {
    grid-template-columns: repeat(3, 1fr);
  }

  .flow-enrol__block {
    justify-content: space-between;
    min-height: 20rem; /* tweak as needed */
  }

  .flow-enrol__content {
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
  }

  .flow-enrol__icon {
    justify-content: flex-start;
    margin-top: auto;
  }
}
