/* See ./cards-tools.md for design notes and rationale. */

.cards-tools {
  --ct-card-radius: 20px;
}

.cards-tools__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  gap: 20px 15px;
}

.cards-tools__item {
  background-color: var(--nc-color-bg-muted);
  border: 0;
  border-radius: var(--ct-card-radius);
  padding-block: 30px;
  padding-inline: 30px;
}

.cards-tools__body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.cards-tools p.button-wrapper {
  margin: 0;
}

.cards-tools__image {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
  margin-block-end: 25px;
  inline-size: 100%;
}

.cards-tools__image img {
  inline-size: 44px;
  block-size: 44px;
  object-fit: contain;
}

.cards-tools__title {
  margin: 0 0 10px;
  font-family: var(--nc-font-family);
  font-size: var(--nc-text-title-28-size);
  font-weight: var(--nc-text-heading-weight);
  line-height: var(--nc-text-title-28-leading);
  letter-spacing: var(--nc-text-letter-spacing);
  color: var(--nc-color-text-primary);
}

.cards-tools__copy {
  margin: 0 0 15px;
  font-family: var(--nc-font-family);
  font-size: var(--nc-text-body-size);
  font-weight: var(--nc-text-body-weight);
  line-height: 22.4px;
  letter-spacing: var(--nc-text-letter-spacing);
  color: var(--nc-color-text-primary);
}

.cards-tools a.cards-tools__inline-link:any-link {
  display: inline-flex;
  color: var(--nc-color-text-primary);
  line-height: 24px;
  overflow-wrap: normal;
  word-break: normal;
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: currentcolor;
}

.cards-tools a.cards-tools__inline-link:hover,
.cards-tools a.cards-tools__inline-link:focus-visible {
  color: var(--nc-color-link);
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: currentcolor;
}

.cards-tools__cta-wrap {
  margin: 0;
}

.cards-tools__cta {
  display: inline-block;
  box-sizing: border-box;
  margin: 5px 0 0;
  border-radius: var(--nc-radius-pill);
  font-family: var(--nc-font-family);
  font-size: var(--body-font-size-s);
  font-weight: var(--nc-text-heading-weight);
  line-height: 1;
  letter-spacing: var(--nc-text-letter-spacing);
  text-align: center;
  text-decoration: none;
}

.cards-tools__item--has-icon .cards-tools__cta {
  border: var(--nc-border-button-compact) solid var(--nc-color-border-strong);
  background-color: var(--nc-color-cta-secondary);
  color: var(--nc-color-text-primary);
  padding-block: var(--nc-space-button-md-y);
  padding-inline: var(--nc-space-button-md-x);
}

.cards-tools__item--no-icon .cards-tools__cta {
  border: var(--nc-border-button-compact) solid var(--nc-color-border-strong);
  background-color: var(--nc-color-cta-primary);
  color: var(--nc-color-text-primary);
  padding-block: var(--nc-space-button-sm-y);
  padding-inline: var(--nc-space-button-sm-x);
}

.cards-tools__item--has-icon .cards-tools__cta:hover,
.cards-tools__item--has-icon .cards-tools__cta:focus-visible {
  border-color: var(--nc-color-border-strong);
  background-color: var(--nc-color-cta-secondary-hover);
  color: var(--nc-color-text-inverse);
  text-decoration: none;
}

.cards-tools__item--no-icon .cards-tools__cta:hover,
.cards-tools__item--no-icon .cards-tools__cta:focus-visible {
  border-color: var(--nc-color-border-strong);
  background-color: var(--nc-color-cta-primary-hover);
  color: var(--nc-color-text-primary);
  text-decoration: none;
}

/* tablet */
@media (width >= 768px) {
  .cards-tools__item {
    padding-block: 40px;
    padding-inline: 40px;
  }

  .cards-tools__copy {
    font-size: var(--heading-font-size-xs);
    line-height: 32px;
  }

  .cards-tools a.cards-tools__inline-link:any-link {
    line-height: 32px;
  }

  .cards-tools__cta {
    margin-block-start: 15px;
  }

  .cards-tools__item--has-icon .cards-tools__cta {
    font-size: var(--nc-text-body-size);
    line-height: 1;
  }

  .cards-tools__item--no-icon .cards-tools__cta {
    font-size: var(--body-font-size-s);
    line-height: 1;
  }
}

/* desktop */
@media (width >= 1022px) {
  .cards-tools__list {
    grid-template-columns: repeat(3, 1fr);
  }
}
