.project-geo-viewer-container{width:100%!important;height:100%!important}.project-geo-viewer-modal{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;z-index:50!important;overflow:hidden!important}.dark-popup .leaflet-popup-content-wrapper{padding:0!important;border-radius:12px!important;box-shadow:0 20px 40px #000c,0 8px 16px #0006!important;background:transparent!important;border:1px solid #374151!important;overflow:hidden!important}.dark-popup .leaflet-popup-content{margin:0!important;width:400px!important;min-width:400px!important;max-width:400px!important}.leaflet-popup-content-wrapper,.custom-popup.dark-popup .leaflet-popup-content-wrapper{width:400px!important;min-width:400px!important;max-width:400px!important;box-sizing:border-box!important}.dark-popup .leaflet-popup-content,.custom-popup .leaflet-popup-content{width:400px!important;min-width:400px!important;max-width:400px!important;box-sizing:border-box!important;overflow:visible!important}.dark-popup .leaflet-popup-content *,.custom-popup .leaflet-popup-content *{max-width:100%!important;box-sizing:border-box!important;word-wrap:break-word!important;overflow-wrap:break-word!important}.dark-popup .leaflet-popup-tip{background:#1f2937!important;border:1px solid #374151!important;box-shadow:0 4px 8px #0006!important}.dark-popup .leaflet-popup-close-button{color:#9ca3af!important;font-size:18px!important;font-weight:700!important;padding:6px!important;right:6px!important;top:6px!important;width:28px!important;height:28px!important;background:#000000b3!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .3s ease!important;border:1px solid rgba(255,255,255,.2)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;z-index:1000!important;box-shadow:0 2px 8px #00000080!important}.dark-popup .leaflet-popup-close-button:hover{color:#fff!important;background:#dc2626e6!important;border-color:#fff6!important;transform:scale(1.1)!important;box-shadow:0 4px 12px #dc262666!important}.custom-cluster-icon{background:transparent!important;border:none!important}.marker-cluster{transition:all .3s cubic-bezier(.4,0,.2,1)!important}.marker-cluster:hover{transform:scale(1.05)!important;filter:brightness(1.1)!important}.custom-marker-icon{background:transparent!important;border:none!important;cursor:pointer!important;z-index:1000!important}.custom-marker-icon>div{pointer-events:all!important;cursor:pointer!important;transition:all .2s ease!important}.marker-cluster-spiderfy .custom-marker-icon{z-index:1002!important}.marker-cluster-spiderfy{transition:all .4s ease-in-out!important}.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{transition:all .3s ease-out!important}.leaflet-control-zoom a{background:#1f2937e6!important;border-color:#4b5563!important;color:#e5e7eb!important}.leaflet-control-zoom a:hover{background:#374151f2!important;border-color:#6b7280!important;color:#f9fafb!important}.leaflet-control-attribution{background:#1f2937cc!important;color:#9ca3af!important;border-color:#4b5563!important}@media (max-width: 768px){.dark-popup .leaflet-popup-content-wrapper{width:90vw!important;max-width:400px!important;min-width:250px!important;box-sizing:border-box!important}.dark-popup .leaflet-popup-content,.custom-popup .leaflet-popup-content{width:90vw!important;max-width:400px!important;min-width:250px!important;box-sizing:border-box!important;overflow:visible!important}.dark-popup .leaflet-popup-content *,.custom-popup .leaflet-popup-content *{max-width:100%!important;box-sizing:border-box!important;word-wrap:break-word!important;overflow-wrap:break-word!important}}.marker-tooltip{background:#1f2937f2!important;border:1px solid #4b5563!important;border-radius:6px!important;color:#f9fafb!important;font-size:12px!important;font-weight:500!important;padding:4px 8px!important;box-shadow:0 4px 12px #0006!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important}.marker-tooltip:before{border-top-color:#1f2937f2!important}.custom-map-controls{background:var(--theme-surface)!important;border:1px solid var(--theme-border)!important;border-radius:8px!important;padding:8px!important;box-shadow:0 8px 25px var(--theme-shadow)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important}.control-group{display:flex!important;flex-direction:column!important;gap:6px!important}.control-btn{width:36px!important;height:36px!important;background:var(--theme-map-button-bg)!important;border:2px solid var(--theme-map-button-border)!important;border-radius:6px!important;color:var(--theme-map-button-text)!important;cursor:pointer!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;text-shadow:0 0 6px rgba(var(--theme-map-button-glow),.6)!important;box-shadow:0 0 8px rgba(var(--theme-map-button-glow),.3),0 3px 12px #0006,inset 0 1px #ffffff1a!important}.control-btn:hover{background:var(--theme-map-button-bg-hover)!important;border-color:var(--theme-map-button-border-hover)!important;color:var(--theme-map-button-text-hover)!important;transform:scale(1.1)!important;text-shadow:0 0 10px rgba(var(--theme-map-button-glow-intense),1)!important;box-shadow:0 0 15px rgba(var(--theme-map-button-glow-intense),.6),0 0 25px rgba(var(--theme-map-button-glow),.4),0 6px 20px #0009,inset 0 2px #fff3!important}.control-btn:active{transform:scale(.95)!important;background:var(--theme-map-button-bg-hover)!important;box-shadow:0 0 10px rgba(var(--theme-map-button-glow),.8),0 2px 8px #000c,inset 0 2px 4px #0000004d!important}.control-btn svg{width:16px!important;height:16px!important;pointer-events:none!important}.user-location-marker{background:transparent!important;border:none!important;animation:pulse-location 2s infinite!important}@keyframes pulse-location{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.custom-cluster-container{background:transparent!important;border:none!important}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.leaflet-container{font-family:inherit!important}.leaflet-control-zoom{border:none!important;border-radius:8px!important;box-shadow:0 4px 12px #0000001a!important}.leaflet-control-zoom a{background-color:#fff!important;border:1px solid #e5e7eb!important;color:#374151!important;font-size:18px!important;line-height:28px!important;transition:all .2s ease!important}.leaflet-control-zoom a:hover{background-color:#f9fafb!important;color:#111827!important}.custom-cluster-container div{transition:transform .3s ease!important}.custom-cluster-container:hover div{transform:scale(1.1)!important}.custom-marker-icon .marker-container{transition:all .3s cubic-bezier(.4,0,.2,1)!important}.custom-marker-icon:hover .marker-container{transform:scale(1.15)!important}.custom-cluster-icon .cluster-container{transition:all .3s cubic-bezier(.4,0,.2,1)!important}.custom-cluster-icon:hover .cluster-container{transform:scale(1.05)!important}.custom-marker-icon,.custom-cluster-icon{overflow:visible!important}.custom-marker-icon .marker-glow,.custom-cluster-icon .cluster-glow,.custom-cluster-icon .cluster-ring{pointer-events:none!important}.map-close-button{background:var(--theme-map-button-bg)!important;border:3px solid var(--theme-map-button-border)!important;border-radius:50%!important;padding:12px!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;box-shadow:0 0 20px rgba(var(--theme-map-button-glow),.4),0 8px 25px #0009,inset 0 1px #fff3!important;transform:scale(1)!important}.map-close-button:hover{background:#dc2626e6!important;border-color:#fff6!important;color:#fff!important;transform:scale(1.1) rotate(90deg)!important;box-shadow:0 0 30px #dc262699,0 0 50px #dc26264d,0 12px 35px #000c,inset 0 2px #ffffff4d!important}.leaflet-control-zoom{border:none!important;border-radius:8px!important;overflow:hidden!important;box-shadow:0 0 15px rgba(var(--theme-map-button-glow),.3),0 6px 20px #00000080!important}.map-info-panel,.map-legend-panel{background:var(--theme-map-button-bg)!important;border:2px solid var(--theme-map-button-border)!important;color:var(--theme-map-button-text)!important;border-radius:8px!important;padding:12px!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;box-shadow:0 0 15px rgba(var(--theme-map-button-glow),.4),0 6px 20px #00000080,inset 0 1px #ffffff1a!important}.map-legend-panel{padding:10px!important}.leaflet-control-zoom a{background:var(--theme-map-button-bg)!important;border:2px solid var(--theme-map-button-border)!important;color:var(--theme-map-button-text)!important;font-weight:700!important;font-size:18px!important;width:40px!important;height:40px!important;line-height:36px!important;text-align:center!important;display:flex!important;align-items:center!important;justify-content:center!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;text-shadow:0 0 8px rgba(var(--theme-map-button-glow),.8)!important;box-shadow:0 0 12px rgba(var(--theme-map-button-glow),.3),inset 0 1px #ffffff1a!important}.leaflet-control-zoom a:hover{background:var(--theme-map-button-bg-hover)!important;border-color:var(--theme-map-button-border-hover)!important;color:var(--theme-map-button-text-hover)!important;transform:scale(1.1)!important;text-shadow:0 0 12px rgba(var(--theme-map-button-glow-intense),1)!important;box-shadow:0 0 20px rgba(var(--theme-map-button-glow-intense),.8),0 0 35px rgba(var(--theme-map-button-glow),.4),0 8px 25px #000000b3,inset 0 2px #fff3!important}.dark-popup .leaflet-popup-close-button{color:var(--theme-map-button-text)!important;font-size:20px!important;font-weight:700!important;padding:10px!important;right:8px!important;top:8px!important;width:36px!important;height:36px!important;background:var(--theme-map-button-bg)!important;border:2px solid var(--theme-map-button-border)!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;text-shadow:0 0 6px rgba(var(--theme-map-button-glow),.8)!important;box-shadow:0 0 10px rgba(var(--theme-map-button-glow),.3),0 4px 15px #00000080!important}.dark-popup .leaflet-popup-close-button:hover{color:#fff!important;background:#dc2626e6!important;border-color:#fff6!important;transform:scale(1.15) rotate(90deg)!important;text-shadow:0 0 10px rgba(220,38,38,1)!important;box-shadow:0 0 15px #dc2626cc,0 0 25px #dc262666,0 6px 20px #000000b3!important}.leaflet-control-attribution{background:var(--theme-map-button-bg)!important;border:1px solid var(--theme-map-button-border)!important;color:var(--theme-map-button-text)!important;border-radius:4px!important;padding:2px 6px!important;font-size:11px!important;-webkit-backdrop-filter:blur(8px)!important;backdrop-filter:blur(8px)!important;box-shadow:0 0 8px rgba(var(--theme-map-button-glow),.2),0 2px 8px #0000004d!important}.leaflet-control-attribution a{color:var(--theme-map-button-text)!important;text-decoration:none!important;transition:color .2s ease!important}.leaflet-control-attribution a:hover{color:var(--theme-map-button-text-hover)!important;text-shadow:0 0 4px rgba(var(--theme-map-button-glow),.8)!important}.glow-divider{background:linear-gradient(90deg,transparent,var(--theme-text-white-30),var(--theme-text-white-80),var(--theme-text-white-30),transparent);animation:glow-pulse 3s ease-in-out infinite alternate;box-shadow:0 0 10px var(--theme-text-white-30),0 0 20px var(--theme-text-white-20),0 0 30px var(--theme-text-white-10);min-height:2px;position:relative;z-index:10;will-change:opacity,transform;transform:translateZ(0);backface-visibility:hidden}@keyframes glow-pulse{0%{opacity:.4;transform:scaleX(.95)}50%{opacity:.9;transform:scaleX(1)}to{opacity:.6;transform:scaleX(.98)}}.glow-divider.enhanced{background:linear-gradient(90deg,transparent,var(--theme-primary),var(--theme-secondary),var(--theme-accent),var(--theme-primary),transparent);animation:enhanced-glow-pulse 3s ease-in-out infinite alternate;box-shadow:0 0 20px var(--theme-primary),0 0 40px var(--theme-secondary),0 0 60px var(--theme-accent);min-height:2px;position:relative;z-index:10;will-change:opacity,transform;transform:translateZ(0);backface-visibility:hidden}@keyframes enhanced-glow-pulse{0%{opacity:.6;transform:scaleX(.95)}50%{opacity:1;transform:scaleX(1.02)}to{opacity:.8;transform:scaleX(.98)}}@keyframes float{0%,to{transform:translate(-50%,-50%) translateY(0) scale(1)}50%{transform:translate(-50%,-50%) translateY(-6px) scale(1.02)}}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #3b82f64d}50%{box-shadow:0 0 15px #3b82f699}}.word-cloud-badge{position:relative;z-index:1;display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis}.word-cloud-badge:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(45deg,transparent,rgba(255,255,255,.1),transparent);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;opacity:0;transition:opacity .3s ease}.word-cloud-badge:hover:before{opacity:1}.project-detail-container::-webkit-scrollbar{width:6px;opacity:0;-webkit-transition:opacity .2s ease-in-out;transition:opacity .2s ease-in-out}.project-detail-container::-webkit-scrollbar-track{background:#0000001a;border-radius:3px}.project-detail-container::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px;-webkit-transition:background .2s ease-in-out;transition:background .2s ease-in-out}.project-detail-container:hover::-webkit-scrollbar{opacity:1}.project-detail-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}.project-detail-container::-webkit-scrollbar-corner{background:transparent}.project-detail-container{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) rgba(0,0,0,.1)}@media (max-width: 768px){.project-detail-container::-webkit-scrollbar{width:4px;opacity:.6}.project-detail-container::-webkit-scrollbar-thumb{background:#fff6;border-radius:2px}.project-detail-container::-webkit-scrollbar-track{background:#0000001a;border-radius:2px}}@keyframes fadeInImage{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}.carousel-thumbnail{transition:all .4s cubic-bezier(.4,0,.2,1)}.carousel-thumbnail:hover{transform:scale(1.08)}.carousel-thumbnail.active{transform:scale(1.05);box-shadow:0 8px 25px #3b82f666}
