/* Bloc géographique : styles isolés, variables réglables dans Avada Builder. */
.dossantos-geo-filter {
  position: relative; width: 100%; max-width: 100%; min-width: 0;
  margin-top: var(--dsgeo-margin-top) !important; margin-bottom: var(--dsgeo-margin-bottom) !important;
  box-sizing: border-box; padding: var(--dsgeo-panel-padding); border-radius: var(--dsgeo-panel-radius);
  background: var(--dsgeo-panel-bg); color: var(--dsgeo-text-color);
  font-size: var(--dsgeo-text-size); line-height: 1.45;
}
.dossantos-geo-filter *, .dossantos-geo-filter *::before, .dossantos-geo-filter *::after { box-sizing: border-box; }
.dossantos-geo-filter .dossantos-geo-title {
  color: var(--dsgeo-title-color); font-size: var(--dsgeo-title-size); line-height: 1.15;
  margin: 0 0 var(--dsgeo-spacing); font-weight: 700;
}
.dossantos-geo-filter label {
  display: block; margin: var(--dsgeo-spacing) 0 5px; font-size: var(--dsgeo-label-size);
  line-height: 1.3; font-weight: 600; color: var(--dsgeo-label-color);
}
.dossantos-geo-filter input[type=search], .dossantos-geo-filter select {
  display:block; width:100%; max-width:100%; min-width:0; height: var(--dsgeo-field-height);
  padding: 6px 10px; border: 1px solid var(--dsgeo-field-border);
  border-radius: var(--dsgeo-field-radius); background: var(--dsgeo-field-bg);
  color: var(--dsgeo-field-text); font: inherit; font-size: var(--dsgeo-text-size);
}
.dossantos-geo-filter input[type=search]:focus-visible, .dossantos-geo-filter select:focus-visible,
.dossantos-geo-filter button:focus-visible { outline: 2px solid var(--dsgeo-link-color); outline-offset: 2px; }
.dossantos-geo-filter button { cursor: pointer; max-width: 100%; font: inherit; }
.dossantos-geo-filter .dossantos-geo-locate {
  display:block; width:100%; min-height:var(--dsgeo-button-height); margin-top:var(--dsgeo-spacing);
  padding:8px 12px; border:0; border-radius:var(--dsgeo-button-radius);
  background:var(--dsgeo-button-bg); color:var(--dsgeo-button-text); font-size:var(--dsgeo-text-size);
}
.dossantos-geo-filter .dossantos-geo-locate:hover, .dossantos-geo-filter .dossantos-geo-locate:focus-visible {
  background:var(--dsgeo-button-hover-bg); color:var(--dsgeo-button-hover-text);
}
.dossantos-geo-filter .dossantos-geo-clear {
  display:block; margin-top:var(--dsgeo-spacing); padding:0; border:0;
  background:transparent; color:var(--dsgeo-link-color); text-decoration:underline;
  text-align:left; font-size:var(--dsgeo-text-size);
}
.dossantos-geo-filter .dossantos-geo-clear[hidden] {display:none !important;}
.dossantos-geo-filter .dossantos-geo-choices {
  position:absolute; z-index:100; left:0; right:0; max-height:210px; overflow:auto;
  background:var(--dsgeo-field-bg); box-shadow:0 4px 14px #0002;
  border:1px solid var(--dsgeo-field-border); border-radius:var(--dsgeo-field-radius);
}
.dossantos-geo-filter .dossantos-geo-choices[hidden] { display:none; }
.dossantos-geo-filter .dossantos-geo-choices button {
  display:block; padding:9px; width:100%; text-align:left; border:0;
  background:var(--dsgeo-field-bg); color:var(--dsgeo-field-text);
}
.dossantos-geo-filter .dossantos-geo-choices button:hover,
.dossantos-geo-filter .dossantos-geo-choices button:focus-visible { background:var(--dsgeo-button-hover-bg); color:var(--dsgeo-button-hover-text); }
.dossantos-geo-filter .dossantos-geo-status {
  margin:var(--dsgeo-spacing) 0 0; color:var(--dsgeo-status-color); font-size:var(--dsgeo-text-size);
}
.dossantos-geo-filter .dossantos-geo-status[data-hide-count="1"]:not(.dossantos-geo-error) { display:none; }
.dossantos-geo-filter .dossantos-geo-error,.dossantos-geo-filter .dossantos-geo-alert { color:#9c2727; }
.dossantos-geo-filter .dossantos-geo-note { display:block; margin-top:var(--dsgeo-spacing); font-size:12px; line-height:1.4; opacity:.8; color:var(--dsgeo-text-color); }
/* Intersection locale avec la grille complète Avada (-1, aucune pagination). */
#dossantos-biens li.post-card.dossantos-geo-outside { display:none !important; }
#dossantos-biens .dossantos-geo-no-results { margin:24px 0; width:100%; }

/* 1.6.6 : priorite aux couleurs choisies dans l'element Avada de localisation.
   Les variables sont sur le conteneur ; elles n'affectent aucun autre filtre.
   Le theme et Avada posent parfois des couleurs explicites sur h3, label,
   input, select et button qui prennent le dessus sans ces selecteurs. */
.dossantos-geo-filter {
  background: var(--dsgeo-panel-bg) !important;
  color: var(--dsgeo-text-color) !important;
}
.dossantos-geo-filter .dossantos-geo-title {
  color: var(--dsgeo-title-color) !important;
}
.dossantos-geo-filter label {
  color: var(--dsgeo-label-color) !important;
}
.dossantos-geo-filter :is(input[type="search"], select) {
  background: var(--dsgeo-field-bg) !important;
  color: var(--dsgeo-field-text) !important;
  border-color: var(--dsgeo-field-border) !important;
  -webkit-text-fill-color: var(--dsgeo-field-text);
}
.dossantos-geo-filter input[type="search"]::placeholder {
  color: var(--dsgeo-field-text) !important;
  opacity: .65;
}
.dossantos-geo-filter :is(input[type="search"], select):focus-visible {
  border-color: var(--dsgeo-link-color) !important;
  outline-color: var(--dsgeo-link-color) !important;
}
.dossantos-geo-filter .dossantos-geo-locate {
  background: var(--dsgeo-button-bg) !important;
  color: var(--dsgeo-button-text) !important;
  -webkit-text-fill-color: var(--dsgeo-button-text);
}
.dossantos-geo-filter .dossantos-geo-locate:is(:hover, :focus-visible) {
  background: var(--dsgeo-button-hover-bg) !important;
  color: var(--dsgeo-button-hover-text) !important;
  -webkit-text-fill-color: var(--dsgeo-button-hover-text);
}
.dossantos-geo-filter .dossantos-geo-clear {
  background: transparent !important;
  color: var(--dsgeo-link-color) !important;
  -webkit-text-fill-color: var(--dsgeo-link-color);
}
.dossantos-geo-filter .dossantos-geo-status:not(.dossantos-geo-error) {
  color: var(--dsgeo-status-color) !important;
}
.dossantos-geo-filter .dossantos-geo-note {
  color: var(--dsgeo-text-color) !important;
}
.dossantos-geo-filter .dossantos-geo-choices {
  background: var(--dsgeo-field-bg) !important;
  border-color: var(--dsgeo-field-border) !important;
}
.dossantos-geo-filter .dossantos-geo-choices button {
  background: var(--dsgeo-field-bg) !important;
  color: var(--dsgeo-field-text) !important;
}
.dossantos-geo-filter .dossantos-geo-choices button:is(:hover, :focus-visible) {
  background: var(--dsgeo-button-hover-bg) !important;
  color: var(--dsgeo-button-hover-text) !important;
}
