/**
 * Modale générique pour les formulaires Contact Form 7. Cf. js/form-modal.js.
 */

/* wpautop transforme chaque ligne vide du formulaire CF7 en <p></p> — chacun
   avec la marge par défaut du navigateur (~1em haut/bas). Invisible dans le
   code, mais crée de gros espaces verticaux dans le rendu. On masque ces
   paragraphes vides plutôt que de dépendre d'un nettoyage manuel (fragile,
   à refaire à chaque édition du formulaire dans l'admin CF7). */
.wpcf7-form p:empty {
    display: none;
}

.form-mandatory-note {
    margin: 4px 0;
    text-align: right;
}

/* wpautop réinsère un <br> avant le bouton dès que le texte du formulaire CF7
   revient à la ligne dans l'éditeur (visuel ou non) — neutralisé ici plutôt
   que de dépendre d'une mise en forme fragile côté éditeur. */
.form-mandatory-note br {
    display: none;
}

/* Le sélecteur global `button { width: 230px; height: 50px; ... }` de
   style.css (pensé pour les CTA en pilule) s'applique à TOUT <button> du
   site — y compris celui-ci — et n'est pas neutralisé par `display: inline`
   ci-dessous : les navigateurs forcent un <button> à un display interne
   inline-block quoi qu'on lui demande, donc il garde sa propre boîte et
   hérite de width/height/padding non réinitialisés propriété par propriété
   par la cascade. Sans ce reset explicite, le bouton (et donc son <p>
   parent) est forcé à 230×50px, ce qui crée le grand espace vertical
   au-dessus du texte "* mentions obligatoires". */
.form-mandatory-note__trigger {
    display: inline;
    width: auto;
    height: auto;
    background: none;
    border: none;
    padding: 0;
    color: #6b7280;
    font-size: 11px;
    line-height: inherit;
    text-decoration: underline;
    cursor: pointer;
}

.form-mandatory-note__trigger:hover {
    color: #404040;
}

/* Texte statique (ex. RGPD conservation des données) — plus de mécanique
   dépliante, juste un style discret réutilisable dans les formulaires. */
.form-static-note {
    margin-top: 4px;
}

.form-static-note p {
    font-size: 9px;
    line-height: 1.3;
    color: #6b7280;
}

.form-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
}

.form-modal.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}

.form-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
}

.form-modal__box {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: min(560px, 100%);
    max-height: 80vh;
    overflow-y: auto;
    padding: 48px 32px 32px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}

.form-modal__close {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 24px;
    height: 24px;
    background: none;
    border: none;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    color: #6b7280;
}

.form-modal__content p {
    font-size: 13px;
    line-height: 1.5;
    color: #404040;
}
