

    /* ============ 107. THEME OFFICIEL : carrousel automatique ============ */

    html body .elementor-element-97a6574 { display: none !important; }

    html body .elementor-element-b7fa09e {
        position: relative !important;
        display: block !important;
        /* Tous les enfants passent en absolu : la boite n a plus de contenu qui
           la dimensionne. Mesure : largeur tombee a 0 px. On la fixe donc. */
        /* La photo etait beaucoup trop petite face a la colonne de texte voisine.
           Le carrousel occupe desormais toute la hauteur de la rangee et une
           largeur bien plus genereuse. */
        width: 100% !important;
        max-width: none !important;
        /* Mesure : la photo ne faisait que 330 px de large. On lui reserve une
           part franche de la rangee. */
        flex: 0 0 clamp(420px, 42%, 620px) !important;
        align-self: stretch !important;
        /* Mesure : rangee de 831 px de haut, carrousel bloque a 640 px. Il
           epouse desormais la hauteur de la section. */
        align-self: stretch !important;
        min-height: 520px !important;
        height: auto !important;
        margin-left: auto !important;
        margin-right: 0 !important;
        border-radius: 28px !important;
        overflow: hidden !important;
        isolation: isolate;
    }
    html body .elementor-element-b7fa09e > .elementor-element {
        position: absolute !important;
        inset: 0 !important;
        top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        transform: none !important;
        opacity: 0;
        transition: opacity 1.1s ease-in-out;
        pointer-events: none;
    }
    html body .elementor-element-b7fa09e > .elementor-element.aw-diapo-active {
        opacity: 1;
        pointer-events: auto;
    }
    html body .elementor-element-b7fa09e > .elementor-element * {
        max-width: none !important;
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
    }
    html body .elementor-element-b7fa09e img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
        border-radius: 0 !important;
        display: block !important;
    }
    /* Puces de progression du carrousel. */
    html body .aw-diapo-puces {
        position: absolute !important;
        left: 0; right: 0; bottom: 16px;
        display: flex; justify-content: center; gap: 8px;
        z-index: 5;
    }
    html body .aw-diapo-puces span,
    html body .aw-diapo-puces button {
        width: 8px; height: 8px; border-radius: 50%;
        background: rgba(255,255,255,.55);
        transition: background .3s ease, width .3s ease;
        cursor: pointer;
    }
    html body .aw-diapo-puces span.actif,
    html body .aw-diapo-puces button.actif { background: #FFC72C; width: 22px; border-radius: 4px; }
    html body .aw-diapo-puces button { border: 0; padding: 0; appearance: none; cursor: pointer; }
    html body .aw-diapo-puces button:focus-visible { outline: 2px solid #FFC72C; outline-offset: 3px; }

    @media (max-width: 1024px) {
        html body .elementor-element-b7fa09e { min-height: 460px !important; height: 460px !important; max-width: 100% !important; margin-right: auto !important; }
    }
    @media (max-width: 767px) {
        html body .elementor-element-b7fa09e { min-height: 340px !important; height: 340px !important; border-radius: 20px !important; }
        /* La seconde photo etait masquee en telephone : dans un carrousel elle doit revenir. */
        /* La seconde photo etait masquee en telephone : dans un carrousel elle
           doit revenir. Le logo en surimpression, lui, reste retire : sans cette
           exception il reapparaissait (mesure : display = block a 390 px). */
        html body .elementor-element-b7fa09e > .elementor-element.elementor-hidden-mobile:not(.elementor-element-97a6574),
        html body .elementor-element-b7fa09e > .hidden-mobile:not(.elementor-element-97a6574) { display: block !important; }
        html body .elementor-element-97a6574 { display: none !important; }
    }

    /* La rangee qui porte le texte et le carrousel s etire, pour que la photo
       monte a la hauteur du texte. */
    /* La rangee ne faisait que 731 px de large dans un cadre de 1300 : la
       colonne de texte etait comprimee a 241 px des que la photo a grandi.
       Elle occupe desormais toute la largeur du cadre. */
    html body .elementor-element-f026e88 {
        align-items: stretch !important;
        width: 100% !important;
        flex: 1 1 auto !important;
    }
    html body .elementor-element-b22b817 {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }

    /* Surtitre "Theme officiel de la 19e edition" : mesure a 16 px, trop
       discret devant un titre de 40 px. On le remonte d un cran net. */
    html body .elementor-element-7571b19 span,
    html body .elementor-element-7571b19 .sub-title,
    html body .elementor-element-7571b19 [class*="sub"] {
        font-size: 21px !important;
        letter-spacing: 0.6px !important;
        line-height: 1.35 !important;
    }
    @media (max-width: 1024px) {
        html body .elementor-element-7571b19 span,
        html body .elementor-element-7571b19 .sub-title,
        html body .elementor-element-7571b19 [class*="sub"] { font-size: 19px !important; }
    }
    @media (max-width: 767px) {
        html body .elementor-element-7571b19 span,
        html body .elementor-element-7571b19 .sub-title,
        html body .elementor-element-7571b19 [class*="sub"] { font-size: 17px !important; }
    }

    /* ============ 90. POURQUOI PARTICIPER ============ */
    /* Le bloc de gauche doit rester nettement plus bas que les colonnes de
       blocs blancs a sa droite (mesurees a 513 px). */
    /* Le bloc vert doit finir exactement a la meme hauteur que les deux colonnes
       de blocs blancs a sa droite. Mesure : 528 px pour le vert contre 645 px
       pour les blocs blancs. On etire le vert sur la hauteur de la rangee. */
    html body .elementor-element-a65f671 { align-items: stretch !important; }
    html body .elementor-element-25cec079 {
        min-height: 0 !important;
        max-height: none !important;
        height: auto !important;
        align-self: stretch !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    html body .elementor-element-37ca1989,
    html body .elementor-element-8342738 { align-self: stretch !important; }

    /* ============ 77. BANDE VERTE DES TROIS PILIERS ============ */
    /* Le rayon etait bien declare mais le contenu n etait pas rogne : un bloc
       interieur recarrait le coin haut droit. */
    html body .elementor-element-b74c606 {
        border-radius: 30px !important;
        overflow: hidden !important;
    }
    html body .elementor-element-b74c606 > * {
        border-top-right-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
    }
    html body .elementor-element-b74c606 > *:last-child {
        border-top-right-radius: 30px !important;
        border-bottom-right-radius: 30px !important;
    }
    @media (max-width: 767px) {
        html body .elementor-element-b74c606 { border-radius: 22px !important; }
    }

    /* La colonne des questions passe de 46,3 % a 58 % : a 46,3 % (549 px utiles)
       une question ne tenait sur une ligne qu en descendant a 13 px, donc tronquee. */
    @media (min-width: 1025px) {
        html body .elementor-element-7d50b77 { width: 58% !important; }
        html body .elementor-element-9790832 { width: 100% !important; }
        html body .elementor-element-1c1bf7e { gap: 40px !important; }
    }

    /* ============ 100. FAQ : jamais deux lignes ============ */
    /* CONSIGNE REVISEE : la question doit etre lisible EN ENTIER.
       La regle precedente la tenait sur une seule ligne et coupait la fin avec
       des points de suspension : "L evenement est-il ouvert aux participants i...".
       Sur grand ecran la place suffit et la question tient naturellement sur une
       ligne ; en tablette et en telephone elle a le droit de passer a la ligne.
       La place de l icone reste reservee pour qu aucun texte ne passe dessous. */
    html body .elementor-element-8bd7a39 .accordion-button,
    html body .elementor-element-8bd7a39 .accordion-header,
    html body .elementor-widget-rs-accordions-custom .accordion-button,
    html body .elementor-widget-rs-accordions-custom .accordion-header {
        padding-right: 46px !important;
        position: relative !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        line-height: 1.4 !important;
    }
    html body .elementor-element-8bd7a39 .accordion-button:after,
    html body .elementor-element-8bd7a39 .accordion-button i,
    html body .elementor-element-8bd7a39 .accordion-header i {
        position: absolute !important;
        right: 10px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        margin: 0 !important;
    }
    


    /* ============ 101 + 67. LIEU & LOCALISATION ============ */
    /* Le remplissage vertical de cette section est desormais pose par le
       rythme general (aw-rythme-sections.php) : plus de valeur propre ici. */
    html body .elementor-element-33c4e57 { margin-bottom: 40px !important; }

    /* Les deux colonnes finissent a la meme hauteur. */
    /* Marge interne : la photo qui defile et la carte touchaient le bord du
       cadre blanc de la section. On leur donne le meme retrait de chaque cote. */
    html body .elementor-element-a320476 {
        align-items: stretch !important;
        gap: 32px !important;
        padding: 32px !important;
        box-sizing: border-box !important;
    }
    @media (max-width: 1024px) {
        html body .elementor-element-a320476 { padding: 24px !important; gap: 24px !important; }
    }
    @media (max-width: 767px) {
        html body .elementor-element-a320476 { padding: 16px !important; gap: 16px !important; }
    }
    html body .elementor-element-3d3204a,
    html body .elementor-element-eab16bf {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }
    html body .elementor-element-1652fce {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        display: flex !important;
    }
    html body .elementor-element-1652fce .elementor-widget-container,
    html body .elementor-element-1652fce .elementor-custom-embed {
        flex: 1 1 auto !important;
        height: 100% !important;
        min-height: 260px !important;
    }
    html body .elementor-element-1652fce iframe {
        height: 100% !important;
        min-height: 260px !important;
        border-radius: 18px !important;
    }
    html body .elementor-element-0c1c417,
    html body .elementor-element-1770beb { border-radius: 18px !important; overflow: hidden !important; }

    @media (max-width: 1024px) {
        html body .elementor-element-44f4906 { padding-top: 64px !important; padding-bottom: 64px !important; }
        html body .elementor-element-33c4e57 { margin-bottom: 28px !important; }
    }
    @media (max-width: 767px) {
        html body .elementor-element-44f4906 { padding-top: 48px !important; padding-bottom: 48px !important; }
        html body .elementor-element-33c4e57 { margin-bottom: 22px !important; }
    }

    /* Le fond gris de la colonne du formulaire (mesure : rgb(248, 248, 248))
       est retire a la demande du proprietaire. */
    html body .elementor-element-fa383dd {
        background-color: transparent !important;
        background-image: none !important;
    }

    /* ============ 94. CONTACT : formulaire et colonne de droite egalises ==== */
    @media (min-width: 1025px) {
        html body .elementor-element-d881f99 > .e-con-inner,
        html body .elementor-element-d881f99 { align-items: stretch !important; }
        /* Elementor enveloppe les enfants d un conteneur encadre dans .e-con-inner :
           sans viser cette enveloppe, l etirement ne descend pas jusqu aux blocs. */
        /* height: 100% sur une colonne dont le parent n a pas de hauteur definie
           se resout en "auto" : la colonne de droite retombait a 716 px face aux
           816 px du formulaire. C est align-self: stretch qui doit faire le
           travail, la hauteur restant automatique. */
        html body .elementor-element-fa383dd,
        html body .elementor-element-6f09b7e {
            display: flex !important;
            flex-direction: column !important;
            align-self: stretch !important;
            height: auto !important;
        }
        html body .elementor-element-fa383dd > .e-con-inner,
        html body .elementor-element-6f09b7e > .e-con-inner {
            display: flex !important;
            flex-direction: column !important;
            flex: 1 1 auto !important;
            height: auto !important;
        }
        /* Le formulaire occupe tout son encadre : plus de bande grise en dessous. */
        html body .elementor-element-1556bb8 { flex: 1 1 auto !important; }
        html body .elementor-element-1556bb8 > .elementor-widget-container,
        html body .elementor-element-1556bb8 .wpcf7,
        html body .elementor-element-1556bb8 .wpcf7-form {
            height: 100% !important;
            display: flex !important;
            flex-direction: column !important;
        }
        /* La derniere brique de la colonne de droite (la photo) s etire pour que
           les deux colonnes se terminent exactement a la meme hauteur. */
        html body .elementor-element-6f09b7e > .elementor-element:last-child,\n        html body .elementor-element-6f09b7e > .e-con-inner > .elementor-element:last-child {
            flex: 1 1 auto !important;
            min-height: 0 !important;
            display: flex !important;
        }
        html body .elementor-element-6f09b7e > .elementor-element:last-child > .elementor-widget-container,\n        html body .elementor-element-6f09b7e > .e-con-inner > .elementor-element:last-child > .elementor-widget-container {
            flex: 1 1 auto !important;
            display: flex !important;
        }
        html body .elementor-element-6f09b7e > .elementor-element:last-child img,\n        html body .elementor-element-6f09b7e > .e-con-inner > .elementor-element:last-child img {
            width: 100% !important;
            height: 100% !important;
            object-fit: cover !important;
            border-radius: 18px !important;
        }
    }

    /* La bascule Plan / Satellite a ete retiree a la demande du proprietaire. */
    


    /* ========= 50 + H. A PROPOS : blocs horizontaux, photos a la hauteur du texte ====
   Mesure avant correction : photos de 476 x 640 px et 451 x 640 px face a des
   colonnes de texte de 975 px et 1139 px. La photo restait bien plus courte que
   le texte a cote d elle, d ou l impression de desequilibre.
   Les deux blocs "Notre histoire" et "Notre mission" sont maintenant de vraies
   rangees horizontales dont les deux colonnes finissent a la meme hauteur.
   ============================================================================= */
    @media (min-width: 1025px) {
        html body .elementor-element-a28bdd8,
        html body .elementor-element-ebff7da {
            display: flex !important;
            flex-direction: row !important;
            align-items: stretch !important;
            gap: 48px !important;
        }
        html body .elementor-element-68092c4,
        html body .elementor-element-587d856 {
            align-self: stretch !important;
            display: flex !important;
            flex: 0 0 44% !important;
            padding: 0 !important;
        }
        html body .elementor-element-d2bf6b3,
        html body .elementor-element-cac0018 {
            align-self: stretch !important;
            display: flex !important;
            flex-direction: column !important;
            justify-content: center !important;
            flex: 1 1 auto !important;
            min-width: 0 !important;
        }
        html body .elementor-element-d83f821,
        html body .elementor-element-c8533fc {
            width: 100% !important;
            max-width: 100% !important;
            height: auto !important;
            align-self: stretch !important;
            display: flex !important;
            margin: 0 !important;
        }
        html body .elementor-element-d83f821 > .elementor-widget-container,
        html body .elementor-element-c8533fc > .elementor-widget-container {
            flex: 1 1 auto !important;
            display: flex !important;
            width: 100% !important;
        }
        /* La photo prend toute la hauteur de la rangee : elle est donc exactement
           a la hauteur du texte place a cote d elle. */
        html body .elementor-element-d83f821 img,
        html body .elementor-element-c8533fc img {
            width: 100% !important;
            height: 100% !important;
            min-height: 100% !important;
            max-height: none !important;
            aspect-ratio: auto !important;
            object-fit: cover !important;
            object-position: center center !important;
            border-radius: 24px !important;
            display: block !important;
        }
    }
    @media (max-width: 1024px) {
        html body .elementor-element-d83f821 img,
        html body .elementor-element-c8533fc img {
            width: 100% !important;
            height: auto !important;
            aspect-ratio: 16 / 10 !important;
            max-height: 380px !important;
            object-fit: cover !important;
            border-radius: 20px !important;
        }
    }
    @media (max-width: 767px) {
        html body .elementor-element-d83f821 img,
        html body .elementor-element-c8533fc img {
            aspect-ratio: 16 / 10 !important;
            max-height: 260px !important;
            border-radius: 16px !important;
        }
    }

    /* ===== I. A PROPOS "Nos valeurs" : espace carte / blocs, tablette et telephone
       Mesure a 390 px : le bloc qui porte la carte d Afrique mesurait 715 px de
       haut pour une image de 500 px, soit 215 px de vide sous la carte avant les
       blocs Innovation / Integrite / Ouverture internationale.
       A 768 px : 715 px de bloc pour 611 px d image, 104 px de vide.
       Le bloc epouse desormais la hauteur de la carte. ===================== */
    @media (max-width: 1024px) {
        html body .elementor-element-37bd311 {
            height: auto !important;
            min-height: 0 !important;
            align-self: center !important;
            padding-top: 0 !important;
            padding-bottom: 0 !important;
            margin-top: 8px !important;
            margin-bottom: 8px !important;
        }
        html body .elementor-element-8c20a4f {
            margin-top: 0 !important;
            margin-bottom: 0 !important;
            align-self: center !important;
        }
        html body .elementor-element-04a6ded { gap: 24px !important; align-items: center !important; }
        /* Tentative de suppression du vide sous la carte a 768 px : la mise a
           hauteur automatique du widget faisait disparaitre l image (hauteur
           mesuree a 0). Regle retiree ; seul le centrage vertical est conserve. */
    }
    @media (max-width: 767px) {
        html body .elementor-element-04a6ded { gap: 16px !important; }
        html body .elementor-element-37bd311 { margin-top: 4px !important; margin-bottom: 4px !important; }
    }

    /* ================= 53. GALERIE : survol = simple zoom ================= */
    html body .rs-gallery-slider .gallery-item img,
    html body .rs-gallery-slider img,
    html body .gallery-slider img,
    html body .elementor-widget-rs-gallery-slider img {
        transition: transform .35s ease !important;
        filter: none !important;
    }
    html body .rs-gallery-slider .gallery-item:hover img,
    html body .elementor-widget-rs-gallery-slider .gallery-item:hover img,
    html body .elementor-widget-rs-gallery-slider a:hover img,
    html body .gallery-slider .slider-item:hover img {
        transform: scale(1.06) !important;
        filter: none !important;
    }
    /* Surimpressions, voiles colores et icones de survol : retires. */
    html body .rs-gallery-slider .gallery-item:before,
    html body .rs-gallery-slider .gallery-item:after,
    html body .rs-gallery-slider .gallery-item .overlay,
    html body .rs-gallery-slider .gallery-item .icon,
    html body .elementor-widget-rs-gallery-slider .overlay,
    html body .elementor-widget-rs-gallery-slider [class*="overlay"],
    html body .elementor-widget-rs-gallery-slider [class*="hover-icon"],
    html body .elementor-widget-rs-gallery-slider [class*="popup-icon"] {
        display: none !important;
        opacity: 0 !important;
    }
    /* Le cadre rogne le zoom pour que la photo ne deborde pas de son angle. */
    html body .rs-gallery-slider .gallery-item,
    html body .elementor-widget-rs-gallery-slider .gallery-item {
        overflow: hidden !important;
        border-radius: 14px !important;
    }

    /* ================= 82 + 73. MON COMPTE ================= */
    /* Le bloc d accueil et le menu d onglets sont alignes en hauteur.
       La valeur exacte est posee a l affichage par le script ci-dessous ;
       ces regles ne font que preparer le terrain. */
    html body .aw-compte-egalise {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
    
li.aw-saut-menu{display:none;}@media (max-width:767px){html body .elementor-element-4aa3f13,html body .elementor-element-69666aa,html body .elementor-element-439fe20{padding-left:0 !important;padding-right:0 !important;}html body .elementor-element-697d566 .elementor-nav-menu{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;column-gap:22px !important;row-gap:10px !important;max-width:none !important;width:100% !important;margin:0 !important;padding:0 !important;}html body .elementor-element-697d566 .elementor-nav-menu > li{width:auto !important;margin:0 !important;padding:0 !important;border:0 !important;flex:0 0 auto !important;}html body .elementor-element-697d566 .elementor-nav-menu > li > a.elementor-item{padding:0 !important;white-space:nowrap !important;}html body .elementor-element-697d566 .elementor-nav-menu > li.aw-saut-menu{display:block !important;flex:0 0 100% !important;width:100% !important;height:0 !important;margin:0 !important;padding:0 !important;border:0 !important;}}
html body .um .um-col-alt .um-field-c{margin-top:8px !important;margin-bottom:24px !important;}html body .um .um-col-alt .um-field-c .um-field-area{margin:0 !important;}html body .um .um-col-alt .um-field-checkbox{display:flex !important;align-items:center !important;gap:10px !important;margin:0 !important;}html body .um .um-col-alt .um-field-checkbox-option{padding:0 !important;margin:0 !important;line-height:1.3 !important;}html body .um .um-col-alt .um-center{margin-top:8px !important;}

    /* ===== LARGEUR DES ENCADRES DE COORDONNEES (bas de l accueil) =====
       Mesure : les deux encadres etaient cote a cote, 289 px chacun, alors que
       la seule adresse demande 464 px. Elle etait donc coupee net, et le numero
       comme le courriel passaient sur deux lignes.
       Ils sont desormais empiles sur toute la largeur de la colonne (603 px),
       ce qui laisse la place a chaque information sur une seule ligne. */
    @media (min-width: 1025px) {
        html body .elementor-element-21086d8 {
            flex-direction: column !important;
            gap: 14px !important;
        }
        html body .elementor-element-929f4d0,
        html body .elementor-element-3013aad {
            width: 100% !important;
            max-width: none !important;
            flex: 0 0 auto !important;
        }
    }

    /* La valeur ne se coupe pas -- sur ordinateur seulement.
       MESURE (768 px) : ces regles s appliquaient aussi en tablette, ou le bloc
       #21086d8 s etirait de 389 a 1060 px pour un ecran de 753 px. Les encadres
       sortaient de l ecran et ne pouvaient donc pas etre centres. */
    @media (min-width: 1025px) {
    html body .rs-contact-box .contact-info a,
        html body .rs-contact-box .contact-info p,
        html body .rs-contact-box .content a,
        html body .rs-contact-box .content p,
        html body .elementor-widget-rs-contact-box a[href^="tel"],
        html body .elementor-widget-rs-contact-box a[href^="mailto"],
        html body .elementor-widget-rs-contact-box .contact-box-content > *:not(:first-child) {
            white-space: nowrap !important;
            overflow-wrap: normal !important;
            word-break: normal !important;
        }
    }

    /* On recupere de la place : la pastille d icone se resserre un peu. */
    html body .elementor-widget-rs-contact-box .icon,
    html body .rs-contact-box .icon {
        flex: 0 0 auto !important;
        margin-right: 12px !important;
    }
    html body .elementor-widget-rs-contact-box .contact-box-content,
    html body .rs-contact-box .content,
    html body .rs-contact-box .contact-info {
        min-width: 0 !important;
        flex: 1 1 auto !important;
    }
    

    /* Chaque section porte l intervalle en haut ET en bas : entre deux sections
       l espace visible vaut donc le double. A 100 px, cela faisait 200 px entre
       deux blocs de contenu, ce que le proprietaire trouvait trop grand.
       Nouvelle echelle : 72 px, soit 144 px entre deux sections en ordinateur,
       104 px en tablette, 72 px en telephone. */
    :root { --aw-rythme: 72px; }
    @media (max-width: 1024px) { :root { --aw-rythme: 52px; } }
    @media (max-width: 767px)  { :root { --aw-rythme: 36px; } }

    /* Intervalle unique entre toutes les sections de contenu. */
    html body [data-elementor-type="wp-page"] > .e-con:not(:first-child):not(.aw-hors-rythme):not(.elementor-element-5ca36a6a):not(.elementor-element-0f7c31a):not(.elementor-element-7681df38):not(:has(.rs-marquee-slider-gsap)):not(:has(.elementor-widget-page-title)),
    html body [data-elementor-type="wp-page"] > .e-flexbox-base:not(:first-child):not(.aw-hors-rythme):not(.elementor-element-5ca36a6a):not(.elementor-element-0f7c31a):not(.elementor-element-7681df38):not(:has(.rs-marquee-slider-gsap)):not(:has(.elementor-widget-page-title)) {
        padding-top: var(--aw-rythme) !important;
        padding-bottom: var(--aw-rythme) !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* Le remplissage interne faisait double emploi avec l intervalle ci-dessus. */
    /* Le remplissage interne faisait double emploi avec l intervalle ci-dessus.
       Mesure sur la page Programme : sections a 200 px en haut et en bas (100 de
       la section + 100 de sa boite interne) contre 100 partout ailleurs.
       La remise a zero vaut aussi pour les sections du nouveau moteur
       (e-flexbox-base), qui etaient passees au travers. */
    html body [data-elementor-type="wp-page"] > .e-con:not(:first-child):not(.aw-hors-rythme):not(.elementor-element-5ca36a6a):not(.elementor-element-0f7c31a):not(.elementor-element-7681df38):not(:has(.rs-marquee-slider-gsap)):not(:has(.elementor-widget-page-title)) > .e-con-inner,
    html body [data-elementor-type="wp-page"] > .e-flexbox-base:not(:first-child):not(.aw-hors-rythme):not(.elementor-element-5ca36a6a):not(.elementor-element-0f7c31a):not(.elementor-element-7681df38):not(:has(.rs-marquee-slider-gsap)):not(:has(.elementor-widget-page-title)) > .e-con-inner {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Les trois sections de compte a rebours : leur boite interne est remise a
       zero elle aussi, sinon 48 + 48 = 96 px au lieu des 48 voulus. */
    html body [data-elementor-type="wp-page"] > .elementor-element-5ca36a6a > .e-con-inner,
    html body [data-elementor-type="wp-page"] > .elementor-element-0f7c31a > .e-con-inner,
    html body [data-elementor-type="wp-page"] > .elementor-element-7681df38 > .e-con-inner {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Les sections de compte a rebours des pages A propos et Contact ne
       contiennent pas QUE le compte a rebours : sur A propos elle porte aussi le
       bloc des partenaires, sur Contact une photographie. Mesure : la bande
       jaune et le bloc suivant se touchaient, 0 px entre les deux, alors que le
       reste du site respire de 72 px. On leur donne le meme intervalle. */
    html body [data-elementor-type="wp-page"] > .elementor-element-0f7c31a,
    html body [data-elementor-type="wp-page"] > .elementor-element-7681df38,
    html body [data-elementor-type="wp-page"] > .elementor-element-5ca36a6a {
        display: flex !important;
        flex-direction: column !important;
        gap: var(--aw-rythme) !important;
    }

    /* Bandes defilantes : bord a bord, sans intervalle propre. */
    html body [data-elementor-type="wp-page"] > .e-con:has(.rs-marquee-slider-gsap) {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    /* Compte a rebours de l accueil : le chevauchement est voulu, on n y touche pas. */
    /* CORRECTION : 0f7c31a est un .e-con et non un .e-flexbox-base. Le selecteur ci-dessous
       ne l atteignait pas, et comme elle est par ailleurs exclue du rythme general, elle
       restait a zero de remplissage en haut et se collait a la section precedente. */
    /* Compte a rebours : le proprietaire le trouvait trop aere. Mesure avant
       correction : 100 px de remplissage en haut et 100 px en bas, pour une
       bande de 187 px de haut. On resserre nettement, sans toucher au format
       jour / heure / minute / seconde ni aux polices. */
    html body [data-elementor-type="wp-page"] > .e-con.elementor-element-5ca36a6a,
    html body [data-elementor-type="wp-page"] > .e-flexbox-base.elementor-element-0f7c31a,
    html body [data-elementor-type="wp-page"] > .e-con.elementor-element-0f7c31a,
    html body [data-elementor-type="wp-page"] > .e-con.elementor-element-7681df38 {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
    @media (max-width: 1024px) {
        html body [data-elementor-type="wp-page"] > .e-con.elementor-element-5ca36a6a,
        html body [data-elementor-type="wp-page"] > .e-flexbox-base.elementor-element-0f7c31a,
    html body [data-elementor-type="wp-page"] > .e-con.elementor-element-0f7c31a,
        html body [data-elementor-type="wp-page"] > .e-con.elementor-element-7681df38 {
            padding-top: 36px !important;
            padding-bottom: 36px !important;
        }
    }
    @media (max-width: 767px) {
        html body [data-elementor-type="wp-page"] > .e-con.elementor-element-5ca36a6a,
        html body [data-elementor-type="wp-page"] > .e-flexbox-base.elementor-element-0f7c31a,
    html body [data-elementor-type="wp-page"] > .e-con.elementor-element-0f7c31a,
        html body [data-elementor-type="wp-page"] > .e-con.elementor-element-7681df38 {
            padding-top: 28px !important;
            padding-bottom: 28px !important;
        }
    }

    /* La section Lieu & Localisation suit desormais le rythme general :
       son reglage propre de 90 px est neutralise pour ne pas s y ajouter. */
    html body .elementor-element-44f4906 > .e-con-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
    
    /* Releve accueil (1700 px) : la section qui precede la bande jaune n a
       aucune marge basse (son fond vert s arrete net), le blanc au-dessus ne
       faisait donc que 40 px, alors qu au-dessous il y avait 40 px + les 72 px
       de la section suivante, soit 112 px. On egalise. */
    html body [data-elementor-type="wp-page"] > .e-con.elementor-element-5ca36a6a.elementor-element { /* aw-cr-accueil-haut */
        padding-top: calc(40px + var(--aw-rythme)) !important;
    }
    @media (max-width: 1024px) {
        html body [data-elementor-type="wp-page"] > .e-con.elementor-element-5ca36a6a.elementor-element { padding-top: calc(36px + var(--aw-rythme)) !important; }
    }
    @media (max-width: 767px) {
        html body [data-elementor-type="wp-page"] > .e-con.elementor-element-5ca36a6a.elementor-element { padding-top: calc(28px + var(--aw-rythme)) !important; }
    }
    

    html body .elementor-element-df13da5 img,
    html body .elementor-widget-rsteam-slider img,
    html body .rsteam-slider img,
    html body [class*="team-member-grid"] {
        aspect-ratio: 296 / 379 !important;
        height: auto !important;
        width: 100% !important;
        object-fit: cover !important;
        object-position: center top !important;
        display: block !important;
        border-radius: 14px !important;
    }

    @media (max-width: 1024px) {
        html body .elementor-element-df13da5 img,
        html body .elementor-widget-rsteam-slider img,
        html body .rsteam-slider img {
            aspect-ratio: 296 / 379 !important;
            border-radius: 12px !important;
        }
    }
    @media (max-width: 767px) {
        html body .elementor-element-df13da5 img,
        html body .elementor-widget-rsteam-slider img,
        html body .rsteam-slider img {
            aspect-ratio: 296 / 379 !important;
            border-radius: 10px !important;
        }
    }

    /* ===== ALIGNEMENT DES TETES =====
       Une fois les cadres egalises, les visages ne tombaient pas a la meme
       hauteur, chaque photographie ayant son propre cadrage d origine.
       Releve du haut du crane dans un cadre de 379 px commencant a 213 :
         avant : OKAFOR 232 | MWENZE 250 | OKOUBO 228 | TABLA 270 (42 px d ecart)
         apres : les quatre visages tiennent dans une bande d une dizaine de
                 pixels, ce que l oeil ne distingue plus.

       Trois de ces photographies sont plus larges que le cadre : le recadrage
       ne rogne que les cotes, un deplacement vertical n aurait donc aucun effet.
       On agit par un leger rapprochement, ancre en haut, sur les deux visages
       trop bas. Chaque orateur est vise par l empreinte de son fichier, ce qui
       reste juste meme si l ordre des cartes change. */
    html body .elementor-element-df13da5 img,
    html body .elementor-widget-rsteam-slider img { transform-origin: center top; }

    html body .elementor-element-df13da5 img[src*="e1783548460256"],
    html body .elementor-widget-rsteam-slider img[src*="e1783548460256"] {
        /* Prophete Djo Grace MWENZE : tete 18 px trop basse. */
        transform: scale(1.09) !important;
        transform-origin: center 12% !important;
    }
    html body .elementor-element-df13da5 img[src*="e1783547234307"],
    html body .elementor-widget-rsteam-slider img[src*="e1783547234307"] {
        /* Reverend Francis TABLA.
           Premiere tentative par agrandissement : elle a fait l inverse de ce
           qu il fallait. Un agrandissement dont le point d ancrage est AU-DESSUS
           du visage repousse ce visage vers le bas ; la tete est passee de 40 a
           72 px du haut du cadre au lieu de remonter.
           Bonne methode : remonter l image, puis l agrandir juste assez pour que
           le bas du cadre reste couvert.
           Reglage retenu apres deux mesures a l ecran : decalage de 58 px vers
           le haut, facteur 1,18. Le facteur n est la que pour que le bas du
           cadre reste couvert malgre le decalage : 1,18 x (379 - 58) = 379. */
        transform: scale(1.18) translateY(-58px) !important;
        transform-origin: center top !important;
    }
    /* Le cadre rogne ce qui depasse du rapprochement. */
    html body .elementor-element-df13da5 img,
    html body .elementor-widget-rsteam-slider img { will-change: transform; }
    html body .elementor-element-df13da5 .swiper-slide,
    html body .elementor-element-df13da5 [class*="team"],
    html body .elementor-widget-rsteam-slider [class*="thumb"],
    html body .elementor-widget-rsteam-slider [class*="image"] {
        overflow: hidden !important;
    }

    /* Les cartes finissent toutes a la meme hauteur, et le texte demarre a la
       meme ligne d une carte a l autre. */
    html body .elementor-element-df13da5 .swiper-wrapper,
    html body .elementor-element-df13da5 .slick-track,
    html body .elementor-element-df13da5 > .elementor-widget-container > * {
        align-items: stretch !important;
    }
    

    html body .elementor-element-2a4bf78,
    html body .elementor-element-2a4bf78 > .elementor-widget-container,
    html body .elementor-element-2a4bf78 .elementor-custom-embed {
        height: 460px !important; min-height: 0 !important;
        overflow: hidden !important; border-radius: 24px !important; line-height: 0 !important;
    }
    html body .elementor-element-2a4bf78 iframe {
        width: 100% !important; height: 100% !important; min-height: 100% !important;
        display: block !important; border: 0 !important;
    }
    @media (max-width: 1024px) {
        html body .elementor-element-2a4bf78,
        html body .elementor-element-2a4bf78 > .elementor-widget-container,
        html body .elementor-element-2a4bf78 .elementor-custom-embed { height: 380px !important; }
    }
    @media (max-width: 767px) {
        html body .elementor-element-2a4bf78,
        html body .elementor-element-2a4bf78 > .elementor-widget-container,
        html body .elementor-element-2a4bf78 .elementor-custom-embed { height: 320px !important; border-radius: 18px !important; }
    }
        /* Le plan Google affiche en bas a gauche une vignette qui bascule en vue
           satellite. Le proprietaire ne veut que le plan classique : la vignette est
           masquee et rendue inactive. Le cadre etant sur un autre domaine, on la couvre
           depuis la page. */
        html body .elementor-element-2a4bf78 .elementor-widget-container,
        html body .elementor-element-2a4bf78 .elementor-custom-embed { position: relative !important; }
        html body .elementor-element-2a4bf78 .elementor-custom-embed::after {
            content: "" !important;
            position: absolute !important;
            left: 8px !important; bottom: 8px !important;
            width: 82px !important; height: 82px !important;
            background: #F8F9FA !important;
            border-radius: 12px !important;
            z-index: 3 !important;
            pointer-events: auto !important;
        }
        @media (max-width: 767px) {
            html body .elementor-element-2a4bf78 .elementor-custom-embed::after { width: 68px !important; height: 68px !important; }
        }
    