/* ============================================================
   Webcomimmo — recherche.css
   Moteur de recherche : barre de filtres, résultats, tri, état vide.
   Charge après style.css + layout.css + catalogue.css.
   ============================================================ */

.wc-search { padding-block: clamp(32px, 5vw, 56px) clamp(48px, 7vw, 88px); }
.wc-search__head { margin-bottom: 1.8rem; }
.wc-search__head h1 { font-size: clamp(1.9rem, 3.6vw, 2.8rem); margin: .5rem 0 .6rem; }
.wc-search__head p { color: var(--wc-muted); font-size: var(--wc-fs-lg); max-width: 60ch; }

/* Onglets neuf/ancien/investir */
.wc-search__seg { display: inline-flex; background: var(--wc-paper-2); border-radius: 100px; padding: 4px; margin-bottom: 1.6rem; }
.wc-search__seg button { border: none; background: none; font-family: inherit; font-weight: 600; font-size: .88rem; padding: .6em 1.4em; border-radius: 100px; cursor: pointer; color: var(--wc-muted); transition: .15s; }
.wc-search__seg button.is-active { background: #fff; color: var(--wc-marine); box-shadow: 0 2px 8px -2px rgba(0, 0, 0, .15); }

/* Barre de filtres */
.wc-filterbar {
  background: #fff; border: 1px solid var(--wc-line); border-radius: var(--wc-radius);
  padding: 1.2rem 1.3rem; margin-bottom: 1.4rem;
  display: grid; grid-template-columns: repeat(4, 1fr) auto; gap: 1rem; align-items: end;
  box-shadow: 0 8px 30px -20px rgba(10, 34, 48, .35);
}
.wc-filterbar .wc-field { margin: 0; }
.wc-filterbar label { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; color: var(--wc-muted); font-weight: 600; margin-bottom: .35em; }
.wc-filterbar select { width: 100%; padding: .65em .8em; border: 1px solid var(--wc-line); border-radius: 9px; font-family: inherit; font-size: .9rem; color: var(--wc-ink); background: #fff; }
.wc-filterbar__reset { background: none; border: none; color: var(--wc-teal); font-family: inherit; font-weight: 600; font-size: .85rem; cursor: pointer; padding: .7em 0; white-space: nowrap; }
.wc-filterbar__reset:hover { color: var(--wc-orange); }

/* Barre de résultats (compteur + tri) */
.wc-results-bar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 1.4rem; flex-wrap: wrap; gap: .8rem; }
.wc-results-count { font-size: .95rem; color: var(--wc-muted); }
.wc-results-count b { color: var(--wc-marine); font-weight: 700; }
.wc-sort { display: flex; align-items: center; gap: .5em; font-size: .85rem; color: var(--wc-muted); }
.wc-sort select { padding: .5em .8em; border: 1px solid var(--wc-line); border-radius: 8px; font-family: inherit; font-size: .85rem; background: #fff; color: var(--wc-ink); }

/* État vide */
.wc-empty { display: none; text-align: center; padding: clamp(3rem, 8vw, 5rem) 1rem; border: 1px dashed var(--wc-line); border-radius: var(--wc-radius); color: var(--wc-muted); }
.wc-empty.is-visible { display: block; }
.wc-empty h3 { font-size: 1.4rem; color: var(--wc-marine); margin-bottom: .5rem; }
.wc-empty p { max-width: 44ch; margin: 0 auto 1.2rem; }

/* Carte masquée par filtre */
.wc-card.is-hidden { display: none; }

/* Responsive filtres */
@media (max-width: 960px) {
  .wc-filterbar { grid-template-columns: 1fr 1fr; }
  .wc-filterbar__reset { grid-column: 1 / -1; text-align: left; }
}
@media (max-width: 560px) {
  .wc-filterbar { grid-template-columns: 1fr; }
}
