@charset "ISO-8859-1";

/* Modal filtre recherche : +10px de chaque côté pour masquer l'arrière-plan */
@media (min-width: 576px) {
	#filtre-annonce .modal-dialog.modal-dialog-filtre-recherche {
		max-width: 520px;
		width: calc(100% - 20px);
	}
}

/* ——— Mobile / tablette étroite : layout exploitable (scroll + footer fixe) ——— */
@media (max-width: 991.98px) {
	#filtre-annonce.modal {
		padding: 0 !important;
		/* Au-dessus de la bottom nav */
		z-index: 1060;
	}
	#filtre-annonce .modal-dialog.modal-dialog-filtre-recherche {
		margin: 0;
		max-width: 100%;
		width: 100%;
		height: calc(100dvh - var(--mobile-bottom-nav-height, 60px) - env(safe-area-inset-bottom, 0px));
		max-height: calc(100dvh - var(--mobile-bottom-nav-height, 60px) - env(safe-area-inset-bottom, 0px));
	}
	#filtre-annonce .modal-content {
		height: 100%;
		max-height: 100%;
		border: 0;
		border-radius: 0;
		display: flex;
		flex-direction: column;
	}
	#filtre-annonce .modal-header {
		flex: 0 0 auto;
		padding-left: 12px;
		padding-right: 12px;
	}
	#filtre-annonce .modal-body {
		flex: 1 1 auto;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 16px !important;
		min-height: 0; /* critique pour flex scroll */
	}
	#filtre-annonce .modal-body > .container {
		max-width: 100%;
		padding-left: 12px;
		padding-right: 12px;
	}
	#filtre-annonce .modal-footer.filtrerech-footer {
		flex: 0 0 auto;
		position: relative;
		z-index: 2;
		background: #fff;
		border-top: 1px solid #e5e7eb;
		box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.06);
		padding: 10px 12px;
		margin: 0;
	}
	#filtre-annonce .modal-footer.filtrerech-footer .d-flex {
		gap: 8px;
	}
	#filtre-annonce .modal-footer.filtrerech-footer .btn {
		flex: 1 1 0;
		min-height: 44px;
		justify-content: center;
		font-size: 0.95rem !important;
		padding: 8px 10px;
		white-space: nowrap;
	}

	/* Acheter / Louer / Colocation : 3 colonnes, une seule ligne */
	#filtre-annonce .buttons.row {
		flex-wrap: nowrap !important;
		margin-left: 0;
		margin-right: 0;
		width: 100%;
	}
	#filtre-annonce .buttons input[type="radio"] {
		flex: 1 1 0 !important;
		width: 33.333% !important;
		max-width: 33.333% !important;
		min-width: 0 !important;
		min-height: 42px !important;
		height: auto !important;
		font-size: 13px !important;
		padding: 8px 2px !important;
		margin: 0 !important;
		display: flex !important;
		align-items: center;
		justify-content: center;
		letter-spacing: 0;
		line-height: 1.15;
		box-sizing: border-box;
	}
	#filtre-annonce .buttons input[type="radio"]::before {
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	/* Champ lieu : éviter troncature / débordement */
	#filtre-annonce .typeahead__container,
	#filtre-annonce .typeahead__field,
	#filtre-annonce .typeahead__query {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}
	#filtre-annonce .js-typeahead.input-field,
	#filtre-annonce #filtrerechville {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box;
		padding-right: 12px !important;
		font-size: 16px !important; /* anti-zoom iOS */
	}
	#filtre-annonce .typeahead__cancel-button,
	#filtre-annonce .typeahead__label {
		max-width: 100%;
	}

	/* Labels / checks plus compacts mais lisibles */
	#filtre-annonce .form-check-label {
		font-size: 0.9rem;
		line-height: 1.3;
	}
	#filtre-annonce .filtrrechdistance {
		height: 22px;
		margin: 6px 0 4px;
	}

	/* Chosen : pleine largeur, pas de débordement */
	#filtre-annonce .chosen-container {
		width: 100% !important;
		max-width: 100% !important;
	}
	#filtre-annonce .chosen-container .chosen-choices {
		min-height: 42px;
	}
}

@media (min-width: 992px) {
	#filtre-annonce .modal-dialog.modal-dialog-filtre-recherche {
		max-height: min(92vh, 900px);
	}
	#filtre-annonce .modal-content {
		max-height: min(92vh, 900px);
	}
	#filtre-annonce .modal-body {
		overflow-y: auto;
	}
}

li{
	list-style: none;
}

a ul{
	padding-left:0px;
}
/* Ne plus forcer fixed : sur pages internes ça créait un bandeau noir par-dessus le contenu.
   Le positionnement est géré par styles.css / home-accueil / mobile.css */
body.site-accueil .search-box {
	z-index: 900;
}

#filtrerechsuppl-tab.nav-pills .nav-link.active {
	--bs-nav-pills-link-active-bg : #18BA60;
}

#filtrerechsuppl-tab.nav-pills .nav-link:hover {
	color : white;
	background-color : #303441;
}

.type-annonce , .filtrerechcritere{
    border: 1px solid #18BA60;
}

.active-type, .focus{
    transform: scale(1.1) !important; 
    background-color: #18ba60 !important;
    z-index: 5 !important;
    border-radius: 30px !important;
    color:white !important;
    box-shadow:0 0 10px   #18BA60;
}

.type-annonce:hover ,.filtrerechcritere:hover {
    transform: scale(1.1); 
    background-color: #23dd75;
    z-index: 6;
    border-radius: 15px 50px; 
    color:white;
}

.filtrerechcritere{
	border-radius: 20px;
}

.type-annonce-left{
    border-radius: 30px 0 0 30px;
    background-color:#18BA60;
     
}

.type-annonce-right{
    border-radius: 0 30px 30px 0;
    background-color:#18BA60;
}

.carte-icone {
    width:65px;
    height:45px;
}

.input-icons img {
    position: absolute;
}
 
.input-icons {
    width: 100%; 
}
 
.input-field {
    width: 100%;
    padding: 10px 10px 10px 50px;
    text-align: start;
}

.input-field:focus { 
    box-shadow:0 0 10px   #18BA60;
}

.label-before {
	line-height: 20px;
	font-size: 12px;
	top: -10px;
	background: #fff;
	padding: 0 6px;
	left: 9px;
}

.label-before, .field input:focus + label::before, .field input:valid + label::before {
  line-height: 20px;
  font-size: 12px;
  top: -10px;
  background: #fff;
  padding: 0 6px;
  left: 9px;
}

.field {
  display:flex;	
  position: relative;
}

.field label::before {
  content: attr(title);
  position: absolute;
  top: 0;
  left: 15px;
  line-height: 40px;
  font-size: 14px;
  color: #777;
  transition: 300ms all;
}

.field input {
  line-height: 40px;
  padding: 0 35px;
  box-sizing: border-box;
  font-size: 14px;
  color: #222;
  border: 1px solid #18BA60;
}

.field .unite {
	display:flex;
	position:absolute;
	height: 100%;
	right:0px;
	padding-right:13px;
	-moz-box-align:center;
	align-items:center;
	user-select:none;
}

.field input:focus {
  outline: 0;
  border-color: #18BA60;
}

.field input:valid + label::before {
  content: attr(data-title);
}

.field input:focus + label::before {
  color: black;
  background-color:white;
}

/*
.filtrerechbudgetbloc, .filtrerechcaracteristiquesbloc, .filtrerechautrescriteresbloc {
	display:none;
}
*/

/* Modal titre */
.myModalLabel {
	color: #222;
	font-family: 'Montserrat', sans-serif;
	font-weight: 500;
	text-transform: uppercase;

}

.myModalLabel::after {
	color: #18ba60;
	display: block;
	height: 3px;
	font-weight: bold;
	background-color: #18ba60;
	content: " ";
	width: 50px;
	margin-top: .5rem;
}
/*fin*/
/*radio button type*/ 
  .buttons input {
    color: black;
	text-align: center;
	justify-content: center;
	display: flex;
    appearance: none;
    cursor: pointer;
    border: 1px solid #18ba60;
    background: white;
    font-size: 15px;
    font-family: sans-serif;
    transition: all 0.1s;
  }

  .buttons input:checked {
    background: #18ba60;
    color : white;
    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
    text-shadow: 0 1px 0px #808080;
    box-shadow:0 0 10px   #18BA60;
  }

  .buttons input::before {
    content: attr(label);
    text-align: center;
  }
/*fin*/
/*slider*/
.slidecontainer {
  width: 100%;
}

.filtrrechdistance {
  -webkit-appearance: none;
  width: 100%;
  height: 25px;
  background: #d3d3d3;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
}

.filtrrechdistance:hover {
  opacity: 1;
} 

.filtrrechdistance::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 25px;
  height: 25px;
  background: #04AA6D;
  cursor: pointer;
}

.filtrrechdistance::-moz-range-thumb {
  width: 25px;
  height: 25px;
  background: #04AA6D;
  cursor: pointer;
}

/*fin*/
/*chosen select*/
.chosen-choices{
	border: 1px solid #18ba60 !important;
}

.chosen-container .chosen-results li.group-result {
	font-weight: 600;
	color: #303441;
}

.filtre-type-segment-label {
	display: block;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	color: #303441;
	margin-bottom: 0.25rem;
	letter-spacing: 0.02em;
}

.filtre-type-bien-row .chosen-container {
	width: 100% !important;
}

/*fin*/
/*button recherche*/
.recherche-btn{
	background-color: #18ba60;
	color: #fff;
}
 .range-slider .ui-widget.ui-widget-content {
  background: #18ba60;
}