/* tt-map.css */ .tt-map-wrapper { position: relative; width: 100%; height: 100%; background-color: #f0f0f0; /* Placeholder color while map loads */ } .tt-map-container { width: 100%; height: 100%; z-index: 1; } .tt-map-loader { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1001; background: rgba(255, 255, 255, 0.7); display: flex; justify-content: center; align-items: center; } /* Slot for top controls like filters */ .tt-map-top-controls { position: absolute; top: 10px; left: 10px; z-index: 401; } /* Slot for bottom controls like legend */ .tt-map-bottom-controls { position: absolute; bottom: 30px; right: 10px; z-index: 401; } /* Container for built-in map buttons (zoom, layer toggle) */ .tt-map-builtin-controls { position: absolute; top: 60px; /* Pushed down to make space for the search bar */ right: 10px; z-index: 401; display: flex; gap: 0.5rem; flex-direction: column; align-items: flex-end; } .tt-map-builtin-controls .btn { min-width: 120px; text-align: left; box-shadow: 0 1px 5px rgba(0,0,0,0.4); } .tt-map-settings-panel { background-color: white; padding: 0.75rem; border-radius: 5px; box-shadow: 0 2px 8px rgba(0,0,0,0.25); border: 1px solid rgba(0,0,0,0.1); } .tt-map-settings-panel .btn-group .btn { font-size: 0.8rem; } .popup-loader { text-align: center; padding: 10px; } /* --- NEW MAP SEARCH STYLES --- */ .tt-map-search-wrapper { position: absolute; top: 10px; right: 10px; z-index: 402; width: 320px; max-width: calc(100% - 20px); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } .tt-map-search-input-container { position: relative; display: flex; align-items: center; background-color: rgba(255, 255, 255, 0.9); border: 1px solid rgba(0,0,0,0.1); border-radius: 6px; box-shadow: 0 2px 8px rgba(0,0,0,0.25); padding: 0.25rem; height: 42px; } .tt-map-search-input { width: 100%; height: 100%; padding: 0 30px 0 32px; border: none; background-color: transparent; font-size: 14px; outline: none; } .tt-map-search-input-container .search-icon { position: absolute; left: 12px; color: #888; pointer-events: none; } .tt-map-search-input-container .clear-icon { position: absolute; right: 8px; background: none; border: none; cursor: pointer; color: #aaa; font-size: 16px; padding: 5px; } .tt-map-search-input-container .clear-icon:hover { color: #333; } .tt-map-search-results { list-style: none; padding: 0; margin: 8px 0 0 0; background-color: #fff; border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.15); max-height: 300px; overflow-y: auto; border: 1px solid #ddd; } .tt-map-search-results .result-item, .tt-map-search-results .result-item-info { padding: 10px 15px; cursor: pointer; display: flex; align-items: center; gap: 10px; transition: background-color 0.15s; font-size: 14px; } .tt-map-search-results .result-item:hover { background-color: #f5f5f5; } .tt-map-search-results .result-item:not(:last-child) { border-bottom: 1px solid #eee; } .tt-map-search-results .result-item i { color: #6c757d; } .tt-map-search-results .result-item-info { color: #6c757d; cursor: default; } /* Fade animation for the results list */ .fade-enter-active, .fade-leave-active { transition: opacity 0.2s ease; } .fade-enter, .fade-leave-to { opacity: 0; } /* --- NEW CUSTOM MARKER STYLE --- */ .custom-map-marker { background-color: rgba(0, 123, 255, 0.9); width: 24px; height: 24px; border-radius: 50%; border: 2px solid white; box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.9); display: flex; justify-content: center; align-items: center; animation: pulse 1.5s infinite; } .custom-map-marker i { color: white; font-size: 12px; } @keyframes pulse { 0% { transform: scale(0.9); box-shadow: 0 0 0 0 rgba(0, 123, 255, 0.7); } 70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(0, 123, 255, 0); } 100% { transform: scale(0.9); box-shadow: 0 0 0 0 rgba(0, 123, 255, 0); } }