.map-page[data-astro-cid-y6dp7ad7]{position:relative;z-index:0;display:flex;flex-direction:column;height:calc(100dvh - 3.5rem)}.map-overlay-top[data-astro-cid-y6dp7ad7]{position:absolute;top:.75rem;left:.75rem;z-index:1000;display:flex;align-items:center;gap:.5rem}.map-list-btn[data-astro-cid-y6dp7ad7]{display:inline-flex;align-items:center;gap:.375rem;background:var(--card);border:1px solid var(--border);box-shadow:0 2px 8px #00000014;text-decoration:none}.map-count[data-astro-cid-y6dp7ad7]{font-size:.75rem;font-weight:500;color:var(--muted-foreground);background:#ffffffd9;backdrop-filter:blur(4px);padding:.25rem .625rem;border-radius:9999px;box-shadow:0 1px 4px #0000000f}.layout:has(.map-page){overflow:auto}.shacks-island-label-wrapper{background:none!important;border:none!important;pointer-events:none!important}.shacks-island-label{display:block;white-space:nowrap;font-family:var(--font-sans);font-size:.625rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-foreground);opacity:.6;text-shadow:-1px -1px 0 var(--background),1px -1px 0 var(--background),-1px 1px 0 var(--background),1px 1px 0 var(--background)}.shacks-map-container{flex:1;position:relative;min-height:0}.shacks-map{width:100%;height:100%}.shacks-map-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;z-index:1000;background:var(--background);color:var(--muted-foreground);font-size:.875rem}.shacks-map-spinner{width:28px;height:28px;border:3px solid var(--border);border-top-color:var(--brand);border-radius:50%;animation:map-spin .7s linear infinite}@keyframes map-spin{to{transform:rotate(360deg)}}.shacks-marker-wrapper{background:none!important;border:none!important;overflow:visible!important}.shacks-marker{transform:translate(-50%,-100%);position:relative;display:flex;flex-direction:column;align-items:center}.shacks-marker__top{position:absolute;top:-10px;left:7px;transform:none;z-index:1;display:flex;align-items:center;gap:3px;padding:2px 6px;background:var(--card);border:1.5px solid var(--brand);border-radius:4px;font-family:var(--font-sans);font-size:.625rem;font-weight:600;color:var(--foreground);white-space:nowrap;box-shadow:0 1px 6px #0000001f;line-height:1}.shacks-marker__rating{display:inline-flex;align-items:center;gap:1px;color:var(--brand)}.shacks-marker__active{width:5px;height:5px;border-radius:50%;background:var(--brand);flex-shrink:0}.shacks-marker__body{position:relative;width:36px;height:36px;background:var(--brand);border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #063ad759,0 0 0 2px #fff;transition:transform .15s ease,box-shadow .15s ease}.shacks-marker__body:after{content:"";position:absolute;bottom:-4px;left:50%;width:8px;height:8px;background:var(--brand);border-radius:0 0 2px;transform:translate(-50%) rotate(45deg);box-shadow:2px 2px 4px #063ad733}.shacks-marker-wrapper:hover .shacks-marker__body{transform:scale(1.1);box-shadow:0 4px 12px #063ad773,0 0 0 2px #fff}.shacks-cluster-wrapper{background:none!important;border:none!important}.shacks-cluster{display:flex;align-items:center;justify-content:center;border-radius:50%;font-family:var(--font-display);font-weight:700;color:#fff;transition:transform .15s ease}.shacks-cluster-wrapper:hover .shacks-cluster{transform:scale(1.08)}.shacks-cluster--small{width:36px;height:36px;font-size:.75rem;background:#063ad773;box-shadow:0 0 0 4px #063ad714,0 2px 8px #00000014}.shacks-cluster--medium{width:44px;height:44px;font-size:.8125rem;background:#063ad7b3;box-shadow:0 0 0 5px #063ad71f,0 2px 8px #0000001a}.shacks-cluster--large{width:52px;height:52px;font-size:.875rem;background:#063ad7;box-shadow:0 0 0 6px #063ad726,0 2px 8px #0000001f}.shacks-locate-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:var(--radius);background:var(--card);color:var(--foreground);cursor:pointer;box-shadow:0 2px 8px #0000000f;transition:background .15s,color .15s;margin-top:8px}.shacks-locate-btn:hover{background:var(--accent)}.shacks-locate-btn--loading{animation:locate-pulse 1s ease-in-out infinite}@keyframes locate-pulse{0%,to{opacity:1}50%{opacity:.4}}.shacks-user-dot-wrapper{background:none!important;border:none!important}.shacks-user-dot{width:14px;height:14px;background:var(--brand);border-radius:50%;border:2.5px solid white;box-shadow:0 0 #063ad766;animation:user-dot-pulse 2s ease-out infinite}@keyframes user-dot-pulse{0%{box-shadow:0 0 #063ad766}70%{box-shadow:0 0 0 12px #063ad700}to{box-shadow:0 0 #063ad700}}.leaflet-control-zoom{border:1px solid var(--border)!important;border-radius:var(--radius)!important;box-shadow:0 2px 8px #0000000f!important;overflow:hidden}.leaflet-control-zoom a{width:34px!important;height:34px!important;line-height:34px!important;font-size:16px!important;color:var(--foreground)!important;background:var(--card)!important;border-color:var(--border)!important;font-family:var(--font-display)!important;transition:background .15s ease,color .15s ease!important}.leaflet-control-zoom a:hover{background:var(--accent)!important;color:var(--foreground)!important}.leaflet-control-zoom-in{border-bottom:1px solid var(--border)!important;border-radius:var(--radius) var(--radius) 0 0!important}.leaflet-control-zoom-out{border-radius:0 0 var(--radius) var(--radius)!important;border-top:none!important}.leaflet-control-attribution{background:#ffffffb3!important;backdrop-filter:blur(4px);font-size:.625rem!important;color:var(--muted-foreground)!important;padding:2px 6px!important;border-radius:var(--radius) 0 0 0}.leaflet-control-attribution a{color:var(--muted-foreground)!important}.shacks-popup .leaflet-popup-content-wrapper{border-radius:var(--radius);box-shadow:0 4px 16px -4px #0000001f;padding:0;border:1px solid var(--border);background:var(--card);overflow:hidden}.shacks-popup .leaflet-popup-content{margin:0;font-family:var(--font-sans);font-size:.8125rem;line-height:1.4;color:var(--card-foreground)}.shacks-popup .leaflet-popup-tip{background:var(--card);box-shadow:0 2px 8px #0000000f;border:1px solid var(--border)}.shacks-popup .leaflet-popup-close-button{display:none!important}.shacks-popup__loading,.shacks-popup__error{display:block;padding:.75rem .875rem;font-family:var(--font-sans);font-size:.8125rem;color:var(--muted-foreground)}.shacks-popup__error{color:var(--destructive)}.shacks-popup__card{display:block;padding:.75rem .875rem;text-decoration:none;color:inherit;transition:background .15s}.shacks-popup__card:hover{background:var(--accent)}.shacks-popup__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.shacks-popup__header>svg{flex-shrink:0;color:var(--muted-foreground);margin-top:.125rem;opacity:.5;transition:opacity .15s,transform .15s}.shacks-popup__card:hover .shacks-popup__header>svg{opacity:1;transform:translate(1px)}.shacks-popup__title{display:flex;align-items:center;gap:.25rem;min-width:0}.shacks-popup__name{font-family:var(--font-display);font-weight:600;font-size:.875rem;line-height:1.25;color:var(--foreground)}.shacks-popup__status{flex-shrink:0;display:inline-flex;align-items:center}.shacks-popup__status--verified svg{display:block}.shacks-popup__status--managed{width:6px;height:6px;border-radius:50%;background:var(--brand)}.shacks-popup__meta{display:flex;align-items:center;gap:.25rem;font-size:.75rem;line-height:1.25rem;color:var(--muted-foreground);margin-top:.125rem}.shacks-popup__sep{opacity:.4}.shacks-popup__location{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shacks-popup__rating{display:inline-flex;align-items:center;gap:.1875rem;white-space:nowrap}.shacks-popup__rating svg{flex-shrink:0}.shacks-popup__rating-count{font-size:.6875rem}.shacks-popup__skills{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.375rem}.shacks-popup__badge{display:inline-flex;align-items:center;border-radius:9999px;height:1.125rem;padding-inline:.4375rem;font-size:.625rem;font-weight:500;background:var(--secondary);color:var(--secondary-foreground);white-space:nowrap}.shacks-popup__badge--more{background:transparent;color:var(--muted-foreground);padding-inline:.25rem}
