.radio-group {
    display: inline-flex;
    gap: 20px;
    margin: 0 auto;
    align-items: center;
}

.radio-button {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: 2px solid #007bff;
    cursor: pointer;
    position: relative;
    transition: transform 0.15s ease, border-color 0.15s ease;
}

.radio1, .radio1::after {
    width: 50px;
    height: 50px;
    border-color: rgb(136, 97, 154);
}

.radio1::after {
    background: rgb(136, 97, 154);
}

.radio2, .radio2::after {
    width: 40px;
    height: 40px;
    border-color: rgb(136, 97, 154);
}

.radio2::after {
    background: rgb(136, 97, 154);
}

.radio3, .radio3::after {
    width: 30px;
    height: 30px;
    border-color: #6f8887;
}

.radio3::after {
    background: #6f8887;
}

.radio4, .radio4::after {
    width: 40px;
    height: 40px;
    border-color: rgb(51, 164, 116);
}

.radio4::after {
    background: rgb(51, 164, 116);
}

.radio5, .radio5::after {
    width: 50px;
    height: 50px;
    border-color: rgb(51, 164, 116);
}

.radio5::after {
    background: rgb(51, 164, 116);
}

/* inner fill element */
.radio-button::after {
    content: "";
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    opacity: 0;
}

/* hover preview fill */
.radio-button:not(.radio-selected):hover::after {
    opacity: 0.35;
    transform: translate(-50%, -50%) scale(1.00);
    transition: transform 0.15s ease, opacity 0.15s ease;
}

.radio-button:not(.radio-selected):hover {
    transform: scale(1.00);
}

/* selected state */
.radio-button.radio-selected::after {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.05);

    display: flex;
    align-items: center;
    justify-content: center;
    content: "✓";
    color: white;
}
