form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

input, textarea, select, button {
    margin: 0;
    border: 1px solid rgb(75,75,75);
    border-radius: 0;
    padding: 10px;
    background-color: #f3f3f3;
}
input[type=checkbox],
input[type=radio] { text-align: center; }
input[type=checkbox]:checked::after,
input[type=radio]:checked::after {
    content: '❌';
}
input[type=checkbox]:hover,input[type=radio]:hover, select:hover { cursor: pointer; }

textarea {
    min-height: 100px;
    resize: none;
    field-sizing: content;
    line-height: 24px;
}

input:focus, textarea:focus, select:focus, button:active {
    outline: 10px solid rgba(0,0,0,0.1);
    background-color: #fff;
}

button {
    display: flex;
    align-items: center; /* Vertical alignment */
    justify-content: center;
    gap: 10px;
    border: none;
    padding: 10px 30px;
    background-color: #000;
    color: #fff;
}
button:hover {
    background-color: #444;
    cursor: pointer;
}

button > i {
    margin: 0 0 0 0;
    font-size: 16px !important;
    line-height: 1;
    color: #fff;
}