:root
{
    
}

form.styled
{
    padding: 20px 0;

    fieldset
    {
        border: none;
        margin: 0;
        padding: 0;
    }

    legend
    {
        font-size: 20px;
        font-weight: bold;
        padding-bottom: 20px;
    }

    .input.textarea
    {
        padding-bottom: 20px;
    }

    .buttons
    {
        padding-top: 25px;

        a,
        input
        {
            margin-right: 10px;
        }

        a:last-child,
        input:last-child
        {
            margin-right: 0;
        }
    }

    .input .error-message
    {
        color: #d00;
        padding-bottom: 20px;
        font-weight: bold;
        margin-top: -5px;
    }
}

form.styled input,
form.styled select,
form.styled textarea,
input.styled,
select.styled,
textarea.styled 
{
    border: 1px solid #bbb;
    border-radius: 5px;
    padding: 0.6em 1em;
    margin-bottom: 1em;
    width: 100%;
    box-sizing: border-box;
    font-size: 1em;
    background: #fff;
    transition: border-color 0.2s;
}

form.styled input:focus,
form.styled select:focus,
form.styled textarea:focus,
input.styled:focus,
select.styled:focus,
textarea.styled:focus 
{
    border-color: #0078d7;
    outline: none;
}

form.styled label,
label.styled 
{
    display: block;
    margin-bottom: 0.5em;
    font-weight: 500;
    color: #333;
}

form.styled .input.select .checkbox,
form.styled .input.checkbox,
form.styled .input.radio
{
    label
    {
        display: flex;
        width: fit-content;
        cursor: pointer;
    }

    input[type="checkbox"],
    input[type="radio"]
    {
        width: fit-content;
        margin: 0;
        margin-right: 15px;
    }
}

form.styled .input.checkbox.hidden
{
    display: none;
}

form.styled .button,
.button.styled,
form.styled button[type="submit"]
{
    display: inline-block;
    appearance: none;
    border: none;
    cursor: pointer;
    border-radius: 40px;
    padding: 15px 25px;
    color: white;
    background: #0580af;
    transition: all 0.2s;
}

form.styled .button.big,
.button.styled.big
{
    font-size: 22px;
    padding: 21px 50px;
    font-weight: 500;
}

form.styled .button:hover,
.button.styled:hover
{
    color-mix(in oklch, #0580af, black 10%);
}

form.styled .button.primary,
.button.styled.primary
{
    background: #F98800;
}

form.styled .button.blue,
.button.styled.blue
{
    background: #0580af;
}

form.styled .input.required label::after
{
    content: "*";
    font-weight: bold;
    color: #a00;
}

form.styled .input.select.required .checkbox label::after,
form.styled .input.radio.required label:not(:first-child)::after
{
    content: "";
}

form.styled div.legend
{
    border-top: 1px #eee solid;
    padding-top: 10px;
    font-weight: 600;
    font-size: 13px;
}