/* =============================================================
   FORMS.CSS — Styles globaux des formulaires
   Couvre : Gravity Forms, Contact Form 7
   ============================================================= */


/* ---------------------------------------------------------------
   1. RESET DES CHAMPS
--------------------------------------------------------------- */

input,
textarea,
select,
button {
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: none;
    outline: none;
    border-radius: 0;
    background: transparent;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

input[type="checkbox"],
input[type="radio"] {
    appearance: auto;
    -webkit-appearance: auto;
    width: auto;
    cursor: pointer;
}

input[type="file"]{
    padding: 0!important;
    border: none!important;
}


/* ---------------------------------------------------------------
   2. CHAMPS TEXTE / TEXTAREA / SELECT
--------------------------------------------------------------- */

.gform-body input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.gform-body textarea,
.gform-body select,
.wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wpcf7-form textarea,
.wpcf7-form select {
    display: block;
    width: 100%;
    padding: 12px 0;
    border: none;
    border-bottom: 1px solid #1d1d1b;
    box-shadow: none!important;
    border-radius: 0!important;
    background: transparent;
    color: #1d1d1b;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    transition: border-color 0.3s ease;
}

.gform-body input:not([type="submit"]):not([type="checkbox"]):not([type="radio"])::placeholder,
.gform-body textarea::placeholder,
.wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"])::placeholder,
.wpcf7-form textarea::placeholder {
    color: rgba(29, 29, 27, 0.45);
}

.gform-body input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.gform-body textarea:focus,
.gform-body select:focus,
.wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
    border-bottom-color: #334258;
    outline: none;
}


/* ---------------------------------------------------------------
   3. LABELS
--------------------------------------------------------------- */

.gform-body .gfield_label,
.wpcf7-form label {
    display: block;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #1d1d1b;
    margin-bottom: 6px;
}


/* ---------------------------------------------------------------
   4. GROUPES DE CHAMPS (Gravity Forms)
--------------------------------------------------------------- */

.gform-body .gfield {
    margin-bottom: 24px;
}

@media (max-width: 575px) {
    .gform-body .gfield {
        margin-bottom: 10px;
    }
}

.gform-body .gfield_required {
    color: #c0392b;
    margin-left: 4px;
}


/* ---------------------------------------------------------------
   5. BOUTON DE SOUMISSION
--------------------------------------------------------------- */

.gform_button,
.wpcf7-submit {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border: none;
    border-bottom: 1px solid #334258;
    background: transparent;
    color: #334258;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 3.6px;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1;
    cursor: pointer;
    transition: opacity 0.3s ease, transform 0.3s ease;
    box-shadow: none;
    border-radius: 0;
    width: auto;
    height: auto;
}

.gform_button:hover,
.wpcf7-submit:hover {
    opacity: 0.7;
    transform: translateX(5px);
}


/* ---------------------------------------------------------------
   6. MESSAGES DE VALIDATION / CONFIRMATION
--------------------------------------------------------------- */

/* Gravity Forms */
.gform_confirmation_message {
    padding: 20px;
    border-radius: 6px;
    background: rgba(156, 206, 152, 0.18);
    color: #2d6e2a;
    font-size: 14px;
}

.gfield_validation_message,
.validation_message {
    margin-top: 6px;
    font-size: 12px;
    color: #c0392b;
}

.gform_wrapper .validation_error {
    padding: 16px 20px;
    border-radius: 6px;
    background: rgba(208, 152, 153, 0.12);
    border: none;
    color: #c0392b;
    font-size: 13px;
    margin-bottom: 20px;
}

/* Contact Form 7 */
.wpcf7-not-valid-tip {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    color: #c0392b;
    font-weight: 400;
}

.wpcf7-response-output {
    padding: 16px 20px;
    border-radius: 6px;
    border: none !important;
    font-size: 13px;
    margin-top: 20px;
}

.wpcf7-mail-sent-ok {
    background: rgba(156, 206, 152, 0.18);
    color: #2d6e2a;
}

.wpcf7-mail-sent-ng,
.wpcf7-aborted,
.wpcf7-validation-errors,
.wpcf7-spam-blocked {
    background: rgba(208, 152, 153, 0.12);
    color: #c0392b;
}


/* ---------------------------------------------------------------
   7. CASES À COCHER & BOUTONS RADIO (CF7)
--------------------------------------------------------------- */

.wpcf7-form .wpcf7-list-item {
    margin: 0 0 8px;
}

.wpcf7-form .wpcf7-list-item label {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 12px;
    text-transform: none;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    cursor: pointer;
}

.wpcf7-form .wpcf7-list-item input[type="checkbox"],
.wpcf7-form .wpcf7-list-item input[type="radio"] {
    margin-top: 2px;
    flex-shrink: 0;
}


/* ---------------------------------------------------------------
   8. RESPONSIVE
--------------------------------------------------------------- */

@media (max-width: 768px) {
    .gform_button,
    .wpcf7-submit {
        letter-spacing: 2.5px;
    }
}
