/* ******************************************** */
/** COMPONNETS BG FORM
/* ******************************************** */

.c-form{
    position: relative;
}

.c-form__title{
    display: block;
    width: 100%;
    font-size: 2rem;
    font-weight: 500;
    color: var(--color-secondary);
    margin-bottom: .7em;
    margin-top: 60px;
}

.c-form__input:not([type="radio"]){
    width: 100%;
    background-color: var(--color-lightest);
    box-shadow: var(--color-primary) 0px 0px 0px 1px;
    border-radius: 12px;
    font-size: 1.7rem;
    padding: 0.67em 0.9em 0.65em;
}

.c-form__group--select .c-form__input{
    width: 100%;
    background-color: var(--color-lightest);
    box-shadow: var(--color-primary) 0px 0px 0px 1px;
    border-radius: 12px;
    font-size: 1.7rem;
    padding: 0.67em 0.9em 0.65em;
    min-height: 50px;
    cursor: pointer;
}

.c-form__select{
    position: relative;
}

select.c-form__input.is-placeholder {
    color: var(--color-gray);
    font-style: italic;
}

.c-form__select:after {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    content: "\e901";
    font-family: 'icomoon' !important;
    font-size: 1.3em;
    color: var(--color-primary);
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transition: transform 350ms ease-out;
}

.c-form__input[type="date"]::-webkit-calendar-picker-indicator{
    cursor: pointer;
}

.c-form__input[type="radio"]{
    display: inline-block;
    vertical-align: middle;
    width: auto;
    margin-inline-end: 0.3em;
    margin-top: -5px;
    cursor: pointer;
}

.c-form__input::-webkit-outer-spin-button,
.c-form__input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.c-form__input[type=number] {
    -moz-appearance: textfield;
}

.c-form__group.has-error .c-form__input{
    box-shadow: var(--color-error) 0px 0px 0px 1px;
}

.c-form__label{
    display: block;
    font-size: 1.7rem;
    color: var(--color-primary);
    font-weight: 500;
    padding-inline-start: 3px;
    margin-bottom: 0.2em;
}

.c-form__label--radio{
    display: inline-block;
    vertical-align: middle;
    margin-inline-end: 2em;
    cursor: pointer;
}

.c-form__radio{
    display: inline-block;
    vertical-align: middle;
    white-space: nowrap;
    cursor: pointer;
}

.c-form__radio:not(:first-of-type) {
    margin-inline-start: 30px;
}

.c-form__radio-label{
    display: inline-block;
    vertical-align: middle;
    font-size: 1.6rem;
    color: var(--color-secondary);
    margin-top: -2px;
}

.c-form__group{
    display: block;
}

.c-form__group:not(:first-of-type){
    margin-top: 22px;
}

.c-form__group--checkbox{
    display: flex;
    padding-top: 45px;
    height: 100%;
    align-items: center;
}

.c-form__input--textarea{
    min-height: 200px;
}

.c-form__bottom{
    margin-top: 30px;
}

.c-form__bottom > *:not(:first-child){
    margin-top: 30px;
}

.c-form__submit{
    background-color: var(--color-green);
    font-weight: 600;
    font-size: 1.7rem;
}

.c-form__message{
    font-size: 1.6rem;
    color: var(--color-green);
    padding-inline-start: 3px;
}

.c-form__error{
    display: block;
    font-size: 1.6rem;
    color: var(--color-error);
    padding-inline-start: 3px;
    margin-top: 6px;
}

.c-form.is-error .c-form__message{
    color: var(--color-error);
}

.c-form__submit[disabled]{
    background-color: var(--color-gray);
}

.c-form__input::-webkit-input-placeholder {
    color: var(--color-gray);
    font-style: italic;
}

.c-form__input::-moz-placeholder {
    color: var(--color-gray);
    font-style: italic;
}

.c-form__input::placeholder{
    color: var(--color-gray);
    font-style: italic;
}

.c-form__overlay{
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    background-color: var(--color-lightest);
    opacity: 0.6;
}

.is-loading .c-form__overlay{
    display: block;
}



/* ********************** de Mobile a TABLET ********************** */

@media (min-width: 768px) {

    .c-form__holder{
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 30px 25px;
    }

    .c-form__group:not(:first-of-type){
        margin-top: 0;
    }

}

/* ********************** de Tablet a DESKTOP ********************** */

@media (min-width: 980px) {

    .c-form__holder{
        gap: 30px;
    }
    
    .c-form__input{
        transition: box-shadow 200ms ease-out;
    }

    .c-form__input:focus{
        box-shadow: var(--color-hover) 0px 0px 0px 1px;
        transition: box-shadow 200ms ease-out;
    }

}


/* ********************** de Desktop a DESKTOP 2 ********************** */

@media (min-width: 1200px) {

    .c-form{
        max-width: 1000px;
    }

    .c-form__holder{
        gap: 40px;
    }

    .c-form__title{
        font-size: 2.3rem;
    }

    .c-form__message{
        font-size: 1.7rem;
    }

}


/* ********************** de Desktop 2 a HD ********************** */

@media (min-width: 1400px) {

    .c-form__title{
        font-size: 2.5rem;
    }

    .c-form__message{
        font-size: 1.8rem;
    }


}