.vertical-form .field {
    display: flex;
    flex-flow: column;
    margin: 40px 0;
}

.vertical-form .form-buttons {
    margin-top: 60px;
    display: flex;
    justify-content: flex-end;
    gap: 40px;
}

.vertical-form textarea {
    resize: vertical;
}

button {
    border: 2px solid var(--blue-50);
    color: var(--blue-50);
    background-color: transparent;
    font-size: var(--font-size-controls);
    text-transform: uppercase;
    letter-spacing: 3%;
    font-weight: 600;
    padding: 15px 30px;
    border-radius: 7px;
    box-sizing: border-box;
    cursor: pointer;
}

button.small {
    padding: 10px 20px;
    font-size: var(--font-size-small);
}

button:hover {
    border: 2px solid var(--blue-60);
}

button[disabled] {
    border: 2px solid var(--blue-20);
}

button.danger {
    border: 2px solid var(--red-50);
    color: var(--red-50);
}

button.danger:hover {
    border: 2px solid var(--red-90);
    color: var(--red-90);
}

button.action {
    border: 0;
    color: var(--gray-10);
    background-color: var(--blue-50);
}

button.action:hover {
    border: 0;
    background-color: var(--blue-60);
}

button.action[disabled] {
    background-color: var(--blue-20);
}

label {
    margin-bottom: 10px;
}

.field.invalid label {
    color: var(--red-90);
}

input, textarea, select {
    border: 2px solid var(--gray-15);
    color: var(--gray-90);
    background-color: transparent;
    font-size: var(--font-size-controls);
    padding: 15px;
    border-radius: 7px;
    box-sizing: border-box;
}

input::placeholder, textarea::placeholder, select::placeholder {
    font-style: italic;
}
