.elementor-9945 .elementor-element.elementor-element-3d48a50{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form input[type='submit']{background-color:var( --e-global-color-accent );font-weight:600;color:#FFFFFF;padding:20px 20px 20px 20px;}.elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form{background:#CCFFCC;padding:20px 20px 20px 20px;margin:0px 0px 0px 0px;}.elementor-9945 .elementor-element.elementor-element-642390ef{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-9945 .elementor-element.elementor-element-30412287{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-9945 .elementor-element.elementor-element-736c2ac5{--grid-columns:2;}.elementor-9945 .elementor-element.elementor-element-6199a1e0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}@media(min-width:768px){.elementor-9945 .elementor-element.elementor-element-30412287{--width:50%;}.elementor-9945 .elementor-element.elementor-element-6199a1e0{--width:50%;}}@media(max-width:1024px){.elementor-9945 .elementor-element.elementor-element-736c2ac5{--grid-columns:2;}}@media(max-width:767px){.elementor-9945 .elementor-element.elementor-element-736c2ac5{--grid-columns:1;}}/* Start custom CSS for property-search-form, class: .elementor-element-1407a9f1 *//* ---------- Variables ---------- */
.elementor-9945 .elementor-element.elementor-element-1407a9f1{
  --pill-bg: #ffffff;
  --pill-border: #e5e7eb;
  --pill-text: #111827;
  --pill-placeholder: #9ca3af;
  --pill-radius: 999px;
  --pill-shadow: 0 1px 2px rgba(0,0,0,.04);

  --accent: #E2B93B;      /* or */
  --accent-text: #ffffff; /* texte blanc */
  --accent-hover: #d3a62f;
  --focus: #1d7dbe;
}

/* ---------- Barre ---------- */
.elementor-9945 .elementor-element.elementor-element-1407a9f1{
  position: sticky;
  top: 90px;
  z-index: 30;
  background: #fff;
  padding: 12px 16px;
  margin-bottom: 20px;
  border-radius: 16px;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
}
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form{
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
  align-items: center;
  justify-content: flex-start;
  margin: 0;
  background: transparent !important;
}
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form > .control{
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  min-width: 0;
}
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form > .control > label{
  display: block;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.2;
  color: #111827;
  margin: 0 0 4px;
}

/* ---------- Champs ---------- */
.elementor-9945 .elementor-element.elementor-element-1407a9f1 input[type="text"],
.elementor-9945 .elementor-element.elementor-element-1407a9f1 input[type="search"],
.elementor-9945 .elementor-element.elementor-element-1407a9f1 input[type="number"],
.elementor-9945 .elementor-element.elementor-element-1407a9f1 input[type="date"],
.elementor-9945 .elementor-element.elementor-element-1407a9f1 select,
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .ph-input,
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .ph-select{
  appearance: none;
  background: var(--pill-bg);
  color: var(--pill-text);
  border: 1px solid var(--pill-border);
  border-radius: var(--pill-radius);
  min-height: 42px;
  padding: 10px 16px;
  font-size: 15px;
  line-height: 1.2;
  box-shadow: var(--pill-shadow);
  width: auto;
  max-width: 100%;
  min-width: clamp(140px, 18vw, 240px);
}
.elementor-9945 .elementor-element.elementor-element-1407a9f1 ::placeholder{ color: var(--pill-placeholder); }
.elementor-9945 .elementor-element.elementor-element-1407a9f1 select{
  background-image: url("data:image/svg+xml,%3Csvg width='14' height='14' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5 7l5 5 5-5' fill='none' stroke='%2399A1AE' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  padding-right: 34px;
}
.elementor-9945 .elementor-element.elementor-element-1407a9f1 select option[value=""],
.elementor-9945 .elementor-element.elementor-element-1407a9f1 select option:where(:first-child){ color: #6b7280; }

/* ---------- Radios en pills (robuste) ---------- */
/* Le bloc radios à gauche + séparateur */
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form > .control:has(input[type="radio"]){
  order: -1;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
  margin-right: 20px;
  padding-right: 20px;
  border-right: 1px solid #e5e7eb;
}

/* On masque l'input sans casser :checked dans tous les cas */
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form input[type="radio"]{
  position: absolute;
  opacity: 0;
  inset: 0 auto auto 0; /* permet l'accès clavier/lecteur d'écran */
  pointer-events: none;
}

/* Style de base du "bouton" = le label */
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form > .control:has(input[type="radio"]) label{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-weight: 600;
  font-size: 14px;
  padding: 8px 18px;
  border: 1px solid var(--pill-border);
  border-radius: var(--pill-radius);
  background: var(--pill-bg);
  color: var(--pill-text);
  cursor: pointer;
  transition: all .2s ease;
  line-height: 1;
}

/* Actif : 2 cas couverts */
/* A) input + label */
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form input[type="radio"]:checked + label{
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--accent-text) !important;
}
/* B) label > input */
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form label:has(> input[type="radio"]:checked){
  background: var(--accent) !important;
  border-color: var(--accent) !important;
  color: var(--accent-text) !important;
}

/* Hover (inactif) */
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form > .control:has(input[type="radio"]) label:hover{
  border-color: var(--accent);
  color: var(--accent-hover);
}

/* Hover (actif) */
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form input[type="radio"]:checked + label:hover,
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form label:has(> input[type="radio"]:checked):hover{
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
  color: var(--accent-text) !important;
}

/* ---------- Bouton Recherche ---------- */
.elementor-9945 .elementor-element.elementor-element-1407a9f1 input[type="submit"],
.elementor-9945 .elementor-element.elementor-element-1407a9f1 button[type="submit"],
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .button{
  order: 999;
  margin-left: auto;
  border: none;
  border-radius: var(--pill-radius) !important;
  min-height: 42px;
  padding: 10px 20px !important;
  font-weight: 700;
  cursor: pointer;
  background: var(--accent);
  color: var(--accent-text);
  box-shadow: none;
}
.elementor-9945 .elementor-element.elementor-element-1407a9f1 input[type="submit"]:hover,
.elementor-9945 .elementor-element.elementor-element-1407a9f1 button[type="submit"]:hover,
.elementor-9945 .elementor-element.elementor-element-1407a9f1 .button:hover{
  background: var(--accent-hover);
}

/* ---------- Focus accessibles ---------- */
.elementor-9945 .elementor-element.elementor-element-1407a9f1 input:focus,
.elementor-9945 .elementor-element.elementor-element-1407a9f1 select:focus{
  outline: 2px solid color-mix(in srgb, var(--focus) 25%, transparent);
  border-color: var(--focus);
}

/* ---------- Responsive ---------- */
@media (max-width: 1024px){
  .elementor-9945 .elementor-element.elementor-element-1407a9f1{ top: 70px; border-radius: 12px; }
  .elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .elementor-9945 .elementor-element.elementor-element-1407a9f1 input, .elementor-9945 .elementor-element.elementor-element-1407a9f1 select{
    min-width: clamp(130px, 26vw, 200px);
  }
}
@media (max-width: 640px){
  .elementor-9945 .elementor-element.elementor-element-1407a9f1 .property-search-form > .control{ width: 100%; }
  .elementor-9945 .elementor-element.elementor-element-1407a9f1 input, .elementor-9945 .elementor-element.elementor-element-1407a9f1 select{ min-width: 100%; }
  .elementor-9945 .elementor-element.elementor-element-1407a9f1 input[type="submit"],
  .elementor-9945 .elementor-element.elementor-element-1407a9f1 button[type="submit"],
  .elementor-9945 .elementor-element.elementor-element-1407a9f1 .button{
    width: 100%;
    justify-content: center;
    margin-left: 0;
  }
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-736c2ac5 */.elementor-9945 .elementor-element.elementor-element-736c2ac5 .elementor-widget-property-image img {
    width: 100%;
    height: 300px; /* Set a fixed height for uniformity */
    object-fit: cover; /* Crop the image to fit the container */
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-67032b5d */.elementor-9945 .elementor-element.elementor-element-67032b5d{
    border-radius: 16px!important;
    overflow: hidden;
}/* End custom CSS */