.section.text-block-container.number-block-container {
  display: flex;
  flex-direction: column;
  gap: var(--Kpi-Highlights-Widget-Vertical-Gap, 2.5rem);
}

/* Base styles (Mobile first) */
.text-block {
  width: 100%;
  margin: auto;

  &:focus-visible,
  &:focus-within {
    outline: none;
  }

  .text-block-cont {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--Text-Block-Centered-Text-Gap, 1rem);
    align-self: stretch;

    .text-block-title {
      color: var(--Text-Block-Title, #001c35);
      font: var(--Title-Page);
      letter-spacing: -0.02rem;
    }

    .text-block-text {
      max-width: 50rem;
      color: var(--Text-Block-Body, #001c35);
      font: var(--Body-Base);
      word-break: normal;
    }

    .text-block-button {
      margin-top: calc(var(--Text-Block-Centered-Gap, 2rem) - var(--Text-Block-Centered-Text-Gap, 1rem));
      display: flex;
      justify-content: center;

      .btn {
        flex-shrink: 0;
      }
    }

    &.text-block-left {
      flex-direction: row;
      justify-content: space-between;
      width: 100%;

      .text-block-text {
        display: none;
      }

      .text-block-button {
        margin-top: 0;
      }
    }
  }
}

/* Tablet */
@media (width >= 768px) {
  .section.text-block-container.number-block-container {
    gap: var(--Kpi-Highlights-Widget-Vertical-Gap, 2.5rem);
  }
}

/* Desktop small */
@media (width >= 1200px) {
  .text-block {
    .text-block-cont {
      .text-block-title {
        letter-spacing: -0.4px;
      }
    }
  }
}

/* Desktop */
@media (width >= 1440px) {
  .text-block {
    .text-block-cont {
      .text-block-title {
        letter-spacing: -0.03rem;
      }
    }
  }
}
