.elementor-widget-section .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-section .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-html .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-html .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-es-listings-widget .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-es-listings-widget .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-10747 .elementor-element.elementor-element-91e9f66{width:var( --container-widget-width, 113.898% );max-width:113.898%;--container-widget-width:113.898%;--container-widget-flex-grow:0;}/* Start custom CSS for es-listings-widget, class: .elementor-element-91e9f66 *//* --- 1. BASE ET STRUCTURE --- */
.es-listing {
    background-color: #1d1d1d;
    position: relative; 
    overflow: visible !important;
}

/* --- MASQUAGE DES ÉLÉMENTS (Flèches, Filtres, etc.) --- */
.es-listings-filter, 
.js-es-listings-filter,
.slick-arrow, 
.slick-next, 
.slick-prev,
.es-listing__image__slider .slick-arrow,
button[class*="slick-"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Positionnement Droite (Cœur) */
.es-property__control {
    position: absolute !important;
    top: 15px !important;    
    right: 15px !important;  
    z-index: 9999 !important;
}

/* --- SUPPRESSION BACKGROUND BOUTON COEUR --- */
.js-es-wishlist {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    padding: 0 !important;
}

.js-es-wishlist .es-btn__label { 
    display: none !important; 
}

.es-icon_heart {
    color: #a9ca0b !important; /* Couleur verte pour le coeur */
    font-size: 24px !important;
    margin: 0 !important;
}

/* Positionnement Gauche (Badges de coin) */
.es-badges.es-badges--rounded {
    position: absolute !important;
    top: 0px !important;    
    left: 0px !important;
    z-index: 9999 !important;
    list-style: none !important;
    padding: 0 !important;
}

/* Couleurs de texte globales */
.es-listing, .es-listing__content, .es-price { color: #ffffff !important; }

/* --- 2. STYLE GÉNÉRAL DES BADGES --- */
.es-badge {
    background-color: #ffffff !important; 
    border-radius: 4px !important;
    display: inline-block !important;
}

.es-badge a {
    font-size: 16px !important;
    font-weight: bold !important;
    text-decoration: none !important;
    display: inline-block !important;
    padding: 4px 12px !important;
}

/* --- SUPPRESSION DES BACKGROUNDS SPÉCIFIQUES --- */
.es-badge[style*="background"], 
.es-badge:has(a[href*="eco-"]), 
.es-badge:has(a[href*="mis-en-exergue"]), 
.es-badge:has(a[href*="offre-speciale"]),
.es-badge:has(a[href*="ecoquartier"]) { 
    background: transparent !important; 
    padding: 0 !important;
}

/* Couleurs des textes des liens de badges */
.es-badge a[href*="eco-appart"], 
.es-badge a[href*="eco-villa-en"], 
.es-badge a[href*="ecoquartier"] { color: #a9ca0b !important; }
.es-badge a[href*="eco-villa"] { color: #808080 !important; }
.es-badge a[href*="mis-en-exergue"] { color: #f39c12 !important; }
.es-badge a[href*="offre-speciale"] { color: #ff00ff !important; }

/* --- 3. LE BADGE "APPELLEZ" (FORCE 2 LIGNES) --- */
span.es-badge.call-for-price,
span.es-badge.es-badge--normal {
    display: inline-block !important;
    background-color: transparent !important;
    color: #ffffff !important;
    padding: 0 !important;
    font-size: 16px !important;
    font-weight: bold !important;
    width: 105px !important;
    white-space: normal !important;
    line-height: 1.1 !important;
    text-align: center;
}

/* --- 4. TITRES ET TERMES (VILLAS, MEUBLÉ, ETC.) EN BLANC --- */
.es-listing__title, .es-listing__title a {
    color: #a9ca0b !important;
    font-weight: bold !important;
}

.es-listing__terms li a {
    color: #ffffff !important;
    text-decoration: none !important;
}

/* --- 5. CONFIGURATION DESKTOP (> 1024px) --- */
@media (min-width: 1025px) {
    .es-listing__content__right {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        padding-top: 60px; 
    }
    .es-listing__content__right .es-badge { order: 1 !important; }
    .es-listing__content__right .es-price { order: 2 !important; }
}

/* --- 6. CONFIGURATION MOBILE & TABLETTE (< 1024px) --- */
@media (max-width: 1024px) {
    .es-badges.es-listing--hide-on-list {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important; 
        gap: 10px !important;
        flex-wrap: nowrap !important;
    }

    .es-badge.es-badge--normal,
    .es-badge.call-for-price {
        order: 1 !important;
        flex-shrink: 0 !important;
    }

    .es-price {
        order: 2 !important;
        display: inline-block !important;
        white-space: nowrap !important;
        font-size: 18px !important;
    }
}














/* 1. Agrandir légèrement la hauteur de l'image sans casser le slider */
.es-listing__image__slider .slick-list, 
.es-listing__image__slider .slick-track,
.es-listing__image__slider img {
    height: 220px !important; /* On passe de ~170px à 220px */
    object-fit: cover !important;
}

/* 2. Donner plus de hauteur au corps du bloc */
.es-listing__content__inner {
    padding: 20px 15px !important; /* Plus d'espace en haut et en bas du texte */
}

/* 3. Ajouter un peu d'espace entre le titre et les icônes (lits/bains) */
.es-listing__title {
    margin-bottom: 12px !important;
}

/* 4. Ajuster le footer pour le bouton Détails */
.es-listing__footer {
    padding: 15px !important;
    min-height: 60px !important; /* Création d'un espace propre pour le bouton vert */
    border-top: 1px solid #f0f0f0; /* Une ligne très fine pour séparer proprement */
}

/* Rappel du style du bouton vert pour cohérence */
.btn-details-custom {
    position: absolute;
    right: 15px;
    bottom: 12px;
    background-color: #a9ca0b;
    color: #fff !important;
    padding: 6px 14px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    text-decoration: none !important;
}/* End custom CSS */