/* Localiser un paysagiste — carte + filtres + mini-fiche. */

.lpr-locator__lead {
  max-width: 60ch;
  /* Sur le hero vert : blanc légèrement adouci pour un contraste AA. */
  color: rgba(255, 255, 255, 0.92);
  font-size: 1.05rem;
  margin-top: .5rem;
}

/* Barre de filtres */
.lpr-locator__tools {
  background: var(--lpr-surface);
  border-top: 1px solid var(--lpr-border);
  border-bottom: 1px solid var(--lpr-border);
  padding: 1rem 0;
  position: sticky;
  top: 0;
  z-index: 5;
}
.lpr-locator__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-end;
}
.lpr-field { display: flex; flex-direction: column; gap: .3rem; min-width: 180px; }
.lpr-field--grow { flex: 1 1 260px; }
.lpr-field label {
  font-size: .8rem;
  font-weight: 700;
  color: var(--lpr-primary);
}
.lpr-field input,
.lpr-field select {
  padding: .6rem .8rem;
  border: 1px solid var(--lpr-border);
  border-radius: 10px;
  background: var(--lpr-paper);
  color: var(--lpr-text);
  font: inherit;
}
.lpr-field input:focus,
.lpr-field select:focus {
  outline: 2px solid var(--lpr-leaf-500);
  outline-offset: 1px;
  border-color: var(--lpr-leaf-500);
}
.lpr-locator__count {
  margin-left: auto;
  align-self: center;
  font-weight: 700;
  color: var(--lpr-brand-bright);
  white-space: nowrap;
}

/* Carte */
.lpr-locator__mapwrap { padding: 0; }
.lpr-locator__map {
  width: 100%;
  height: 72vh;
  min-height: 460px;
  background: var(--lpr-leaf-100);
}

/* Mini-fiche (InfoWindow) */
.lpr-minfo { display: flex; gap: .75rem; max-width: 260px; }
.lpr-minfo__img {
  flex: 0 0 64px;
  width: 64px; height: 64px;
  border-radius: 10px;
  background-size: cover;
  background-position: center;
}
.lpr-minfo__body { min-width: 0; }
.lpr-minfo__name {
  font-family: var(--lpr-font-display, 'Fraunces', serif);
  font-size: 1rem;
  line-height: 1.2;
  margin: 0 0 .2rem;
  color: var(--lpr-primary-strong);
}
.lpr-minfo__meta {
  font-size: .8rem;
  color: var(--lpr-text-muted);
  margin: 0 0 .35rem;
}
.lpr-minfo__rate { font-size: .8rem; color: var(--lpr-text); margin-bottom: .35rem; }
.lpr-mstar { color: #d9d9d9; }
.lpr-mstar.on { color: #f4a72b; }
.lpr-minfo__rate b { color: var(--lpr-text); }
.lpr-minfo__rate span { color: var(--lpr-text-muted); }
.lpr-minfo__link {
  display: inline-block;
  font-weight: 700;
  color: var(--lpr-accent);
  text-decoration: none;
}
.lpr-minfo__link:hover { color: var(--lpr-accent-hover); text-decoration: underline; }

@media (max-width: 640px) {
  .lpr-locator__count { margin-left: 0; }
  .lpr-locator__map { height: 64vh; }
}
