/* Start custom CSS for shortcode, class: .elementor-element-2e0881ed *//* ========================================================================== 
   VARIABLES & COULEURS
   ========================================================================== */
:root {
    --primary-green: #a9ca0b;
    --hover-green: #94b20a;
    --pure-white: #ffffff;
    --pure-black: #000000;
    --dark-grey: #1a1a1a;
    --radius-lg: 20px;
    --radius-md: 0px;
    --radius-sm: 0px;
}

/* ========================================================================== 
   1. NAVIGATION & SIDEBAR
   ========================================================================== */
.es-profile__sidebar {
    background-color: var(--primary-green) !important;
    border-radius: var(--radius-lg) !important;
    padding: 20px !important;
}

.es-profile__sidebar .es-profile__menu li a,
.es-profile__sidebar .es-user__name {
    color: var(--pure-white) !important;
}

/* Pastilles numériques dans les onglets */
.es-tabs__numeric {
    background-color: #333333 !important;
    color: var(--pure-white) !important;
    border: 2px solid var(--primary-green) !important;
}

.es-tabs__nav-inner li.active .es-tabs__numeric {
    background-color: var(--primary-green) !important;
}

/* États des liens de navigation */
.es-tabs__nav-inner li.active a {
    color: var(--primary-green) !important;
}

.es-tabs__nav-inner li a {
    color: var(--pure-white) !important;
}

/* ========================================================================== 
   2. TITRES DE QUESTIONS (VERT & CENTRÉS)
   ========================================================================== */
.es-profile__main .es-field__label:not(.es-field__validate-list .es-field__label):not(.es-radio--bordered .es-field__label):not(.es-field--radio-item-bordered .es-field__label):not(.es-field--checkbox-item-bordered .es-field__label),
.es-profile__main h2,
.es-profile__main h3:not(.heading-font) {
    color: var(--primary-green) !important;
    font-weight: bold !important;
    text-align: center !important;
    display: block !important;
    margin-bottom: 15px !important;
}

/* ========================================================================== 
   3. AUTHENTIFICATION (STRUCTURE)
   ========================================================================== */

.es-auth.js-es-auth:not([class*="profile"]) {
    min-height: 70vh !important;
    width: 100% !important;
    margin: 40px auto !important;
    background-color: transparent !important;
}

.es-auth, 
.es-auth__item, 
body .es-auth .es-auth__item {
    background-color: var(--primary-green) !important;
}

/* Couleurs des textes */
.es-auth h3.heading-font,
.es-auth p, 
.es-auth .sign-in-text,
.es-auth label .es-field__label {
    color: var(--pure-white) !important;
}

/* Icônes */
.es-icon_check-mark, 
.es-icon_eye, 
.es-toggle-pwd .es-icon {
    color: var(--pure-white) !important;
}

/* ========================================================================== 
   4. PUCES DE VALIDATION
   ========================================================================== */
.es-field__validate-list,
.es-field__validate-list *,
.es-validate-item,
.es-validate-item .es-field__label {
    color: var(--pure-white) !important;
    text-align: left !important;
}

.es-validate-item::before {
    background-color: var(--pure-white) !important;
}

/* ========================================================================== 
   5. BARRE DE RECHERCHE
   ========================================================================== */
.es-search__address {
    display: flex !important;
    align-items: stretch !important;
    max-width: 600px;
    margin: 20px auto !important;
}

.es-search__address .es-btn--primary.es-btn--icon {
    margin: 0 !important;
    width: 60px !important;
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0 !important;
    min-height: 45px !important;
    background-color: var(--primary-green) !important;
}

.es-search__address input.js-es-address {
    margin: 0 !important;
    border-radius: var(--radius-sm) 0 0 var(--radius-sm) !important;
    height: 45px !important;
    width: 100% !important;
    text-align: left !important;
    padding-left: 15px !important;
}

/* ========================================================================== 
   6. FOOTER AGENT
   (fond supprimé pour permettre le footer blanc)
   ========================================================================== */
body .es-auth .es-auth__item .es-auth-footer,
body .es-auth .es-auth__item .es-auth-footer__inner {
    border-radius: var(--radius-md) !important;
    padding: 20px !important;
}

body .es-auth-footer__content b, 
body .es-auth-footer__content p,
body .es-auth-footer .es-icon {
    color: var(--pure-white) !important;
}

/* ========================================================================== 
   7. BOUTONS RADIO / CHECKBOX
   ========================================================================== */
.es-radio--bordered, 
.es-field--radio-item-bordered label,
.es-field--checkbox-item-bordered label,
.es-field--checkbox label,
.es-field--radio label {
    background-color: var(--pure-black) !important;
    border: 3px solid #dddddd !important;
    border-radius: var(--radius-sm) !important;
    padding: 5px 5px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    transition: all 0.2s ease !important;
    cursor: pointer !important;
    min-height: 40px !important;
}

.es-radio--bordered .es-field__label,
.es-field--radio-item-bordered label .es-field__label,
.es-field--checkbox-item-bordered label .es-field__label,
.es-field--checkbox label .es-field__label,
.es-field--radio label .es-field__label {
    color: #ffffff !important;
    margin: 0 !important;
    padding-left: 8px !important;
    font-weight: 600 !important;
    display: inline-block !important;
}

.es-icon_check-mark {
    color: #dddddd !important;
    font-size: 16px !important;
    display: inline-block !important;
    transition: color 0.2s ease !important;
}

.es-radio--bordered input:checked + label,
.es-field--radio-item-bordered input:checked + label,
.es-field--checkbox-item-bordered input:checked + label,
.es-field--checkbox input:checked + label,
.es-field--radio input:checked + label {
    border-color: var(--primary-green) !important;
    box-shadow: inset 0 0 0 3px var(--primary-green) !important;
}

.es-radio--bordered input:checked + label .es-field__label,
.es-radio--bordered input:checked + label .es-icon_check-mark,
.es-field--radio-item-bordered input:checked + label .es-field__label,
.es-field--checkbox-item-bordered input:checked + label .es-field__label,
.es-field--checkbox input:checked + label .es-field__label,
.es-field--radio input:checked + label .es-field__label {
    color: var(--primary-green) !important;
    font-weight: bold !important;
}

.es-radio--bordered input[type="radio"],
.es-field--checkbox input[type="checkbox"],
.es-field--radio input[type="radio"] {
    margin-right: 5px !important;
    accent-color: var(--primary-green) !important;
}

/* ========================================================================== 
   8. BOUTONS D'ACTION
   ========================================================================== */
#es-property-management-form .es-manage-buttons {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 20px 0 !important;
}

#es-property-management-form .es-manage-buttons .es-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 42px !important;
    width: 100% !important;
    max-width: 280px !important;
    float: none !important;
    position: relative !important;
    margin: 0 auto !important;
    background-color: var(--primary-green) !important;
    color: var(--pure-white) !important;
    border-radius: var(--radius-sm) !important;
    font-weight: bold !important;
    text-transform: uppercase;
    font-size: 14px !important;
    border: none !important;
}

#es-property-management-form .es-manage-buttons .es-hidden,
#es-property-management-form .es-manage-buttons [style*="visibility: hidden"] {
    display: none !important;
}

#es-property-management-form .es-manage-buttons a.js-es-nav-link {
    color: var(--primary-green) !important;
    font-weight: bold;
    text-decoration: none;
    margin-bottom: 5px;
}

.es-btn .es-icon {
    margin: 0 8px !important;
    font-size: 16px !important;
}

/* ========================================================================== 
   RESPONSIVE
   ========================================================================== */
@media (max-width: 480px) {

    body .es-auth .es-auth__item {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body .es-auth .es-auth__item > *:not(.es-auth-footer) {
        padding-left: 20px !important;
        padding-right: 20px !important;
        box-sizing: border-box !important;
    }

    body .es-auth .es-auth-footer {
        margin-left: 0 !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    body .es-auth .es-auth-footer__inner {
        padding-left: 10 !important;
        padding-right: 10 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

}

/* ========================================================================== 
   FOOTER BLANC
   ========================================================================== */
body .es-auth .es-auth-footer,
body .es-auth .es-auth-footer__inner {
    background: #ffffff !important;
    background-color: #ffffff !important;
}

body .es-auth .es-auth-footer,
body .es-auth .es-auth-footer *,
body .es-auth .es-auth-footer__content,
body .es-auth .es-auth-footer__content *,
body .es-auth .es-auth-footer__left,
body .es-auth .es-auth-footer__left * {
    color: #000000 !important;
}

body .es-auth .es-auth-footer .es-icon,
body .es-auth .es-auth-footer .es-secondary-color {
    color: #000000 !important;
    fill: #000000 !important;
}

body .es-auth .es-auth-footer .es-btn,
body .es-auth .es-auth-footer a.es-btn,
body .es-auth .es-auth-footer .es-btn--secondary,
body .es-auth .es-auth-footer .es-btn--bordered {
    background: #ffffff !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #000000 !important;
}

body .es-auth .es-auth-footer .es-btn *,
body .es-auth .es-auth-footer a.es-btn * {
    color: #000000 !important;
}

/* ========================================================================== 
   TITRE CENTRÉ
   ========================================================================== */
h3.heading-font {
    text-align: center !important;
}




.es-auth-footer__inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.es-auth-footer a.js-es-auth-item__switcher {
    margin-top: 10px !important;
}



.es-col-5 {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
}


.es-field__label {
    color: #ffffff !important;
}


.es-column--_manage-checkbox label {
    display: none !important;
}


.es-auth .js-es-auth-item__switcher {
    color: #000000 !important;
}











.auth__item, body .es-auth .es-auth__item {
    background-color: #ffffff !important;
}



body .es-auth .es-auth-footer .es-auth-footer__content b {
    display: block !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
    margin-bottom: 8px !important;
}

body .es-auth .es-auth-footer .es-auth-footer__content p {
    font-size: 18px !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

body .es-auth .es-auth-footer__inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

body .es-auth .es-auth-footer__left {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

body .es-auth .es-auth-footer__content {
    text-align: center !important;
}


body .es-auth .es-auth-footer__content b,
body .es-auth .es-auth-footer__content p {
    text-align: center !important;
    width: 100%;
}





.es-auth__login-buttons {
    border-radius: 25px;
    overflow: hidden;
}

.es-auth__item {
    border-radius: 25px;
    overflow: hidden;
}



.es-property-form .es-field__assign_entity_type {
    display: none !important;
}




/* 1. On masque spécifiquement les éléments locataires du premier bloc uniquement */
.es-auth__login-buttons h3.heading-font,
.es-auth__login-buttons p,
.es-auth__login-buttons .es-btn--auth,
.es-auth__login-buttons .sign-in-text,
.es-auth__login-buttons .es-space {
    display: none !important;
}

/* 2. On s'assure que le bloc parent n'est pas masqué pour laisser voir le footer */
.es-auth__login-buttons {
    display: block !important;
}

/* 3. On force l'affichage du footer propriétaire */
.es-auth-footer {
    display: block !important;
}

/* 4. On laisse le plugin gérer l'affichage des autres blocs "au fur et à mesure" */
.es-auth__item--hidden {
    display: none !important;
}

.es-auth__item:not(.es-auth__item--hidden) {
    display: block !important;
}

/* 1. Enlever le titre et le texte du bloc Agent */
.es-auth__agent-register-buttons h3.heading-font,
.es-auth__agent-register-buttons p:first-of-type {
    display: none !important;
}

/* 2. Mettre le texte "Vous avez déjà un compte" en noir */
/* On cible le paragraphe et son lien interne */
.es-auth .sign-in-text, 
.es-auth .sign-in-text a {
    color: #000000 !important;
}

/* 3. Optionnel : Enlever la marge du haut si ça crée un trop grand vide */
.es-auth__agent-register-buttons {
    padding-top: 0 !important;
}


/* 1. Titres et paragraphes d'introduction du formulaire Agent */
.es-auth__agent-register-form h3,
.es-auth__agent-register-form p {
    color: #000000 !important;
}

/* 2. Labels des champs (Email, Téléphone, Mot de passe) */
.es-auth__agent-register-form .es-field__label {
    color: #000000 !important;
}

/* 3. Petites descriptions sous les champs */
.es-auth__agent-register-form .es-field__description {
    color: #333333 !important; /* Un gris très foncé pour la lisibilité */
}

/* 4. Le lien "Toutes les options d'inscription" (le bouton retour) */
.es-auth__agent-register-form .all-login-back a,
.es-auth__agent-register-form .all-login-back .es-icon {
    color: #000000 !important;
}

/* 5. Les textes de validation (la liste sous le mot de passe) */
.es-auth__agent-register-form .es-validate-item {
    color: #000000 !important;
}

/* 6. Texte de politique de confidentialité et "Déjà un compte" */
.es-auth__agent-register-form .es-terms-text,
.es-auth__agent-register-form .sign-in-text,
.es-auth__agent-register-form .sign-in-text a {
    color: #000000 !important;
}







/* 1. Le bouton "Inscrivez-vous" */
body .es-auth .es-auth__item .es-btn.es-btn--auth {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 320px; /* Un peu plus large pour le confort */
    height: 50px;     /* Hauteur fixe pour un look plus pro */
    margin: 24px auto;
    padding: 0 20px;
    
    background-color: #ffffff !important;
    color: #000000 !important;
    border-radius: 12px; /* L'arrondi de ta première image */
    font-weight: 700;
    text-decoration: none;
    border: 1px solid #e0e0e0; /* Légère bordure pour le définir sur fond blanc */
    box-shadow: 0 4px 12px rgba(0,0,0,0.08); /* Ombre douce */
    transition: all 0.3s ease;
}

/* Effet au survol */
body .es-auth .es-auth__item .es-btn.es-btn--auth:hover {
    box-shadow: 0 6px 15px rgba(0,0,0,0.12);
    transform: translateY(-1px);
}

/* 2. Le texte "Vous avez déjà un compte" */
.sign-in-text {
    margin-top: 20px;
    font-size: 14px;
    color: #444;
}

/* 3. Le lien "S'identifier" */
.sign-in-text a {
    color: #000;
    font-weight: bold;
    text-decoration: none;
    margin-left: 5px;
}

.sign-in-text a:hover {
    text-decoration: underline;
}





/* ========================================================================== 
   FINAL FIX : CENTRAGE FOOTER & BOUTON
   ========================================================================== */

/* 1. Force le centrage de tous les conteneurs du footer */
body .es-auth .es-auth-footer__inner,
body .es-auth .es-auth-footer__left,
body .es-auth .es-auth-footer__content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

/* 2. Ajuste l'icône pour qu'elle ne soit pas collée */
body .es-auth .es-auth-footer .es-icon {
    margin-bottom: 15px !important;
    display: block !important;
}

/* 3. Style du bouton "Inscrivez-vous" du footer pour correspondre au premier */
body .es-auth .es-auth-footer .es-btn--secondary.es-btn--bordered {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 227px !important; /* On reprend ta dimension fétiche */
    height: 45px !important;
    margin-top: 20px !important;
    border-radius: 12px !important; /* Arrondi comme l'autre bouton */
    background-color: #000000 !important; /* Fond noir pour trancher sur le blanc */
    color: #ffffff !important;           /* Texte blanc */
    border: none !important;
    font-weight: bold !important;
    text-transform: none !important;
}

/* 4. Supprime les espacements inutiles dans le contenu texte */
body .es-auth .es-auth-footer__content p {
    max-width: 350px !important;
    margin: 10px auto 0 auto !important;
}


/* Masque le titre */
.es-auth__agent-register-form h3.heading-font {
    display: none !important;
}

/* Masque le paragraphe qui contient ce texte spécifique */
/* On utilise le fait que ce paragraphe n'a PAS de classe contrairement aux autres */
.es-auth__agent-register-form > p:not([class]) {
    display: none !important;
    visibility: hidden !important;
    margin: 0 !important;
    height: 0 !important;
}/* End custom CSS */