  * { margin: 0; padding: 0; box-sizing: border-box; }
        body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }

        .main-container { display: flex; height: 100vh; width: 100%; }
        #map { width: 70%; height: 100%; z-index: 1; }
        .sidebar {
            width: 30%; height: 100%; background: #f8f9fa;
            border-left: 1px solid #dee2e6; display: flex;
            flex-direction: column; overflow: hidden;
        }

        .filter-header {
            padding: 15px; background: white; border-bottom: 1px solid #dee2e6;
            position: sticky; top: 0; z-index: 10;
        }
        .filter-title { font-size: 16px; font-weight: 600; margin-bottom: 10px; color: #333; }
        .filter-buttons { display: flex; flex-wrap: wrap; gap: 5px; }
        .filter-btn {
            padding: 6px 12px; border: 1px solid #007bff; background: white;
            color: #007bff; border-radius: 20px; cursor: pointer;
            font-size: 12px; transition: all 0.2s;
        }
        .filter-btn:hover, .filter-btn.active { background: #007bff; color: white; }

        .locations-list { flex: 1; overflow-y: auto; padding: 10px; }
        .location-card {
            background: white; border-radius: 8px; padding: 12px;
            margin-bottom: 10px; cursor: pointer; box-shadow: 0 2px 4px rgba(0,0,0,0.08);
            transition: transform 0.2s, box-shadow 0.2s; border-left: 4px solid #007bff;
        }
        .location-card:hover { transform: translateX(3px); box-shadow: 0 4px 8px rgba(0,0,0,0.12); }
        .location-card.highlighted { background: #e7f1ff; border-left-color: #0056b3; }
        .location-name { font-weight: 600; font-size: 15px; margin-bottom: 5px; color: #222; }
        .location-place {
            display: inline-block; padding: 2px 8px; background: #e9ecef;
            border-radius: 12px; font-size: 11px; color: #495057; margin-bottom: 6px;
        }
        .location-address { font-size: 13px; color: #666; margin-bottom: 8px; }
        .location-phone { font-size: 13px; color: #28a745; font-weight: 500; }

        .load-more-container {
            padding: 15px; background: white; border-top: 1px solid #dee2e6; text-align: center;
        }
        .load-more-btn {
            padding: 10px 30px; background: #007bff; color: white; border: none;
            border-radius: 25px; cursor: pointer; font-size: 14px; font-weight: 500;
            transition: background 0.2s;
        }
        .load-more-btn:hover { background: #0056b3; }
        .load-more-btn:disabled { background: #ccc; cursor: not-allowed; }

        .custom-popup .leaflet-popup-content-wrapper { border-radius: 8px; padding: 0; overflow: hidden; }
        .custom-popup .leaflet-popup-content { margin: 0; width: 280px !important; }
        .popup-image { width: 100%; height: 100px; object-fit: cover; background: #ddd; }
        .popup-content { padding: 15px; }
        .popup-title { font-size: 17px; font-weight: bold; margin-bottom: 8px; color: #333; }
        .popup-place {
            display: inline-block; padding: 3px 10px; background: #007bff;
            color: white; border-radius: 12px; font-size: 11px; margin-bottom: 10px;
        }
        .popup-address { color: #666; font-size: 13px; margin-bottom: 8px; }
        .popup-phone { color: #28a745; font-weight: bold; margin-bottom: 10px; font-size: 14px; }
        .popup-desc { font-size: 13px; color: #555; margin-bottom: 12px; line-height: 1.4; }
        .popup-desc2 { font-size: 13px; color: #555; margin-bottom: 12px; line-height: 1.4; }
        .popup-link {
            display: inline-block; padding: 8px 16px; background: #007bff; color: white;
            text-decoration: none; border-radius: 4px; font-size: 13px; transition: background 0.2s;
        }
        .popup-link:hover { background: #0056b3; }

        @media (max-width: 992px) {
            .main-container { flex-direction: column; }
            #map { width: 100%; height: 50vh; }
            .sidebar { width: 100%; height: 50vh; }
        }
        .locations-list::-webkit-scrollbar { width: 6px; }
        .locations-list::-webkit-scrollbar-track { background: #f1f1f1; }
        .locations-list::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 3px; }
        .locations-list::-webkit-scrollbar-thumb:hover { background: #a1a1a1; }

        /* Info o broju lokacija */
        .filter-info {
            font-size: 12px; color: #666; margin-top: 8px; text-align: center;
        }