body{margin:0;background:#f0f0f0;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;height:100vh;width:100vw}.leaflet-container,main{height:100%;width:100%}.leaflet-popup-content{margin:8px}.rating-container{margin-top:8px;text-align:center}.stars{display:flex;justify-content:center;gap:2px}.stars button{background:none;border:none;cursor:pointer;font-size:24px;padding:0 2px;transition:transform .2s ease}.stars button:hover{transform:scale(1.1)}.stars button:disabled{cursor:default;opacity:.7}.stars button.loading{animation:pulse 1s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:.7}}header{background:linear-gradient(180deg,rgba(0,0,0,.4) 0,transparent)}.header-logo,header{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.header-logo{margin:0;background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));border-radius:12px;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 4px 24px rgba(0,0,0,.1);transition:all .2s ease}.header-logo:hover{transform:translateY(-1px);background:linear-gradient(135deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,.1));box-shadow:0 6px 24px rgba(0,0,0,.15)}.header-logo:active{transform:translateY(0);box-shadow:0 4px 24px rgba(0,0,0,.1)}.header-logo-text{display:block;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2);font-size:1.75rem;font-weight:800;letter-spacing:-.5px;background:linear-gradient(90deg,#fff,#e0e0e0);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-family:Inter,system-ui,-apple-system,sans-serif}.location-button{position:relative;padding:12px 24px;background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(0,123,255,.2);transition:all .2s ease;border:1px solid hsla(0,0%,100%,.1)}.location-button:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,123,255,.3);background:linear-gradient(135deg,#08f,#06c)}.location-button:active{transform:translateY(0);box-shadow:0 2px 8px rgba(0,123,255,.2)}.sidebar-logo{background:linear-gradient(135deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.05));border-radius:12px;border:1px solid hsla(0,0%,100%,.1);box-shadow:0 4px 24px rgba(0,0,0,.1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all .2s ease;padding:10px}.sidebar-logo:hover{transform:translateY(-1px);background:linear-gradient(135deg,hsla(0,0%,100%,.15),hsla(0,0%,100%,.1));box-shadow:0 6px 24px rgba(0,0,0,.15)}.sidebar-logo:active{transform:translateY(0);box-shadow:0 4px 24px rgba(0,0,0,.1)}.breadcrumbs{position:absolute;top:10px;left:300px;z-index:1000;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 16px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.breadcrumb-list{list-style:none;margin:0;padding:0;font-size:14px}.breadcrumb-item,.breadcrumb-list{display:flex;align-items:center}.breadcrumb-link{color:#007bff;text-decoration:none;transition:color .2s ease}.breadcrumb-link:hover{color:#0056b3;text-decoration:underline}.breadcrumb-current{color:#333;font-weight:500}.breadcrumb-separator{margin:0 8px;color:#666}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.leaflet-container{width:100%!important;height:100vh!important;position:relative}@media (max-width:768px){aside[role=complementary]{width:100vw;height:100vh;left:-100vw;transition:left .3s ease;z-index:2000;position:fixed}aside[role=complementary].open{left:0}.leaflet-container{width:100%!important;margin-left:0!important;height:100vh!important}.mobile-search{left:50%!important;transform:translateX(-50%)!important;position:fixed;top:20px;z-index:1000}.breadcrumbs{left:20px;right:20px;top:80px;position:fixed}body,html{overflow-x:hidden}html{height:100%}}.cluster-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important}.cluster-emoji{font-size:24px!important;line-height:1!important}