
    @media (max-width: 1024px) {
        /* Chaque ligne de coordonnees : icone au-dessus, libelle et valeur dessous,
           le tout sur le meme axe. Vaut aussi bien pour les encadres du corps de la
           page que pour ceux du pied. */
        html body footer .rs-contact-box .address-item.address-item.address-item,
        html body .elementor-element-21086d8 .rs-contact-box .address-item.address-item.address-item,
        html body .elementor-element-7f65e2b5 .rs-contact-box .address-item.address-item.address-item,
        html body .elementor-element-13c340b .rs-contact-box .address-item.address-item.address-item {
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            justify-content: center !important;
            text-align: center !important;
            gap: 10px !important;
            width: 100% !important;
            max-width: 100% !important;
        }
        html body footer .address-item.address-item.address-item .address-icon,
        html body .elementor-element-21086d8 .address-item.address-item.address-item .address-icon,
        html body .elementor-element-7f65e2b5 .address-item.address-item.address-item .address-icon,
        html body .elementor-element-13c340b .address-item.address-item.address-item .address-icon {
            flex: 0 0 auto !important;
            margin: 0 auto !important;
            align-self: center !important;
        }
        html body footer .address-item.address-item.address-item .address-text,
        html body .elementor-element-21086d8 .address-item.address-item.address-item .address-text,
        html body .elementor-element-7f65e2b5 .address-item.address-item.address-item .address-text,
        html body .elementor-element-13c340b .address-item.address-item.address-item .address-text {
            width: 100% !important;
            flex: 0 0 auto !important;
            text-align: center !important;
        }
        html body footer .address-item.address-item.address-item .address-text *,
        html body .elementor-element-21086d8 .address-item.address-item.address-item .address-text *,
        html body .elementor-element-7f65e2b5 .address-item.address-item.address-item .address-text *,
        html body .elementor-element-13c340b .address-item.address-item.address-item .address-text * {
            text-align: center !important;
            justify-content: center !important;
        }
        /* Les encadres eux-memes se rangent en colonne et se centrent : en rangee,
           a 768 px, ils se retrouvaient a 251 et 543 px de l axe. */
        html body footer .rs-contact-box,
        html body .elementor-element-21086d8 .rs-contact-box,
        html body .elementor-element-7f65e2b5 .rs-contact-box,
        html body .elementor-element-13c340b .rs-contact-box {
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            justify-content: center !important;
            gap: 22px !important;
            text-align: center !important;
        }

    /* MESURE (768 px) : le bloc #21086d8 s etendait de 389 a 1060 px alors que
       sa colonne s arrete a 705 px. Il debordait de 355 px et emportait les deux
       encadres avec lui. On le ramene a la largeur de sa colonne. */
    html body .elementor-element-21086d8,
    html body .elementor-element-21086d8 > .e-con-inner,
    html body .elementor-element-929f4d0,
    html body .elementor-element-3013aad,
    html body .elementor-element-7f65e2b5,
    html body .elementor-element-13c340b {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    html body .elementor-element-21086d8 {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 18px !important;
    }

    /* MESURE (768 px) : la section Lieu & Localisation restait sur deux colonnes,
       les coordonnees etaient donc centrees sur l axe de leur colonne (543 px)
       et non sur celui de la page (377 px). Les deux colonnes s empilent. */
    html body .elementor-element-a320476 > .e-con-inner {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
    }
    html body .elementor-element-a320476 > .e-con-inner > * {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
    }

    /* Un reste de remplissage a droite (20 px de marge + 20 px interne)
       decalait la ligne de 9 px vers la gauche. */
    html body footer .rs-contact-box .address-item.address-item.address-item,
    html body .elementor-element-21086d8 .address-item.address-item.address-item,
    html body .elementor-element-7f65e2b5 .address-item.address-item.address-item,
    html body .elementor-element-13c340b .address-item.address-item.address-item {
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    /* Une fois les colonnes empilees, la colonne des coordonnees gardait sa
       largeur de bureau : mesuree a 310 px sur 705, elle restait donc collee a
       gauche (centre 203 au lieu de 377). */
    html body .elementor-element-3d3204a,
    html body .elementor-element-3d3204a > .e-con-inner,
    html body .elementor-element-eab16bf,
    html body .elementor-element-eab16bf > .e-con-inner {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        align-items: stretch !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Dernier verrou : l enveloppe du widget restait a 309 px dans une colonne
       de 657 px, ce qui laissait l encadre cale a gauche (centre 203 / 377). */
    html body .elementor-element-929f4d0 > .elementor-widget-container,
    html body .elementor-element-3013aad > .elementor-widget-container,
    html body .elementor-element-7f65e2b5 > .elementor-widget-container,
    html body footer .elementor-widget-rs-contact-box > .elementor-widget-container {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    html body .elementor-element-929f4d0,
    html body .elementor-element-3013aad,
    html body .elementor-element-7f65e2b5 {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }

    /* Page Contact : la colonne des coordonnees (#6f09b7e) restait a droite,
       centree a 636 px au lieu de 377. Elle passe pleine largeur et se centre. */
    html body .elementor-element-d881f99 > .e-con-inner {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
    }
    html body .elementor-element-d881f99 > .e-con-inner > *,
    html body .elementor-element-6f09b7e,
    html body .elementor-element-6f09b7e > .e-con-inner,
    html body .elementor-element-82a60b0,
    html body .elementor-element-3677efb,
    html body .elementor-element-a090567 {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    html body .elementor-element-82a60b0 > .elementor-widget-container,
    html body .elementor-element-3677efb > .elementor-widget-container,
    html body .elementor-element-a090567 > .elementor-widget-container {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    html body .elementor-element-6f09b7e .rs-contact-box .address-item.address-item.address-item,
    html body .elementor-element-82a60b0 .rs-contact-box .address-item.address-item.address-item,
    html body .elementor-element-3677efb .rs-contact-box .address-item.address-item.address-item,
    html body .elementor-element-a090567 .rs-contact-box .address-item.address-item.address-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 10px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    html body .elementor-element-6f09b7e .address-item.address-item.address-item .address-text,
    html body .elementor-element-6f09b7e .address-item.address-item.address-item .address-text * {
        text-align: center !important;
        width: 100% !important;
    }
    }
    
    /* DEMANDE (27 aout) : "au niveau des coordonnees, rien n est encadre, rien n est
       centralise ; l icone est censee etre a gauche de l adresse mail et bien centree".
       Les regles ci-dessus empilaient l icone au-dessus du texte sous 1024 px. Pour le
       PIED DE PAGE uniquement, on revient a une ligne : icone a gauche, libelle et
       valeur a droite, le tout dans un encadre. Repere : aw-pied-icone-gauche */
    @media (max-width: 1024px) {
        html body footer .rs-contact-box .address-item.address-item.address-item {
            flex-direction: row !important;
            align-items: center !important;
            justify-content: flex-start !important;
            text-align: left !important;
            gap: 16px !important;
            padding: 18px 20px !important;
            border: 1px solid #E4E9E6 !important;
            border-radius: 16px !important;
            box-sizing: border-box !important;
        }
        html body footer .address-item.address-item.address-item .address-icon {
            margin: 0 !important;
            align-self: center !important;
            flex: 0 0 auto !important;
        }
        html body footer .address-item.address-item.address-item .address-text {
            width: auto !important;
            flex: 1 1 auto !important;
            text-align: left !important;
        }
        html body footer .address-item.address-item.address-item .address-text * {
            text-align: left !important;
            justify-content: flex-start !important;
        }
    }


    /* Le trace maison remplace l icone de police d origine. */
    html body header .hfe-nav-menu-icon svg,
    html body header .hfe-nav-menu-icon i,
    html body header .hfe-nav-menu__toggle > svg,
    html body header .hfe-nav-menu__toggle > i {
        display: none !important;
    }
    html body header .hfe-nav-menu-icon,
    html body header .hfe-nav-menu__toggle {
        width: 44px !important;
        height: 44px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 7px !important;
        background: none !important;
        background-color: transparent !important;
        box-shadow: none !important;
        border: 0 !important;
        border-radius: 0 !important;
        padding: 0 !important;
        margin-right: 0 !important;
        cursor: pointer;
        transition: transform .18s ease, opacity .18s ease;
    }
    html body header .hfe-nav-menu__toggle { gap: 0 !important; }
    html body header .hfe-nav-menu-icon .aw-trait {
        display: block !important;
        width: 28px !important;
        height: 3px !important;
        border-radius: 999px !important;
        background: #FFFFFF !important;
        transition: transform .28s cubic-bezier(.4,.01,.2,1),
                    opacity .18s ease,
                    background .2s ease,
                    width .28s cubic-bezier(.4,.01,.2,1);
        transform-origin: center center;
    }
    /* Croix arrondie : le trait du milieu s efface, les deux autres se croisent.
       Les extremites restent arrondies grace au meme rayon. */
    html body header .hfe-nav-menu__toggle.hfe-active .aw-trait-1 {
        transform: translateY(10px) rotate(45deg) !important;
    }
    html body header .hfe-nav-menu__toggle.hfe-active .aw-trait-2 {
        opacity: 0 !important;
        transform: scaleX(.2) !important;
    }
    html body header .hfe-nav-menu__toggle.hfe-active .aw-trait-3 {
        transform: translateY(-10px) rotate(-45deg) !important;
    }
    /* Retour visuel au survol et au toucher. */
    html body header .hfe-nav-menu-icon:hover .aw-trait-1 { transform: translateY(-1px); }
    html body header .hfe-nav-menu-icon:hover .aw-trait-3 { transform: translateY(1px); }
    html body header .hfe-nav-menu__toggle.hfe-active:hover .aw-trait-1 { transform: translateY(10px) rotate(45deg) !important; }
    html body header .hfe-nav-menu__toggle.hfe-active:hover .aw-trait-3 { transform: translateY(-10px) rotate(-45deg) !important; }
    html body header .hfe-nav-menu-icon:active { transform: scale(.94); }
    /* Sur l entete compacte, le blanc ne serait pas lisible.
       DIAGNOSTIC : apres defilement, le theme affiche le bloc .header-sticky-part
       (#e941090), dont le fond est rgb(255,255,255). Les trois traits, blancs,
       devenaient invisibles : l icone paraissait absente. Le theme n emploie pas
       la classe d Elementor mais ses propres classes, que l on vise ici. */
    html body header .elementor-sticky--effects .hfe-nav-menu-icon .aw-trait,
    html body header.sicky-add .hfe-nav-menu-icon .aw-trait {
        background: #3E9134 !important;
    }

    /* Cadre : l icone se cale sur le meme bord que le contenu. */
    @media (max-width: 1024px) {
        html body header .elementor-element-db15803 {
            position: static !important;
            width: auto !important;
            transform: none !important;
        }
        html body header .elementor-element-7926f90 {
            width: auto !important;
            flex: 0 0 auto !important;
            justify-content: flex-end !important;
        }
        html body header .elementor-element-7926f90,
        html body header .hfe-nav-menu-icon,
        html body header .hfe-nav-menu__toggle {
            margin-right: 0 !important;
        }
        html body header .elementor-element-f68fc65 { padding-right: 0 !important; }
    }
    @media (max-width: 767px) {
        html body header .hfe-nav-menu-icon,
        html body header .hfe-nav-menu__toggle {
            width: 40px !important;
            height: 40px !important;
            gap: 6px !important;
        }
        html body header .hfe-nav-menu-icon .aw-trait { width: 25px !important; height: 3px !important; }
    html body header .hfe-nav-menu__toggle.hfe-active .aw-trait-1 { transform: translateY(9px) rotate(45deg) !important; }
    html body header .hfe-nav-menu__toggle.hfe-active .aw-trait-3 { transform: translateY(-9px) rotate(-45deg) !important; }
    }
    
    /* Le panneau du menu affichait un bouton de fermeture en forme de petit
       rectangle blanc barre d une croix (icone "window-close"). Il est remplace
       par la meme croix arrondie que celle des trois traits, sans cadre. */
    html body .hfe-flyout-close svg,
    html body .hfe-flyout-close i,
    html body .hfe-flyout-close img {
        display: none !important;
    }
    html body .hfe-flyout-wrapper .hfe-flyout-container .hfe-flyout-content .hfe-flyout-close,
    html body .hfe-flyout-content .hfe-flyout-close,
    html body .hfe-flyout-close {
        position: fixed !important;
        width: 44px !important;
        height: 44px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: none !important;
        background-color: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        transition: transform .2s ease !important;
        top: 46px !important;
        right: 34px !important;
        left: auto !important;
        bottom: auto !important;
        z-index: 100000 !important;
        inset-inline-end: 34px !important;
        inset-inline-start: auto !important;
        margin: 0 !important;
        z-index: 100001 !important;
    }
    html body .hfe-flyout-content .hfe-flyout-close::before,
    html body .hfe-flyout-content .hfe-flyout-close::after,
    html body .hfe-flyout-close::before,
    html body .hfe-flyout-close::after {
        content: '' !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        width: 28px !important;
        height: 3px !important;
        margin: -1.5px 0 0 -14px !important;
        border-radius: 999px !important;
        background: #FFFFFF !important;
    }
    html body .hfe-flyout-content .hfe-flyout-close::before,
    html body .hfe-flyout-close::before { transform: rotate(45deg) !important; }
    html body .hfe-flyout-content .hfe-flyout-close::after,
    html body .hfe-flyout-close::after  { transform: rotate(-45deg) !important; }
    html body .hfe-flyout-close:hover { transform: rotate(90deg) !important; }
    @media (max-width: 767px) {
        html body .hfe-flyout-wrapper .hfe-flyout-container .hfe-flyout-content .hfe-flyout-close,
        html body .hfe-flyout-content .hfe-flyout-close,
        html body .hfe-flyout-close {
            width: 40px !important;
            height: 40px !important;
            top: 22px !important;
            right: 22px !important;
            inset-inline-end: 22px !important;
        }
        html body .hfe-flyout-wrapper .hfe-flyout-container .hfe-flyout-content .hfe-flyout-close::before,
        html body .hfe-flyout-wrapper .hfe-flyout-container .hfe-flyout-content .hfe-flyout-close::after,
        html body .hfe-flyout-close::before,
        html body .hfe-flyout-close::after { width: 25px !important; margin-left: -12.5px !important; }
    }
    

    html body .frm_forms.with_frm_style,
    html body .frm_forms .frm_form_fields { font-family: "Poppins", sans-serif !important; }
    html body .frm_forms.with_frm_style .frm_form_fields > fieldset {
        background: #FFFFFF !important; border: 1px solid rgba(11,43,24,.14) !important;
        border-radius: 24px !important; padding: 28px !important;
        box-shadow: 0 10px 30px rgba(11,43,24,.07) !important;
    }
    html body .frm_forms .frm_form_field { margin-bottom: 18px !important; }
    html body .frm_forms .frm_primary_label {
        font-size: 13.5px !important; font-weight: 600 !important; letter-spacing: .2px !important;
        color: #00532A !important; margin-bottom: 7px !important; display: block !important;
    }
    html body .frm_forms .frm_required { color: #CE1126 !important; }
    html body .frm_forms input[type="text"],
    html body .frm_forms input[type="email"],
    html body .frm_forms input[type="tel"],
    html body .frm_forms input[type="number"],
    html body .frm_forms input[type="date"],
    html body .frm_forms select,
    html body .frm_forms textarea {
        width: 100% !important; box-sizing: border-box !important;
        background: #F7FBF8 !important; border: 1.5px solid rgba(11,43,24,.14) !important;
        border-radius: 14px !important; padding: 13px 16px !important;
        font-size: 15px !important; color: #10231A !important; line-height: 1.35 !important;
        transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
        box-shadow: none !important; height: auto !important;
    }
    html body .frm_forms input:focus,
    html body .frm_forms select:focus,
    html body .frm_forms textarea:focus {
        background: #FFFFFF !important; border-color: #3E9134 !important;
        box-shadow: 0 0 0 4px rgba(0,133,63,.14) !important; outline: none !important;
    }
    html body .frm_forms ::placeholder { color: #8FA398 !important; }
    /* Choix multiples : pastilles arrondies plutot que de simples ronds. */
    html body .frm_forms .frm_opt_container { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; }
    html body .frm_forms .frm_radio, html body .frm_forms .frm_checkbox {
        margin: 0 !important; flex: 0 0 auto !important;
    }
    html body .frm_forms .frm_radio label, html body .frm_forms .frm_checkbox label {
        display: inline-flex !important; align-items: center !important; gap: 9px !important;
        background: #F7FBF8 !important; border: 1.5px solid rgba(11,43,24,.14) !important;
        border-radius: 999px !important; padding: 10px 18px !important;
        font-size: 14.5px !important; color: #10231A !important; cursor: pointer !important;
        transition: border-color .2s ease, background .2s ease, box-shadow .2s ease !important;
    }
    html body .frm_forms .frm_radio label:hover, html body .frm_forms .frm_checkbox label:hover {
        border-color: rgba(0,133,63,.5) !important; background: #EDF9F1 !important;
    }
    html body .frm_forms .frm_radio input, html body .frm_forms .frm_checkbox input { accent-color: #3E9134 !important; margin: 0 !important; }
    html body .frm_forms .frm_radio label:has(input:checked),
    html body .frm_forms .frm_checkbox label:has(input:checked) {
        background: #E7F6EC !important; border-color: #3E9134 !important;
        box-shadow: 0 4px 12px rgba(0,133,63,.16) !important; font-weight: 600 !important;
    }
    
    /* Titres de section du formulaire. */
    html body .frm_forms .frm_html_container h3,
    html body .frm_forms .frm_html_container h3 span {
        background: #3E9134 !important; color: #FFFFFF !important;
        border-radius: 999px !important; padding: 8px 20px !important;
        display: inline-block !important; font-size: 14px !important;
        font-weight: 700 !important; letter-spacing: .6px !important; margin: 6px 0 4px !important;
    }
    /* La note de date limite : un encadre arrondi, sur une seule ligne. */
    html body .frm_forms .aw-note-limite, html body .frm_forms h4 {
        background: #FFFBE6 !important; border: 1.5px solid rgba(253,239,66,.9) !important;
        border-radius: 16px !important; padding: 14px 18px !important;
        margin: 4px 0 0 !important; font-size: 15px !important; font-weight: 500 !important;
        line-height: 1.5 !important; color: #10231A !important;
    }
    html body .frm_forms .aw-note-limite br { display: none !important; }
    /* Bouton d envoi : pastille verte, meme famille que les boutons du site. */
    html body .frm_forms .frm_button_submit,
    html body .frm_forms input[type="submit"],
    html body .frm_forms button[type="submit"] {
        background: linear-gradient(135deg, #00A04C 0%, #3E9134 100%) !important;
        color: #FFFFFF !important; border: 0 !important; border-radius: 999px !important;
        padding: 14px 38px !important; font-size: 15px !important; font-weight: 600 !important;
        font-family: "Poppins", sans-serif !important; cursor: pointer !important;
        box-shadow: 0 8px 20px rgba(0,133,63,.28) !important;
        transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
    }
    html body .frm_forms .frm_button_submit:hover,
    html body .frm_forms input[type="submit"]:hover {
        transform: translateY(-2px) !important; box-shadow: 0 12px 26px rgba(0,133,63,.34) !important;
    }
    html body .frm_forms .frm_submit { margin-top: 22px !important; text-align: center !important; }
    
    /* Messages d erreur et de confirmation. */
    html body .frm_forms .frm_error, html body .frm_forms .frm_error_style {
        color: #CE1126 !important; font-size: 13px !important; margin-top: 6px !important;
        background: #FFF5F5 !important; border: 1px solid rgba(206,17,38,.3) !important;
        border-radius: 12px !important; padding: 8px 12px !important;
    }
    html body .frm_forms .frm_message, html body .frm_message {
        background: #E7F6EC !important; border: 1.5px solid #3E9134 !important;
        border-radius: 18px !important; padding: 18px 22px !important; color: #00532A !important;
    }
    html body .frm_forms .frm_blank_field input,
    html body .frm_forms .frm_blank_field select { border-color: #CE1126 !important; }
    
    /* Deux colonnes sur ordinateur, une seule sur telephone. */
    @media (max-width: 767px) {
        html body .frm_forms.with_frm_style .frm_form_fields > fieldset { padding: 18px !important; border-radius: 18px !important; }
        html body .frm_forms .frm6, html body .frm_forms .frm12 { width: 100% !important; }
        html body .frm_forms .frm_radio label { width: 100% !important; justify-content: center !important; }
        html body .frm_forms .frm_button_submit { width: 100% !important; }
    }
    
        /* Les deux formulaires de la page Mon compte sont poses en HTML fige, sans
           les classes de l extension : on les vise par leur identifiant. */
        html body form[id^="form_f687r42"] { font-family: "Poppins", sans-serif !important; }
        html body form[id^="form_f687r42"] fieldset {
            background: #FFFFFF !important; border: 1px solid rgba(11,43,24,.14) !important;
            border-radius: 24px !important; padding: 30px !important; margin: 0 0 24px !important;
            box-shadow: 0 10px 30px rgba(11,43,24,.07) !important;
        }
        html body form[id^="form_f687r42"] legend { display: none !important; }
        html body form[id^="form_f687r42"] h2 {
            color: #00532A !important; background: transparent !important;
            font-size: 26px !important; font-weight: 700 !important;
            margin: 22px 0 4px !important; padding: 0 !important; line-height: 1.25 !important;
        }
        html body form[id^="form_f687r42"] h2:first-of-type { margin-top: 0 !important; }
        html body form[id^="form_f687r42"] h3, html body form[id^="form_f687r42"] h3 span {
            background: #3E9134 !important; color: #FFFFFF !important;
            border-radius: 999px !important; padding: 8px 20px !important;
            display: inline-block !important; font-size: 14px !important; font-weight: 700 !important;
            letter-spacing: .6px !important; margin: 22px 0 10px !important;
        }
        html body form[id^="form_f687r42"] h3 br { display: none !important; }
        html body form[id^="form_f687r42"] h4 {
            background: #FFFBE6 !important; border: 1.5px solid rgba(253,239,66,.9) !important;
            border-radius: 16px !important; padding: 14px 18px !important;
            margin: 6px 0 14px !important; font-size: 15px !important; font-weight: 500 !important;
            line-height: 1.55 !important; color: #10231A !important;
        }
        html body form[id^="form_f687r42"] h4 br { display: none !important; }
    html body form[id^="form_f687r42"] label { display: block !important; font-size: 13.5px !important; font-weight: 600 !important;
            color: #00532A !important; margin: 14px 0 7px !important; letter-spacing: .2px !important; }
    html body form[id^="form_f687r42"] .aw-lbl { display: block !important; font-size: 13.5px !important; font-weight: 600 !important; color: #00532A !important; margin: 14px 0 7px !important; }
    html body form[id^="form_f687r42"] .aw-oblig { color: #CE1126 !important; }
    html body form[id^="form_f687r42"] input[type="text"], html body form[id^="form_f687r42"] input[type="email"], html body form[id^="form_f687r42"] input[type="tel"],
    html body form[id^="form_f687r42"] input[type="number"], html body form[id^="form_f687r42"] input[type="date"], html body form[id^="form_f687r42"] select, html body form[id^="form_f687r42"] textarea {
            width: 100% !important; box-sizing: border-box !important;
            background: #F7FBF8 !important; border: 1.5px solid rgba(11,43,24,.14) !important;
            border-radius: 14px !important; padding: 13px 16px !important; height: auto !important;
            font-size: 15px !important; font-family: "Poppins", sans-serif !important;
            color: #10231A !important; line-height: 1.35 !important; box-shadow: none !important;
            transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important; }
    html body form[id^="form_f687r42"] input:focus, html body form[id^="form_f687r42"] select:focus, html body form[id^="form_f687r42"] textarea:focus {
            background: #FFFFFF !important; border-color: #3E9134 !important;
            box-shadow: 0 0 0 4px rgba(0,133,63,.14) !important; outline: none !important; }
    
        /* Choix du transport : pastilles arrondies. */
    html body form[id^="form_f687r42"] label[for^="field_n4c4h"], html body form[id^="form_f687r42"] label[for^="field_dlgtr"] {
            display: inline-flex !important; align-items: center !important; gap: 9px !important;
            width: auto !important; margin: 0 10px 10px 0 !important;
            background: #F7FBF8 !important; border: 1.5px solid rgba(11,43,24,.14) !important;
            border-radius: 999px !important; padding: 10px 18px !important;
            font-size: 14.5px !important; font-weight: 500 !important; color: #10231A !important;
            cursor: pointer !important; transition: all .2s ease !important; }
    html body form[id^="form_f687r42"] label[for^="field_n4c4h"]:hover, html body form[id^="form_f687r42"] label[for^="field_dlgtr"]:hover {
            border-color: rgba(0,133,63,.5) !important; background: #EDF9F1 !important; }
    html body form[id^="form_f687r42"] label[for^="field_n4c4h"]:has(input:checked), html body form[id^="form_f687r42"] label[for^="field_dlgtr"]:has(input:checked) {
            background: #E7F6EC !important; border-color: #3E9134 !important; font-weight: 600 !important;
            box-shadow: 0 4px 12px rgba(0,133,63,.16) !important; }
    html body form[id^="form_f687r42"] input[type="radio"], html body form[id^="form_f687r42"] input[type="checkbox"] { width: auto !important; accent-color: #3E9134 !important; margin: 0 !important; }
    html body form[id^="form_f687r42"] button[type="submit"], html body form[id^="form_f687r42"] input[type="submit"] {
            display: inline-block !important; width: auto !important;
            background: linear-gradient(135deg, #00A04C 0%, #3E9134 100%) !important;
            color: #FFFFFF !important; border: 0 !important; border-radius: 999px !important;
            padding: 15px 40px !important; margin-top: 22px !important;
            font-size: 15px !important; font-weight: 600 !important;
            font-family: "Poppins", sans-serif !important; cursor: pointer !important;
            box-shadow: 0 8px 20px rgba(0,133,63,.28) !important;
            transition: transform .2s ease, box-shadow .2s ease !important; }
    html body form[id^="form_f687r42"] button[type="submit"]:hover, html body form[id^="form_f687r42"] input[type="submit"]:hover {
            transform: translateY(-2px) !important; box-shadow: 0 12px 26px rgba(0,133,63,.34) !important; }
    
        /* Bloc voyage du formulaire Delegue. */
    html body form[id^="form_f687r42"] .aw-bloc-voyage { margin-top: 8px !important; }
    
        /* Le piege anti-robot reste invisible. */
    html body form[id^="form_f687r42"] label[for="field_q1u5w"], html body form[id^="form_f687r42"] #field_q1u5w { position: absolute !important; left: -9999px !important; }
    
        @media (max-width: 767px) {
            html body form[id^="form_f687r42"] fieldset { padding: 18px !important; border-radius: 18px !important; }
            html body form[id^="form_f687r42"] h2 { font-size: 21px !important; }
            html body form[id^="form_f687r42"] label[for^="field_n4c4h"], html body form[id^="form_f687r42"] label[for^="field_dlgtr"] { width: 100% !important; justify-content: center !important; margin-right: 0 !important; }
            html body form[id^="form_f687r42"] button[type="submit"] { width: 100% !important; }
        }
    

    html body .awi {
        display: block !important;
        background: #FFFFFF !important;
        border: 1px solid rgba(11, 43, 24, .10) !important;
        border-radius: 22px !important;
        padding: 28px 30px !important;
        box-shadow: 0 10px 30px rgba(11, 43, 24, .07) !important;
        font-family: "Poppins", sans-serif !important;
        font-size: 15.5px !important;
        font-weight: 400 !important;
        line-height: 1.6 !important;
        color: #10231A !important;
        text-align: left !important;
        margin: 6px 0 0 !important;
    }
    html body .awi .awi-t {
        display: block !important;
        font-size: 21px !important;
        font-weight: 800 !important;
        line-height: 1.25 !important;
        color: #00532A !important;
        letter-spacing: -.01em !important;
        margin: 0 0 20px !important;
        padding-bottom: 14px !important;
        border-bottom: 2px solid #EAF3EE !important;
    }
    html body .awi .awi-s {
        display: flex !important;
        align-items: flex-start !important;
        gap: 14px !important;
        background: #F5FBF7 !important;
        border: 1px solid #DFEFE5 !important;
        border-radius: 16px !important;
        padding: 15px 18px !important;
        margin: 0 0 12px !important;
    }
    html body .awi .awi-n {
        flex: 0 0 30px !important;
        width: 30px !important;
        height: 30px !important;
        border-radius: 999px !important;
        background: #3E9134 !important;
        color: #FFFFFF !important;
        font-size: 14px !important;
        font-weight: 800 !important;
        line-height: 30px !important;
        text-align: center !important;
        margin-top: 1px !important;
    }
    html body .awi .awi-x {
        display: block !important;
        font-size: 15px !important;
        line-height: 1.6 !important;
        color: #10231A !important;
    }
    html body .awi .awi-x b { color: #00532A !important; font-weight: 700 !important; }
    html body .awi .awi-note {
        display: block !important;
        background: #FFFBEA !important;
        border: 1px solid #F0E2A0 !important;
        border-left: 4px solid #F5D90A !important;
        border-radius: 14px !important;
        padding: 14px 18px !important;
        margin: 16px 0 0 !important;
        font-size: 14.5px !important;
        line-height: 1.55 !important;
        color: #4A3E0C !important;
    }
    html body .awi .awi-note b { color: #3A3007 !important; font-weight: 700 !important; }

    @media (max-width: 1024px) {
        html body .awi { padding: 24px 22px !important; }
        html body .awi .awi-t { font-size: 19px !important; margin-bottom: 18px !important; }
    }
    @media (max-width: 767px) {
        html body .awi { padding: 18px 16px !important; border-radius: 18px !important; font-size: 15px !important; }
        html body .awi .awi-t { font-size: 17.5px !important; margin-bottom: 16px !important; padding-bottom: 12px !important; }
        html body .awi .awi-s { gap: 11px !important; padding: 13px 14px !important; border-radius: 14px !important; }
        html body .awi .awi-n { flex-basis: 26px !important; width: 26px !important; height: 26px !important; line-height: 26px !important; font-size: 13px !important; }
        html body .awi .awi-x { font-size: 14.2px !important; }
        html body .awi .awi-note { padding: 12px 14px !important; font-size: 13.8px !important; }
    }
    

    /* 1. Onglets des journees : pastilles arrondies, vert conserve.
          Mesure avant correction : rectangles de 58 px, angles a 10 px, fond vert
          pale et liseres vert puis jaune sur l onglet actif. */
    html body .elementor-element-ed98958.elementor-element.elementor-element .tab-menu-wrapper .nav-tabs { display: flex !important; flex-wrap: wrap !important; gap: 12px !important; justify-content: center !important; border: 0 !important; padding: 0 !important; }
    html body .elementor-element-ed98958.elementor-element.elementor-element .nav-link.nav-link.nav-link.nav-link.nav-link {
            border-radius: 999px !important;
            border: 1.5px solid rgba(0, 133, 63, .28) !important;
            background: #FFFFFF !important;
            color: #0B2B18 !important;
            font-size: 15px !important;
            font-weight: 600 !important;
            padding: 12px 26px !important;
            margin: 0 !important;
            box-shadow: 0 1px 3px rgba(11, 43, 24, .06) !important;
            transition: background .25s cubic-bezier(.2,.7,.3,1), color .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease !important;
        }
    html body .elementor-element-ed98958.elementor-element.elementor-element .nav-link.nav-link.nav-link.nav-link.nav-link:hover { background: #EDF9F1 !important; border-color: rgba(0, 133, 63, .55) !important; transform: translateY(-2px) !important; box-shadow: 0 6px 16px rgba(0, 133, 63, .16) !important; }
    html body .elementor-element-ed98958.elementor-element.elementor-element .nav-link.nav-link.nav-link.nav-link.nav-link.active {
            background: linear-gradient(135deg, #00A04C 0%, #3E9134 100%) !important;
            border-color: #3E9134 !important;
            color: #FFFFFF !important;
            box-shadow: 0 8px 20px rgba(0, 133, 63, .28) !important;
        }
    
        /* Meme traitement pour l accordeon des journees (tablette et telephone). */
    html body .elementor-element-ed98958 .accordion-menu-wrapper .accordion-item {
        border: 0 !important;
        background: transparent !important;
        margin-bottom: 12px !important;
    }
    html body .elementor-element-ed98958 .accordion-menu-wrapper .accordion-button {
        border-radius: 18px !important;
        border: 1.5px solid rgba(0, 133, 63, .28) !important;
        background: #FFFFFF !important;
        color: #0B2B18 !important;
        font-weight: 600 !important;
        box-shadow: 0 1px 3px rgba(11, 43, 24, .06) !important;
        transition: background .25s ease, color .25s ease,
                    border-color .25s ease, box-shadow .25s ease !important;
    }
    html body .elementor-element-ed98958 .accordion-menu-wrapper .accordion-button:not(.collapsed),
    html body .elementor-element-ed98958 .accordion-menu-wrapper .accordion-button[aria-expanded="true"] {
        background: linear-gradient(135deg, #00A04C 0%, #3E9134 100%) !important;
        border-color: #3E9134 !important;
        color: #FFFFFF !important;
        box-shadow: 0 8px 20px rgba(0, 133, 63, .24) !important;
    }

    /* ---------------------------------------------------------------
       2. Espace entre la photo et le bloc titre / date / lieu
       Releve a 768 px : intervalle de 0 px, la date touchait la photo.
       --------------------------------------------------------------- */
    html body .elementor-element-90fe947,
    html body .elementor-element-ed98958 .tab-pane .elementor-element-90fe947 {
        gap: 28px !important;
        row-gap: 28px !important;
        column-gap: 28px !important;
    }
    @media (max-width: 1024px) {
        html body .elementor-element-90fe947 {
            gap: 22px !important;
            row-gap: 22px !important;
        }
    }
    
    /* En tablette et telephone les journees deviennent un accordeon : une
       pastille pleine largeur n aurait pas de sens, on garde un cadre arrondi. */
    html body .elementor-element-ed98958.elementor-element.elementor-element .accordion-menu-wrapper .nav-link.nav-link.nav-link.nav-link.nav-link { border-radius: 18px !important; justify-content: space-between !important; text-align: left !important; }
    html body .elementor-element-ed98958.elementor-element.elementor-element .accordion-menu-wrapper .nav-link.nav-link.nav-link.nav-link.nav-link.active,
    html body .elementor-element-ed98958.elementor-element.elementor-element .accordion-menu-wrapper .nav-link.nav-link.nav-link.nav-link.nav-link:not(.collapsed) { border-radius: 18px 18px 0 0 !important; }
    
    /* 4. Date et lieu des sessions : lisibilite.
       MESURE : le texte etait en rgb(0,133,63) et rgb(71,139,82), graisse 300,
       sur un fond rgb(229,255,238). Contraste 4,49:1 et 3,4:1 pour un minimum
       recommande de 4,5:1 : la date se lisait mal. On fonce le vert et on
       epaissit legerement. */
    html body .tab-pane .rs-contact-box .address-text,
    html body .tab-pane .rs-contact-box .address-text *,
    html body .tab-pane .rs-contact-box .address-item span,
    html body .tab-pane .rs-contact-box .address-item div,
    html body .accordion-collapse .rs-contact-box .address-text,
    html body .accordion-collapse .rs-contact-box .address-text *,
    html body .accordion-collapse .rs-contact-box .address-item span,
    html body .accordion-collapse .rs-contact-box .address-item div {
        color: #00532A !important;
        font-weight: 500 !important;
        opacity: 1 !important;
    }
    
    /* 5. Date des journees en tablette et telephone.
       MESURE : sur le premier bouton (qui porte encore la classe "show" du
       gabarit), .sub-title etait en rgb(255,255,255) sur un fond blanc : la date
       "01 Decembre 2026" etait donc invisible, et la fleche disparaissait aussi.
       Les autres boutons affichaient bien rgb(22,18,18). On aligne tout le monde. */
    html body .elementor-element-ed98958.elementor-element.elementor-element .accordion-menu-wrapper .nav-link.nav-link.nav-link.nav-link.nav-link .sub-title,
    html body .elementor-element-ed98958.elementor-element.elementor-element .accordion-menu-wrapper .nav-link.nav-link.nav-link.nav-link.nav-link .text-part .sub-title,
    html body .elementor-element-ed98958.elementor-element.elementor-element .accordion-menu-wrapper .nav-link.nav-link.nav-link.nav-link.nav-link.show .sub-title {
        color: #2B3B31 !important;
        opacity: 1 !important;
    }
    html body .elementor-element-ed98958.elementor-element.elementor-element .accordion-menu-wrapper .nav-link.nav-link.nav-link.nav-link.nav-link .nav-btn-icon,
    html body .elementor-element-ed98958.elementor-element.elementor-element .accordion-menu-wrapper .nav-link.nav-link.nav-link.nav-link.nav-link .nav-btn-icon svg,
    html body .elementor-element-ed98958.elementor-element.elementor-element .accordion-menu-wrapper .nav-link.nav-link.nav-link.nav-link.nav-link.show .nav-btn-icon,
    html body .elementor-element-ed98958.elementor-element.elementor-element .accordion-menu-wrapper .nav-link.nav-link.nav-link.nav-link.nav-link.show .nav-btn-icon svg {
        color: #3E9134 !important;
        fill: #3E9134 !important;
        opacity: 1 !important;
    }
    /* Journee reellement ouverte : fond vert, tout passe en blanc. */
    html body .elementor-element-ed98958.elementor-element.elementor-element .accordion-menu-wrapper .nav-link.nav-link.nav-link.nav-link.nav-link:not(.collapsed) .sub-title,
    html body .elementor-element-ed98958.elementor-element.elementor-element .accordion-menu-wrapper .nav-link.nav-link.nav-link.nav-link.nav-link:not(.collapsed) .nav-btn-icon,
    html body .elementor-element-ed98958.elementor-element.elementor-element .accordion-menu-wrapper .nav-link.nav-link.nav-link.nav-link.nav-link:not(.collapsed) .nav-btn-icon svg {
        color: #FFFFFF !important;
        fill: #FFFFFF !important;
    }
    
    /* 6. Les six journees sur une seule rangee.
       MESURE : chaque pastille faisait 205 px (26 px de marge interne de chaque
       cote) ; six pastilles plus cinq intervalles demandaient 1290 px pour 1280
       disponibles, le sixieme passait donc a la ligne. On resserre. */
    @media (min-width: 1025px) {
        html body .elementor-element-ed98958.elementor-element.elementor-element .tab-menu-wrapper .nav-tabs {
            flex-wrap: nowrap !important;
            gap: 10px !important;
        }
        html body .elementor-element-ed98958.elementor-element.elementor-element .nav-link.nav-link.nav-link.nav-link.nav-link {
            padding: 11px 14px !important;
            font-size: 14px !important;
            flex: 0 1 auto !important;
            min-width: 0 !important;
            white-space: nowrap !important;
        }
        html body .elementor-element-ed98958.elementor-element.elementor-element .nav-link.nav-link.nav-link.nav-link.nav-link .sub-title { font-size: 14px !important; white-space: nowrap !important; }
    }
    

    html body .wpcf7 .wpcf7-submit,
    html body .wpcf7 button[type="submit"],
    html body .wpcf7 input[type="submit"],
    html body .wpcf7 .rs-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 14px !important;
    }
    html body .wpcf7 .wpcf7-submit i,
    html body .wpcf7 .wpcf7-submit svg,
    html body .wpcf7 .wpcf7-submit img,
    html body .wpcf7 button[type="submit"] i,
    html body .wpcf7 button[type="submit"] svg,
    html body .wpcf7 button[type="submit"] img,
    html body .wpcf7 .rs-btn i,
    html body .wpcf7 .rs-btn svg,
    html body .wpcf7 .rs-btn img {
        margin-left: 12px !important;
        flex: 0 0 auto !important;
    }
        /* MESURE : le libelle "Envoyer le message" se terminait vers x=475 et la fleche
           commencait a x=471 : ils se chevauchaient de 33 px. En elargissant la marge
           interne droite du bouton, le texte recule et la fleche suit le bord : l ecart
           devient franc. */
        html body .wpcf7 .form-btn-area input[type="submit"],
        html body .wpcf7 input.wpcf7-submit {
            padding-right: 58px !important;
        }
        html body .wpcf7 .form-btn-area em {
            pointer-events: none !important;
        }
    

    /* Cadre general du bloc */
    html body .elementor-widget-video-playlist .e-tabs { border-radius: 24px !important; overflow: hidden !important; background: #FFFFFF !important; box-shadow: 0 10px 34px rgba(11,43,24,.10) !important; border: 1px solid rgba(11,43,24,.07) !important; }
    html body .elementor-widget-video-playlist .e-tabs-header { padding: 22px 24px !important; border-bottom: 1px solid rgba(11,43,24,.07) !important; }
    html body .elementor-widget-video-playlist .e-tabs-title { font-weight: 700 !important; letter-spacing: .2px !important; }
    
    /* Lecteur : angles arrondis */
    html body .elementor-widget-video-playlist .e-tabs-content-wrapper, html body .elementor-widget-video-playlist .e-tab-content { border-radius: 18px !important; overflow: hidden !important; }
    html body .elementor-widget-video-playlist .e-tabs-main-area { gap: 20px !important; padding: 20px !important; }
    
    /* Liste des videos : une ligne par video, bien detachee */
    html body .elementor-widget-video-playlist .e-tabs-items-wrapper { gap: 10px !important; padding-right: 6px !important; scrollbar-width: thin !important; }
    html body .elementor-widget-video-playlist .e-tab-title { border-radius: 16px !important; padding: 10px !important; gap: 14px !important; border: 1px solid transparent !important; background: #FFFFFF !important; transition: background .25s cubic-bezier(.2,.7,.3,1), border-color .25s ease, transform .25s ease, box-shadow .25s ease !important; }
    html body .elementor-widget-video-playlist .e-tab-title:hover { background: #F1FAF4 !important; border-color: rgba(0,133,63,.30) !important; transform: translateY(-2px) !important; box-shadow: 0 6px 16px rgba(0,133,63,.14) !important; }
    html body .elementor-widget-video-playlist .e-tab-title.e-active, html body .elementor-widget-video-playlist .e-tab-title[aria-selected="true"] { background: linear-gradient(135deg, rgba(0,160,76,.12), rgba(0,133,63,.08)) !important; border-color: #3E9134 !important; box-shadow: 0 6px 18px rgba(0,133,63,.16) !important; }
    
    /* Vignettes : toutes au meme format 16/9, angles arrondis. */
    html body .elementor-widget-video-playlist .e-tab-thumbnail { border-radius: 12px !important; overflow: hidden !important; flex: 0 0 auto !important; width: 132px !important; aspect-ratio: 16 / 9 !important; height: auto !important; background: #E8EFEA !important; }
    html body .elementor-widget-video-playlist .e-tab-thumbnail img { width: 100% !important; height: 100% !important; object-fit: cover !important; object-position: center center !important; display: block !important; transition: transform .35s cubic-bezier(.2,.7,.3,1) !important; }
    html body .elementor-widget-video-playlist .e-tab-title:hover .e-tab-thumbnail img { transform: scale(1.07) !important; }
    html body .elementor-widget-video-playlist .e-tab-title-text { font-weight: 600 !important; line-height: 1.35 !important; }
    html body .elementor-widget-video-playlist .e-tab-duration { opacity: .75 !important; font-size: 12.5px !important; }
    html body .elementor-widget-video-playlist .e-tabs-toggle-videos-display-button { border-radius: 999px !important; transition: background .2s ease, transform .2s ease !important; }
    html body .elementor-widget-video-playlist .e-tabs-toggle-videos-display-button:hover { transform: translateY(-1px) !important; }
    
    /* Tablette et telephone : le lecteur passe au-dessus, la liste dessous. */
    @media (max-width: 1024px) {
        html body .elementor-widget-video-playlist .e-tabs-main-area { flex-direction: column !important; padding: 16px !important; gap: 16px !important; }
        html body .elementor-widget-video-playlist .e-tabs-items-wrapper { max-height: 420px !important; overflow-y: auto !important; width: 100% !important; }
        html body .elementor-widget-video-playlist .e-tabs { border-radius: 20px !important; }
        html body .elementor-widget-video-playlist .e-tabs-header { padding: 18px 18px !important; }
        html body .elementor-widget-video-playlist .e-tab-thumbnail { width: 116px !important; }
    }
    @media (max-width: 767px) {
        html body .elementor-widget-video-playlist .e-tabs { border-radius: 18px !important; }
        html body .elementor-widget-video-playlist .e-tabs-main-area { padding: 12px !important; }
        html body .elementor-widget-video-playlist .e-tab-thumbnail { width: 96px !important; border-radius: 10px !important; }
        html body .elementor-widget-video-playlist .e-tab-title { padding: 8px !important; gap: 10px !important; border-radius: 14px !important; }
    }
    
    /* Carrousel de photos de la page Galerie : certaines images arrivaient en
       portrait, d autres en paysage, et debordaient de leur cadre. Toutes sont
       ramenees au meme rapport, recadrees au centre, angles arrondis. */
    html body .rs-gallery-slider .slick-slide img,
    html body .elementor-widget-rs-gallery-slider img,
    html body .gallery-slider img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center center !important;
        display: block !important;
        border-radius: 16px !important;
    }
    html body .elementor-widget-rs-gallery-slider .slick-slide > div,
    html body .rs-gallery-slider .slick-slide > div,
    html body .rs-gallery-slider .gallery-item,
    html body .rs-gallery-slider figure {
        aspect-ratio: 4 / 3 !important;
        overflow: hidden !important;
        border-radius: 16px !important;
    }
    @media (max-width: 1024px) {
        html body .elementor-widget-rs-gallery-slider .slick-slide > div,
        html body .rs-gallery-slider .slick-slide > div { aspect-ratio: 3 / 2 !important; }
    }
    
    /* Mosaique ajoutee en bas de page : meme traitement de cadrage. */
    @media (max-width: 1024px) {
        html body .aw-galerie-grille { column-count: 2 !important; column-gap: 14px !important; }
        html body .aw-galerie-grille figure { border-radius: 16px !important; margin-bottom: 14px !important; }
    }
    @media (max-width: 767px) {
        html body .aw-galerie-grille { column-count: 2 !important; column-gap: 10px !important; }
        html body .aw-galerie-grille figure { border-radius: 14px !important; margin-bottom: 10px !important; }
    }
    
    /* MESURE : sur la ligne active, le titre etait en rgb(255,255,255) alors que
       le fond n etait qu un vert tres pale : il devenait illisible. Et les trois
       titres etaient coupes (315, 375 et 629 px de texte pour 170 px de place),
       avec des points de suspension. On rend le fond actif franchement vert et on
       laisse les titres passer a la ligne. */
    html body .elementor-widget-video-playlist .e-tab-title.e-active,
    html body .elementor-widget-video-playlist .e-tab-title[aria-selected="true"] {
        background: linear-gradient(135deg, #00A04C 0%, #3E9134 100%) !important;
        border-color: #3E9134 !important;
        box-shadow: 0 8px 20px rgba(0, 133, 63, .26) !important;
    }
    html body .elementor-widget-video-playlist .e-tab-title.e-active .e-tab-title-text,
    html body .elementor-widget-video-playlist .e-tab-title.e-active .e-tab-duration,
    html body .elementor-widget-video-playlist .e-tab-title[aria-selected="true"] .e-tab-title-text,
    html body .elementor-widget-video-playlist .e-tab-title[aria-selected="true"] .e-tab-duration {
        color: #FFFFFF !important;
    }
    html body .elementor-widget-video-playlist .e-tab-title:not(.e-active) .e-tab-title-text { color: #10231A !important; }
    html body .elementor-widget-video-playlist .e-tab-title:not(.e-active) .e-tab-duration { color: #4A5B51 !important; }
    html body .elementor-widget-video-playlist .e-tab-title-text {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        line-height: 1.35 !important;
        word-break: normal !important;
        overflow-wrap: anywhere !important;
    }
    html body .elementor-widget-video-playlist .e-tab-title { align-items: center !important; }
    
    /* Survol : le titre passe en rouge et reste parfaitement lisible.
       Le fond de survol etait un vert tres clair sur lequel le titre se
       distinguait mal ; le vert plein reste reserve a la ligne selectionnee. */
    html body .elementor-widget-video-playlist .e-tab-title:not(.e-active):hover {
        background: #FFF5F5 !important;
        border-color: rgba(206, 17, 38, .45) !important;
    }
    html body .elementor-widget-video-playlist .e-tab-title:not(.e-active):hover .e-tab-title-text {
        color: #CE1126 !important;
        font-weight: 600 !important;
    }
    html body .elementor-widget-video-playlist .e-tab-title:not(.e-active):hover .e-tab-duration {
        color: #A3182A !important;
    }
    /* La ligne selectionnee ne change pas au survol. */
    html body .elementor-widget-video-playlist .e-tab-title.e-active:hover .e-tab-title-text,
    html body .elementor-widget-video-playlist .e-tab-title.e-active:hover .e-tab-duration {
        color: #FFFFFF !important;
    }
    
    /* La feuille de la page peint la ligne survolee en blanc :
       .e-tab-title:where(.e-active, :hover) { color: #FFFFFF }. Sur le fond clair du
       survol, le titre disparaissait. On repasse devant avec la meme portee. */
    html body .elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title:hover:not(.e-active),
    html body .elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title:hover:not(.e-active) .e-tab-title-text,
    html body .elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title:hover:not(.e-active) .e-tab-duration,
    html body .elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title:hover:not(.e-active) * {
        color: #CE1126 !important;
    }
    html body .elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title.e-active,
    html body .elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title.e-active .e-tab-title-text,
    html body .elementor-widget-video-playlist .e-tabs-items-wrapper .e-tab-title.e-active .e-tab-duration {
        color: #FFFFFF !important;
    }
    

    :root { --aw-anim: .25s cubic-bezier(.2,.7,.3,1); }

    /* Socle commun : tout ce qui porte une icone devient animable. */
    html body .elementor-icon,
    html body .elementor-icon i,
    html body .elementor-icon svg,
    html body .elementor-social-icon,
    html body .elementor-icon-list-icon i,
    html body .elementor-icon-list-icon svg,
    html body .elementor-icon-box-icon .elementor-icon,
    html body .rs-contact-box i,
    html body .rs-contact-box svg,
    html body .rs-contact-box .icon,
    html body .address-item i,
    html body .address-item svg,
    html body .address-item .icon,
    html body .elementor-button-icon i,
    html body .elementor-button-icon svg,
    html body .elementor-button .elementor-align-icon i,
    html body .elementor-button .elementor-align-icon svg,
    html body footer .elementor-icon,
    html body footer .elementor-social-icon {
        transition: transform var(--aw-anim), color var(--aw-anim),
                    background-color var(--aw-anim), box-shadow var(--aw-anim),
                    filter var(--aw-anim) !important;
        will-change: transform;
    }

    /* Icone seule : elle grossit et se souleve. */
    html body .elementor-icon:hover,
    html body a:hover > .elementor-icon,
    html body .elementor-widget:hover > .elementor-widget-container > .elementor-icon-wrapper .elementor-icon {
        transform: translateY(-2px) scale(1.12);
    }

    /* Reseaux sociaux : grossissement plus net et petite bascule. */
    html body .elementor-social-icon:hover,
    html body .elementor-social-icon:focus-visible {
        transform: translateY(-3px) scale(1.14) rotate(-6deg);
        box-shadow: 0 6px 16px rgba(0, 0, 0, .18);
    }

    /* Boites a icone (services, atouts...) : l icone reagit au survol de
       la carte entiere, pas seulement de l icone. */
    html body .elementor-widget-icon-box:hover .elementor-icon,
    html body .elementor-widget-image-box:hover .elementor-icon,
    html body .elementor-icon-box-wrapper:hover .elementor-icon {
        transform: translateY(-3px) scale(1.14);
    }

    /* Coordonnees du pied de page : l icone pulse au survol du bloc. */
    html body .rs-contact-box:hover i,
    html body .rs-contact-box:hover svg,
    html body .address-item:hover i,
    html body .address-item:hover svg,
    html body .address-item:hover .icon {
        transform: translateY(-2px) scale(1.16);
    }

    /* Listes a puces : la puce avance legerement. */
    html body .elementor-icon-list-item:hover .elementor-icon-list-icon i,
    html body .elementor-icon-list-item:hover .elementor-icon-list-icon svg {
        transform: translateX(3px) scale(1.12);
    }

    /* Boutons : l icone glisse dans le sens de la lecture. */
    html body .elementor-button:hover .elementor-button-icon i,
    html body .elementor-button:hover .elementor-button-icon svg,
    html body .elementor-button:hover .elementor-align-icon-right i,
    html body .elementor-button:hover .elementor-align-icon-right svg {
        transform: translateX(4px);
    }
    html body .elementor-button:hover .elementor-align-icon-left i,
    html body .elementor-button:hover .elementor-align-icon-left svg {
        transform: translateX(-4px);
    }

    /* Fleche des questions frequentes. */
    html body .accordion-button::after,
    html body .accordion-button i,
    html body .accordion-button svg {
        transition: transform var(--aw-anim) !important;
    }
    html body .accordion-button:hover::after,
    html body .accordion-button:hover i,
    html body .accordion-button:hover svg {
        transform: scale(1.18);
    }

    /* Fleches des carrousels et des diaporamas. */
    html body .swiper-button-next,
    html body .swiper-button-prev,
    html body .elementor-swiper-button,
    html body .slick-arrow {
        transition: transform var(--aw-anim), background-color var(--aw-anim), box-shadow var(--aw-anim) !important;
    }
    html body .swiper-button-next:hover,
    html body .swiper-button-prev:hover,
    html body .elementor-swiper-button:hover,
    html body .slick-arrow:hover {
        transform: scale(1.14);
    }

    /* Ecrans tactiles : le retour se fait a l appui, puisqu il n y a pas de survol. */
    @media (hover: none) {
        html body .elementor-icon:active,
        html body .elementor-social-icon:active,
        html body .rs-contact-box:active i,
        html body .address-item:active i,
        html body .swiper-button-next:active,
        html body .swiper-button-prev:active,
        html body .elementor-swiper-button:active,
        html body .slick-arrow:active {
            transform: scale(.9) !important;
        }
    }

    /* Respect du reglage systeme "reduire les animations". */
    @media (prefers-reduced-motion: reduce) {
        html body .elementor-icon,
        html body .elementor-social-icon,
        html body .rs-contact-box i,
        html body .address-item i,
        html body .swiper-button-next,
        html body .swiper-button-prev,
        html body .elementor-swiper-button,
        html body .slick-arrow {
            transition: none !important;
            transform: none !important;
        }
    }
    

    /* ---------- Titre du formulaire ---------- */
    html body .awf-titre {
        font-family: "Poppins", sans-serif !important;
        font-size: 30px !important;
        font-weight: 800 !important;
        line-height: 1.2 !important;
        color: #00532A !important;
        letter-spacing: -.01em !important;
        margin: 0 0 4px !important;
        padding: 0 !important;
    }

    /* ---------- Bandeaux de section ----------
       Blanc sur vert Africana : contraste mesure 6,4:1, au-dessus du seuil AA.
       La mention entre parentheses devient une seconde ligne dans le bandeau,
       et non plus un encadre jaune independant deux fois plus haut que le titre. */
    html body .awf-bloc {
        display: block !important;
        background: linear-gradient(135deg, #00693A 0%, #3E9134 100%) !important;
        border-radius: 14px !important;
        padding: 14px 20px !important;
        margin: 30px 0 16px !important;
        box-shadow: 0 6px 18px rgba(0, 83, 42, .16) !important;
    }
    html body .awf-bloc .awf-bloc-t {
        display: block !important;
        font-family: "Poppins", sans-serif !important;
        font-size: 19px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
        color: #FFFFFF !important;
    }
    html body .awf-bloc .awf-bloc-s {
        display: block !important;
        font-family: "Poppins", sans-serif !important;
        font-size: 13.5px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
        color: rgba(255, 255, 255, .88) !important;
        margin-top: 4px !important;
    }

    /* ---------- Sous-titre "Nombre total de :" ---------- */
    html body .awf-sous {
        font-family: "Poppins", sans-serif !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #00532A !important;
        margin: 4px 0 2px !important;
        padding: 0 !important;
    }

    /* ---------- Etiquette NOTE ----------
       C est une etiquette, pas un bouton : hauteur ramenee de 80 px a 26 px. */
    html body .awf-note-badge {
        display: inline-block !important;
        background: #3E9134 !important;
        color: #FFFFFF !important;
        font-family: "Poppins", sans-serif !important;
        font-size: 11.5px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        letter-spacing: .10em !important;
        text-transform: uppercase !important;
        padding: 7px 15px !important;
        border-radius: 999px !important;
        margin: 6px 0 0 !important;
        width: auto !important;
        height: auto !important;
        box-shadow: none !important;
    }
    html body .awf-note {
        display: block !important;
        background: #FFFBEA !important;
        border: 1px solid #F0E2A0 !important;
        border-left: 4px solid #F5D90A !important;
        border-radius: 12px !important;
        padding: 14px 18px !important;
        margin: 8px 0 4px !important;
        font-family: "Poppins", sans-serif !important;
        font-size: 14.5px !important;
        font-weight: 500 !important;
        line-height: 1.55 !important;
        color: #4A3E0C !important;
    }

    /* ---------- Etiquettes de champ ---------- */
    html body .frm_form_field > label.frm_primary_label {
        font-family: "Poppins", sans-serif !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        color: #10231A !important;
        margin-bottom: 6px !important;
    }
    html body .frm_required { color: #CE1126 !important; font-weight: 700 !important; }

    /* ---------- Bouton d envoi ----------
       MESURE : le bouton faisait 54 px de haut pour un libelle de 15 px, sans
       marge haute ; il touchait la note. Il etait de plus cale a gauche de sa
       colonne, et le libelle n etait pas centre verticalement : une hauteur fixe
       de 48 px avec line-height egal ne tient pas quand le texte passe sur deux
       lignes, ce qui arrive avec le libelle long "Envoyer mon formulaire de
       reservation" en dessous de 430 px.
       On centre donc le bouton dans sa colonne (flex sur .frm_submit) et le
       libelle dans le bouton (inline-flex + align-items/justify-content), avec
       une hauteur minimale plutot qu une hauteur figee. */
    html body .frm_submit {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        text-align: center !important;
        margin-top: 26px !important;
    }
    html body .frm_form_field .frm_button_submit,
    html body .frm_submit button,
    html body .frm_submit input[type="submit"] {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        height: auto !important;
        min-height: 52px !important;
        padding: 14px 34px !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: #3E9134 !important;
        color: #FFFFFF !important;
        font-family: "Poppins", sans-serif !important;
        font-size: 15px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        margin: 0 auto !important;
        float: none !important;
        /* Sans cette contrainte, le bouton est etire par le conteneur flex :
           il occupe toute la largeur et parait cale a gauche. Il doit se limiter
           a son contenu pour etre reellement centre. */
        width: auto !important;
        max-width: 100% !important;
        flex: 0 0 auto !important;
        align-self: center !important;
        box-shadow: 0 8px 20px rgba(0, 133, 63, .22) !important;
        transition: background .2s ease, transform .15s ease, box-shadow .2s ease !important;
    }
    html body .frm_submit button:hover,
    html body .frm_submit input[type="submit"]:hover {
        background: #00532A !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 10px 24px rgba(0, 83, 42, .28) !important;
    }

    /* ---------- Tablette et telephone ---------- */
    @media (max-width: 1024px) {
        html body .awf-titre { font-size: 26px !important; }
        html body .awf-bloc { padding: 13px 17px !important; margin: 26px 0 14px !important; }
        html body .awf-bloc .awf-bloc-t { font-size: 17.5px !important; }
    }
    @media (max-width: 767px) {
        html body .awf-titre { font-size: 22px !important; }
        html body .awf-bloc { padding: 12px 15px !important; border-radius: 12px !important; margin: 22px 0 12px !important; }
        html body .awf-bloc .awf-bloc-t { font-size: 16px !important; }
        html body .awf-bloc .awf-bloc-s { font-size: 12.5px !important; }
        html body .awf-note { padding: 12px 14px !important; font-size: 14px !important; }
        html body .frm_submit button,
        html body .frm_submit input[type="submit"] {
            width: 100% !important;
            padding: 14px 18px !important;
            font-size: 14.5px !important;
        }
    }
    

    /* --- Formulaire a plat : la carte est celle du panneau d onglet --- */
    html body .e-n-tabs-content .frm_forms,
    html body .e-n-tabs-content .frm_forms.with_frm_style,
    html body .e-n-tabs-content .frm_forms .frm_form_fields,
    html body .e-n-tabs-content .frm_forms fieldset {
        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Le panneau d onglet reste la seule carte. */
    html body .e-n-tabs-content {
        padding: 30px !important;
    }

    /* --- "Cher participant(e)," : espaces mesures avant correction ---
           titre : 49 px de haut
           conteneur du titre : 288 px de haut, soit 239 px de vide
           panneau d onglet : 50 px de marge interieure, EN PLUS des 30 px de
           la carte exterieure -> 80 px cumules en haut
           espace avant le bloc suivant : 126 px
       On supprime la marge du panneau interieur (la carte exterieure la porte
       deja) et on rend au conteneur du titre sa hauteur naturelle. */
    html body .e-n-tabs-content > .e-con,
    html body .e-n-tabs-content > .e-con > .e-con {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        row-gap: 14px !important;
    }
    /* CAUSE EXACTE mesuree : le conteneur du titre porte min-height: 288px,
       impose par Elementor, pour un titre de 49 px -- soit 239 px de vide, et
       142 px entre le titre et le bloc d instructions. L identifiant b57bd42
       est le meme sur les trois langues (les pages EN et ES sont des copies). */
    html body .elementor-element-b57bd42 {
        min-height: 0 !important;
        height: auto !important;
        justify-content: flex-start !important;
    }
    /* Le min-height est ecrit en style INLINE par un script au chargement
       (style="min-height: 288px; height: 288px"). Une regle de feuille de style
       marquee !important le neutralise, mais uniquement si le selecteur est
       ecrit seul : regroupe avec un autre selecteur, la regle entiere sautait. */
    html body .e-n-tabs-content .e-con.e-con[style*="min-height"] {
        min-height: 0 !important;
        height: auto !important;
    }
    html body .e-n-tabs-content h2.e-heading-base {
        margin: 0 0 10px !important;
        padding: 0 !important;
        line-height: 1.2 !important;
    }
    /* Le bloc d instructions suit immediatement le titre. */
    html body .e-n-tabs-content .awi { margin-top: 0 !important; }

    @media (max-width: 1024px) {
        html body .e-n-tabs-content { padding: 22px !important; }
    }
    @media (max-width: 767px) {
        html body .e-n-tabs-content { padding: 16px !important; border-radius: 16px !important; }
        html body .e-n-tabs-content h2.e-heading-base { font-size: 24px !important; margin-bottom: 10px !important; }
    }
    

    html body .nsl-container .nsl-container-buttons a,
    html body .nsl-container-buttons .nsl-button {
        height: 52px !important;
        min-height: 52px !important;
        border-radius: 999px !important;
        border: 1.5px solid #E2E8E4 !important;
        background: #FFFFFF !important;
        box-shadow: 0 2px 10px rgba(16, 24, 40, .06) !important;
        overflow: hidden !important;
        transition: border-color .2s ease, box-shadow .2s ease, transform .15s ease !important;
    }
    html body .nsl-container .nsl-container-buttons a:hover,
    html body .nsl-container-buttons .nsl-button:hover {
        border-color: #3E9134 !important;
        box-shadow: 0 8px 22px rgba(0, 133, 63, .16) !important;
        transform: translateY(-1px) !important;
    }
    /* Le libelle : typographie du site, et non la police par defaut du plugin. */
    html body .nsl-container .nsl-button-label-container {
        font-family: "Poppins", sans-serif !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        color: #10231A !important;
        letter-spacing: 0 !important;
    }
    /* Le logo Google : sur fond blanc, sans le carre gris d origine. */
    html body .nsl-container .nsl-button-svg-container {
        background: transparent !important;
        padding: 0 14px !important;
        display: flex !important;
        align-items: center !important;
    }
    html body .nsl-container .nsl-button-svg-container svg {
        width: 20px !important;
        height: 20px !important;
    }
    /* Le separateur "Ou" au-dessus du bouton. */
    html body .nsl-container .nsl-separator {
        color: #7A8B82 !important;
        font-family: "Poppins", sans-serif !important;
        font-size: 13px !important;
        font-weight: 500 !important;
    }

    @media (max-width: 767px) {
        html body .nsl-container .nsl-container-buttons a,
        html body .nsl-container-buttons .nsl-button {
            height: 50px !important;
            min-height: 50px !important;
        }
        html body .nsl-container .nsl-button-label-container { font-size: 14.5px !important; }
    }
    
body.aw-page-session .aw-entete-connexion,body.aw-page-session header .rs-btn,body.aw-page-session .elementor-location-header .rs-btn,body.aw-page-session .elementor-element-70ec684,body.aw-page-session .elementor-element-930be6f{display:none !important;}.aw-passerelle{margin:6px auto 0;max-width:340px;width:100%;text-align:center;font-family:"Poppins",sans-serif;}.aw-passerelle-txt{display:none !important;}html body .aw-passerelle a.aw-passerelle-btn,html body .aw-passerelle a.aw-passerelle-btn:link,html body .aw-passerelle a.aw-passerelle-btn:visited{background:#FFDE00 !important;border:1.5px solid #FFDE00 !important;color:#10231A !important;}html body .aw-passerelle a.aw-passerelle-btn:hover{background:#F5E200 !important;border-color:#F5E200 !important;color:#10231A !important;}.aw-passerelle-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;max-width:340px;min-height:46px;padding:11px 22px;box-sizing:border-box;border-radius:999px;font-size:14.5px;font-weight:700;line-height:1.25;text-decoration:none !important;transition:background .2s ease,transform .15s ease;}.aw-passerelle-btn:hover{transform:translateY(-1px);}html body .nsl-container{max-width:340px !important;margin-left:auto !important;margin-right:auto !important;}html body .nsl-container .nsl-container-buttons{max-width:340px !important;margin:0 auto !important;}html body .nsl-container-buttons a,html body .nsl-container-buttons .nsl-button{max-width:340px !important;margin-left:auto !important;margin-right:auto !important;min-height:46px !important;}html body .nsl-container .nsl-button-default span.nsl-button-label-container{font-size:14.5px !important;}@media(max-width:767px){.aw-passerelle,.aw-passerelle-btn{max-width:100%;}html body .nsl-container,html body .nsl-container .nsl-container-buttons,html body .nsl-container-buttons a{max-width:100% !important;}}

    #nsl-redirect-overlay {
        background-color: rgba(6, 26, 16, .55) !important;
        backdrop-filter: blur(3px) !important;
    }
    #nsl-redirect-overlay-container {
        background: #FFFFFF !important;
        border-radius: 22px !important;
        padding: 34px 40px !important;
        box-shadow: 0 18px 50px rgba(0, 0, 0, .22) !important;
        min-width: 260px !important;
    }
    /* L anneau devient le logo : on efface la bordure et on pose l image. */
    #nsl-redirect-overlay-spinner {
        border: 0 !important;
        box-shadow: none !important;
        border-radius: 0 !important;
        width: 82px !important;
        height: 82px !important;
        margin: 4px 0 18px !important;
        background-image: url('https://www.africanaweek.com/wp-content/uploads/2026/08/cropped-Africana-week-flavicon-e1785877342982-1-192x192.png') !important;
        background-size: contain !important;
        background-repeat: no-repeat !important;
        background-position: center !important;
        animation: aw-logo-pulse 1.5s ease-in-out infinite !important;
    }
    @keyframes aw-logo-pulse {
        0%, 100% { transform: scale(1);    opacity: 1; }
        50%      { transform: scale(.88);  opacity: .62; }
    }
    #nsl-redirect-overlay-title {
        font-family: "Poppins", sans-serif !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        color: #00532A !important;
        margin: 0 0 6px !important;
    }
    #nsl-redirect-overlay-text {
        font-family: "Poppins", sans-serif !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #4A5A52 !important;
        margin: 0 !important;
    }
    /* Confort : on respecte le reglage systeme de reduction des animations. */
    @media (prefers-reduced-motion: reduce) {
        #nsl-redirect-overlay-spinner { animation: none !important; }
    }
    

    .aw-modale { position: fixed; inset: 0; z-index: 999999; display: none; }
    .aw-modale.aw-ouverte { display: flex; align-items: center; justify-content: center; padding: 20px; }
    .aw-modale-voile {
        position: absolute; inset: 0;
        background: rgba(6, 26, 16, .62);
        backdrop-filter: blur(3px);
        animation: aw-voile-entree .18s ease-out;
    }
    .aw-modale-carte {
        position: relative; width: 100%; max-width: 440px; box-sizing: border-box;
        background: #FFFFFF; border-radius: 22px; padding: 32px 30px 28px;
        box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
        text-align: center; font-family: "Poppins", sans-serif;
        animation: aw-carte-entree .22s cubic-bezier(.2, .8, .3, 1);
    }
    @keyframes aw-voile-entree { from { opacity: 0; } to { opacity: 1; } }
    @keyframes aw-carte-entree { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }
    .aw-modale-pastille {
        display: inline-flex; align-items: center; justify-content: center;
        width: 54px; height: 54px; border-radius: 50%;
        background: #E8F4ED; color: #3E9134; margin-bottom: 16px;
    }
    .aw-modale-pastille svg { width: 26px; height: 26px; }
    .aw-modale-carte h2 {
        font-size: 22px; line-height: 1.25; font-weight: 800;
        color: #00532A; margin: 0 0 8px; padding: 0;
    }
    .aw-modale-carte p {
        font-size: 14.5px; line-height: 1.55; font-weight: 500;
        color: #4A5A52; margin: 0 0 24px;
    }
    .aw-modale-actions { display: flex; flex-direction: column; gap: 10px; }
    .aw-modale-btn {
        display: inline-flex; align-items: center; justify-content: center;
        min-height: 50px; padding: 13px 24px; box-sizing: border-box;
        border: 0; border-radius: 999px; cursor: pointer;
        font-family: "Poppins", sans-serif; font-size: 15px; font-weight: 700;
        line-height: 1.25; text-decoration: none !important;
        transition: background .2s ease, color .2s ease, transform .15s ease;
    }
    html body .aw-modale-btn-plein, html body a.aw-modale-btn-plein {
        background: #3E9134; color: #FFFFFF !important;
        box-shadow: 0 8px 20px rgba(0, 133, 63, .22);
    }
    html body .aw-modale-btn-plein:hover { background: #00532A; transform: translateY(-1px); }
    html body .aw-modale-btn-vide, html body a.aw-modale-btn-vide {
        background: transparent; color: #10231A !important;
        border: 1.5px solid #D9E3DC;
    }
    html body .aw-modale-btn-vide:hover { background: #F2F7F4; border-color: #3E9134; }
    /* Croix vectorielle : le &times; d origine etait un caractere typographique,
       fin et mal centre selon la police. Ici le trait est dessine, donc net et
       identique partout, dans une cible de 40 px au lieu de 34. */
    .aw-modale-fermer {
        position: absolute; top: 10px; right: 12px;
        width: 40px; height: 40px; border: 0; border-radius: 50%; padding: 0;
        background: transparent; color: #4A5A52; cursor: pointer;
        display: flex; align-items: center; justify-content: center;
        transition: background .18s ease, color .18s ease;
    }
    .aw-modale-fermer svg { width: 20px; height: 20px; display: block; }
    .aw-modale-fermer svg path {
        stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; fill: none;
    }
    .aw-modale-fermer:hover { background: #EDF4F0; color: #10231A; }
    .aw-modale-fermer:focus-visible { outline: 2px solid #3E9134; outline-offset: 2px; }
    body.aw-modale-active { overflow: hidden; }
    @media (max-width: 767px) {
        .aw-modale-carte { padding: 26px 20px 22px; border-radius: 20px; }
        .aw-modale-carte h2 { font-size: 19.5px; }
        .aw-modale-carte p { font-size: 14px; margin-bottom: 20px; }
    }
    @media (prefers-reduced-motion: reduce) {
        .aw-modale-voile, .aw-modale-carte { animation: none; }
    }
    

    /* Voie CSS : masque l entree de deconnexion du menu "Account side menu". */
    html body .aw-menu-compte li:has(> a[href*="/logout"]) { display: none !important; }
    html body .aw-menu-compte a[href*="/logout"] { display: none !important; }
    