/* map.css — Публичная карта бизнесов */
.map-hero {
    background: linear-gradient(135deg, var(--bg) 0%, #1a1045 100%);
    padding: 48px 24px 32px;
    text-align: center;
}
.map-hero h1 { font-size: clamp(1.6rem, 4vw, 2.4rem); margin-bottom: 8px; }
.map-hero p { color: rgba(255,255,255,0.6); margin-bottom: 24px; }

.map-filters {
    display: flex; gap: 10px; flex-wrap: wrap;
    justify-content: center; max-width: 700px; margin: 0 auto;
}
.map-filter-select {
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    color: #fff; border-radius: 10px;
    padding: 10px 14px; font-size: 14px; cursor: pointer;
    appearance: none; min-width: 160px;
}
.map-filter-select option { background: #1a1045; color: #fff; }

.map-layout {
    display: grid;
    grid-template-columns: 340px 1fr;
    height: calc(100vh - 220px);
    min-height: 500px;
}
@media (max-width: 768px) {
    .map-layout { grid-template-columns: 1fr; grid-template-rows: 50vh 1fr; }
}

#yandex-map { width: 100%; height: 100%; }

.map-sidebar {
    background: var(--bg, #0f0c29);
    border-right: 1px solid rgba(255,255,255,0.08);
    overflow-y: auto;
    padding: 12px;
    display: flex; flex-direction: column; gap: 10px;
}
@media (max-width: 768px) { .map-sidebar { order: 2; } }

.map-biz-card {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 14px; padding: 14px; cursor: pointer;
    transition: border-color 0.2s, transform 0.2s;
}
.map-biz-card:hover, .map-biz-card.active {
    border-color: var(--accent, #6C5CE7);
    transform: translateY(-2px);
}
.map-biz-card-name { font-weight: 600; font-size: 15px; margin-bottom: 4px; }
.map-biz-card-meta { font-size: 13px; color: rgba(255,255,255,0.5); }
.map-biz-card-rating { color: #ffd700; font-size: 13px; margin-top: 4px; }
.map-empty {
    text-align: center; padding: 40px 20px;
    color: rgba(255,255,255,0.5);
}
.map-empty i { font-size: 2.5rem; margin-bottom: 12px; display: block; }
.map-count { padding: 8px 0 4px; font-size: 13px; color: rgba(255,255,255,0.4); }
