.eco-text-columns {
  width: 100%;
  box-sizing: border-box;
  padding: var(--eco-text-columns-padding-top, 22px) var(--eco-text-columns-padding-x, 0) var(--eco-text-columns-padding-bottom, 18px);
  background: var(--eco-text-columns-bg, #ffffff);
  color: var(--eco-text-columns-desc-color, #667085);
  font-family: inherit !important;
  content-visibility: auto;
  contain-intrinsic-size: 180px;
}

.eco-text-columns,
.eco-text-columns * {
  box-sizing: border-box;
  font-family: inherit !important;
}

.eco-text-columns--boxed {
  max-width: var(--eco-text-columns-max-width, 1200px);
  margin-left: auto;
  margin-right: auto;
}

.eco-text-columns--wide .eco-text-columns__inner {
  max-width: var(--eco-text-columns-max-width, 1200px);
  margin-left: auto;
  margin-right: auto;
}

.eco-text-columns--full .eco-text-columns__inner {
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

.eco-text-columns__inner {
  contain: layout paint;
}

.eco-text-columns__heading {
  margin: 0 0 18px;
  color: var(--eco-text-columns-heading-color, #111111);
  font-size: var(--eco-text-columns-heading-size, 18px);
  font-weight: var(--eco-text-columns-heading-weight, 800);
  line-height: 1.2;
  text-align: center;
}

.eco-text-columns__grid {
  display: grid;
  grid-template-columns: repeat(var(--eco-text-columns-columns, 3), minmax(0, 1fr));
  gap: var(--eco-text-columns-gap, 28px);
  align-items: start;
}

.eco-text-columns__item {
  position: relative;
  min-width: 0;
  padding: 0 clamp(12px, 2vw, 24px);
  text-align: center;
}

.eco-text-columns--separators .eco-text-columns__item:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 4px;
  bottom: 0;
  left: calc(var(--eco-text-columns-gap, 28px) / -2);
  width: var(--eco-text-columns-separator-width, 1px);
  background: var(--eco-text-columns-separator-color, #e5e7eb);
}

.eco-text-columns__title {
  margin: 0 0 8px;
  color: var(--eco-text-columns-title-color, #111111);
  font-size: var(--eco-text-columns-title-size, 13px);
  font-weight: var(--eco-text-columns-title-weight, 800);
  line-height: 1.25;
}

.eco-text-columns__description {
  margin: 0;
  color: var(--eco-text-columns-desc-color, #667085);
  font-size: var(--eco-text-columns-desc-size, 12px);
  font-weight: 400;
  line-height: 1.45;
}

@media (max-width: 767px) {
  .eco-text-columns {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-left: 16px;
    padding-right: 16px;
  }

  .eco-text-columns__heading {
    margin-bottom: 16px;
    font-size: min(var(--eco-text-columns-heading-size, 18px), 17px);
  }

  .eco-text-columns__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .eco-text-columns__item {
    padding: 0;
  }

  .eco-text-columns--separators .eco-text-columns__item:not(:first-child) {
    padding-top: 18px;
  }

  .eco-text-columns--separators .eco-text-columns__item:not(:first-child)::before {
    top: 0;
    bottom: auto;
    left: 50%;
    width: min(180px, 70%);
    height: var(--eco-text-columns-separator-width, 1px);
    transform: translateX(-50%);
  }
}
