/* Compact photographic pins; the point marks the exact map position. */
.map-photo-pin{box-sizing:border-box;position:relative;width:48px;height:48px;border:3px solid #fff;border-radius:12px;background:#f6f6f6;box-shadow:0 3px 10px #3b211055}
.map-photo-pin img{display:block;width:100%;height:100%;object-fit:cover;border-radius:8px}
.map-photo-pin::after{content:"";position:absolute;bottom:-11px;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:white;border-bottom:0}
.place-marker.active .map-photo-pin{border-color:#ff5f00;box-shadow:0 0 0 3px white,0 4px 16px #3b211066}
.place-marker.active .map-photo-pin::after{border-top-color:#ff5f00}
.place-marker:hover .map-photo-pin{box-shadow:0 0 0 3px #ff5f00,0 4px 16px #3b211066}
.photo-place-count{position:absolute;right:-10px;top:-10px;min-width:23px;height:23px;padding:0 4px;display:grid;place-items:center;border:2px solid white;border-radius:20px;background:#3c2415;color:white;font:600 10px Poppins,sans-serif}
.map-section.map-expanded,.route-map-section.map-expanded{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;min-height:0!important;z-index:10000!important;background:#e8e8e8}
.route-map-section.map-expanded{display:flex;flex-direction:column}
.route-map-section.map-expanded #route-map{flex:1;min-height:0;height:auto;width:100%}
.route-map-section.map-expanded #map-status{margin:0;padding:8px 16px;background:white}
.map-expanded .map-toolbar{border-radius:0;flex-wrap:wrap;flex-shrink:0}
.map-expanded .map-toolbar p{flex:1 1 180px}
.map-section:fullscreen,.route-map-section:fullscreen{width:100%;height:100%}
#map-fullscreen{min-width:44px;min-height:44px;font-size:22px}
.route-map-section #map-fullscreen{font-size:12px}
#map-fullscreen:focus-visible{outline:3px solid #ff5f00;outline-offset:3px}

.map-photo-pin img{box-sizing:border-box;max-width:none;margin:0;padding:0;border:0}
.map-popup-photo{display:block;width:100%;height:130px;object-fit:cover;border-radius:8px}
.map-place-preview{width:220px;max-width:100%;padding:4px 0 12px}
.map-place-preview h3{font-size:15px;line-height:1.4;margin:10px 0 4px}
.map-place-preview+.map-place-preview{border-top:1px solid #d8d8d8;padding-top:12px}

.map-category-pin{box-sizing:border-box;position:relative;display:grid;place-items:center;width:48px;height:48px;border:3px solid white;border-radius:50%;background:var(--category-color,#ff5f00);color:white;box-shadow:0 3px 10px #3b211055}
.map-category-pin>span{font:600 25px Poppins,sans-serif;line-height:1}
.map-category-pin::after{content:"";position:absolute;bottom:-11px;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:white;border-bottom:0}
.place-marker.active .map-category-pin{box-shadow:0 0 0 3px #3c2415,0 4px 16px #3b211066}
.place-marker:hover .map-category-pin{box-shadow:0 0 0 3px #ff5f00,0 4px 16px #3b211066}
