:root{
  --brand: #54c4c3;
  --brand-hover: #3fb1b0; /* ajoute une teinte de survol */
}

/* Boutons thème */
.btn.btn-theme,
.button,
.homes-tag.button.sale,
.homes-tag.button.rent,
.homes-tag.button.alt,
.pagination .page-item.active .page-link,
.input-group-text,
.nice-select .option.selected,
.nav-tabs .nav-link.active{
  background-color: var(--brand) !important;
  border-color: var(--brand) !important;
}

/* "Search Now" (force la spec) */
.btn-yellow,
.banner-search-wrap .btn-yellow{
  background: var(--brand) !important;
  border-color: var(--brand) !important;
  color: #fff !important;
}
.btn-yellow:hover,
.banner-search-wrap .btn-yellow:hover{
  background: var(--brand-hover) !important;
  border-color: var(--brand-hover) !important;
  color: #fff !important;
}

/* Optionnel: s’assurer qu’elle prend toute la colonne */
.btn-block{ width:100%; }

/* Petits écrans: empêcher que le bouton passe sous la drop si trop serré */
@media (max-width: 991.98px){
  .banner-search-wrap .dropdown-filter{ order: 98; }
  .banner-search-wrap .col-xl-2.col-lg-2.col-md-4.pl-0{ order: 99; margin-top: .5rem; }
}
.place-hero { position: relative; min-height: 380px; }
.place-hero__bg{
  position:absolute; inset:0;
  background-size: cover; background-position:center;
  transform: translateZ(0); /* perf */
}
.place-hero__overlay{
  position:absolute; inset:0;
  background: linear-gradient(0deg, rgba(0,0,0,.45), rgba(0,0,0,.45));
}
.place-hero .container{ position:relative; z-index:2; }
.place-hero h1, .place-hero p{ color:#fff; }

/* Empêche le retour à la ligne tout en gardant le style du thème */
.right-side .header-widget .button.border {
  white-space: nowrap;     /* anti-wrap */
}

/* Espace propre avant l'icône sans toucher au padding du bouton */
.right-side .header-widget .button.border i {
  margin-left: .5rem;      /* remplace le ml-2 si besoin */
}

/* Optionnel: si le header force un wrap, on évite que le conteneur coupe */
.right-side {
  white-space: nowrap;
  flex: 0 0 auto;
}

/* Header layout */
.header .container,
.header .container-fluid {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

/* Left & right columns */
.left-side { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 16px; }
.right-side { flex: 0 0 auto; }

/* Navigation takes remaining space */
#navigation { flex: 1 1 auto; min-width: 0; }

/* Keep menu on one line on desktop */
@media (min-width: 1200px) {
  .mmenu-trigger { display: none; } /* pas besoin sur desktop */
  #navigation > ul#responsive {
    display: flex !important;
    align-items: center;
    flex-wrap: nowrap;
    white-space: nowrap;
    gap: 20px;               /* espace entre <li> */
  }
  #navigation > ul#responsive > li {
    flex: 0 0 auto;          /* ne pas s’étirer, ne pas wrap */
    display: inline-flex;
    align-items: center;
  }
}

/* Optionnel: éviter que le dernier <li> (bouton mobile) perturbe le layout desktop */
@media (min-width: 1200px) {
  #responsive > li.d-xl-none { display: none !important; }
}

/* Si ton thème force un width/float sur #navigation, neutralise-le */
#navigation { width: auto !important; float: none !important; }

/* Barre "Sortby": aucun fond, pas de bordure, et no-wrap */
.cod-pad.single.detail-wrapper.grid{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:16px;
  flex-wrap:nowrap;            /* évite le saut en dessous */
}

.cod-pad .input-group{
  flex:0 0 auto;               /* n’occupe que la place nécessaire */
  background:transparent !important;
}

.cod-pad .input-group .input-group-text{
  background:transparent !important;
  border:0 !important;
  padding-left:0 !important;
}

#sortby,
.sortby{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  min-width:220px;             /* lisible sans forcer la ligne à sauter */
  width:auto !important;
}

.selectpicker.sortby{          /* au cas où un vieux cache persiste */
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Empêche les éléments voisins de forcer le retour à la ligne */
.sorting-options{ flex:0 0 auto; }


#sortby,
.sortby{
  height: 42px;              /* pick 40–44px to match your bar */
  line-height: 42px;         /* = height for vertical centering */
  padding: 0 8px !important; /* some horizontal breathing room */
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  appearance: none;          /* optional: more consistent look */
}

/* The "Sortby:" label chip height matches the select */
.cod-pad .input-group .input-group-text{
  height: 42px;
  line-height: 42px;
  background: transparent !important;
  border: 0 !important;
  padding-left: 0 !important;
}

/* Keep the whole sort block on one line */
.cod-pad.single.detail-wrapper.grid{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:nowrap;
}