.os-radio-button {
    display: block;
    margin: 8px 0px;

    input[type="radio"] {
        width: 0;
        height: 0;
        appearance: none;
        margin: 0;
        background: 0;
        position: fixed;
        opacity: 0;
        border: none;

        + label {
            height: 12px;
            position: relative;
            margin-left: 18px;

            &::before {
                width: 12px;
                height: 12px;
                display: inline-block;
                position: absolute;
                top: 0;
                left: -18px;
                margin-right: 6px;
                content: "";
                background: url("/assets/themes/win98/icons/radio-button.png");
                background-position: 0px 0px;
                background-repeat: no-repeat;
            }
        }

        &:checked + label::before {
            background-position: 0px -12px;
        }

        &:focus + label:not(:empty) {
            outline: 1px dotted rgb(0, 0, 0);
        }

        &[disabled] {
            + label {
                color: grey;
                text-shadow: 1px 1px 0 #fff;

                &::before {
                    background-position: 0px -24px;
                }
            }

            &:checked + label::before {
                background-position: 0px -36px;
            }
        }
    }

    &:active:not(.os-disabled) {
        input + label:before {
            background-position: 0px -24px;
        }

        &.os-checked input + label:before {
            background-position: 0px -48px !important;
        }
    }
}
