.contact-form-container {
    max-width: 100%;
    font-family: var(--wp--preset--font-family--primary, sans-serif);
    color: var(--wp--preset--color--neutral, #232628);
}

.contact-form-container .form-group {
    margin-bottom: var(--wp--preset--spacing--40);
}

.contact-form-container label {
    display: block;
    margin-bottom: var(--wp--preset--spacing--30);
    font-weight: var(--wp--custom--font-weight--semibold, 600);
    font-size: var(--wp--preset--font-size--l);
}

.contact-form-container input[type="text"],
.contact-form-container input[type="email"],
.contact-form-container textarea {
    width: 100%;
    box-sizing: border-box;
    padding: var(--wp--preset--spacing--30, 1rem);
    border: 1px solid rgba(35, 38, 40, 0.2);
    border-radius: var(--wp--preset--border-radius--s, 10px);
    background-color: var(--wp--preset--color--light, #F2F5FC);
    color: var(--wp--preset--color--neutral, #232628);
    font-family: inherit;
    font-size: var(--wp--preset--font-size--m, 1.125rem);
    transition: border-color 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.contact-form-container input:focus,
.contact-form-container textarea:focus {
    outline: none;
    border-color: var(--wp--preset--color--primary, #003D70);
    box-shadow: 0 0 0 3px rgba(0, 61, 112, 0.1);
    background-color: var(--wp--preset--color--base, #FFFFFF);
}

.contact-form-container button[type="submit"] {
    display: inline-block;
    background-color: var(--wp--preset--color--primary, #003D70);
    color: var(--wp--preset--color--base, #FFFFFF);
    border: none;
    border-radius: var(--wp--preset--border-radius--full, 999px);
    padding: var(--wp--preset--spacing--30, 1rem) var(--wp--preset--spacing--40, 1.6rem);
    font-size: var(--wp--preset--font-size--m, 1.125rem);
    font-weight: var(--wp--custom--font-weight--semibold, 600);
    cursor: pointer;
    transition: filter 0.3s ease;
    box-shadow: var(--wp--preset--shadow--neat, rgba(99, 99, 99, 0.4) 0px 2px 8px 0px);
}

.contact-form-container button[type="submit"]:hover {
    filter: brightness(1.15);
}

.contact-form-container button[type="submit"]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    filter: grayscale(100%);
}

/* Style du message de retour (succès / erreur) */
#contact_feedback {
    margin-top: var(--wp--preset--spacing--30, 1rem);
    padding: var(--wp--preset--spacing--30, 1rem);
    border-radius: var(--wp--preset--border-radius--s, 10px);
    font-weight: var(--wp--custom--font-weight--semibold, 600);
    display: none;
    /* masqué par défaut */
}

#contact_feedback:not(:empty) {
    display: block;
}

#contact_feedback.success {
    background-color: rgba(159, 186, 0, 0.15);
    /* Vert du thème */
    color: var(--wp--preset--color--secondary-dark, #455200);
    border: 1px solid var(--wp--preset--color--secondary, #9FBA00);
}

#contact_feedback.error {
    background-color: rgba(183, 7, 30, 0.1);
    /* Rouge warning */
    color: var(--wp--preset--color--warning, #B7071E);
    border: 1px solid var(--wp--preset--color--warning, #B7071E);
}

/* Intégration esthétique stricte du widget Altcha */
.contact-form-container altcha-widget {
    --altcha-color-base: var(--wp--preset--color--light, #F2F5FC);
    --altcha-color-border: rgba(35, 38, 40, 0.2);
    --altcha-color-text: var(--wp--preset--color--neutral, #232628);
    --altcha-color-primary: var(--wp--preset--color--primary, #003D70);
    --altcha-border-radius: var(--wp--preset--border-radius--s, 10px);
    --altcha-border-width: 1px;
    --altcha-color-success: var(--wp--preset--color--secondary, #9FBA00);
    --altcha-color-error: var(--wp--preset--color--warning, #B7071E);
    margin-bottom: var(--wp--preset--spacing--40, 1.6rem);
}