/* Philadelphia map: Miami Beautiful category-icon interaction model. */
.phbem-explorer{--phbem-line:#dce3e7;--phbem-deep:#17375e;--phbem-coral:#a67a15;--phbem-ink:#182b3a;--phbem-muted:#536773;font-family:system-ui,sans-serif;margin:24px 0}
.phbem-map-shell{display:grid;grid-template-columns:370px minmax(0,1fr);height:720px;min-height:0;border:1px solid #dce3e7;border-radius:18px;overflow:hidden;box-shadow:0 10px 35px #17375e15}
.phbem-map-sidebar{display:flex;flex-direction:column;min-height:0;border-right:1px solid #dce3e7}
.phbem-map-controls,.phbem-map-summary{flex:none}.phbem-map-controls .phbem-kicker{font-size:12px;font-weight:800;letter-spacing:.12em;color:#916a0a;text-transform:uppercase;margin:0 0 8px}
.phbem-map-list{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}.phbem-map-stage{min-width:0;height:100%;min-height:0}.phbem-map-stage .phbem-map{width:100%;height:100%}
.phbem-map-filters{gap:6px;max-height:150px;overflow:auto}.phbem-map-filters button{font-size:12px;padding:6px 9px;line-height:1.3}
.phbem-map-list-card{display:flex;gap:12px;padding:15px 16px;border-bottom:1px solid #e0e6e8;background:white}
.phbem-map-list-card h3{margin:5px 0;line-height:1.3}.phbem-list-copy{min-width:0}.phbem-list-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px;font-size:12px}.phbem-list-actions button{font:inherit;border:0;padding:0;color:#17375e;background:transparent;text-decoration:underline;cursor:pointer}
.phbem-map-list-media{width:78px;height:78px;align-self:center}.phbem-map-locate{bottom:25px}
.phbem-cluster{width:44px;height:44px;border-radius:50%;border:3px solid white;display:grid;place-items:center;box-shadow:0 2px 8px #0004;color:white;font-weight:800;font-size:15px}
.entry-content .phbem-explorer img{margin:0;border:0}.entry-content .phbem-explorer img.leaflet-tile{border-radius:0}
.phbem-popup-image img{width:100%;height:140px;object-fit:cover}.phbem-popup p{font-size:13px;margin:8px 0}.phbem-no-results{padding:20px}
.phbem-map-shell{display:grid}.phbem-map-stage{position:relative}.phbem-map-sidebar{background:#fff}.phbem-map-controls{padding:24px}.phbem-map-controls h2{margin:0 0 16px;font-size:25px;line-height:1.15}.phbem-map-controls input{width:100%;font:inherit;border:1px solid var(--phbem-line);border-radius:10px;padding:10px;min-width:0}.phbem-map-filters{display:flex;flex-wrap:wrap;margin-top:14px}.phbem-map-filters button{display:flex;gap:5px;align-items:center;border:1px solid var(--phbem-line);border-radius:20px;background:#fff;cursor:pointer;color:var(--phbem-deep)}.phbem-map-filters button.is-active{background:var(--phbem-deep);color:#fff}.phbem-filter-pin{display:inline-flex;width:18px;height:18px}.phbem-map-filters svg,.phbem-type-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.phbem-map-summary{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#f1f9f9;border-block:1px solid var(--phbem-line);font-size:13px}.phbem-map-summary button{border:0;background:transparent;color:var(--phbem-deep);cursor:pointer;text-decoration:underline}.phbem-map-list-media{display:block;flex:0 0 78px;overflow:hidden;border-radius:9px}.phbem-map-list-media img{width:100%;height:100%;object-fit:cover}.phbem-map-type-chip{display:inline-flex;gap:4px;align-items:center;font-weight:700;line-height:1.2}.phbem-type-icon{width:15px;height:15px;display:inline-flex}.phbem-map-list-card h3{font-size:17px}.phbem-map-list-card h3 a{color:var(--phbem-ink)}.phbem-list-copy small{font-size:12px;color:var(--phbem-muted)}.phbem-map-locate{position:absolute;z-index:450;right:12px;border:1px solid var(--phbem-line);border-radius:8px;padding:10px 14px;font-weight:700;background:#fff;color:var(--phbem-deep);box-shadow:0 2px 7px #0002}.phbem-marker-shell{background:none;border:0}.phbem-place-pin{display:grid;place-items:center;width:42px;height:42px;border-radius:50% 50% 50% 8px;rotate:-45deg;border:3px solid #fff;background:var(--pin,#bf7746);box-shadow:0 2px 5px #0006}.phbem-place-pin svg{rotate:45deg;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;width:25px;height:25px}.phbem-pin-beach,.phbem-type-beach{--pin:#087cab;color:#087cab}.phbem-pin-garden,.phbem-type-garden{--pin:#508628;color:#508628}.phbem-pin-art,.phbem-type-art{--pin:#a4429a;color:#a4429a}.phbem-pin-food,.phbem-type-food{--pin:#d45640;color:#d45640}.phbem-pin-park,.phbem-type-park{--pin:#17866a;color:#17866a}.phbem-pin-museum,.phbem-type-museum{--pin:#654eaf;color:#654eaf}.phbem-pin-sports,.phbem-type-sports{--pin:#ad6230;color:#ad6230}.phbem-pin-shopping,.phbem-type-shopping{--pin:#b94272;color:#b94272}.phbem-pin-family,.phbem-type-family{--pin:#c58312;color:#a56b09}.phbem-pin-landmark,.phbem-type-landmark{--pin:#486779;color:#486779}.phbem-map-stage .phbem-map{height:100%!important}.phbem-cluster{background:var(--phbem-deep)}.phbem-cluster:hover{background:var(--phbem-coral)}.phbem-popup{width:230px}.phbem-popup-image{display:block}.phbem-popup-image img{border-radius:8px}.phbem-popup h3{margin:8px 0;font-size:18px}.phbem-popup-type{margin-top:8px}
.phbem-pin-house,.phbem-type-house{--pin:#93613b;color:#93613b}.phbem-pin-architecture,.phbem-type-architecture{--pin:#2d7290;color:#2d7290}.phbem-pin-neighborhood,.phbem-type-neighborhood{--pin:#ad6230;color:#ad6230}
.phbem-map-directory{margin:24px 0}.phbem-map-directory ul{columns:3;column-gap:30px}.phbem-map-directory li{break-inside:avoid;margin-bottom:8px}
@media(max-width:820px){.phbem-map-shell{height:auto;grid-template-columns:1fr;grid-template-areas:'controls' 'summary' 'map' 'list'}.phbem-map-sidebar{display:contents}.phbem-map-controls{grid-area:controls;padding:18px}.phbem-map-summary{grid-area:summary}.phbem-map-stage{grid-area:map;height:450px;min-height:450px}.phbem-map-list{grid-area:list;max-height:350px}.phbem-map-filters{max-height:120px}.phbem-map-directory ul{columns:1}}

.phbem-place-summary{font-size:14px!important;line-height:1.55!important;margin:10px 0!important;color:#405260}.phbem-popup{max-height:420px;overflow:auto}.phbem-list-actions{gap:8px}.phbem-popup .phbem-place-summary{font-size:13px!important}
