.grid--feature-cards {
  position: relative;
  overflow: hidden;
}

.grid--feature-cards__inner {
  container-type: inline-size;
  position: relative;
}

.grid--feature-cards__grid {
  display: grid;
  gap: var(--space-l);
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.grid--feature-cards__grid > * {
  min-width: 0;
}

.grid--feature-cards__heading {
  text-align: center;
  color: var(--text-dark);
}

.grid--feature-cards__heading[data-color="text-dark"] {
  color: var(--text-dark);
}

.grid--feature-cards__heading[data-color="text-light"] {
  color: var(--text-light);
}

.grid--feature-cards__card {
  display: flex;
  flex-direction: column;
  background: var(--primary-light);
  border-radius: var(--radius-xs);
  box-shadow: var(--shadow-m);
  color: var(--text-light);
  min-width: 0;
}

.grid--feature-cards__card-header {
  width: 100%;
  padding: var(--padding-xs);
}

.grid--feature-cards__figure {
  aspect-ratio: 5/3;
  overflow: hidden;
  width: 100%;
  display: block;
  margin-bottom: 0;
}

.grid--feature-cards__img {
  width: 100%;
  display: block;
  object-fit: cover;
}

.grid--feature-cards__card-body {
  display: flex;
  flex-direction: column;
  padding: var(--padding-m);
  flex: 1;
  overflow-wrap: break-word;
  word-break: break-word;
}

.grid--feature-cards__card-heading {
  color: var(--text-light);
  font-weight: 400;
  font-style: italic;
  letter-spacing: 0.05em;
  text-align: center;
}

.grid--feature-cards__features {
  padding-left: var(--space-xs);
  margin-bottom: var(--space-l);
}

.grid--feature-cards__feature {
  position: relative;
  padding-left: 1.4rem;
  overflow-wrap: break-word;
}

.grid--feature-cards__feature::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--accent);
}

.grid--feature-cards__price {
  text-align: end;
  font-size: var(--text-l);
  font-weight: 500;
  margin-top: auto;
}

.grid--feature-cards__card-footer {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: auto;
}
