.radio__group {
    display: flex;
    flex-direction: column;
}

.radio__group input + label {
    flex: 1 1 auto;
    text-align: left;
    background-color: var(--input-bg);
    border: var(--input-border-width, 0.1rem) solid var(--color-border);
    border-width: 0 var(--input-border-width, 0.1rem);
    color: var(--color-secondary);
    padding: var(--size-s) var(--size);
    border-radius: 0;
    align-items: center;
    justify-content: center;
    line-height: 1.3;
    min-height: var(--input-height);
}
.radio__group input + label:not(:nth-child(2)) {
    border-top-width: var(--input-border-width, 0.1rem);
}

.radio__group input + label:nth-child(2) {
    border-radius: var(--input-border-radius) var(--input-border-radius) 0 0;
    border-top-width: var(--input-border-width, 0.1rem);
}

.radio__group input + label:last-child {
    border-radius: 0 0 var(--input-border-radius) var(--input-border-radius);
    border-bottom-width: var(--input-border-width, 0.1rem);
}

.radio__group input + label:hover {
    background-color: var(--color-hover);
    color: var(--color-hover-primary);
}

.radio__group input[type="radio"]:checked+label,
label.-active {
    background-color: var(--color-accent);
    color: var(--color-accent-primary);
}
    .radio__group input[type="radio"]:checked+label .color-secondary,
    label.-active .color-secondary {
        color: var(--color-accent-primary);
    }

    .radio__group input[type="radio"][readonly] + label {
        pointer-events: none;
    }
    .radio__group input[type="radio"][readonly]:not(:checked) + label {
        background-color: var(--readonly-bg); color: var(--input-color);
    }
.radio__group.-s label { --input-height: var(--input-height-s); }
@media(min-width:40em) {
    .radio__group--horizontal {
        flex-direction: row;
    }

    .radio__group--horizontal input + label {
        text-align: center;
        border-width: var(--input-border-width, 0.1rem) 0;
        height: var(--input-height);
    }

    .radio__group--horizontal input + label:not(:nth-child(2)) {
        border-left-width: var(--input-border-width, 0.1rem);
    }

    .radio__group--horizontal input + label:nth-child(2) {
        border-radius: var(--input-border-radius) 0 0 var(--input-border-radius);
        border-left-width: var(--input-border-width, 0.1rem);
    }

    .radio__group--horizontal input + label:last-child {
        border-radius: 0 var(--input-border-radius) var(--input-border-radius) 0;
        border-right-width: var(--input-border-width, 0.1rem);
    }
}

@media(max-width:39.9em) {
    .radio__group--horizontal.radio__group--options-2 {
        flex-direction: row;
    }

    .radio__group--horizontal.radio__group--options-2 input + label {
        border-width: var(--input-border-width, 0.1rem) 0;
    }

    .radio__group--horizontal.radio__group--options-2 input + label:not(:nth-child(2)) {
        border-left-width: var(--input-border-width, 0.1rem);
    }

    .radio__group--horizontal.radio__group--options-2 input + label:nth-child(2) {
        border-radius: var(--input-border-radius) 0 0 var(--input-border-radius);
        border-left-width: var(--input-border-width, 0.1rem);
    }

    .radio__group--horizontal.radio__group--options-2 input + label:last-child {
        border-radius: 0 var(--input-border-radius) var(--input-border-radius) 0;
        border-right-width: var(--input-border-width, 0.1rem);
    }
}