form {
    color: black;

    > div, fieldset {
        margin-bottom: 1.5rem;
    }
    fieldset {
        padding: 0;
        display: flex;
        gap: 1.5rem;
        border: none;

        > div {
            flex-grow: 1;

            input[type=text] {
                width: 100%;
            }
        }
    }


    input:is([type=text],[type=date],[type=datetime-local],[type=email], [type=password]), textarea {
        font-size: 1.4rem;
        border: 2px solid #dee1e2;
        border-radius: 6px;
        line-height: 1.5;
        padding: 3px 10px;
        transition: box-shadow 100ms ease-in, border 100ms ease-in, background-color 100ms ease-in;
        color: rgb(14, 14, 16);
        background: white;
        display: block;

        &:hover {
            border-color: #ccc;
        }

        &:focus {
            border-color: #9147ff;
        }
    }

    textarea {
        width: 100%;
        min-height: 14rem;
        resize: none;
    }
}

label {
    font-weight: bold;
    text-transform: capitalize;
    font-size: 1.1rem;
    user-select: none;
}

button, input[type=submit], .button {
    display: inline-block;
    outline: none;
    cursor: pointer;
    user-select: none;

    &:not(.clear) {
        padding: 0 12px;
        background-color: var(--primary-button);
        border-radius: 0.25rem;
        border: 1px solid var(--primary-button);
        color: white;
        font-size: 1rem;
        line-height: 30px;
        font-weight: bold;
        text-align: center;
        transition: background-color 200ms ease-in;

        &:hover {
            background-color: color-mix(in srgb, var(--primary-button), black 15%);
        }
    }
    &.clear {
        padding: 0;
        border: none;
    }

    svg {
        display: inline-block;
    }

    &[type="submit"], &.big {
        padding: 12px 24px;
        font-size: 1.25rem;
    }


    &.warning {
        background-color: var(--primary);
        border-color: var(--logo);

        &:hover {
            background-color: var(--logo);
        }
    }

    &.light {
        padding: .3rem .6rem;
        color: black;
        border-color: color-mix(in srgb, var(--primary-button), white 40%);
        background-color: color-mix(in srgb, var(--primary-button), white 40%);

        &:hover {
            background-color: color-mix(in srgb, var(--primary-button), white 10%);
            border-color: color-mix(in srgb, var(--primary-button), white 10%);
        }
    }
}

.controls {
    margin-top: 2.4rem;

    display: flex;
    justify-content: space-between;
    align-items: center;

    button, input[type=submit], .button {
        min-width: 25%;
    }

    :only-child {
        margin-left: auto;
    }
}
