.hcsp-ui{max-width:1100px;margin:20px auto}
.hcsp-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.hcsp-inline{display:flex;gap:6px;align-items:center}
.hcsp-muted{opacity:0.7}
#hcsp-map{height:420px;margin:10px 0;border-radius:12px}
#hcsp-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.hcsp-card{border:1px solid #e5e7eb;border-radius:12px;padding:12px;background:#fff}
.hcsp-card__top{display:flex;gap:10px;align-items:center}
.hcsp-card img{width:64px;height:64px;border-radius:10px;object-fit:cover}
.hcsp-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid #e5e7eb}
.hcsp-badge.ok{background:#ecfdf3;border-color:#abefc6}
.hcsp-badge.no{background:#fffaeb;border-color:#fedf89}
.hcsp-btn{margin-top:10px;padding:8px 10px;border-radius:10px;border:1px solid #d1d5db;background:#111827;color:#fff;cursor:pointer}
.hcsp-btn:disabled{opacity:0.5;cursor:not-allowed}
@media(max-width:600px){#hcsp-map{height:300px}}


/* Marketplace */
.hcsp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:960px){.hcsp-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:640px){.hcsp-grid{grid-template-columns:1fr;}}


/* Map UX improvements */
.hcsp-map-wrap{position:relative}
.hcsp-map-search-area{
  position:absolute;
  top:14px;
  left:50%;
  transform:translateX(-50%);
  z-index:5;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid #d1d5db;
  background:#fff;
  color:#111827;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(0,0,0,.10);
}
.hcsp-attrib{
  margin:8px 0;
  font-size:12px;
  opacity:.75;
}

/* Ghost button */
.hcsp-btn--ghost{
  background:#fff;
  color:#111827;
}
