.produktberater {
  .produktberater__head-content {
    padding-top: 5.625rem;
    padding-bottom: 10.625rem;

    @media screen and (max-width: 990px) {
      padding-top: 4rem;
      padding-bottom: 6.5rem;
    }
  }

  .produktberater__title {
    font-size: clamp(var(--sp-6d5), 2.5vw, var(--sp-10));
    text-align: center;
    margin-bottom: var(--sp-2d5);

    @media screen and (max-width: 990px) {
      margin-bottom: var(--sp-5);
    }
  }

  .produktberater__subtitle {
    font-size: clamp(var(--sp-3d5), 2.5vw, var(--sp-4d5));
    text-align: center;
  }

  .produktberater__card {
    position: relative;
    z-index: 1;
    margin: 0 auto;
    max-width: 960px;
    border-radius: var(--sp-6);
    overflow: hidden;
    box-shadow: 0 0 20px 0 rgba(82, 82, 82, 0.12);
    background-color: rgb(var(--color-total-white));

    @media screen and (max-width: 990px) {
      border-radius: var(--sp-5);
    }
  }

  .produktberater__card--overlap {
    transform: translateY(-100px);

    @media screen and (max-width: 990px) {
      transform: translateY(-60px);
    }
  }

  .produktberater__card--with-banner {
    display: flex;
    flex-direction: column;
    gap: var(--sp-12);

    @media screen and (max-width: 990px) {
      gap: var(--sp-8);
    }
  }

  .produktberater__banner {
    display: flex;
    align-items: stretch;
    flex-shrink: 0;
    min-height: 167px;
    color: rgb(var(--produktberater-banner-foreground));
    background: var(--produktberater-banner-background);
    overflow: hidden;

    @media screen and (max-width: 990px) {
      min-height: 0;
      flex-direction: column;
      background: var(--produktberater-banner-background-mobile);
    }
  }

  .produktberater__banner-content {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: var(--sp-6);
    padding: var(--sp-7d5) var(--sp-10);
    min-width: 0;

    @media screen and (max-width: 990px) {
      gap: var(--sp-3);
      padding: var(--sp-7d5) var(--sp-5);
    }
  }

  .produktberater__banner-messaging {
    display: flex;
    flex-direction: column;
    gap: var(--sp-2);
  }

  .produktberater__banner-heading {
    margin: 0;
    font-size: var(--sp-6d5);
    font-weight: var(--font-bold);
    line-height: 1.2;
    color: inherit;
    overflow-wrap: break-word;

    @media screen and (max-width: 990px) {
      font-size: var(--sp-5d5);
    }
  }

  .produktberater__banner-subheading {
    margin: 0;
    font-size: var(--sp-4);
    font-weight: var(--font-normal);
    line-height: 1.4;
    overflow-wrap: break-word;

    @media screen and (max-width: 990px) {
      font-size: 15px;
    }
  }

  .produktberater__banner-checks {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--sp-6);
    margin: 0;
    padding: 0;
    list-style: none;

    @media screen and (max-width: 990px) {
      flex-direction: column;
      align-items: flex-start;
      gap: var(--sp-1d5);
    }
  }

  .produktberater__banner-check {
    display: flex;
    align-items: center;
    gap: var(--sp-2);
  }

  .produktberater__banner-check-icon {
    display: inline-flex;
    flex-shrink: 0;
    width: var(--sp-4);
    height: var(--sp-4);

    svg {
      width: 100%;
      height: 100%;
    }
  }

  .produktberater__banner-check-label {
    font-size: var(--sp-4);
    line-height: 1.4;
    white-space: nowrap;

    @media screen and (max-width: 990px) {
      font-size: 15px;
      white-space: normal;
    }
  }

  .produktberater__banner-image {
    flex: 0 0 247px;
    width: 247px;
    align-self: flex-end;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    pointer-events: none;

    @media screen and (max-width: 990px) {
      display: none;
    }

    img {
      width: 100%;
      height: auto;
      max-height: 165px;
      object-fit: contain;
      object-position: right bottom;
      display: block;
    }
  }

  .produktberater__list {
    .step {
      display: none;

      &.is-active {
        display: block;
      }

      padding: 40px 46px 30px;

      @media screen and (max-width: 990px) {
        padding: 40px 22px 22px;
      }

      .step__title {
        font-size: clamp(var(--sp-5d5), 2.5vw, var(--sp-6d5));
        margin-bottom: var(--sp-10);
        text-align: center;
      }

      .step__content {
        display: flex;
        column-gap: var(--sp-6);
        row-gap: var(--sp-10);
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;

        @media screen and (max-width: 990px) {
          display: grid;
          grid-template-columns: repeat(2, 1fr);
          row-gap: var(--sp-6d5);
          column-gap: var(--sp-2);
          align-items: baseline;
        }

        .step-item {
          flex: 1;
          min-width: 198px;
          cursor: pointer;
          transition: scale 0.3s ease-in-out;
          align-self: start;

          @media screen and (max-width: 990px) {
            min-width: unset;
          }

          .step-item__image {
            aspect-ratio: 1/1;
            border-radius: var(--sp-5);
            overflow: hidden;
            border: 1.5px solid transparent;
            transition: border-color 0.3s ease-in-out;

            @media screen and (max-width: 990px) {
              border-radius: var(--sp-2d5);
            }

            img {
              width: 100%;
              height: 100%;
              object-fit: cover;
            }
          }

          .step-item__title {
            font-size: clamp(var(--sp-3), 2.5vw, var(--sp-4));
            margin-top: var(--sp-4);
            text-align: center;
            font-weight: var(--font-normal);

            @media screen and (max-width: 990px) {
              margin-top: var(--sp-2);
              text-align: left;
            }
          }
        }

        .step-item.checked {
          scale: 1.05;

          @media screen and (max-width: 990px) {
            scale: 1.03;
          }

          .step-item__image {
            border-color: rgb(var(--color-total-black));
          }
        }
      }

      .step__content:has(.step-item--4) {
        @media screen and (max-width: 990px) {
          grid-template-columns: repeat(3, 1fr);
        }

        .step-item {
          flex: 0 0 calc(25% - var(--sp-6));

          .step-item__image {
            border-radius: var(--sp-3);

            @media screen and (max-width: 990px) {
              border-radius: var(--sp-2d5);
            }
          }
        }
      }

      .step__buttons {
        display: flex;
        align-items: center;
        margin-left: auto;
        width: fit-content;
        gap: var(--sp-2);
        margin-top: var(--sp-10);

        .button {
          height: 48px;
        }

        .button.button--third[disabled] {
          opacity: 1;
          color: #8a9097;
          border-color: transparent !important;
          box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.14);
        }
      }
    }
  }

  .produktberater__card--with-banner .produktberater__list .step {
    padding-top: 0;

    .step__title {
      line-height: 1.2;
      margin-bottom: var(--sp-6d5);

      @media screen and (max-width: 990px) {
        margin-bottom: var(--sp-5);
      }
    }

    .step__buttons {
      margin-top: var(--sp-6d5);
    }
  }
}
