body{margin:0;padding:0;overflow:hidden}.explore-container{display:flex;height:100vh;height:100dvh;flex-direction:column}.explore-content{position:relative;flex:1;overflow:hidden}.explore-sidebar{position:absolute;top:var(--space-lg);left:var(--space-lg);bottom:60px;width:400px;background:var(--color-background);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);display:flex;flex-direction:column;overflow:hidden;z-index:5;box-shadow:var(--shadow-lg);transform:translate(0);transition:transform .3s ease}.sidebar-header{padding:var(--space-2xl);border-bottom:1px solid var(--color-border-light);background:var(--color-background)}.sidebar-stats-desktop{text-align:left;margin-bottom:var(--space-xl)}.sidebar-section-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-sm)}.sidebar-section-divider{display:none}.sidebar-app-stores-desktop{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}.app-store-btn-small{display:inline-flex;align-items:center;text-decoration:none;background:none;border:none;padding:0;margin:0}.app-store-btn-small:focus{outline:none}.sidebar-stats{text-align:center;margin-bottom:var(--space-xl)}.stories-in-view{margin-bottom:var(--space-lg)}.stories-count{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1}.stories-label{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-top:var(--space-sm)}.explore-section-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-md);padding:0 var(--space-lg);border-bottom:1px solid var(--color-border-light);padding-bottom:var(--space-md)}.app-store-links{display:flex;gap:var(--space-md)}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-lg)}.tour-item{background:var(--color-background);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);cursor:pointer;transition:all .2s ease}.tour-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.tour-image{width:100%!important;max-width:100%!important;height:200px!important;object-fit:cover!important;border-radius:var(--radius-md, 8px);margin-bottom:var(--space-md, 16px);display:block!important;overflow:hidden}.tour-item .tour-image{width:100%!important;height:200px!important;object-fit:cover!important;object-position:center center!important}.tour-location{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs)}.tour-title{font-family:var(--font-family-serif);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.3}.explore-map{position:absolute;inset:0}.map-search-container{position:absolute;top:var(--space-lg);left:450px;right:var(--space-lg);z-index:10;display:flex;justify-content:center;transition:opacity .3s ease,transform .3s ease}.map-search-wrapper{position:relative;width:100%;max-width:400px}.list-visible .map-search-container{opacity:0;transform:translateY(-20px);pointer-events:none}@media (max-width: 768px){.map-search-container{left:calc(var(--space-md) + env(safe-area-inset-left,0px));right:calc(var(--space-md) + env(safe-area-inset-right,0px));top:calc(var(--space-md) + env(safe-area-inset-top,0px))}.map-search-bar{max-width:none}}.map-search-bar{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-md) var(--space-lg);padding-right:50px;font-size:var(--font-size-base);width:100%;max-width:400px;box-shadow:var(--shadow-lg);outline:none;transition:all .2s ease}.map-search-bar:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #ff8a801a,var(--shadow-lg)}.map-search-bar::placeholder{color:var(--color-text-light)}.map-search-bar.searching{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="%23999"><circle cx="12" cy="12" r="3"><animateTransform attributeName="transform" type="rotate" dur="1s" values="0 12 12;360 12 12" repeatCount="indefinite"/></circle></svg>');background-repeat:no-repeat;background-position:right 16px center;background-size:16px}.search-clear-btn{position:absolute;right:16px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;border-radius:50%;color:var(--color-text-light);transition:all .2s ease;display:none}.search-clear-btn:hover{background-color:var(--color-background-light);color:var(--color-text-primary)}.search-clear-btn.visible{display:block}.search-suggestions{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-xl) var(--radius-xl);box-shadow:var(--shadow-lg);max-height:300px;overflow-y:auto;z-index:20;display:none}.search-suggestions.visible{display:block}.suggestion-item{padding:var(--space-md) var(--space-lg);cursor:pointer;border-bottom:1px solid var(--color-border-light);transition:background-color .15s ease}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover,.suggestion-item.highlighted{background-color:var(--color-background-light)}.suggestion-item.selected{background-color:var(--color-primary);color:#fff}.suggestion-name{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:2px}.suggestion-item.selected .suggestion-name{color:#fff}.suggestion-details{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.suggestion-item.selected .suggestion-details{color:#fffc}.no-suggestions{padding:var(--space-md) var(--space-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);text-align:center}.map-floating-ui{position:absolute;bottom:var(--space-lg);left:var(--space-lg);right:var(--space-lg);z-index:10;display:flex;flex-direction:column;gap:var(--space-md);align-items:center;transition:transform .3s ease;pointer-events:none}.map-floating-ui>*{pointer-events:auto}.map-floating-ui.hidden{transform:translateY(100%)}.stories-counter-floating{background:var(--color-background);border:1px solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-lg);text-align:left;max-width:400px}.stories-title-main{font-family:var(--font-family-serif);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-md);line-height:1.2}.stories-title-caption{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-secondary);margin-bottom:var(--space-lg);line-height:1.4}.stories-title-secondary{font-family:var(--font-family-serif);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-lg);line-height:1.3}.places-in-view-row{display:flex;align-items:baseline;gap:var(--space-md);margin-bottom:var(--space-sm)}.places-label{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.stories-count-number{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-primary);line-height:1}.stories-count-number.loading{animation:pulse 1.5s ease-in-out infinite}.loading-dots{color:var(--color-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:1;display:inline-block;min-width:1.5em;text-align:left}.loading-dots:after{content:"...";animation:loading-dots 1.5s infinite}@keyframes loading-dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.stories-count-zoom{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-primary);font-style:italic}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.stories-label-floating{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-style:italic;margin-top:var(--space-xs)}.map-actions{display:flex;gap:var(--space-md);align-items:center}.list-toggle-btn{background:var(--color-background);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);box-shadow:var(--shadow-lg);cursor:pointer;transition:all .2s ease;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-primary);display:none;align-items:center;gap:var(--space-sm)}.list-toggle-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}#map{width:100%;height:100%}.nav-mobile-toggle{display:none;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-sm)}.map-loading{display:flex;align-items:center;justify-content:center;height:100%;background-color:var(--color-background-light);color:var(--color-text-secondary)}.map-error{display:flex;align-items:center;justify-content:center;height:100%;background-color:var(--color-background-light);color:var(--color-text-secondary);text-align:center;padding:var(--space-lg)}@media (min-width: 769px){.map-floating-ui{display:none}.sidebar-stats-desktop{display:block}.sidebar-stats-desktop .stories-label-floating{display:none}.sidebar-close-btn{display:none!important}.sidebar-section-divider{display:block}}@media (max-width: 768px){.nav-desktop{display:none}.nav-mobile-toggle{display:block}.explore-sidebar{inset:0;width:auto;border-radius:0;box-shadow:none;border:none;transform:translateY(100%);transition:transform .3s ease;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh}.explore-sidebar.visible{transform:translateY(0)}.list-toggle-btn{display:flex}.map-floating-ui{bottom:var(--space-md);left:var(--space-md);right:var(--space-md);display:flex;flex-direction:column}.map-floating-ui .stories-counter-floating{display:none}.map-floating-ui.zoom-visible .stories-counter-floating{display:block}.map-floating-ui .map-actions{display:flex}.map-floating-ui .stories-label-floating{display:none}.stories-counter-floating.mobile-simplified{padding:var(--space-md) var(--space-lg);text-align:center}.stories-counter-floating.mobile-simplified .stories-title-main,.stories-counter-floating.mobile-simplified .stories-title-caption,.stories-counter-floating.mobile-simplified .places-in-view-row,.stories-counter-floating.mobile-simplified .stories-label-floating{display:none}.mobile-stories-simple{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-secondary);line-height:1.2}.mobile-stories-simple .stories-count-number{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-primary)}.mobile-stories-simple{display:none}.stories-counter-floating.mobile-simplified .mobile-stories-simple{display:block}.sidebar-stats-desktop,.sidebar-app-stores-desktop,.sidebar-section-divider{display:none}.sidebar-header:after{content:"Featured Walking Tours";display:block;font-family:var(--font-family-serif);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin:0;margin-top:var(--space-lg)}.sidebar-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border-light);background:var(--color-background);position:sticky;top:0;z-index:10}.sidebar-close-btn{position:absolute;top:var(--space-lg);right:var(--space-lg);background:var(--color-background);border:1px solid var(--color-border-light);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);z-index:20}.sidebar-close-btn:hover{background:var(--color-border-light)}.map-floating-ui{bottom:calc(var(--space-lg) + env(safe-area-inset-bottom,0px));left:calc(var(--space-md) + env(safe-area-inset-left,0px));right:calc(var(--space-md) + env(safe-area-inset-right,0px))}.explore-section-title{position:sticky;top:0;background:var(--color-background);z-index:9;margin:0;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border-light)}.sidebar-content{padding:0;overflow-y:auto}.tour-item{border-radius:0;border-left:none;border-right:none;margin-bottom:0;border-bottom:1px solid var(--color-border-light)}.tour-item:last-child{border-bottom:none}}.sidebar-content::-webkit-scrollbar{width:6px}.sidebar-content::-webkit-scrollbar-track{background:var(--color-background-light)}.sidebar-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.mapboxgl-ctrl-geolocate{background-color:#fff!important;border:1px solid var(--color-border)!important}.mapboxgl-ctrl-geolocate:hover{background-color:var(--color-background-light)!important}.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active{background-color:var(--color-primary)!important}.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{color:#fff!important}.mapboxgl-ctrl-top-right{top:80px!important;right:var(--space-lg)!important}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right{bottom:0!important;z-index:1!important}.mapboxgl-ctrl-attrib{background-color:#fffc!important;backdrop-filter:blur(4px)!important;border-radius:var(--radius-sm)!important;padding:var(--space-xs) var(--space-sm)!important;box-shadow:var(--shadow-sm)!important}.list-visible .mapboxgl-ctrl-bottom-left,.list-visible .mapboxgl-ctrl-bottom-right{display:none!important}@media (max-width: 768px){.list-visible .satellite-toggle{display:none!important}}@media (max-width: 768px){.mapboxgl-ctrl-top-right{top:calc(70px + env(safe-area-inset-top,0px))!important;right:calc(var(--space-md) + env(safe-area-inset-right,0px))!important}}.mapboxgl-popup-close-button{background:var(--color-background)!important;border:1px solid var(--color-border-light)!important;border-radius:50%!important;width:32px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;font-weight:400!important;color:var(--color-text-secondary)!important;cursor:pointer!important;box-shadow:var(--shadow-sm)!important;transition:all .2s ease!important;right:-10px!important;top:-10px!important;text-decoration:none!important;outline:none!important;z-index:1000!important}.mapboxgl-popup-content{padding-top:15px!important;padding-right:15px!important}.mapboxgl-popup-close-button:hover{background:var(--color-background-light)!important;color:var(--color-text-primary)!important;border-color:var(--color-border)!important;transform:none!important;box-shadow:var(--shadow-md)!important}.mapboxgl-popup-close-button:focus{outline:none!important;border-color:var(--color-border)!important}.mapboxgl-popup-close-button:active{transform:none!important;background:var(--color-background-light)!important}.satellite-toggle{position:absolute;top:225px;right:calc(var(--space-lg) + 9px);z-index:15;background:#fff;border:none;border-radius:4px;padding:0;width:30px;height:30px;box-shadow:0 0 0 2px #0000001a;cursor:pointer;transition:all .2s ease;color:#404040;display:flex;align-items:center;justify-content:center}.satellite-toggle:focus{outline:none;box-shadow:0 0 0 2px #0000001a,0 0 0 4px #2196f34d}.satellite-toggle:hover{background:#f8f9fa;box-shadow:0 0 0 2px #0000001a,0 2px 4px #0000001a}.satellite-toggle.active{background:#404040;color:#fff;box-shadow:0 0 0 2px #0000001a}.satellite-toggle.active:hover{background:#303030}.satellite-toggle svg{width:18px;height:18px;fill:currentColor}@media (max-width: 768px){.satellite-toggle{top:calc(215px + env(safe-area-inset-top,0px));right:calc(var(--space-md) + 9px + env(safe-area-inset-right,0px));width:30px;height:30px}}
