/* Start custom CSS for es-listings-widget, class: .elementor-element-47caf5a *//* =========================
   STRUCTURE
========================= */

.es-listing{
background:#1d1d1d;
position:relative;
overflow:visible!important;
}

/* PROTECTION IMAGE : On s'assure qu'elles restent visibles */
.es-listing__image,
.es-listing__image__slider img,
.slick-list {
    display: block !important;
    height:  !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* =========================
   MASQUAGE ELEMENTS
========================= */

.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;
}

/* =========================
   COEUR FAVORI
========================= */

.es-property__control{
position:absolute!important;
top:10px!important;
right:-5px!important;
z-index:9999!important;
}

.js-es-wishlist{
background: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;
font-size:24px!important;
}

/* =========================
   BADGE "A PARTIR DE" / "APPELEZ"
========================= */

span.es-badge.call-for-price,
span.es-badge.es-badge--normal{
display:inline-block!important;
background:transparent!important;
color:#ffffff!important;
font-size:14px!important;
font-weight:600!important;
width:auto!important;
max-width:none!important;
white-space:nowrap!important;
overflow:visible!important;
text-overflow:unset!important;
line-height:1.2!important;
text-align:right!important;
}

span.es-badge.call-for-price{
font-size:13px!important;
opacity:0.9!important;
}

/* =========================
   COULEURS TEXTE
========================= */

.es-listing,
.es-listing__content,
.es-price{
color:#fff!important;
}

/* =========================
   TITRES
========================= */

.es-listing__title,
.es-listing__title a{
color:#a9ca0b!important;
font-weight:bold!important;
}

.es-listing__terms li a{
color:#fff!important;
text-decoration:none!important;
}

/* =========================
   CONTENU
========================= */

.es-listing__content__inner{
padding:20px 15px!important;
}

.es-listing__title{
margin-bottom:12px!important;
}

/* =========================
   FOOTER
========================= */

.es-listing__footer {
    padding: 0px 10px !important;
    min-height: 60px !important;
    border-top: none !important;
    position: relative;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.es-listing__footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 10px;
    right: 10px;
    height: 1px;
    background-color: #f0f0f0;
}

/* =========================
   BOUTON DETAILS
========================= */

.btn-details-custom{
position:relative!important;
background:#a9ca0b;
color:#fff!important;
padding:6px 14px;
border-radius:4px;
font-size:12px;
font-weight:bold;
text-transform:uppercase;
text-decoration:none!important;
white-space:nowrap!important;
}

/* =========================
   PRIX
========================= */

.price-original-barre{
display:block!important;
text-decoration:line-through!important;
opacity:.6!important;
font-size:22px!important;
}

.custom-special-offer{
display:block!important;
margin-top:6px!important;
font-size:28px!important;
font-weight:700!important;
color:#a9ca0b!important;
}

/* =========================
   DESKTOP
========================= */

@media(min-width:1025px){
.es-badges.es-listing--hide-on-list{
display:none!important;
}

.es-listing__content__right.es-listing--hide-on-grid{
display:flex!important;
flex-direction:column!important;
align-items:flex-end!important;
padding-top:60px!important;
}

.es-listing__content__right .es-badge--normal{order:1!important;}
.es-listing__content__right .es-price{order:2!important;}
.es-listing__content__right .custom-special-offer{order:3!important;}
}

/* =========================
   MOBILE (1024px et moins)
========================= */

@media (max-width: 1024px) {
    .es-listing__content__inner { padding: 0 !important; }

    .es-badges.es-listing--hide-on-list {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: baseline !important;
        gap: 8px !important;
        width: auto !important;
    }

    .es-badges .es-badge--normal { order: 1 !important; white-space: nowrap !important; }
    .es-badges .es-price { order: 2 !important; white-space: nowrap !important; }

    .es-listing__meta {
        padding-left: 15px !important;
        display: flex !important;
        gap: 10px !important;
    }

    .es-listing__title {
        padding-left: 6px !important;
        margin-top: 10px !important;
        margin-bottom: 10px !important;
    }

    .es-listing__image img {
        width: 100% !important;
        height: 220px !important;
        object-fit: cover !important;
    }
}

/* =========================
   BADGES RONDS IMAGE
========================= */

.es-badges.es-badges--rounded{
position:absolute!important;
top:0!important;
left:0!important;
z-index:9999!important;
list-style:none!important;
padding:0!important;
margin:0!important;
display:flex!important;
}

.es-badges .es-badge{ background:transparent!important; padding:0!important; }
.es-badges .es-badge a{ font-size:16px!important; font-weight:bold!important; padding:4px 12px!important; display:inline-block!important; text-decoration:none!important;}

/* --- Couleurs de texte des Badges (Liens) --- */
.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; }


/* =========================
   RETOUR ALIGNEMENT GAUCHE/DROITE (FIX MOBILE)
========================= */

@media (max-width: 767px) {
    .es-listing__footer {
        display: flex !important;
        flex-direction: row !important;      /* Côte à côte */
        justify-content: space-between !important; /* Texte à gauche, bouton à droite */
        align-items: center !important;      /* Aligne les centres verticalement */
        padding: 10px 15px !important;       /* Un peu d'air sur les côtés */
        height: auto !important;
        min-height: 60px !important;
    }

    .es-listing__terms {
        display: flex !important;
        flex-wrap: wrap !important;          /* Permet au texte de passer dessous si l'écran est minuscule */
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        max-width: 65% !important;           /* On laisse 65% de place au texte max */
    }

    .btn-details-custom {
        position: relative !important;
        top: 0 !important;                   /* Force le bouton à ne pas monter */
        margin: 0 !important;
        flex-shrink: 0 !important;           /* Empêche le bouton de rétrécir */
        display: inline-block !important;
    }
}




/* On cible le conteneur principal qui regroupe les lits et les thermes */
.es-listing__meta {
    display: flex !important;       /* Aligne les éléments sur une ligne */
    gap: 10px !important;           /* Espace entre les lits et les thermes */
    padding-left: 11px !important;  /* LE DÉCALAGE : augmentez ce chiffre pour aller plus à droite */
    align-items: center !important; /* Centre les icônes verticalement par rapport au texte */
}

/* Optionnel : pour que l'icône et le texte soient bien collés ensemble */
.es-listing__meta-bedrooms, 
.es-listing__meta-bathrooms {
    display: flex;
    align-items: center;
    gap: 5px;
}



.es-listing__terms {
    display: flex !important;       /* Aligne Villas et Meublé sur la même ligne */
    gap: 15px !important;           /* Espace entre les deux mots */
    margin-left: 7px !important;   /* LE DÉCALAGE : Augmente ce chiffre pour pousser plus à droite */
    list-style: none !important;    /* Enlève les puces (points) de la liste */
    padding: 0 !important;          /* Enlève les espacements par défaut du navigateur */
}/* End custom CSS */