/* Add margin-bottom to every immediate child div of .text-component.block except the last one */
.text-component.block > div:not(:last-child) {
  margin-bottom: var(--lds-g-spacing-600);
}
.text-component-wrapper ul,
.text-component-wrapper ol {
  padding-left: var(--lds-g-spacing-150);
  margin-bottom: var(--lds-g-spacing-300);
}

.text-component-wrapper .footnote ul,
.text-component-wrapper .footnote ol {
  padding-left: var(--lds-g-font-list-spacing-3);
}
.text-component-wrapper ul li,
.text-component-wrapper ol li {
  margin-left: var(--lds-g-spacing-200);
}
.text-component-wrapper ul li:not(:last-child),
.text-component-wrapper ol li:not(:last-child) {
  margin-bottom: var(--lds-g-spacing-200);
}

.text-component.block.right {
  justify-items: end;
  text-align: end;
}

.text-component.block.center {
  justify-items: center;
  text-align: center;
}

.text-component.block.center p {
  text-align: center;
}

.text-component.block ul {
  display: grid;
}

.text-component.block.center ul,
.text-component.block.center ol {
  justify-content: center;
}

.text-component.block.right ul,
.text-component.block.right ol {
  justify-content: end;
}

.text-component.block.center .cta-button.cta-flex-vertical {
  align-items: center;
}

.text-component.block.right .cta-button.cta-flex-vertical {
  align-items: end;
}

.text-component-wrapper p,
.text-component-wrapper h1,
.text-component-wrapper h2,
.text-component-wrapper h3,
.text-component-wrapper h4,
.text-component-wrapper h5,
.text-component-wrapper h6 {
  margin: var(--lds-g-spacing-0);
  padding: var(--lds-g-spacing-0);
}

.text-component-wrapper p:not(:only-child):not(:last-child) {
  margin-bottom: var(--lds-g-spacing-300);
}

.text-component-wrapper .text-component.lds-layout-container {
  row-gap: 0;
}

.text-component-wrapper .eyebrow-text * {
  color: var(--lds-g-color-neutral-base-100);
  font: var(--lds-g-typography-ringside-special-eyebrow-desktop);
  font-size: var(--lds-g-font-size-neg-1);
  text-transform: uppercase;
}

.text-component-wrapper .icon-img {
  width: 64px;
  height: 64px;
}

.text-component-wrapper .title,
.text-component-wrapper .description,
.text-component-wrapper .footnote {
  color: var(--lds-g-color-neutral-base-100);
  word-wrap: break-word;
}

.text-component-wrapper .cta-button {
  display: flex;
}

.text-component-wrapper .footnote h1,
.text-component-wrapper .footnote h2,
.text-component-wrapper .footnote h3,
.text-component-wrapper .footnote h4 {
  color: var(--lds-g-color-neutral-base-060);
}

.text-component-wrapper .description li,
.text-component-wrapper .footnote li {
  text-align: left;
}

.text-component-wrapper .footnote p,
.text-component-wrapper .footnote ul,
.text-component-wrapper .footnote li,
.text-component-wrapper .footnote ol {
  /* font: var(--lds-g-typography-ringside-special-caption-desktop); */
  /* font-size: var(--lds-g-font-size-neg-2); */
  color: var(--lds-g-color-neutral-base-060);
}

.text-component-wrapper .footnote-items {
  color: var(--lds-g-color-neutral-base-060);
}

.cta-button.cta-flex-vertical {
  display: flex;
  flex-direction: column;
  gap: var(--lds-g-spacing-300);
}

.cta-button.cta-flex-horizontal {
  display: flex;
  flex-direction: row;
  gap: var(--lds-g-spacing-300);
}

@media (max-width: 768px) {
  .cta-button.cta-flex-horizontal,
  .cta-button.cta-flex-vertical {
    flex-direction: column;
    gap: var(--lds-g-spacing-200);
  }

  .text-component-wrapper .footnote ul,
  .text-component-wrapper .footnote ol {
    margin-left: var(--lds-g-font-list-spacing-2);
  }
}

@media screen and (max-width: 950px) {
  .text-component-wrapper {
    padding: var(--lds-g-spacing-0);
  }

  .text-component-wrapper .eyebrow-text {
    font-size: var(--lds-g-font-size-neg-2);
    line-height: var(--lds-g-font-line-height-1);
  }

  .text-component-wrapper .text-component.lds-layout-container {
    row-gap: 0;
  }

  .text-component.block > div:not(:last-child) {
    margin-bottom: var(--lds-g-spacing-300);
  }
  .text-component-wrapper .cta-button {
    margin-bottom: var(--lds-g-spacing-600) !important;
  }
  .text-component-wrapper .eyebrow-text {
    margin-bottom: var(--lds-g-spacing-400);
  }

  .text-component-wrapper div:has(> .eyebrow-text) {
    margin-bottom: 0 !important;
  }
}
