CSS Hide Checkboxes

.input[type="checkbox"] {
    position: absolute;
    width: 1px; /* если у элемента не будет размеров, некоторые браузеры посчитают, что его вообще нет */
    height: 1px;
    overflow: hidden; /* без этого свойства тоже сработает, но так наверняка. Мы его ещё изучим, оно скрывает элементы, выходящие за границы родителя */
    clip-path: inset(0 0 0 0);
} 
<label>
    <input type="checkbox" class="invisible-checkbox"> <!-- этот элемент мы скрыли -->
    <span class="visible-checkbox"></span> <!-- этот будем стилизовать -->
</label> 
input[type="checkbox"]:disabled {} /* выключенный */
input[type="checkbox"]:checked {} /* выбранный */
input[type="checkbox"]:focus {} /* в фокусе */ 
input[type="checkbox"] + span {} /* так для чекбокса выглядит первый сосед с именем span */ 

#css