/* The Bluebird List: map styling (2026-10-25, v6 adds clusters, expand, linked list). Loaded only by map.html, after leaflet.css and bluebird.css.
   Keeps the OpenStreetMap tiles; a CSS filter calms them into the cream/navy palette. */
.bb-k-camp,.bbp-k-camp{--k:#6f8fbb}
.bb-k-league,.bbp-k-league{--k:#7f9d78}
.bb-k-class,.bbp-k-class{--k:#d6ae5c}
.bb-k-stem,.bbp-k-stem{--k:#9483b0}
.bb-k-tutoring,.bbp-k-tutoring{--k:#cc8f84}
.bb-k-cotillion,.bbp-k-cotillion{--k:#b39e78}
/* legend + chip dots */
.bb-mdot.bb-k-camp,.bb-mdot.bb-k-league,.bb-mdot.bb-k-class,.bb-mdot.bb-k-stem,.bb-mdot.bb-k-tutoring,.bb-mdot.bb-k-cotillion{
  background:var(--k);border:2px solid #fff;box-shadow:0 0 0 1px rgba(31,47,77,.14),0 1px 2px rgba(31,47,77,.18);width:12px;height:12px}
/* map frame */
.map-sec .camp-map{width:auto;margin:4px 12px 0;border:1px solid var(--line2,#d9cfb6);border-radius:18px;overflow:hidden;
  box-shadow:0 8px 24px rgba(31,47,77,.10),0 1px 3px rgba(31,47,77,.06);background:#f4efe3;isolation:isolate}
@media(min-width:700px){.map-sec .camp-map{margin:6px max(20px,calc((100% - 1160px)/2)) 0;border-radius:22px}}
.map-sec .camp-map.leaflet-container{background:#f4efe3}
/* tiles: OSM, softened (grayscale + warm sepia + low contrast); labels stay readable */
.camp-map .leaflet-tile-pane{filter:grayscale(1) sepia(.22) contrast(.9) brightness(1.04) saturate(.9)}
/* pins: soft dots with a white ring */
.leaflet-marker-icon.bbp-wrap{background:none;border:0}
.bbp-wrap .bbp{background:var(--k,#6f8fbb);border:2px solid #fff;box-shadow:0 1px 3px rgba(31,47,77,.28),0 0 0 .5px rgba(31,47,77,.18);transition:transform .15s ease,box-shadow .15s ease}
.bbp-wrap .bbp-d{width:13px;height:13px;opacity:1}
/* numbered pins and list numbers: navy with cream numbers, category ring */
.bbp-wrap .bbp-n,button.bb-mr-n.bbp{background:var(--navy,#1f2f4d);color:#fbf3df;border:2.5px solid var(--k,#6f8fbb);
  box-shadow:0 0 0 2px #fff,0 2px 6px rgba(31,47,77,.28);font:800 12px/1 "Nunito Sans",system-ui,sans-serif}
button.bb-mr-n.bbp{border-width:3px;font-size:13px;box-shadow:0 0 0 2px #fff,0 1px 3px rgba(31,47,77,.2)}
.bbp-wrap .bbp.is-on{transform:scale(1.28);box-shadow:0 0 0 2px #fff,0 0 0 4.5px var(--k,#6f8fbb),0 3px 8px rgba(31,47,77,.35);opacity:1}
/* zoom buttons: cream, navy icons, rounded */
.camp-map .leaflet-bar{border:1px solid var(--line2,#d9cfb6);border-radius:14px;overflow:hidden;box-shadow:0 2px 8px rgba(31,47,77,.10)}
.camp-map .leaflet-control-zoom{margin:12px 0 0 12px}
.camp-map .leaflet-bar a,.camp-map .leaflet-bar a:hover{background:#fbf7ec;color:var(--navy,#1f2f4d);width:34px;height:34px;line-height:32px;font:500 20px/32px "Nunito Sans",system-ui,sans-serif;border-bottom:1px solid var(--line2,#d9cfb6)}
.camp-map .leaflet-bar a:last-child{border-bottom:0}
.camp-map .leaflet-bar a:hover{background:#f3eddc}
.camp-map .leaflet-bar a:focus-visible{outline:2px solid var(--brand,#5f83b3);outline-offset:-2px}
.camp-map .leaflet-bar a.leaflet-disabled{background:#f6f2e7;color:#b5b3ad}
/* attribution: small and tidy, still present */
.camp-map .leaflet-control-attribution{background:rgba(251,247,236,.82);color:var(--muted,#6c7488);font-size:9.5px;line-height:1.4;padding:1px 7px;border-top-left-radius:8px}
.camp-map .leaflet-control-attribution a{color:var(--ink2,#3b4b68);text-decoration:none}
.camp-map .leaflet-control-attribution svg{display:none!important}
/* popups: cream card */
.camp-map .leaflet-popup-content-wrapper{border-radius:14px;background:#fffdf7;box-shadow:0 8px 24px rgba(31,47,77,.18)}
.camp-map .leaflet-popup-tip{background:#fffdf7}

/* ---- v6 (2026-10-25): clusters, shorter mobile map + Expand, list of what's in view ---- */
/* Leaflet.markercluster 1.5.3 (MIT, (c) 2012 David Leaver): its MarkerCluster.css transitions */
.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{transition:transform .3s ease-out,opacity .3s ease-in}
.leaflet-cluster-spider-leg{transition:stroke-dashoffset .3s ease-out,stroke-opacity .3s ease-in}
.leaflet-marker-icon.bbc-wrap{background:none;border:0}
.bbc{display:flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:50%;background:var(--navy,#1f2f4d);color:#fbf3df;
  font:800 13px/1 "Nunito Sans",system-ui,sans-serif;border:2px solid #fbf7ec;box-shadow:0 0 0 4px rgba(31,47,77,.18),0 2px 8px rgba(31,47,77,.28)}
.bbc-wrap:hover .bbc{box-shadow:0 0 0 6px rgba(31,47,77,.22),0 2px 8px rgba(31,47,77,.3)}
/* map height: shorter on phones, Expand for more room */
.map-sec .camp-map{transition:height .25s ease}
.bb-mexpand{display:none;border:1px solid var(--line2,#d9cfb6);background:#fbf7ec;color:var(--navy,#1f2f4d);border-radius:999px;padding:7px 14px;
  font:700 13px/1 "Nunito Sans",system-ui,sans-serif;box-shadow:0 2px 8px rgba(31,47,77,.12);cursor:pointer;margin:12px 12px 0 0}
.bb-mexpand:hover{background:#f3eddc}
.bb-mexpand:focus-visible{outline:2px solid var(--brand,#5f83b3);outline-offset:2px}
@media(max-width:640px){
 .map-sec .camp-map{height:370px;min-height:0}
 .map-sec .camp-map.is-tall{height:70vh}
 .bb-mexpand{display:block}
}
/* popup: small cream preview */
.camp-map .bb-pop .leaflet-popup-content{margin:12px 14px}
.bb-pop .mp-cat{margin:0 0 2px;font-size:.74rem;color:var(--muted,#6c7488);text-transform:none}
.bb-pop .mp-name{margin:0;font-size:1rem;line-height:1.3}
.bb-pop .mp-name a{color:var(--navy,#1f2f4d);text-decoration:none}
.bb-pop .mp-ages{margin:3px 0 0;font-size:.86rem;color:var(--ink2,#3b4b68)}
.bb-pop .mp-wb{margin:3px 0 0;font-size:.82rem}
.bb-pop .mp-more{display:inline-block;margin-top:8px;font-weight:800;color:var(--navy,#1f2f4d)}
/* results list */
.bb-ml-top{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 12px;margin:0 0 10px}
.bb-ml-top .bb-ml-count{margin:0;font-weight:700;color:var(--muted,#6c7488);font-size:.92rem}
.bb-mr{align-items:center;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
.bb-mr .bb-mr-dot{width:12px;height:12px;align-self:flex-start;margin-top:5px}
.bb-mr-b{flex:1 1 auto}
.bb-mr.is-on{border-color:#c9b98f;background:#fffaee;box-shadow:0 0 0 3px rgba(214,174,92,.22)}
.bb-mr-show{flex:none;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line2,#d9cfb6);background:#fbf7ec;color:var(--navy,#1f2f4d);
  border-radius:999px;padding:6px 10px;font:700 12px/1 "Nunito Sans",system-ui,sans-serif;cursor:pointer}
.bb-mr-show:hover{background:#f3eddc}
.bb-mr-locs{margin:2px 0 0;font-size:.82rem;color:var(--muted,#6c7488)}
button.bb-ml-more{display:block;margin:12px auto 0;cursor:pointer}
button.bb-ml-more[hidden]{display:none}

/*bb-map-1104w*/.bbc{background:#1f3b6e!important;color:#fffdf7!important;border:2px solid #fffdf7;font-weight:800}.bb-map-raster .leaflet-tile-pane{filter:saturate(.35) brightness(1.04)}
