.fs-locator { max-width: 1200px; margin: 0 auto; padding: 24px 12px; }
.fs-filters { display: grid; gap: 10px; grid-template-columns: 1.5fr 1fr 1fr 1fr auto; align-items: center; margin-bottom: 12px; }
.fs-input, .fs-select { width: 100%; padding: 10px 12px; border-radius: 10px; border: 1px solid #2A2A2A; background: #1C1C1E; color: #F5F5F5; }
.fs-btn { padding: 10px 14px; border-radius: 10px; border: 1px solid #39FF14; background: transparent; color: #39FF14; cursor: pointer; white-space: nowrap; }
.fs-btn:hover { background: #39FF14; color: #111111; }

.fs-map { height: 420px; border-radius: 16px; overflow: hidden; border: 1px solid #2A2A2A; }
.fs-results { margin-top: 16px; }
.fs-results-meta { color: #B8B8B8; margin-bottom: 10px; }

.fs-list { display: grid; gap: 12px; grid-template-columns: repeat(3, 1fr); }
.fs-card { border: 1px solid #2A2A2A; background: #181818; border-radius: 16px; padding: 14px; }
.fs-card h3 { margin: 0 0 6px; font-size: 18px; }
.fs-card p { margin: 0 0 10px; color: #B8B8B8; }
.fs-tags { display:flex; gap:8px; flex-wrap:wrap; margin-bottom: 10px; }
.fs-tag { font-size: 12px; border: 1px solid #2A2A2A; padding: 4px 8px; border-radius: 999px; color: #F5F5F5; }
.fs-actions { display:flex; gap:10px; flex-wrap:wrap; }
.fs-link { color: #2DFF88; text-decoration: none; }
.fs-link:hover { text-decoration: underline; }

@media (max-width: 900px) {
  .fs-filters { grid-template-columns: 1fr 1fr; }
  .fs-map { height: 360px; }
  .fs-list { grid-template-columns: 1fr; }
}