bb-journey-service-row {

  .service-row {

    position: relative;

    p {
      color: $studio-raven-pale-gray;
    }

    h1, p {
      font: {
        size: 15px;
      }
      margin: 0;
    }

    &__radio-label {
      width: 100%;
      padding: 20px 15px;
      padding-left: 40px;
    }

    &__radio-button {
      position: absolute;
      left: 17px;
      top: 19px;

      &:before {
        content: "";

        position: absolute;
        left: -5px;
        top: 0;
        height: 20px;
        width: 20px;

        border: border(1);
        border-radius: 50%;
      }

      &:after {
        content: "";

        opacity: 0;
        position: absolute;
        left: 2px;
        top: 7px;

        border: 3px solid #FFF;
        border-radius: 50%;

        transition: opacity 0.2s ease-in-out;
      }
    }

    &__radio-input {
      opacity: 0;
      display: inline-block;

      position: absolute;
      left: 0;
      top: 0;
      width: spacing(40);
      height: spacing(40);
      margin-top: spacing(3);

      &:checked + .service-row__radio-button {
        &:before {
          background-color: $studio-cyan-blue;
          border-color: $studio-cyan-blue;
        }

        &:after {
          opacity: 1;
        }
      }

      &:checked ~ .service-row__details {
        .service-row__name {
          color: $bb-dark-gray;
        }
      }

      &:focus + .service-row__radio-button {
        &:before {
          @include outline;
        }
      }
    }

    &__name {
      font-weight: 600;
      padding: {
        top: spacing(1);
      }
    }

    &__details {
      padding-top: spacing(8);
    }

    &__description {

      &--present {
        padding-bottom: spacing(8);
      }
    }
  }
}