.c-two-columns {
  padding: 5rem 0;
  position: relative;
  overflow: hidden;
}

.c-two-columns__bg {
  position: absolute;
  inset: 0;
  z-index: -1;

  &::after {
    content: '';
    position: absolute;
    inset: 0;
    background: var(--two-columns-gradient);
  }
}

.c-two-columns__inner {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  position: relative;
}

.c-two-columns__title {
  text-align: center;

  .c-two-columns:has(.c-two-columns__bg) & {
    color: var(--two-columns-title-with-bg-image);
  }
}

.c-two-columns__cards {
  display: flex;
  gap: 2.4rem;

  @media (max-width: 767px) {
    flex-direction: column;
  }
}

.c-two-columns__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  background-color: var(--two-columns-card-bg);
  border-radius: 15px;
  position: relative;
  overflow: hidden;

  @media (min-width: 768px) {
    flex: 1;
    padding: 3rem;
  }

  @media (max-width: 767px) {
    padding: 2rem;
  }
}

.c-two-columns__card--colored {
  background-color: var(--two-columns-card-bg-colored);
  color: var(--two-columns-card-bg-colored-text);
}

.c-two-columns__card--centered {
  align-items: center;
  text-align: center;
}

.c-two-columns__card-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.2rem;
  position: relative;
  z-index: 1;

  .c-two-columns__card--centered & {
    align-items: center;
    text-align: center;
  }
}

.c-two-columns__icon {
  width: 5.4rem;
  height: 5.4rem;
}

.c-two-columns__card-title {
  .c-two-columns__card--colored & {
    color: var(--two-columns-card-bg-colored-text);
  }
}

.c-two-columns__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
  position: relative;
  z-index: 1;

  .c-two-columns__card--centered & {
    justify-content: center;
  }

  @media (max-width: 564px) {
    width: 100%;
    a {
      width: 100%;
    }
  }
}

.c-two-columns__deco {
  position: absolute;
  right: 15px;
  bottom: 7px;
  width: 11rem;
  height: 11rem;
  overflow: hidden;
}