/************************************************/
/**                                            **/
/**           CONTACT FORM 7                   **/
/**                                            **/
/************************************************/


/* ── Structure ── */
.wpcf7 form,
.wpcf7-form {
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.form-row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0 2rem;
}

@media (min-width: 600px) {
    .form-row:has(.form-column + .form-column) {
        grid-template-columns: 1fr 1fr;
    }
}

.form-row .form-column > p,
.form-row > p {
    margin: 0;
    padding: .5rem 0;
}

.wpcf7-form-control.wpcf7-text,.wpcf7-form-control.wpcf7-email,.wpcf7-form-control.wpcf7-tel,.wpcf7-form-control.wpcf7-number,.wpcf7-form-control.wpcf7-date,.wpcf7-form-control.wpcf7-time { width: 100%;}

.wpcf7-form-control.wpcf7-text:focus,
.wpcf7-form-control.wpcf7-email:focus,
.wpcf7-form-control.wpcf7-tel:focus,
.wpcf7-form-control.wpcf7-number:focus,
.wpcf7-form-control.wpcf7-date:focus,
.wpcf7-form-control.wpcf7-time:focus {
    border-color: var(--couleur-cta);
    background: #fff;
}


/* Pleine largeur */
.wpcf7-form-control.full-width {
    width: 100%;
    box-sizing: border-box;
}

.wpcf7-form-control.wpcf7-textarea {width: 100%;}

/* ── Labels sections (Prestations, Forfait…) ── */
.form-row .form-column > p > label:first-child {
    display: block;
    font-size: 1.3rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--couleur-texte);
    margin-bottom: .8rem;
}
.form-row .form-column > p > label .required { color: var(--couleur-cta); }



.wpcf7-list-item label {display: flex;  align-items: center;  gap: 1rem; cursor: pointer; font-size: 1.4rem; color: var(--couleur-texte); }
.form-checkbox .wpcf7-list-item {display: flex;  margin: 0 !important; align-items: center;}



.wpcf7-list-item label input[type="checkbox"]:checked,


/* Coche SVG sur checkbox */
.wpcf7-list-item label input[type="checkbox"]:checked::after {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M2.5 8l4 4 7-7'/%3E%3C/svg%3E");
    background-size: 70% 70%;
    background-repeat: no-repeat;
    background-position: center;
}

/* Point central sur radio */
.wpcf7-list-item label input[type="radio"]:checked::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: .7rem;
    height: .7rem;
    border-radius: 50%;
    background: #fff;
}

.form-note {font-size: 1.3rem; font-style: italic; margin: .6rem 0 0; }

/* ── Validation erreur ── */
.wpcf7-not-valid {
    border-color: #e74c3c !important; 
}
.wpcf7-not-valid-tip {
    font-size: 1.2rem;
    color: #e74c3c;
    display: block;
    margin-top: .4rem;
}

/* ── Bouton submit ── */
.wpcf7-form-control.wpcf7-submit {
    display: block;
    width: 100%;
    padding: 1.5rem 3rem;
    background: var(--couleur-cta);
    color: #fff;
    font-size: 1.45rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em;
    border: none;
    cursor: pointer;
    transition: background .25s, box-shadow .25s;
    border-radius: 0;
}
.wpcf7-form-control.wpcf7-submit:hover {
    background: var(--couleur-texte);
    box-shadow: 0 4px 16px rgba(0,0,0,.15);
}

/* Spinner */
.wpcf7-spinner {
    display: inline-block;
    margin-left: 1rem;
    vertical-align: middle;
}

/* ── Message de réponse ── */
.wpcf7-response-output {
    padding: 1.2rem 1.8rem;
    font-size: 1.4rem;
    border-left: 4px solid var(--couleur-cta);
    background: #f6f3ee;
    color: var(--couleur-texte);
    margin-top: 1rem;
}
.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok {
    border-color: #27ae60;
    background: #edfaf3;
    color: #1a7a45;
}
.wpcf7 .wpcf7-response-output.wpcf7-validation-errors,
.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ng {
    border-color: #e74c3c;
    background: #fdf5f4;
    color: #b93227;
}

