JSFiddle - React, Tailwind, and code Playground

by Ka1dos

HTML

<div class="payment">

  <div class="payment_item">
    <label for="payment_radio_1" class="payment_label">Оплата картой</label>
    <input type="radio" name="payment_radio" id="payment_radio_1" checked>
  </div>

  <div class="payment_item">
    <label for="payment_radio_2" class="payment_label">Оплата наличкой</label> 
    <input type="radio" name="payment_radio" id="payment_radio_2">
  </div>

</div>

CSS

body{
  width: 417px;
}


.payment_item{
    width: 100%;
    margin-top: 60px;
    position: relative;
}

.payment_item label{
    font-size: 24px;
    font-family: 'Rubik-Medium';
    margin: 0;
    cursor: pointer;
}

.payment_item input{
    display: none;
    position: absolute;
}

.payment_label{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.payment_label::after{
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background-color: #C4C4C4;
    border-radius: 50%;
}

.payment_item input[type="radio"]:checked + .payment_label::before{
    content: '';
    display: block;
    width: 30px;
    height: 30px;
    background-color: #FBBC04;
    border-radius: 50%;
    position: absolute;
    z-index: 9;
    right: 0;
}