.map-container{width:100%;height:100%;position:relative;border-radius:.5rem;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.1)}.map-container.fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;border-radius:0}.mini-map-container{width:100%;height:200px;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.1)}.map-container .price-marker{background:transparent}.map-container .price-bubble{background-color:#1877F2;border-radius:16px;padding:4px 10px;font-size:.875rem;white-space:nowrap;box-shadow:0 2px 4px rgba(0,0,0,.2);position:relative;display:inline-block;transition:transform .2s ease}.map-container .price-bubble:hover{transform:scale(1.05);z-index:1000;background-color:#166FE5}.map-container .price-bubble:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #1877f2}.map-container .price-bubble:hover:after{border-top-color:#166FE5}.map-container .cluster-bubble{background-color:#1877F2;color:white;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .2s ease}.map-container .cluster-bubble:hover{transform:scale(1.1);background-color:#166FE5}.map-container .leaflet-popup-content-wrapper{padding:0;border-radius:.5rem;box-shadow:0 4px 12px rgba(0,0,0,.15);overflow:hidden}.map-container .leaflet-popup-content{margin:0;width:280px!important}.map-container .map-listing-popup{padding:0}.map-container .popup-actions{display:flex;justify-content:flex-end;padding:8px 12px;background-color:#f8f9fa;border-top:1px solid #e9ecef}.map-container .listing-card,.map-container .listing-card-compact{cursor:pointer;transition:transform .2s ease;border-radius:.5rem;overflow:hidden;background-color:white}.map-container .listing-card-compact{display:flex;flex-direction:column}.map-container .listing-card-image{position:relative;overflow:hidden;height:160px}.map-container .listing-card-compact .listing-card-image{height:140px}.map-container .listing-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.map-container .listing-card-compact:hover .listing-card-image img,.map-container .listing-card:hover .listing-card-image img{transform:scale(1.05)}.map-container .urgent-badge{position:absolute;top:8px;right:8px;background-color:#ef4444;color:white;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:uppercase}.map-container .listing-card-content{padding:12px}.map-container .listing-card-title{margin:0 0 8px;font-size:1rem;font-weight:600;color:#111827;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.map-container .listing-card-compact .listing-card-title{font-size:.875rem;-webkit-line-clamp:1;line-clamp:1}.map-container .listing-card-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.map-container .listing-card-price{font-weight:700;font-size:1.125rem;color:#1877F2}.map-container .listing-card-compact .listing-card-price{font-size:1rem;margin-bottom:4px}.map-container .listing-card-category{display:flex;align-items:center;gap:4px;color:#6b7280;font-size:.875rem}.map-container .listing-card-description{font-size:.875rem;color:#4b5563;line-height:1.5;margin-bottom:8px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.map-container .listing-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;color:#6b7280}.map-container .listing-card-location{display:flex;align-items:center;gap:4px}.map-container .listing-card-date{font-size:.75rem}.map-container .map-loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,.7);display:flex;justify-content:center;align-items:center;z-index:10}.map-container .map-loading-spinner{width:40px;height:40px;border-radius:50%;border:3px solid rgba(0,0,0,.1);border-top-color:#1877f2;animation:map-spin 1s ease-in-out infinite;margin-bottom:12px}@keyframes map-spin{to{transform:rotate(1turn)}}.map-container .map-error-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:white;padding:1.5rem;border-radius:.5rem;box-shadow:0 4px 12px rgba(0,0,0,.15);text-align:center;z-index:1000;max-width:80%}.map-container .map-error-icon{font-size:2rem;margin-bottom:1rem}.map-container .map-error-message{margin-bottom:1rem;color:#4b5563}.map-container .map-no-results{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:white;padding:1.5rem;border-radius:.5rem;box-shadow:0 4px 12px rgba(0,0,0,.15);text-align:center;z-index:500;max-width:80%}.map-container .map-no-results-hint{font-size:.875rem;color:#6b7280;margin-top:.5rem}.map-container .user-location-marker{position:relative}.map-container .location-dot{width:12px;height:12px;background-color:#3b82f6;border:2px solid white;border-radius:50%;box-shadow:0 0 0 2px rgba(59,130,246,.5)}.map-container .accuracy-circle{position:absolute;border-radius:50%;background-color:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.3)}.map-container .search-radius-indicator{position:absolute;bottom:24px;right:24px;z-index:500}.map-container .radius-info{background-color:white;padding:6px 12px;border-radius:4px;font-size:.875rem;font-weight:500;box-shadow:0 2px 4px rgba(0,0,0,.1);color:#4b5563}.map-container .map-controls{position:absolute;right:15px;top:15px;display:flex;flex-direction:column;gap:10px;z-index:5}.map-container .map-control-button{width:44px;height:44px;border:none;box-shadow:0 2px 6px rgba(0,0,0,.15);color:#555;font-size:20px}.map-container .map-control-button:hover{background-color:#f0f7ff;transform:scale(1.05)}.map-container .map-control-button.active:hover{background-color:#0c5ec7}.map-container .map-control-tooltip{position:absolute;right:60px;background-color:rgba(0,0,0,.75);color:white;padding:5px 10px;border-radius:4px;font-size:12px;pointer-events:none;opacity:0;transition:opacity .2s;white-space:nowrap}.map-container .map-control-button:hover+.map-control-tooltip{opacity:1}.map-container .excluded-zones-list{position:absolute;bottom:20px;right:20px;z-index:5;background-color:white;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15);padding:12px;max-width:280px;max-height:200px;overflow-y:auto}.map-container .excluded-zone-item{display:flex;justify-content:space-between;align-items:center;padding:8px;border-radius:4px;margin-bottom:6px;background-color:#f8f8f8;transition:background-color .2s}.map-container .excluded-zone-item:hover{background-color:#e9f2fe}.map-container .excluded-zone-name{font-size:14px;flex-grow:1;margin-right:10px}.map-container .excluded-zone-delete{color:#ff5252;cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center}.map-container .excluded-zone-delete:hover{background-color:#ffeeee}.map-container .drawing-point{width:12px;height:12px;border-radius:50%;background-color:#1877F2;border:2px solid white;box-shadow:0 1px 3px rgba(0,0,0,.3)}.map-container .excluded-zone{stroke:#1877F2;stroke-width:2;stroke-opacity:.8;fill:#1877F2;fill-opacity:.15}.map-container .mapboxgl-ctrl-attrib,.map-container .mapboxgl-ctrl-logo{display:none!important}.map-container .mapboxgl-popup-content{padding:0;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.15);overflow:hidden}.map-container .popup-body{padding:12px}.map-container .popup-close{position:absolute;top:8px;right:8px;z-index:1;cursor:pointer;background:white;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.2)}.map-container .popup-close svg{width:14px;height:14px}.map-container .popup-thumb{width:100%;height:120px;background-size:cover;background-position:50%;position:relative}.map-container .popup-price{position:absolute;bottom:10px;left:10px;background-color:#1877F2;color:white;border-radius:4px;padding:4px 8px;font-weight:700;font-size:14px}.map-container .popup-title{font-weight:700;margin:8px 0;font-size:14px}.map-container .popup-location{color:#666;font-size:12px;margin-bottom:5px}.map-container .popup-features{display:flex;gap:10px;margin-top:8px;font-size:12px;color:#444}.map-container .cluster-popup-container{width:280px;max-height:320px;padding:10px}.map-container .cluster-popup-header{margin-bottom:10px;padding-bottom:5px;border-bottom:1px solid #eee;font-weight:700;color:#1877F2}.map-container .cluster-popup-items{display:grid;grid-template-columns:1fr 1fr;gap:8px}.map-container .cluster-popup-item{background:#f9f9f9;border-radius:4px;padding:8px;cursor:pointer;transition:background-color .2s}.map-container .cluster-popup-item:hover{background:#e9f2fe}.map-container .cluster-popup-price{font-weight:700;color:#1877F2}.map-container .cluster-popup-title{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.map-container .drawing-instruction{position:absolute;top:70px;left:50%;transform:translateX(-50%);background-color:rgba(255,255,255,.9);padding:10px 16px;border-radius:20px;box-shadow:0 2px 8px rgba(0,0,0,.15);z-index:10;font-size:14px;color:#1877F2;font-weight:500;pointer-events:none;display:flex;align-items:center;gap:8px}.map-container .leaflet-container{z-index:0}.map-container .map-filters-container{z-index:1000!important}.map-container .map-header{z-index:1100!important}.map-container .map-controls{z-index:950!important}.map-container .leaflet-popup{z-index:900!important}.map-container .leaflet-marker-icon,.map-container .leaflet-tooltip{z-index:800!important}.map-container .leaflet-control{z-index:900!important}.map-container .leaflet-interactive{cursor:pointer}.map-container .cluster-icon,.map-container .price-bubble{background-color:#1877F2!important;color:white;border-radius:50%;text-align:center;display:flex;align-items:center;justify-content:center;font-weight:600;box-shadow:0 2px 5px rgba(0,0,0,.2);border:2px solid white}.map-container .map-control-button{background-color:white;border:1px solid #e5e7eb;color:#4b5563;width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px rgba(0,0,0,.1);cursor:pointer;margin-bottom:8px;transition:all .2s ease}.map-container .map-control-button:hover{background-color:#f9fafb;color:#1877F2}.map-container .map-control-button.active{background-color:#1877F2;color:white;border-color:#1877F2}.map-container .map-control-button.active:hover{background-color:#1265d3}.map-container .cluster-popup-container{min-width:250px;max-width:350px;max-height:400px;overflow-y:auto}.map-container .listing-popup-container{min-width:250px;max-width:300px}.map-container .leaflet-popup-content-wrapper{border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.15)}.map-container .leaflet-popup-content{margin:8px 12px}.map-container .drawing-line{stroke-dasharray:5,5;animation:map-dash 20s linear infinite}@keyframes map-dash{to{stroke-dashoffset:1000}}.map-container .drawing-point{animation:map-pulse 2s infinite}@keyframes map-pulse{0%{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}to{opacity:.7;transform:scale(1)}}.map-container .leaflet-tooltip{background-color:white;border:1px solid #e5e7eb;box-shadow:0 1px 3px rgba(0,0,0,.1);color:#4b5563;border-radius:4px;font-size:12px;padding:4px 8px}.map-container .cluster-icon,.map-container .price-bubble{box-shadow:0 2px 5px rgba(0,0,0,.2);-webkit-box-shadow:0 2px 5px rgba(0,0,0,.2);-moz-box-shadow:0 2px 5px rgba(0,0,0,.2);display:flex;-webkit-display:flex;-moz-display:flex;align-items:center;-webkit-align-items:center;-moz-align-items:center;justify-content:center;-webkit-justify-content:center;-moz-justify-content:center}.map-container .map-wrapper{height:100%;width:100%;position:relative}.map-container .drawing-mode{cursor:crosshair!important;position:relative}.map-container .drawing-mode:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;border:3px solid #ef4444;box-shadow:inset 0 0 20px rgba(239,68,68,.2);z-index:1000}.map-container .drawing-point{animation:map-pulseDraw 1.5s infinite;fill:#ef4444!important;fill-opacity:.8!important;stroke:white!important;stroke-width:2!important;r:6!important}.map-container .drawing-point:first-child{fill:#2563eb!important;r:8!important;stroke-width:3!important;stroke:white!important;animation:none!important;filter:drop-shadow(0 0 5px rgba(37,99,235,.5))}.map-container .drawing-point:last-child{r:6!important;animation:map-pulseDraw .8s infinite!important}@keyframes map-pulseDraw{0%{transform:scale(1);opacity:1;stroke-width:2}50%{transform:scale(1.5);opacity:.8;stroke-width:3}to{transform:scale(1);opacity:1;stroke-width:2}}.map-container .drawing-line{stroke:#ef4444!important;stroke-width:3!important;stroke-dasharray:10,7!important;animation:map-drawDash 1s linear infinite!important;stroke-linecap:round!important;filter:drop-shadow(0 0 3px rgba(239,68,68,.3))}@keyframes map-drawDash{to{stroke-dashoffset:-20}}.map-container .temporary-polygon{fill:rgba(239,68,68,.2)!important;stroke:#ef4444!important;stroke-width:2!important;stroke-dasharray:5,5!important;pointer-events:none!important}.map-container .excluded-zone{fill:rgba(239,68,68,.2)!important;stroke:#ef4444!important;stroke-width:3!important;stroke-opacity:.9!important;stroke-dasharray:none!important;transition:all .3s ease!important;filter:drop-shadow(0 0 2px rgba(0,0,0,.2))}.map-container .excluded-zone:hover{fill:rgba(239,68,68,.3)!important;stroke-width:4!important;cursor:pointer!important;filter:drop-shadow(0 0 5px rgba(239,68,68,.5))}.map-container .leaflet-drawing-instruction{position:absolute!important;top:70px!important;left:50%!important;transform:translateX(-50%)!important;z-index:1000!important;background-color:rgba(255,255,255,.9)!important;padding:8px 16px!important;border-radius:20px!important;box-shadow:0 2px 10px rgba(0,0,0,.2)!important;border:1px solid #ef4444!important}@keyframes highlight-pulse{0%{box-shadow:0 0 0 0 rgba(24,119,242,.7)}70%{box-shadow:0 0 0 10px rgba(24,119,242,0)}to{box-shadow:0 0 0 0 rgba(24,119,242,0)}}.highlight-pulse{animation:highlight-pulse 1.5s ease-out;z-index:5;position:relative}#france-map a[href="https://simplemaps.com"],#france-map a[title="For evaluation use only."]{display:none!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;height:0!important;width:0!important;position:absolute!important;clip:rect(1px,1px,1px,1px)!important;overflow:hidden!important}