
    /* 1. La rangee qui porte les deux cartes occupe toute la largeur. */
    html body .elementor-element-21086d8 {
        width: 100% !important;
        max-width: 100% !important;
    }
    html body .elementor-element-21086d8 > .e-con-inner {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* 2. Chaque carte prend toute la largeur disponible. */
    html body .elementor-element-929f4d0,
    html body .elementor-element-3013aad {
        width: 100% !important;
        max-width: 100% !important;
        flex: 1 1 100% !important;
    }
    html body .elementor-element-929f4d0 > .elementor-widget-container,
    html body .elementor-element-3013aad > .elementor-widget-container,
    html body .elementor-element-929f4d0 .rs-contact-box,
    html body .elementor-element-3013aad .rs-contact-box {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* 3. Le bloc blanc lui-meme : pleine largeur, contenu centre. */
    html body .elementor-element-929f4d0 .address-item,
    html body .elementor-element-3013aad .address-item,
    html body .aw-carte-contact .address-item,
    html body .elementor-element-929f4d0 .address-item.boxstyle1,
    html body .elementor-element-3013aad .address-item.boxstyle1,
    html body .aw-carte-contact .address-item.boxstyle1 {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 18px !important;
        text-align: center !important;
    }

    /* 4. L icone garde sa taille et cesse d etre positionnee en absolu. */
    html body .elementor-element-929f4d0 .address-item .address-icon,
    html body .elementor-element-3013aad .address-item .address-icon,
    html body .aw-carte-contact .address-item .address-icon {
        position: static !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* 5. Le texte se centre et cesse d etre decale par la place reservee
          autrefois a l icone. */
    html body .elementor-element-929f4d0 .address-item .address-text,
    html body .elementor-element-929f4d0 .address-item .address-text *,
    html body .elementor-element-3013aad .address-item .address-text,
    html body .elementor-element-3013aad .address-item .address-text *,
    html body .aw-carte-contact .address-item .address-text,
    html body .aw-carte-contact .address-item .address-text * {
        text-align: center !important;
    }
    html body .elementor-element-929f4d0 .address-item .address-text,
    html body .elementor-element-3013aad .address-item .address-text,
    html body .aw-carte-contact .address-item .address-text {
        padding-left: 0 !important;
        margin-left: 0 !important;
        flex: 0 1 auto !important;
    }

    /* 6. Telephone : icone au-dessus du texte, le tout centre. */
    @media (max-width: 767px) {
        html body .elementor-element-929f4d0 .address-item,
    html body .elementor-element-3013aad .address-item,
    html body .aw-carte-contact .address-item,
        html body .elementor-element-929f4d0 .address-item.boxstyle1,
    html body .elementor-element-3013aad .address-item.boxstyle1,
    html body .aw-carte-contact .address-item.boxstyle1 {
            flex-direction: column !important;
            gap: 12px !important;
        }
    }
    

    @media (max-width: 1024px) {
        html body .hfe-nav-menu__toggle,
        html body .hfe-nav-menu-icon {
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
        }
    }

    /* --- Fil d Ariane : le nom du participant ne se coupe plus --- */
    @media (max-width: 1024px) {
        html body .rs-breadcrumb,
        html body [class*="breadcrumb"] span,
        html body [class*="breadcrumb"] a {
            font-size: 14px !important;
            line-height: 1.5 !important;
        }
    }
    @media (max-width: 767px) {
        html body .rs-breadcrumb,
        html body [class*="breadcrumb"] span,
        html body [class*="breadcrumb"] a {
            font-size: 13px !important;
            line-height: 1.5 !important;
        }
        /* Le dernier maillon -- le nom du participant -- reste d un seul tenant :
           le fil peut passer a la ligne AVANT lui, jamais au milieu de son nom. */
        html body [class*="breadcrumb"] span:last-child,
        html body [class*="breadcrumb"] .breadcrumb_last {
            white-space: nowrap !important;
            display: inline-block !important;
        }
    }
    

    @media (max-width: 1024px) {
        /* --- Respiration avant la liste des onglets --- */
        html body .e-n-tabs-heading { margin-top: 18px !important; }

        /* --- Marge interieure du bloc de compte --- */
        html body .um-account .um-form,
        html body .um-account-main {
            padding-left: 4px !important;
            padding-right: 4px !important;
            box-sizing: border-box !important;
        }
        html body .um-account .um-form { margin-top: 26px !important; }

        /* --- Photo de profil : bloc centre --- */
        html body .aw-photo {
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            text-align: center !important;
            gap: 12px !important;
            padding: 20px 16px !important;
            box-sizing: border-box !important;
        }
        html body .aw-photo .aw-photo-vignette { margin: 0 auto !important; }
        html body .aw-photo .aw-photo-corps {
            display: flex !important;
            flex-direction: column !important;
            align-items: center !important;
            text-align: center !important;
            width: 100% !important;
            gap: 6px !important;
        }
        html body .aw-photo .aw-photo-titre,
        html body .aw-photo .aw-photo-aide {
            text-align: center !important;
            width: 100% !important;
            margin: 0 !important;
        }
        html body .aw-photo .aw-photo-bouton { margin: 6px auto 0 !important; }

        /* --- Champs : identifiant, prenom, nom... --- */
        html body .um-account .um-field,
        html body .um-form .um-field {
            padding: 14px 14px 0 !important;
            box-sizing: border-box !important;
        }
        html body .um-account .um-field-label,
        html body .um-form .um-field-label { margin-bottom: 6px !important; }

        /* Le bouton d enregistrement suit le meme gabarit que les formulaires
           de reservation : centre, pleine largeur utile. */
        html body .um-account .um-form input[type="submit"],
        html body .um-account .um-form button[type="submit"] {
            display: block !important;
            margin: 20px auto 0 !important;
        }
    }

    @media (max-width: 767px) {
        html body .e-n-tabs-heading { margin-top: 22px !important; }
        html body .aw-photo { padding: 18px 12px !important; }
        html body .um-account .um-field,
        html body .um-form .um-field { padding: 12px 10px 0 !important; }
    }
    

    html body .aw-justifie {
        text-align: justify !important;
        text-justify: inter-word !important;
        /* DEMANDE : la description de la section C est quoi coupait "plusieurs" en
           "plu-sieurs". La cesure automatique coupe les mots longs en fin de ligne :
           on la retire, les mots restent entiers. */
        hyphens: manual !important;
        -webkit-hyphens: manual !important;
        overflow-wrap: break-word !important;
    }
    /* Sous 600 px, la colonne est trop etroite : la justification y creuse des
       blancs disgracieux entre les mots. On revient au fer a gauche. */
    /* Sous 767 px (telephone), la colonne est trop etroite : la justification y
       creuse de larges blancs entre les mots. On revient au fer a gauche, y compris
       sur les paragraphes enfants, qu Elementor aligne parfois lui-meme. */
    @media (max-width: 767px) {
        html body .aw-justifie,
        html body .aw-justifie p,
        html body .aw-justifie li,
        html body .aw-justifie div {
            text-align: left !important;
            hyphens: manual !important;
            -webkit-hyphens: manual !important;
        }
    }
    

    .aw-evitement {
        position: absolute; left: -9999px; top: 0; z-index: 1000000;
        background: #3E9134; color: #FFFFFF !important;
        padding: 14px 22px; border-radius: 0 0 12px 0;
        font-family: "Poppins", sans-serif; font-size: 15px; font-weight: 600;
        text-decoration: none !important;
    }
    .aw-evitement:focus {
        left: 0; outline: 3px solid #F5B301; outline-offset: 2px;
    }
    /* Le focus clavier doit rester visible partout : plusieurs regles du theme
       posaient outline: none sans rien mettre a la place. */
    html body a:focus-visible,
    html body button:focus-visible,
    html body input:focus-visible,
    html body textarea:focus-visible,
    html body select:focus-visible,
    html body [tabindex]:focus-visible {
        outline: 2px solid #3E9134 !important;
        outline-offset: 2px !important;
    }
    
@media (min-width:1025px){html body .hfe-nav-menu li a.hfe-menu-item,html body .elementor-nav-menu li a.elementor-item{font-size:15.5px !important;letter-spacing:0 !important;}html body .elementor-element-9f1b814 .hfe-nav-menu li,html body .elementor-element-ed0181b .hfe-nav-menu li{margin-inline:3px !important;}html body .aw-entete-connexion{font-size:13.5px !important;padding:9px 17px !important;}html body .elementor-element-c5e08a1 a.rs-btn,html body .elementor-element-0a125cf a.rs-btn{font-size:13.5px !important;padding:10px 17px !important;}html body .elementor-element-c5e08a1 .aw-compte-mot,html body .elementor-element-0a125cf .aw-compte-mot{font-size:13.5px !important;}html body .elementor-element-235659c,html body .elementor-element-a330106{padding-left:30px !important;padding-right:30px !important;}html body .elementor-element-9f1b814,html body .elementor-element-ed0181b{justify-items:center !important;}html body .elementor-element-9f1b814 .elementor-widget-container,html body .elementor-element-ed0181b .elementor-widget-container{display:flex !important;justify-content:center !important;width:100% !important;}html body .elementor-element-9f1b814 .hfe-nav-menu,html body .elementor-element-ed0181b .hfe-nav-menu,html body .elementor-element-9f1b814 .hfe-nav-menu__layout-horizontal,html body .elementor-element-ed0181b .hfe-nav-menu__layout-horizontal{display:flex !important;justify-content:center !important;margin-left:auto !important;margin-right:auto !important;padding-left:0 !important;padding-right:0 !important;float:none !important;}html body .elementor-element-9f1b814 ul.hfe-nav-menu,html body .elementor-element-ed0181b ul.hfe-nav-menu{display:flex !important;justify-content:center !important;flex-wrap:nowrap !important;}html body .elementor-element-9f1b814 .hfe-nav-menu__toggle,html body .elementor-element-ed0181b .hfe-nav-menu__toggle{display:none !important;}html body .elementor-element-019d285,html body .elementor-element-f1a4742{display:flex !important;align-items:center !important;justify-content:flex-start !important;}html body .elementor-element-c5e08a1,html body .elementor-element-0a125cf{display:flex !important;align-items:center !important;justify-content:flex-end !important;gap:10px !important;}}@media (max-width:1024px){html body .elementor-element-9f1b814,html body .elementor-element-ed0181b{transform:none !important;}}
html body .team-item .image-wrap{overflow:hidden !important;position:relative !important;}html body .team-item .image-wrap > a{display:block !important;width:100% !important;height:100% !important;}html body .team-item .image-wrap img{width:100% !important;height:100% !important;max-width:none !important;max-height:none !important;object-fit:cover !important;object-position:50% 0% !important;display:block !important;}