/* Form CF7 */
form {
    --padding:2px;
    --border-size:2px;
    --gap-form:1rem;
    --border-radius:2rem;
    --transition:all .25s ease-in-out;
    display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap-form);width:100%;align-items:center;justify-content:center;
    & h2 {
        flex-basis:100%;margin-bottom:0;text-align:center;text-transform:none;
        &::after {display:none;}
        & + p {flex-basis:100%;text-align:center!important;display:block;}
    }
    & div {
        & > p {
            display:flex;flex-direction:row;flex-wrap:wrap;gap:0 var(--gap-form);width:100%;margin-bottom:0;
        }
        width:100%;flex-basis:100%;display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap-form);max-width:100%!important;
        &.flex {
            & > p {
                display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--gap-form);max-width:100%!important;justify-content:space-between;
                & > * {flex:0 0 calc(100%/2 - var(--gap-form));max-width:calc(100%/2 - var(--gap-form));}
            }
        }
    }
    & [type=text], & [type=password], & [type=date], & [type=datetime], & [type=datetime-local], & [type=month], & [type=week], & [type=email], & [type=number], & [type=search], & [type=tel], & [type=time], & [type=url], & [type=color], & [type=file], & textarea, & select, & .login form .input {
        border:2px solid transparent;border-radius:var(--border-radius);background:#f6f3e7;width:100%;padding:0 1rem;margin:0;height:auto;line-height:3;font-size:.9rem;color:var(--orange-2);box-shadow:none;max-height:100%;resize:none;
        &:focus {
            box-shadow:none;background:#f6f3e7;border:2px solid var(--orange-2);
            &:not(:placeholder-shown) {
                background:#f6f3e7;color:var(--orange-2);
            }
            & + span:not(.wpcf7-list-item-label) {
                top:-.5rem!important;background:var(--orange-2);color:white!important;font-size:.8rem!important;line-height:1.6!important;padding-inline:1rem;opacity:1;
            }
        }
        & + span:not(.wpcf7-list-item-label) {position:absolute;top:0;line-height:3.1;font-size:.9rem;left:1rem;font-weight:normal;transition:var(--transition);color:var(--orange-2);opacity:1;border-radius:var(--border-radius);}
        &:not(:placeholder-shown) + span:not(.wpcf7-list-item-label) {
            top:-.5rem!important;background:var(--orange-2);color:white!important;font-size:.8rem!important;line-height:1.6!important;padding-inline:1rem;opacity:1;
        }
    }
    & textarea[rows] {height:14rem;line-height:1.2;padding-top:1rem;padding-bottom:1rem;}
    & [type=file] {
        &::file-selector-button {display:none;}
    }
    & .wpcf7-radio {
        position:relative;appearance:none;border-radius:var(--border-radius);border:var(--border-size) solid var(--orange-2);width:fit-content;margin:0 auto;text-align:center;line-height:1;transition:var(--transition);background:none;display:flex;padding:var(--padding);align-items:center;justify-content:center;padding:0;
        & > span {flex:1 0 auto;display:block;margin:0;}
        & label {
            margin-bottom:0;height:100%;
            & span {display:none;}
            & [type=radio] {
                appearance:none;margin:0;width:100%;height:100%;border-radius:var(--border-radius);display:block;cursor:pointer;white-space:nowrap;
                &::after {content:attr(value);border-radius:var(--border-radius);background:none;height:100%;transition:var(--transition);display:block;margin-left:0;text-align:center;line-height:2;text-transform:uppercase;padding-inline:2rem;}
                &:checked {
                    &::after {background:var(--orange-2);color:var(--orange-2);}
                }
            }
        }
    }
    & .wpcf7-acceptance {
        display:flex;padding:1rem;border-radius:var(--border-radius);align-items:center;justify-content:center;margin-bottom:1rem;flex-basis:100%;
        & label {display:flex;align-items:center;gap:.5rem;margin-bottom:0;color:var(--orange-2);}
        & span.wpcf7-list-item-label {line-height:1.2;}
        & [type="checkbox"] {
            position:relative;appearance:none;border-radius:var(--border-radius);border:var(--border-size) solid var(--orange-2);width:3rem;aspect-ratio:3/2;margin:0;text-align:center;line-height:1;transition:var(--transition);display:inline-block;padding:var(--padding);
            &::after {content:'';border-radius:50%;background:var(--orange-2);height:100%;aspect-ratio:1;transition:var(--transition);display:block;margin-left:0;}
            &:checked {
                background:var(--orange-2);
                &::after {background:white;margin-left:calc(50% - var(--border-size) - var(--padding));}
            }
        }
        & a {
            color:var(--orange-2);text-decoration:underline;
            &:hover {color:var(--black);text-decoration:none;}
        }
    }
    & input[type="submit"] {
        border:0;cursor:pointer;transition:var(--transition);border-radius:var(--border-radius);background:var(--orange-2);color:white;font-size:1rem;text-transform:uppercase;padding-inline:3rem;line-height:2;margin-inline:auto;display:block;width:fit-content;
        &:hover {background:var(--black);}
        &:disabled {cursor:not-allowed;opacity:.5;}
    }
    & ::placeholder {color:#f6f3e7;}
    & label {
        position:relative;margin-bottom:0;flex-basis:100%;width:100%;
        &.fullwidth {flex-basis:100%;}
        &.hide {display:none;}
    }
    &.invalid {
        & input.wpcf7-validates-as-required:placeholder-shown, & textarea.wpcf7-validates-as-required:placeholder-shown {border-color:red;}
    }
    &.submitting {
        pointer-events:none;
    }
    & .wpcf7-response-output {
        border:0!important;border-radius:var(--border-radius);background:var(--color-tertiary);padding:1rem 2rem!important;text-align:center;display:block;
    }
    & .wpcf7-spinner {
        background-color:var(--orange-2);width:2rem;height:2rem;border-radius:50%;position:absolute;top:calc(50% - 3rem);left:calc(50% - 3rem);
    }
}

@media screen and (max-width:640px) {
    form {
        & label {margin-bottom:.5rem;}
        & > p {max-width:90%!important;}
        & .wpcf7-acceptance {padding-inline:0;width:100%;text-align:left;}
        & .flex {
            flex:0 0 100%;max-width:100%;
            & p {margin-bottom:0!important;}
        }
        & [type=text], & [type=password], & [type=date], & [type=datetime], & [type=datetime-local], & [type=month], & [type=week], & [type=email], & [type=number], & [type=search], & [type=tel], & [type=time], & [type=url], & [type=color], & [type=file], & textarea, & select, & .login form .input {font-size:1rem;line-height:2.6;}
    }
}

/* End Form CF7 */