.ps-radio {
  [type="radio"] {
    position: absolute;
    left: -9999px;

    & + label {
      position: relative;
      padding-left: 28px;
      cursor: pointer;
      line-height: 20px;
      display: inline-block;
      color: $gray-dark;

      &:before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 18px;
        height: 18px;
        border: 2px solid $gray-medium;
        border-radius: 100%;
        background: #ffffff;
      }

      &:after {
        content: '';
        width: 10px;
        height: 10px;
        background: $primary;
        position: absolute;
        top: 4px;
        left: 4px;
        border-radius: 100%;
        transition: all 0.2s ease;
      }
    }

    &:checked + label {
      &:before {
        border: 2px solid $primary;
      }

      &:after {
        opacity: 1;
        transform: scale(1);
      }
    }

    &:not(:checked) + label:after {
      opacity: 0;
      transform: scale(0);
    }

  }
}
