@import '../abstracts/variables';

.radio {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    vertical-align: middle;
    -webkit-tap-highlight-color: transparent;
    color: var(--palette-action-default);

    & > .radio-content {
        color: var(--palette-text-primary);
    }

    &.disabled, .disabled:hover, .disabled:focus-visible {
        cursor: default;
        background-color: transparent !important;

        & > .radio-content {
            color: var(--palette-text-disabled);
        }

        & * {
            cursor: default;
            color: var(--palette-text-disabled);
        }
    }

    & .radio-dense {
        padding: 4px;
    }

    &.checked {
        color: var(--palette-action-default);

        &:hover {
            background-color: var(--palette-action-default-hover);
        }
    }
}

.radio-button {
    width: 100%;
    display: flex;
    align-items: inherit;
    justify-content: inherit;

    & .radio-input {
        top: 0;
        left: 0;
        width: 100%;
        cursor: inherit;
        height: 100%;
        margin: 0;
        opacity:0;
        padding: 0;
        z-index: 1;
        position: absolute;
    }

    & .radio-icons {
        display: flex;
        position: relative;
    }
}


.radio-icons.checked .radio-icon-checked {
    transform: scale(1);
    transition: transform 150ms cubic-bezier(0.0, 0, 0.2, 1) 0ms;
}

.radio-icon-checked {
    left: 0;
    position: absolute;
    transform: scale(0);
    transition: transform 150ms cubic-bezier(0.4, 0, 1, 1) 0ms;
}

.radio-content-placement- {
    &start {
        margin-left: 16px;
        margin-right: -11px;
        margin-inline-start: 16px;
        margin-inline-end: -11px;
        flex-direction: row-reverse;
    }

    &end {
        margin-left: -11px;
        margin-right: 16px;
        margin-inline-start: -11px;
        margin-inline-end: 16px;
        flex-direction: row;
    }

    &top {
        margin-left: 16px;
        margin-inline-start: 16px;
        margin-inline-end: unset;
        flex-direction: column-reverse;
    }

    &bottom {
        margin-left: 16px;
        margin-inline-start: 16px;
        margin-inline-end: unset;
        flex-direction: column;
    }
}
