.legal__inner {
    position: relative;
}

.legal__label {
    display: block;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    padding-left: 1.78571rem;
    font-size: inherit;
    line-height: 1.5;
    color: #000;
}

.legal__control {
    position: absolute;
    width: 0;
    height: 0;
    opacity: 0;
    cursor: pointer;
}

.legal__control:checked ~ .legal__mark::before {
    transform: translate(-50%, -50%) scale(1);
}

.legal__mark {
    position: absolute;
    top: 0.15em;
    left: 0;
    width: 0.92857rem;
    height: 0.92857rem;
    border: 1px solid #9f9f9f;
    border-radius: 50%;
    box-sizing: border-box;
}

.legal__mark::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    width: 0.5rem;
    height: 0.5rem;
    background-color: #000;
    border-radius: 50%;
    transition: transform .3s ease;
}

.legal__link {
    color: #9f9f9f;
    transition: color .3s ease;
}

.legal__link:hover {
    color: #000;
}

.legal--error .legal__mark {
    border-color: #000;
}

.legal--error .legal__label {
    color: #000;
}
