.trade-match { margin: 10px 0; padding: 8px 10px; border-left: 3px solid var(--orange); background: #fff4e7; border-radius: 0 7px 7px 0; font-size: .875rem; font-weight: 600; }
.trade-match span { display: block; font-weight: 400; font-size: .875rem; color: var(--muted); }
/* Beyond the radius chosen, shown because the artisan's declared zone covers the commune (zoneNoteMarkup): reassuring, not a warning. */
.zone-note.zone-covered { color: #375c36; }
.active-filters { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.active-filters button { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; border-radius: 24px; padding: 7px 12px; font-size: .875rem; font-weight: 500; text-align: left; }
.active-filters button span { font-size: 1.25rem; }
.filter-note { font-size: .875rem; color: var(--muted); }
.search-recovery { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 18px 0 10px; }
.search-recovery button { min-height: 44px; font-size: .875rem; }
@media(max-width:650px) { .search-recovery { flex-direction: column; } }
.search-sharing { margin-top: 12px; }
.search-sharing button { min-height: 44px; }
.search-sharing input { width: 100%; min-width: 0; }
.search-sharing label { display: grid; gap: 8px; font-size: 14px; }
.search-sharing .meta { margin-top: 8px; }
/* « Autour de moi » : dans le cadre de recherche, juste sous la commune, action visible quand aucune commune n'est connue
   (audit B04) ; zone de toucher de 44 px. */
.near-me-row{margin:0}
.search .near-me-row{grid-column:2 / 3;margin:-2px 0 0}
.near-me{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 16px 6px 12px;border:1.5px solid var(--brand-navy,#103c65);border-radius:999px;background:#fff;color:var(--brand-navy,#103c65);font-size:15px;font-weight:700}
.near-me:hover{background:#edf3f8;color:var(--brand-navy,#103c65)}
.near-me svg{flex-shrink:0;color:var(--brand-orange,#e96732)}
.near-me[aria-busy="true"]{cursor:progress;opacity:.75}
@media(max-width:650px){.search .near-me-row{grid-column:1 / -1;margin:2px 0 0}}

/* Liste vide (audit B04) : message de lancement ou point de départ, accès artisan et invitation d'un artisan. */
.launch-block{padding:26px 20px;border:1px solid #f4d7c5;background:var(--brand-soft,#fff0e6)}
.launch-block h3{font-size:21px;line-height:1.3;color:var(--brand-navy,#103c65)}
.launch-block p{max-width:620px;margin:8px auto 0;color:#4d5d6b}
.launch-block .search-recovery{margin:16px 0 4px}
.launch-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
.launch-actions>*{min-height:48px}
.launch-actions button{background:#fff;border-color:#e2c7b5}
.invite-fallback{margin-top:14px}
.invite-links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 22px}
.invite-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
@media(max-width:650px){.launch-block{padding:22px 16px}.launch-actions{flex-direction:column}.launch-actions>*{width:100%}}

/* Avant toute recherche, sans commune connue (body.search-idle, audit B04) : ni filtres, ni carte, ni lien de partage vides. */
.search-idle #filters,.search-idle #advancedFilters,.search-idle #activeFilters,.search-idle .view-switch,.search-idle #searchStatus,.search-idle #mapPanel,.search-idle .results-footnote{display:none!important}
.search-idle .results-layout{display:block}
/* Liste vide : ni « Filtres » ni « Comparer 0 » dans la barre du bas du téléphone (audit B04). */
.results-empty .mobile-nav .nav-filters,.results-empty .mobile-nav .nav-compare{display:none}
.results-empty .mobile-nav .nav-space{flex:0 1 260px}
