/* Form CF7 */
body:not(.login) {
    & form {
        --padding:2px;
        --border-size:2px;
        --gap-form:1rem;
        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;
                & a {
                    color:var(--blue-light);
                    &:hover {
                        color:var(--text-color);
                    }
                }
            }
        }
        & > p {
            display:flex;flex-direction:row;flex-wrap:wrap;gap:0 var(--gap-form);max-width:80%!important;
        }
        & .flex {
            flex:0 0 calc(100%/3 - var(--gap-form));max-width:calc(100%/3 - var(--gap-form));
            & > p {
                display:flex;flex-direction:column;flex-wrap:wrap;gap:var(--gap-form);max-width:100%!important;
                & > * {
                    flex:1 1 100%;
                }
            }
        }
        & [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:var(--blue-dark);width:100%;padding:0 1rem;margin:0;height:auto;line-height:3;font-size:.9rem;color:var(--text-color);box-shadow:none;max-height:100%;resize:none;
            &:focus {
                box-shadow:none;background:inherit;border:2px solid var(--blue-light);
                &:not(:placeholder-shown) {
                    background:var(--blue-dark);color:var(--text-color);
                }
                & + span:not(.wpcf7-list-item-label) {
                    top:-.5rem!important;background:var(--blue-light);color:var(--text-color)!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(--text-color);opacity:1;border-radius:var(--border-radius);
            }
            &:not(:placeholder-shown) + span:not(.wpcf7-list-item-label) {
                top:-.5rem!important;background:var(--blue-light);color:var(--text-color)!important;font-size:.8rem!important;line-height:1.6!important;padding-inline:1rem;opacity:1;
            }
        }
        & textarea[rows] {
            height:7.7rem;
        }
        & [type=file] {
            &::file-selector-button {
                display:none;
            }
        }
        & p > span {
            text-align:center;flex-basis:100%;display:block;margin-bottom:.5rem;
        }
        & .wpcf7-radio {
            position:relative;appearance:none;border-radius:var(--border-radius);border:var(--border-size) solid var(--blue-light);width:fit-content;margin:0 auto;margin-bottom:1rem;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;color:var(--text-color);
                    &::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(--blue-light);color:var(--text-color);}
                    }
                }
            }
        }
        & .wpcf7-acceptance {
            background:var(--blue-dark);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(--text-color);}
            & span.wpcf7-list-item-label {line-height:1.2;text-align:left;}
            & [type="checkbox"] {
                position:relative;appearance:none;border-radius:var(--border-radius);border:var(--border-size) solid var(--blue-light);width:3rem;aspect-ratio:3/2;margin:0;text-align:center;line-height:1;transition:var(--transition);background:var(--blue-dark);display:inline-block;padding:var(--padding);
                &::after {content:'';border-radius:50%;background:var(--blue-light);height:100%;aspect-ratio:1;transition:var(--transition);display:block;margin-left:0;}
                &:checked {
                    background:var(--blue-light);
                    &::after {background:var(--text-color);margin-left:calc(50% - var(--border-size) - var(--padding));}
                }
            }
            & a:hover {color:var(--text-color);text-decoration:underline;}
        }
        & input[type="submit"] {
            border:0;cursor:pointer;transition:var(--transition);border-radius:var(--border-radius);background:var(--blue-light);color:var(--text-color);font-size:1rem;text-transform:uppercase;padding-inline:3rem;line-height:2;margin-inline:auto;display:block;width:fit-content;
            &:hover {background:var(--blue-dark);}
            &:disabled {cursor:not-allowed;opacity:.5;}
        }
        & ::placeholder {color:var(--blue-dark);}
        & label {
            position:relative;margin-bottom:1rem;flex-basis:calc(50% - .5rem);width:100%;
            &.fullwidth {flex-basis:100%;}
            &:has([name="zip"]) {flex-basis:calc(30% - .5rem);}
            &:has([name="city"]) {flex-basis:calc(70% - .5rem);}
            &.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;
            & label {
                opacity:.5;
                & [type="submit"] {pointer-events:none;opacity:1;}
            }
        }
        & .wpcf7-response-output {
            border:0!important;border-radius:var(--border-radius);background:var(--ocre);padding:1rem 2rem!important;text-align:center;display:block;
        }
        & .wpcf7-spinner {
            background-color:var(--blue-light);width:5rem;height:5rem;border-radius:50%;position:absolute;top:calc(50% - 2.5rem);left:calc(50% - 2.5rem);margin:0;opacity:1;
            &::before {
                background-color:var(--text-color);top:4px;left:4px;width:26px;height:26px;transform-origin:38px 38px;
            }
        }
        /* Autocomplete */
        & .entreprise-ac__menu {
            position:absolute;inset-inline:0;top:100%;z-index:20;margin:0;padding:1rem;list-style:none;max-height:280px;overflow-y:auto;background:var(--blue-dark);border-radius:var(--border-radius);
            & li {
                display:flex;flex-direction:row;gap:.5rem;padding:8px 12px;cursor:pointer;color:var(--text-color);opacity:1;transform:none;border-radius:var(--border-radius);text-align:left;align-items:center;
                &:hover {
                    background:var(--blue-light);
                    & span {
                        color:var(--text-color);
                    }
                }
            }
            & span {
                font-size:.85em;color:var(--blue-light);
            }
            &::-webkit-scrollbar {
                width:10px;height:10px;
            }
            &::-webkit-scrollbar-thumb {
                background:var(--blue-dark);border-radius:calc(var(--border-radius) / 4);
            }
            &::-webkit-scrollbar-track {
                background:var(--blue-darker);
            }
        }
    }
}

@media screen and (max-width:640px) {
    body:not(.login) {
        & form {
            & label {
                margin-bottom:.5rem;flex-basis:100%;width:100%;
                &:has([name="zip"]), &:has([name="city"]) {
                    flex-basis:100%;
                }
            }
            & > 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 */