/*
 * Compléments à la feuille de style d'origine.
 * Uniquement ce que le site WordPress obtenait par son JavaScript ou par des
 * éléments d'interface que l'application remplace.
 */

/* Message d'erreur de validation, repris de la charte Formidable. */
.frm_error_style {
    background: #fee4e2;
    color: #f04438;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 20px;
}

.frm_message {
    background: #E8EEFC;
    color: #0032B9;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 20px;
}

/* Bouton « Retour » : même gabarit que le bouton de validation, en retrait. */
.frm_submit .frm_prev_page {
    background: none;
    color: #667085;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    padding: 8px 16px;
    font-family: inherit;
    font-size: 14px;
    text-decoration: none;
    display: inline-block;
    cursor: pointer;
}

.frm_submit .frm_prev_page:hover {
    background: #f9fafb;
    color: #1d2939;
}

/* Sections répétables : bouton d'ajout et de retrait d'une ligne. */
.frm_repeat_buttons button {
    background: none;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    padding: 6px 12px;
    font-family: inherit;
    font-size: 14px;
    color: #667085;
    cursor: pointer;
}

.frm_repeat_buttons button:hover {
    border-color: #0032B9;
    color: #0032B9;
}

/* ---------- Boutons de navigation du parcours ---------- */

.rse-actions {
    display: block;
    margin-top: 24px;
}

/* « Précédent » à gauche, « Valider et continuer » à sa droite. */
.rse-actions__ligne {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
}

.rse-actions__brouillon {
    text-align: center;
    margin-top: 12px;
}

.rse-precedent {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Sur mobile, la flèche seule suffit : le libellé prendrait trop de place. */
@media (max-width: 480px) {
    .rse-precedent__texte {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }
}

/* Sauvegarde du brouillon : action secondaire, présentée comme un lien. */
.rse-actions__brouillon .frm_save_draft {
    background: none;
    border: none;
    color: #667085;
    font-family: inherit;
    font-size: 14px;
    text-decoration: underline;
    cursor: pointer;
    padding: 6px;
}

.rse-actions__brouillon .frm_save_draft:hover {
    color: #0032B9;
}

/* ---------- Colonne latérale : chapitres cliquables ---------- */

.svg-item.rse-chapitre--ouvrable {
    cursor: pointer;
    transition: transform .15s ease;
}

.svg-item.rse-chapitre--ouvrable:hover,
.svg-item.rse-chapitre--ouvrable:focus-visible {
    transform: scale(1.06);
}

.svg-item.rse-chapitre--ouvrable:focus-visible {
    outline: 2px solid #0032B9;
    outline-offset: 3px;
    border-radius: 50%;
}

.svg-item[aria-disabled="true"] {
    cursor: default;
}

/* ---------- Sommaire d'un chapitre ---------- */

.rse-sommaire {
    position: fixed;
    inset: 0;
    z-index: 1100;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(23, 69, 72, .55);
    padding: 20px;
}

.rse-sommaire[hidden] {
    display: none;
}

.rse-sommaire__boite {
    position: relative;
    background: #fff;
    border-radius: 16px;
    max-width: 520px;
    width: 100%;
    max-height: 80vh;
    overflow-y: auto;
    padding: 32px 28px 24px;
    box-shadow: 0 12px 40px rgba(16, 24, 40, .25);
}

.rse-sommaire__fermer {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 32px;
    height: 32px;
    border: 2px solid #0032B9;
    border-radius: 6px;
    background: #fff;
    color: #0032B9;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}

.rse-sommaire__fermer:hover {
    background: #0032B9;
    color: #fff;
}

.rse-sommaire__chapitre {
    margin: 0 0 4px;
    font-size: 20px;
    font-weight: 600;
    color: #0B0633;
}

.rse-sommaire__compte {
    margin: 0 0 20px;
    font-size: 13px;
    color: #667085;
}

.rse-sommaire__liste {
    list-style: none;
    margin: 0;
    padding: 0;
}

.rse-sommaire__item + .rse-sommaire__item {
    border-top: 1px solid #eaecf0;
}

.rse-sommaire__item a,
.rse-sommaire__item span[aria-disabled] {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 4px;
    text-decoration: none;
    color: #344054;
    font-size: 14.5px;
    line-height: 1.4;
}

.rse-sommaire__item a:hover {
    color: #0032B9;
}

/* Une page pas encore atteinte reste visible mais en retrait. */
.rse-sommaire__item--verrouille {
    opacity: .45;
}

.rse-sommaire__item--verrouille span[aria-disabled] {
    cursor: not-allowed;
}

.rse-sommaire__puce {
    flex: 0 0 20px;
    height: 20px;
    border-radius: 50%;
    border: 1.5px solid #d0d5dd;
    font-size: 12px;
    line-height: 18px;
    text-align: center;
    color: transparent;
    margin-top: 1px;
}

.rse-sommaire__item--repondu .rse-sommaire__puce {
    background: #0032B9;
    border-color: #0032B9;
    color: #fff;
}

.rse-sommaire__item--courante {
    background: #E8EEFC;
    border-radius: 8px;
}

.rse-sommaire__item--courante .rse-sommaire__texte {
    font-weight: 600;
    color: #0032B9;
}

body.rse-sommaire-ouvert {
    overflow: hidden;
}

/* ---------- Champs fichier : aperçus ---------- */

.rse-fichiers {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.rse-fichier {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 140px;
    padding: 10px;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    background: #fff;
}

.rse-fichier__apercu {
    width: 100%;
    height: 90px;
    object-fit: contain;
    background: #f9fafb;
    border-radius: 4px;
}

/* Fichier introuvable sur le disque : on le signale sans casser la mise en page. */
.rse-fichier__absent {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 90px;
    background: #f9fafb;
    border-radius: 4px;
    color: #98a2b3;
    font-size: 28px;
}

.rse-fichier__nom {
    font-size: 12px;
    color: #475467;
    word-break: break-word;
    line-height: 1.3;
}

.rse-fichier__retirer {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #667085;
    cursor: pointer;
}

.rse-fichier__retirer input { accent-color: #f04438; }

/* Une image cochée pour retrait est visiblement mise de côté. */
.rse-fichier:has(input:checked) {
    border-color: #f04438;
    opacity: .55;
}

.rse-fichier:has(input:checked) .rse-fichier__nom {
    text-decoration: line-through;
}

.rse-fichier__aide,
.rse-fichier__complet {
    font-size: 13px;
    color: #667085;
    margin-top: 6px;
}

/* ---------- Unité accolée à un champ numérique ---------- */

/* Le balisage reprend celui de Formidable (frm_input_group / frm_inline_box) :
   les feuilles de style du site posent déjà le raccord des coins. Seule
   l'apparence du badge, propre à ce formulaire, est définie ici. */

.with_frm_style .frm_inline_box {
    display: inline-flex;
    align-items: center;
    padding: 0 14px;
    background: #0032B9;
    border: 1px solid #0032B9;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

/* Le groupe porte la largeur du champ ; il ne doit pas déborder.
   Les préfixes couvrent les moteurs qui ignorent « display: flex » nu. */
.with_frm_style .frm_input_group {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    align-items: stretch;
    max-width: 100%;
}

.with_frm_style .frm_input_group > input {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0;
}

.with_frm_style .frm_input_group > .frm_inline_box {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
}

/* Le badge ferme le groupe : il reprend l'arrondi du champ du côté extérieur.
   La page impose 15px aux champs de ce formulaire (post-453.css). */
.with_frm_style .frm_input_group.frm_with_post > .frm_inline_box:last-child {
    border-radius: 0 15px 15px 0;
}

.with_frm_style .frm_input_group.frm_with_pre > .frm_inline_box:first-child {
    border-radius: 15px 0 0 15px;
}

/* ---------- Confirmation d'enregistrement du brouillon ---------- */

.rse-brouillon {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(23, 69, 72, .6);
    padding: 20px;
}

.rse-brouillon[hidden] { display: none; }

.rse-brouillon__boite {
    position: relative;
    background: #fff;
    border-radius: 16px;
    max-width: 460px;
    width: 100%;
    padding: 40px 32px 28px;
    text-align: center;
    box-shadow: 0 12px 40px rgba(16, 24, 40, .28);
}

.rse-brouillon__fermer {
    position: absolute;
    top: 14px;
    right: 16px;
    width: 32px;
    height: 32px;
    border: 2px solid #0032B9;
    border-radius: 6px;
    background: #fff;
    color: #0032B9;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}

.rse-brouillon__fermer:hover { background: #0032B9; color: #fff; }

.rse-brouillon__icone {
    width: 56px;
    height: 56px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: #E8EEFC;
    color: #0032B9;
    font-size: 28px;
    line-height: 56px;
}

.rse-brouillon__titre {
    margin: 0 0 12px;
    font-size: 22px;
    color: #0B0633;
}

.rse-brouillon__texte {
    margin: 0 0 10px;
    color: #475467;
    line-height: 1.5;
}

.rse-brouillon__texte--fort {
    font-weight: 600;
    color: #0B0633;
}

.rse-brouillon__reprise {
    margin: 22px 0 0;
    font-size: 14px;
    color: #667085;
}

.rse-brouillon__lien {
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    color: #0032B9;
    text-decoration: underline;
    cursor: pointer;
}

body.rse-brouillon-ouvert { overflow: hidden; }

/* ---------- Espacement entre les options d'une question ---------- */

/*
 * Le site d'origine impose « margin-bottom: 0 » aux étiquettes des cases à
 * cocher : les options se touchent et se lisent mal. On rétablit un écart
 * régulier, identique pour les choix uniques et multiples.
 */
.with_frm_style .frm_form_field .frm_radio + .frm_radio,
.with_frm_style .frm_form_field .frm_checkbox + .frm_checkbox {
    margin-top: 8px !important;
}

/* ---------- Notation en étoiles ---------- */

/* La feuille reprise du site gère l'alternance entre l'étoile vide et
   l'étoile pleine (.star-rating-on) : on ne touche pas à ces règles.
   Ici, uniquement la taille, l'espacement et le contraste. */

.frm-star-group {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
}

.frm-star-group label.star-rating {
    display: inline-flex;
    cursor: pointer;
    padding: 2px;
    border-radius: 6px;
    transition: transform .12s ease;
}

.frm-star-group .frmsvg {
    width: 34px;
    height: 34px;
    vertical-align: middle;
}

/* L'étoile non sélectionnée est presque blanche dans l'icône d'origine :
   on la fonce pour qu'elle se détache du fond clair du formulaire. */
.frm-star-group label.star-rating .frmsvg:first-of-type path {
    fill: #cfd6dd;
}

/* Le survol annonce la note qu'on s'apprête à donner. */
.frm-star-group label.star-rating:hover {
    transform: scale(1.12);
}

.frm-star-group label.star-rating:has(input:focus-visible),
.frm-star-group input:focus-visible + label.star-rating {
    outline: 2px solid #0032B9;
    outline-offset: 2px;
}

/* ---------- Sections répétables : une action par ligne ---------- */

/* La saisie et son bouton de retrait occupent la même ligne : le lien entre
   les deux est immédiat, et les lignes se distinguent les unes des autres. */
.frm_repeat_row.rse-ligne {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.rse-ligne__saisie {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: 0 !important;
}

.rse-ligne__saisie input {
    width: 100%;
}

.rse-ligne__retirer {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    display: -webkit-inline-box;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 40px;
    padding: 0 14px;
    border: 1px solid #d0d5dd;
    border-radius: 15px;
    background: #fff;
    color: #667085;
    font-family: inherit;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    transition: border-color .15s, color .15s;
}

.rse-ligne__retirer:hover {
    border-color: #f04438;
    color: #f04438;
}

/* Sur mobile, la croix suffit : le mot prendrait la place de la saisie. */
@media (max-width: 560px) {
    .rse-ligne__mot {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }
}

/* Bouton d'ajout d'une action. */
.frm_repeat_buttons {
    margin-top: 4px;
}

/* ---------- Encart « Besoin d'une idée d'action ? » ---------- */

/*
 * Présenté en bandeau sur toute la largeur : le libellé et son icône à
 * gauche, le lien vers les ressources à droite. Le bleu profond de la charte
 * le distingue des encadrés de résultats, plus clairs.
 */
.frm_forms.with_frm_style .frm_fields_container .info-container {
    display: -webkit-box;
    display: -webkit-flex;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
    width: 100%;
    background-color: rgb(18, 68, 86);
    border-radius: 15px;
    padding: 18px 24px;
    margin-top: 24px;
}

.frm_forms.with_frm_style .frm_fields_container .info-container .first-line {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 auto;
    flex: 1 1 auto;
    gap: 14px;
}

.frm_forms.with_frm_style .frm_fields_container .info-container .info-svg {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 42px;
}

.frm_forms.with_frm_style .frm_fields_container .info-container .info-text p {
    margin-bottom: 0 !important;
    line-height: 1.35;
}

.frm_forms.with_frm_style .frm_fields_container .info-container .second-line {
    -webkit-box-flex: 0;
    -webkit-flex: 0 0 auto;
    flex: 0 0 auto;
}

.frm_forms.with_frm_style .frm_fields_container .info-container .second-line p a {
    display: inline-block;
    white-space: nowrap;
    background-color: #fff;
    color: rgb(18, 68, 86);
    border-radius: 15px;
    padding: 11px 22px;
    font-weight: 600;
    text-decoration: none;
}

.frm_forms.with_frm_style .frm_fields_container .info-container .second-line p a:hover {
    background-color: #0032B9 !important;
    color: #fff !important;
}

/* Sur mobile, le bandeau se replie et le lien passe en pleine largeur. */
@media (max-width: 640px) {
    .frm_forms.with_frm_style .frm_fields_container .info-container .second-line,
    .frm_forms.with_frm_style .frm_fields_container .info-container .second-line p a {
        width: 100%;
        text-align: center;
    }
}

/* Accès à l'aperçu, sur la page de fin : l'entreprise voit et ajuste son
   rapport avant de le télécharger. Posé au-dessus du message de fin, dont
   la couleur de fond impose le blanc. */
.frm_message .rse-avant-telechargement {
    text-align: center;
    margin: 0 0 22px;
}

.frm_message .rse-avant-telechargement a {
    display: inline-block;
    background: #ffffff;
    color: #0032B9 !important;
    border-radius: 26px;
    padding: 12px 30px;
    font-weight: 700;
    text-decoration: none !important;
}

.frm_message .rse-avant-telechargement a:hover {
    background: #eaf3f2;
    text-decoration: none !important;
}

/* ---------------------------------------------------------------------- *
 * Question servie dans le panneau
 *
 * C'est la page du parcours, telle quelle — mêmes conditions, mêmes
 * calculs. Seul l'habillage du site s'efface : dans un panneau, l'en-tête,
 * le pied et le fil des piliers n'apportent rien et volent de la place.
 * ---------------------------------------------------------------------- */

/* Dans le panneau, seule la zone de contenu subsiste. On raisonne par la
   structure — les sections de premier niveau de la page — plutôt que par
   des identifiants Elementor, qui changeraient au prochain import. */
body.rse-panneau [data-elementor-type] > .e-parent {
    display: none !important;
}

body.rse-panneau #page-content {
    display: block !important;
}

/* À l'intérieur du contenu, seul le formulaire compte : les illustrations
   et les repères de pilier n'ont rien à faire dans un panneau d'édition. */
body.rse-panneau #page-content .elementor-widget:not(.elementor-widget-shortcode) {
    display: none !important;
}

/* Dans le panneau on corrige une réponse : il n'y a pas de « précédent »,
   pas d'étape suivante, seulement enregistrer ou fermer. */
/* Dans le panneau, aucun titre de parcours : ni pilier, ni thème, ni
   numéro de question. On les masque tous plutôt que d'énumérer leurs
   emplacements, qui varient d'une page à l'autre — la seule exception est
   l'intitulé d'une section répétable, rétabli plus bas. */
body.rse-panneau h2,
body.rse-panneau h3,
body.rse-panneau h4,
body.rse-panneau .custom-progress-bar,
body.rse-panneau .rse-precedent,
body.rse-panneau .elementor-element-3756f3f,
body.rse-panneau .svg-item,
body.rse-panneau .rse-sommaire,
body.rse-panneau .frm_save_draft {
    display: none !important;
}

/* Règle isolée : « :has » inconnu invaliderait la liste qui le contient. */
body.rse-panneau #page-content .e-con:has(> .e-con > .svg-item) {
    display: none !important;
}

body.rse-panneau #page-content .e-con:has(> .svg-item) {
    display: none !important;
}

body.rse-panneau,
body.rse-panneau #page-content,
body.rse-panneau #page-content > .e-con,
body.rse-panneau #page-content .e-con-inner {
    background: #ffffff !important;
    max-width: none !important;
    width: 100% !important;
    padding-top: 0 !important;
}

body.rse-panneau #page-content > .e-con {
    padding-left: 22px !important;
    padding-right: 22px !important;
}

/* Dans le panneau d'édition, la question est le sujet de l'écran : elle
   passe en grand, et les champs reprennent un contour net — sans lui, une
   zone de saisie vide se confond avec le fond blanc. */
/* Spécificité relevée : la feuille du site cible ces libellés par une
   chaîne de classes plus longue, et l'emporterait sinon. */
/* Le titre d'une section répétable est un « h3 », que la feuille du site
   colore en rouge — une couleur d'alerte, hors de propos ici. Il s'aligne
   sur les autres intitulés de question. */
/* Seule exception au masquage des titres : la question d'une section
   répétable, qui est l'intitulé même de ce qu'on vient corriger. */
body.rse-panneau .frm_section_heading h3 {
    display: block !important;
}

body.rse-panneau .frm_forms .frm_section_heading h3,
body.rse-panneau .frm_section_heading h3,
body.rse-panneau .frm_forms .frm_fields_container .frm_primary_label,
body.rse-panneau .frm_forms .frm_primary_label,
body.rse-panneau .frm_primary_label {
    font-size: 22px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #124456 !important;
    margin-bottom: 14px !important;
}

body.rse-panneau .frm_description,
body.rse-panneau .frm_none_container .frm_primary_label {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #5B6E75 !important;
}

body.rse-panneau .frm_forms input[type="text"],
body.rse-panneau .frm_forms input[type="email"],
body.rse-panneau input[type="text"],
body.rse-panneau input[type="email"],
body.rse-panneau input[type="number"],
body.rse-panneau input[type="tel"],
body.rse-panneau input[type="url"],
body.rse-panneau .frm_forms .frm_fields_container textarea,
body.rse-panneau .frm_forms .frm_fields_container select,
body.rse-panneau .frm_forms .frm_fields_container input[type="text"],
body.rse-panneau .frm_forms .frm_fields_container input[type="email"],
body.rse-panneau .frm_forms .frm_fields_container input[type="number"],
body.rse-panneau .frm_forms textarea,
body.rse-panneau .frm_forms select,
body.rse-panneau select,
body.rse-panneau textarea {
    border: 2px solid #A8CCC8 !important;
    border-radius: 8px !important;
    background: #FBFDFD !important;
    padding: 11px 14px !important;
    box-shadow: none !important;
}

body.rse-panneau .frm_forms textarea,
body.rse-panneau textarea {
    min-height: 130px !important;
}

body.rse-panneau input:focus,
body.rse-panneau select:focus,
body.rse-panneau textarea:focus {
    border-color: #0032B9 !important;
    background: #ffffff !important;
    outline: 2px solid rgba(1, 154, 144, .25) !important;
    outline-offset: 1px !important;
}

/* De l'air entre le bandeau du panneau et la question : sans elle, le
   libellé se colle au titre et l'ensemble paraît tronqué. */
body.rse-panneau #page-content > .e-con,
body.rse-panneau .frm_fields_container {
    padding-top: 26px !important;
}

/* Bouton en attente d'enregistrement : il cesse de répondre et montre qu'il
   travaille. L'anneau tourne à gauche du texte. */
body.rse-panneau .frm_button_submit.rse-bouton--attente {
    opacity: .88;
    cursor: progress;
}

body.rse-panneau .rse-rouet {
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-right: 10px;
    vertical-align: -2px;
    border: 2px solid rgba(255, 255, 255, .4);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: rse-rotation .7s linear infinite;
}

@keyframes rse-rotation {
    to { transform: rotate(360deg); }
}

/* Sans animation, l'anneau reste visible mais fixe : le bouton dit déjà
   « Enregistrement… », le mouvement n'est qu'un renfort. */
@media (prefers-reduced-motion: reduce) {
    body.rse-panneau .rse-rouet { animation: none; }
}

/* ---------------------------------------------------------------------- *
 * Blocs révélés au défilement
 *
 * « elementor-invisible » cache un bloc en attendant que le script le
 * découvre. Si ce script ne tourne pas, le bloc est perdu : on ne le cache
 * donc que lorsque « animations.js » a posé sa marque sur le document.
 * ---------------------------------------------------------------------- */

.elementor-invisible { visibility: visible; }

html.rse-animations .elementor-invisible { visibility: hidden; }

/* ---------------------------------------------------------------------- *
 * Le retard d'animation ne doit pas montrer le bloc avant de l'animer
 *
 * « .animated » porte bien sa durée mais pas son mode de remplissage : le
 * bloc s'affichait donc en pleine page, puis l'animation reprenait à zéro et
 * le faisait remonter. « both » lui donne l'état de départ dès la pose de la
 * classe, y compris pendant le retard.
 * ---------------------------------------------------------------------- */

.animated { animation-fill-mode: both; }

/* ---------------------------------------------------------------------- *
 * Texte des boutons qui ouvrent une fenêtre
 *
 * Ces boutons sont des <a> sans attribut « href » — ils n'ouvrent pas une
 * page mais une fenêtre. Sans href, l'ancre n'est pas un lien : la couleur du
 * thème ne s'y applique plus et le texte retombait sur le gris du corps de
 * page, illisible sur le fond turquoise.
 * ---------------------------------------------------------------------- */

/* Le sélecteur commence par « a » à dessein : la règle du thème qui neutralise
   ces ancres est « a:not([href]):not([tabindex]) », d'un poids supérieur à une
   classe suivie d'un attribut. Il faut donc en faire autant. */
a.elementor-button[data-popup-ouvrir],
a.elementor-button[data-popup-ouvrir]:hover,
a.elementor-button[data-popup-ouvrir] .elementor-button-text,
a.elementor-button[data-popup-ouvrir] .elementor-button-icon {
    color: #fff;
}

a.elementor-button[data-popup-ouvrir] svg { fill: #fff; }

/* ---------------------------------------------------------------------- *
 * Filtres par catégorie — « Nos Idées d'Actions RSE »
 * ---------------------------------------------------------------------- */

.e-filter-item { cursor: pointer; }

.rse-filtre__vide {
    grid-column: 1 / -1;
    margin: 0;
    padding: 28px 4px;
    color: #667085;
    font-size: 17px;
}

.rse-filtre__vide[hidden] { display: none; }

/* ---------------------------------------------------------------------- *
 * Logo de l'en-tête
 *
 * Le nouveau logo « Les Entrepreneurs Morbihan » est nettement plus plat que
 * le précédent — rapport 4:1 contre 2,63:1. Le gabarit d'origine l'enfermait
 * dans une boîte de 210 × 100 px en comptant sur « object-fit: contain » pour
 * le mettre à l'échelle. Cela fonctionne, mais tout repose alors sur une seule
 * propriété : là où elle n'est pas honorée, le logo est étiré du simple au
 * double en hauteur.
 *
 * On donne donc la largeur et on laisse la hauteur suivre le fichier. Le
 * résultat est le même — 210 × 52 px — sans dépendre de rien, et sans les
 * 48 px de boîte vide que « contain » laissait sous le logo.
 * ---------------------------------------------------------------------- */

.elementor-23 .elementor-element.elementor-element-ee33271 img {
    width: 210px;
    height: auto;
}

@media (max-width: 767px) {
    .elementor-23 .elementor-element.elementor-element-ee33271 img {
        width: 150px;
        height: auto;
    }
}

/* Le logo était collé aux bords de la barre : le gabarit d'origine ne lui
   donnait aucun retrait vertical, et la hauteur de la barre venait du seul
   menu. On lui en donne un, pour qu'il respire quelle que soit la hauteur du
   menu à côté. */

.elementor-23 .elementor-element.elementor-element-ee33271 > .elementor-widget-container {
    padding-top: 18px;
    padding-bottom: 18px;
}

/* Le parcours du questionnaire a son propre en-tête, réglé autrement : le logo
   y recevait une hauteur fixe de 80 px et ne tenait, là aussi, que par
   « object-fit ». Même traitement — la largeur est donnée, la hauteur suit le
   fichier — et le même retrait vertical qu'ailleurs. */

.elementor-453 .elementor-element.elementor-element-180f50a img {
    width: 200px;
    max-width: 200px;
    height: auto;
}

.elementor-453 .elementor-element.elementor-element-180f50a > .elementor-widget-container {
    padding-top: 18px;
    padding-bottom: 18px;
}

/* ---------------------------------------------------------------------- *
 * Les deux boutons du popup « Mon rapport RSE »
 *
 * L'ancienne charte les distinguait par la couleur : turquoise contre rouge.
 * La nouvelle n'a que des bleus, et deux aplats bleus voisins ne se
 * distinguent pas — 2,90:1 entre eux, sous le seuil de 3:1 admis pour deux
 * surfaces adjacentes. La hiérarchie passe donc du plein au trait : l'action
 * principale est la seule remplie, ce qui se lit d'ailleurs mieux qu'un
 * second aplat.
 * ---------------------------------------------------------------------- */

/* Créer un nouveau rapport — l'action principale. */
.elementor-1003 .elementor-element.elementor-element-c76db96 .elementor-button,
.elementor-1003 .elementor-element.elementor-element-c76db96 .elementor-button:hover {
    background-color: #0032B9;
    border: 2px solid #0032B9;
    color: #FFFFFF;
}

.elementor-1003 .elementor-element.elementor-element-c76db96 .elementor-button svg { fill: #FFFFFF; }

/* Reprendre un rapport existant — l'action secondaire, au trait.
   Les libellés sont visés explicitement : la règle qui met en blanc le texte
   des boutons ouvrant une fenêtre les atteint aussi, et un texte blanc sur un
   bouton transparent disparaît. Cinq classes ici contre trois là : celle-ci
   l'emporte. */
.elementor-1003 .elementor-element.elementor-element-75e0257 .elementor-button,
.elementor-1003 .elementor-element.elementor-element-75e0257 .elementor-button .elementor-button-text,
.elementor-1003 .elementor-element.elementor-element-75e0257 .elementor-button .elementor-button-icon {
    background-color: transparent;
    border-color: #0032B9;
    color: #0032B9;
}

.elementor-1003 .elementor-element.elementor-element-75e0257 .elementor-button {
    border: 2px solid #0032B9;
}

.elementor-1003 .elementor-element.elementor-element-75e0257 .elementor-button svg { fill: #0032B9; }

.elementor-1003 .elementor-element.elementor-element-75e0257 .elementor-button:hover,
.elementor-1003 .elementor-element.elementor-element-75e0257 .elementor-button:hover .elementor-button-text,
.elementor-1003 .elementor-element.elementor-element-75e0257 .elementor-button:hover .elementor-button-icon {
    background-color: #0032B9;
    color: #FFFFFF;
}

.elementor-1003 .elementor-element.elementor-element-75e0257 .elementor-button:hover svg { fill: #FFFFFF; }
