/* 1. Configuration du parent Flexbox */
.block_lieu_champ.is-at-top .for-sticky{
  /*position: sticky;
  transition: top 0.3s ease;  */
 /* transform: translateY(-5px);*/ transform: translateY(-5px);
}
.block_lieu_champ .for-sticky {
       position: sticky;
     transition: top 0.3s ease; /* pas top */
    will-change: top;
}

/* --- ÉTAT INITIAL --- */
header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

.guesty-root-element .guesty-search-submit-btn{
  width: auto !important;
}
 
/* 1. Style des deux dates extrémités (Arrivée et Départ) */
.lightpick__day.is-start-date,
.lightpick__day.is-end-date {
    background-color: #1f1f1f !important; /* Remplace par ta couleur (ex: un doré/beige premium) */
    color: #ffffff !important;            /* Couleur du texte */
    font-weight: bold;
    border-radius: 4px;                   /* Pour arrondir les angles si tu veux */
}

/* 2. Style des jours situés ENTRE les deux dates (la plage/range) */
.lightpick__day.is-in-range {
    background-color: #1f1f1f !important; /* Couleur de fond plus claire pour la plage */
    color: #fff !important;            /* Couleur du texte des jours intermédiaires */
}

/* 3. Effet au survol (Hover) sur les jours du calendrier */
.lightpick__day.is-available:hover {
    background-color: #1f1f1f !important; /* Couleur au survol */
    color: #ffffff !important;
}



/* Style moderne pour les menus déroulants Mois et Année */
.lightpick__select.lightpick__select-months,
.lightpick__select.lightpick__select-years {
    -webkit-appearance: none !important; /* Masque la flèche par défaut sur Chrome/Safari */
    -moz-appearance: none !important;    /* Masque la flèche par défaut sur Firefox */
    appearance: none !important;         /* Masque la flèche standard */
    
    background-color: #f8fafc !important; /* Fond gris très clair moderne */
    border: 1px solid #e2e8f0 !important;
    border-radius: 6px !important;
    padding: 6px 28px 6px 12px !important; /* Plus d'espace à droite pour notre propre flèche */
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1f1f1f !important;
    cursor: pointer !important;
    
    /* Ajout d'une petite flèche moderne en SVG à droite */
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%234a5568'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 8px center !important;
    background-size: 14px !important;
    transition: all 0.2s ease;
}

/* Effet au survol */
.lightpick__select.lightpick__select-months:hover,
.lightpick__select.lightpick__select-years:hover {
    border-color: #cbd5e0 !important;
    background-color: #edf2f7 !important;
}

.guesty-root-element.small-size.guesty-widget__container .guesty-widget__item:last-child {
    justify-content: end;
}

.guesty-root-element.small-size.guesty-widget__container .guesty-widget__item {
    margin: 5px 0;
    display: flex;
}




/* ==========================================================================
   LE CONTENEUR GLOBAL DU DROPDOWN (CALENDRIER INFO)
   ========================================================================== */
div#calendar_info {
    display: none;
    position: absolute;
    z-index: 9999;
    min-width: 400px;
}
#calendar_info {
    margin-top: 0.5rem;
    background-color: #ffffff !important;
    padding: 10px !important;   
}

/* ==========================================================================
   CONTENEUR DES INPUTS / TEXTES (ARRIVÉE & DÉPART)
   ========================================================================== */
#guesty-search-widget__datepicker {
    display: flex !important;
    gap: 12px !important;
    width: 100% !important;
    justify-content: space-between !important;
}

/* Style des blocs "Arrivée" et "Départ" */
#date-picker-wrapper_lsbbrhpr7, 
#date-picker-wrapper_k0qlt9c3l,
#calendar_info div[id^="date-picker-wrapper_"] {
    flex: 1;
    background-color: #ffffff !important; /* Fond blanc pur */
    border: 1px solid #1f1f1f !important; /* Bordure grise claire pour les champs */
    font-size: 14px !important;
    font-weight: 500 !important;
    color: #1f1f1f !important;
    text-align: center !important;
    transition: all 0.15s ease;
    cursor: pointer;
}

/* Effet au survol / focus des zones d'Arrivée et Départ */
#calendar_info div[id^="date-picker-wrapper_"]:hover {
    border-color: #1f1f1f !important; /* Devient noir net au survol */
    background-color: #f8fafc !important;
}

/* ==========================================================================
   LE BOUTON RECHERCHER (SUBMIT)
   ========================================================================== */
.guesty-search-submit-btn, 
#_ga55ragm8 {
    width: 100% !important;
    background-color: #1f1f1f !important; /* Noir identique aux boutons du header */
    color: #ffffff !important;
    border: none !important;
    border-radius: 0px !important; /* Angles droits stricts */
    padding: 14px 24px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    margin-top: 5px !important;
}

/* Effet au survol du bouton */
.guesty-search-submit-btn:hover,
#_ga55ragm8:hover {
    background-color: #333333 !important; /* Gris très sombre */
    box-shadow: none !important;
}
/*
*/
div#map_biens ,
.google_map_appartements .static-map{
    height: 100%;
}

.nos_appartements .lire_plus {
    margin-top: 50px;
    text-align: center;
}



.guesty-root-element.small-size.guesty-widget__container .guesty-widget__item #guesty-search-widget__datepicker{
  margin-left: 0 !important; 
  margin-right: 0 !important;
}

.guesty-widget__item.guests-dropdown{
  display: none !important;
}

div#checkDatesFilterButton {
    position: relative;
}

.property__about {
  /*position: relative;
  overflow: hidden;
  transition: max-height 0.5s ease;*/  
}
/* Conteneur principal de la description */
.property__about {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4; /* Nombre de lignes visibles par défaut */
    transition: max-height 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.district-card {
    overflow: hidden;
    border-radius: 5px;
}

._card__image{
  overflow: hidden;
}

.rental-options a.info_dropdown.location_court {
    margin-right: 10px;    
    background: transparent;
}

.single-bien .emplacement_block_map.column #map{
  height: 500px;
}

.single-bien .emplacement_block_map.column{
  display: none;
}

.rental-options a.info_dropdown.location_court .wp-block-thefuturblocks-button__text,
.rental-options a.info_dropdown.location_mois .wp-block-thefuturblocks-button__text,
#destinationFilterButton .destination.info_dropdown .wp-block-thefuturblocks-button__text,
#deletecurrentfilter .wp-block-thefuturblocks-button__text
{
  color: #1f1f1f;
}

.active_location_type {
    background-color: #1f1f1f !important;
}

.rental-options a.info_dropdown.location_court.active_location_type .wp-block-thefuturblocks-button__text,
.rental-options a.info_dropdown.location_mois.active_location_type .wp-block-thefuturblocks-button__text
{
  color: #fff;
}

.rental-options a.info_dropdown.location_mois {
    margin-left: 10px;
    background: transparent;
}


.price-placeholder.up_placeholder {
  position: absolute;
  top: -15px;
  left: -15px;
}
.price-value-container {
  position: relative;
}

body.page-template-page-templatestemplate-biens-php {
    overflow: visible !important; 
}

.map_sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 10px;
}
/* État quand on clique sur "Read more" */
.property__about.is-open {
    -webkit-line-clamp: unset;
    max-height: 100%; /* Valeur haute pour permettre l'expansion */
}

/* Masquer le bouton inutile si le texte est court */
.read-more-desc.more-now-vew {
    display: none;
}

.filterDropdown.show_block,#priceFilterDropdown .filterDropdown.show_block,
#advanced-filters.active{
    display: block !important;
}


/*
@media (min-width: 1024px) {
    .all_info {
        display: flex;
        align-items: flex-start; /* IMPORTANT : permet au sticky de commencer en haut */
    /*    position: relative;
    }

    .galery-equipement {
        width: 60%; /* Ajustez selon votre design */
   /* }

    .block_lieu_champ {
        width: 40%;
        position: relative;
        will-change: transform;
    }
}*/



/**
* style for news page nos appart 
*/
.luxury-map-module {
  padding: 150px 0 30px;
}

.map-column-search-hero {
    position: relative;
}

.map-column-and-district-section {
    height: 100%; /* Important pour que le parent occupe toute la hauteur */
    position: relative;
}

.map-column-search-hero {
    will-change: transform; /* Optimise les performances de l'animation */
}

.custom-location-list-test {
  margin: 0 -5px;
}

.custom-location-list-test .slick-slide {
  padding: 0 5px;
}

.search-hero {
    max-width: 1400px;
    margin: auto;
    padding: 0 40px;
    position: absolute;
    top: 30px;
    left: 30px;
    background: rgba(255, 255, 255, 0.6);
}

.search-hero h1 {
  font-family: serif;
  font-weight: 500;
}

.search-field {
  flex: 1;
  padding: 30px;
  border-right: 1px solid #eee;
}

.search-field label {
  display: block;
  font-size: 12px;
  margin-bottom: 8px;
}

.search-field input {
  border: none;
  background: none;
  width: 100%;
}

.map-results-layout {
  display: flex;
  flex-wrap: wrap;
}

.map-column-and-district-section{
  flex: 0 0 68%;
  width: 68%;
}

.listing-column{
  flex: 0 0 32%;
  width: 32%;
}



.map-column {
  position: relative;  
  min-height: 900px;
}

.map-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.map-pin {
  position: absolute;
  background: white;
  padding: 14px 22px;
  border-radius: 50px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  font-weight: 600;
}

.pin-a {
  top: 22%;
  left: 62%;
}

.pin-b {
  top: 42%;
  left: 35%;
}

.pin-c {
  bottom: 18%;
  left: 46%;
}

.featured-property {
  position: absolute;
  left: 58%;
  top: 35%;
  width: 320px;
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
}

.featured-property img {
  height: 220px;
  width: 100%;
  object-fit: cover;
}

.featured-content {
  padding: 30px;
}

.featured-content h3 {
  font-size: 40px;
  font-family: serif;
}

.featured-content a {
  display: inline-block;
  margin-top: 20px;
  background: #111;
  color: white;
  padding: 14px 30px;
  text-decoration: none;
}

.listing-column {
  padding: 0 40px;
}

.property-card {
  display: flex;
  background: white;
  margin-bottom: 35px;
  overflow: hidden;
  position: relative;
}

.property-card > div {
  flex: 0 0 55%;
  width: 55%;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

.property-card > a.appart_thumb_new_style {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  flex: 0 0 45%;
  width: 45%;
}

.property-content-all {
  width: 100%;
}

.property-card img {
  opacity: 0;
  height: 190px;
}

.property-content {
  padding: 20px;
}

.meta {
  color: #777;
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 30px;
}

.custom-location-list.style-simple-list-nosappart-new-style {
  grid-template-columns: repeat(3, 1fr);
}

.price_new_style {
  font-size: 16px;
  color: #1f1f1f;
}

.beds {
  color: #a3a4a4;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: .15em;
  font-size: .8125rem;
}

/*.term-name-effect {
  background: #fff;
  padding: 10px;
}*/

.count-term {
  font-size: 12px;
}

.custom-location-list-test .slick-arrow {
  position: absolute;
  top: -40px;
  cursor: pointer;
  font-size: 22px;
  color: #1f1f1f;
}

.custom-location-list-test .slick-arrow.thefutur-icons__arrow-left-thin {
  right: 45px; 
}

.wp-block-thefuturblocks-posts-grid__thumbnail {
  overflow: hidden;
}

.custom-location-list-test .slick-arrow.thefutur-icons__arrow-right-thin {
  right: 10px;
}

.has-tip.tip-top {
  color: #a3a4a4;
  text-transform: uppercase;
  font-weight: 500;
  letter-spacing: .15em;
  font-size: .8125rem;
}

.property-content-title a {
  color: #1f1f1f;
  font-size: 18px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}

.property-content-title h3 {
  width: 100%;
  margin: 0;
}

.lieu_appart_new_style {
  letter-spacing: 0.15em;
  text-transform: uppercase;
  font-size: 13px;
}

.property-card .more-bien {
  text-align: center;
  font-size: 12px;
  padding: 10px;
  background: #1f1f1f;
  color: #fff;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  width: 100%;
  display: block;
  margin-top: 10px;
}

.district-section h2 {
  line-height: 1.33;
  font-size: 2.25rem;
  margin-top: 30px;
  margin: 30px 0 20px;
}

.district-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 35px;
}

.map-column-and-district-section {
  padding-left: 30px;
}

.district-card img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 5px;
}

.district-card h4 {
  font-size: 20px;
  padding: 10px 0 0;
  margin: 0;
}

.results-toolbar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #e9e3d9;
  color: #1f1f1f;
}

.results-count {
  font-size: 16px;
  font-family: inherit;
}

.results-actions {
  display: flex;
  gap: 20px;
  align-items: center;
}

.view-switch {
  display: flex;
  background: #f2eee8;
  overflow: hidden;
}

.view-switch button {
  border: 0;
  padding: 14px 28px;
  background: none;
  color: #1f1f1f;
}

.view-switch .active {
  background: #111;
  color: white;
}

.load-more {
  display: block;
  margin: 40px auto;
  text-align: center;
  padding: 18px 50px;
  border: 1px solid #d9d1c6;
  border-radius: 50px;
  text-decoration: none;
  color: #111;
  max-width: 360px;
}

.service-icons {
  margin-top: 60px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 30px;
  text-align: center;
  font-size: 14px;
  color: #666;
}

.listing-column .lire_plus button {
  width: 100%;
}

/* Exemple pour une grille à 3 colonnes sur desktop */
.category_type_location .liste_appartement {
    width: 100%;
    display: block; /* Important : Isotope gère le positionnement en absolute */
}

.category_type_location .items_appart {
    width: 33.333%;
    padding: 15px;
    float: left;
}

.items_appart_content {
  overflow: hidden;
  position: relative;
}

body.page-template-page-templatestemplate-biens-news-style-php.page{
    overflow: visible;
}

.side-nosappart {
  position: -webkit-sticky;
  position: sticky;
  top: 10px;
}

@media (max-width: 1024px) {
  .map-column-and-district-section {
    flex: 0 0 100%;
    width: 100%;
    padding: 0;
  }

  .side-nosappart {
    position: static !important;
  }

  .search-hero {
    width: 100%;
    padding: 0 10px 20px;
    left: 50%;
    transform: translateX(-50%);
  }

  .nos_appartements {
    overflow: auto;
  }

  .filter.filterBar {
    margin-bottom: 10px;
  }

  .filterButton > span {
    white-space: nowrap;
  }

  .search-hero h1 {
    font-size: 36px;
  }

  .listing-column,
  .district-section {
    padding: 0 30px;
  }

  .district-section h2 {
    font-size: 26px;
  }

  .property-content {
    padding: 10px;
  }

  .lieu_appart_new_style {
    font-size: 10px;
  }

  .link_to_map i {
    font-size: 20px;
  }

}

/* Exemple : Ne pas calculer en JS, laisser le CSS gérer */
@media (max-width: 1024px) {
  .map-column-and-district-section{
    flex: 0 0 100%;
  }

  .listing-column{
      flex: 0 0 100%;
  }
}

@media (max-width: 767px) {
  .c-footer-widget.widget_nav_menu h5{
    position: relative;
  }
  .c-footer-widget.widget_nav_menu h5::before{
    content: " ";
    display: block;
    width: .875rem;
    height: 1px;
    background: currentColor;
    position: absolute;
    right: 0;
    top: 7px;
  }

  .c-footer-widget.widget_nav_menu h5.show_block::after{
    transform: translate(0px, 1px);    
  }

  .c-footer-widget.widget_nav_menu h5::after{
    content: " ";
    display: block;
    width: .875rem;
    height: 1px;
    background: currentColor;
    position: absolute;
    right: 0;
    top: 7px;
    transform: translate(0px, 1px) rotate(90deg);
  }

  .c-footer-widget.widget_nav_menu > div{
    display: none;
  }
}