/* ==========================================================================
   ServiceSelector — 07 §11.6b
   ========================================================================== */

.service-selector__intro {
  margin-bottom: var(--space-7);
}

.service-selector__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-6);
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 48rem) {
  .service-selector__list {
    grid-template-columns: repeat(var(--service-selector-columns, 2), 1fr);
  }
}

.service-selector-option {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--space-6);
  background-color: var(--surface-raised);
  border-radius: var(--radius-card);
}

.service-selector--home .service-selector-option {
  background-color: var(--surface-base);
  border: 1px solid var(--border-subtle);
}

.service-selector-option__media {
  margin: calc(var(--space-6) * -1) calc(var(--space-6) * -1) var(--space-5);
  border-radius: var(--radius-card) var(--radius-card) 0 0;
  overflow: hidden;
}

.service-selector-option__body {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.service-selector-option__description {
  margin: var(--space-3) 0 0;
  color: var(--text-muted);
  line-height: var(--leading-body);
}

.service-selector-option__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  /* Pushes the actions to the bottom of the card even when a sibling card's
     description is longer, matching ProjectCard's stretched height. */
  margin-top: auto;
}

.service-selector-option__secondary {
  font-size: var(--text-sm);
}

.service-selector-option--disabled {
  opacity: 0.7;
}

.service-selector-option__disabled-message {
  margin: var(--space-3) 0 0;
  color: var(--text-muted);
  font-size: var(--text-sm);
  font-style: italic;
}
