.locator-page-map-shell { display: flex; height: calc(100vh - 180px); min-height: 620px; background: #0a0a0c; overflow: hidden; }
.locator-page-map-shell .locator-sidebar { width: min(420px, 100%); flex-shrink: 0; min-height: 0; }
.locator-page-map-shell .locator-results { flex: 1; min-height: 0; }
.locator-search-wrap { padding: 22px 20px 16px; background: #1a1a1f; border-bottom: 1px solid rgba(255,255,255,0.06); }
.locator-search-wrap h2 { font-size: 1.25rem; margin-bottom: 10px; color: #fff; font-family: 'Outfit', sans-serif; }
.locator-intro { font-size: 0.82rem; line-height: 1.45; color: rgba(255,255,255,0.55); margin: 0 0 14px; }
.search-inner { position: relative; }
.search-inner i { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); color: rgba(255,255,255,0.45); pointer-events: none; }
.search-inner input { width: 100%; padding: 12px 12px 12px 42px; background: #2a2a30; border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; color: #fff; font-family: 'Inter', sans-serif; font-size: 0.92rem; }
.search-inner input:focus { outline: none; border-color: rgba(193,0,7,0.45); box-shadow: 0 0 0 2px rgba(193,0,7,0.12); }
.locator-count-line { margin-top: 12px; font-size: 0.78rem; color: rgba(255,255,255,0.45); }
#map { flex: 1; height: 100%; min-height: 320px; z-index: 1; }
@media (max-width: 991px) {
    .locator-page-map-shell { flex-direction: column-reverse; height: auto; min-height: 0; }
    .locator-page-map-shell .locator-sidebar { width: 100%; max-height: min(52vh, 520px); height: auto; }
    #map { height: min(48vh, 420px); min-height: 280px; }
}
