input[type="radio"] {
    appearance: none;
    margin: 0;
    box-shadow: none;
    height: 41px;
    width: 100%;
    cursor: pointer;

    border-width: 1px;
    border-radius: 15px;
    border-style: solid;

}

.radio-col-2 {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    width: 100%;
    flex-wrap: wrap;
}

.radio-col-2 .radio {
    width: 48%;
    margin: 2px;

    @media (min-width: 900px) {
        & {
            width: 22%;
        }
    }
}

.radio {
    transition: all 0.3s ease-in-out;

    position: relative;
    margin-bottom: 3px;
    border-radius: 15px;
    margin: 3px;

    width: 100%;
}



.radio span {

    border-radius: 15px;

    font-weight: 300;

    position: absolute;
    top: 0px;
    left: 0px;
    color: var(--contrast-color);
    width: 100%;
    height: 40px;

    text-align: center;

    z-index: -1;

    display: flex;
    justify-content: center;
    align-items: center;

    border: 0px;
}



input[type="radio"]:valid {
    border-color: var(--glow-color) !important;
}


input[type="radio"]:checked {
    border-color: var(--primary-color) !important;
}

input[type="radio"]:valid~span {
    background-color: var(--theme-color);
    color: var(--blackwhite-color);
}

input[type="radio"]:checked~span {
    background-color: var(--primary-color);
    color: var(--theme-color);
    font-weight: 300;
}

.radio-group {
    display: flex;
    flex-wrap: wrap;

    @media (min-width:1000px) {
        .radio {
            width: 48%;
        }
    }
}

.radio:hover span {
    background-color: var(--destaque-color);
    color: #fff !important;
}


.radio:hover {
    box-shadow: 0 0 70px 2px var(--glow-color);
}