/* Photo pins and native map controls inherit the wedding's coastal palette. */
body.guide-page #places-map.guide-photo-map{position:relative;isolation:isolate;z-index:0;background:var(--blue-wash,#edf4fa);color:var(--denim,#2f5972);font-family:var(--sans,'DM Sans',Arial,sans-serif)}
.guide-photo-map .leaflet-tile-pane{filter:saturate(.72)}
.guide-photo-map .leaflet-marker-pane img{max-width:none}
.guide-photo-map .guide-photo-pin{background:transparent;border:0;color:var(--denim,#2f5972);filter:drop-shadow(0 2px 4px #23465a38)}
.guide-photo-map .photo-pin-frame{position:relative;display:block;width:58px;height:58px;padding:3px;border:1px solid #fffdf7cc;border-radius:9px;background:var(--ivory,#fffdf7)}
.guide-photo-map .photo-pin-frame>img{display:block;width:50px;height:50px;object-fit:cover;border-radius:5px}
.guide-photo-map .photo-pin-number{position:absolute;right:-7px;bottom:-8px;display:grid;place-items:center;min-width:25px;height:25px;padding-inline:5px;border:2px solid var(--ivory,#fffdf7);border-radius:16px;background:var(--denim,#2f5972);color:var(--ivory,#fffdf7);font:600 11px/1 var(--sans,'DM Sans',Arial,sans-serif);font-variant-numeric:tabular-nums}
.guide-photo-map .guide-photo-cluster .photo-pin-frame{padding:4px;background:var(--ivory,#fffdf7);border:1px solid var(--denim,#2f5972);box-shadow:2px 2px 0 var(--ivory,#fffdf7),3px 3px 0 #2f59729c}
.guide-photo-map .guide-photo-cluster .photo-pin-frame>img{width:48px;height:48px}
.guide-photo-map .guide-photo-cluster .photo-pin-number{background:var(--bottle-green,#185246)}
.guide-photo-map .guide-photo-pin:hover .photo-pin-frame,.guide-photo-map .guide-photo-pin.is-selected .photo-pin-frame{border-color:var(--bottle-green,#185246);box-shadow:0 0 0 3px var(--bottle-green,#185246)}
.guide-photo-map .guide-photo-pin.is-selected .photo-pin-number{background:var(--bottle-green,#185246)}
.guide-photo-map .guide-photo-pin:focus-visible{outline:3px solid var(--bottle-green,#185246);outline-offset:5px;border-radius:8px}
.guide-photo-map .photo-pin-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.guide-photo-map .leaflet-control-zoom{margin:0 14px 34px 0;border:1px solid var(--line,#b6d0e9);border-radius:6px;box-shadow:0 2px 10px #23465a14;overflow:hidden}
.guide-photo-map .leaflet-control-zoom a{display:grid;place-items:center;width:44px;height:44px;background:var(--ivory,#fffdf7);color:var(--denim,#2f5972);font-size:25px;line-height:1;text-decoration:none}
.guide-photo-map .leaflet-control-zoom a:hover{background:var(--green-wash,#edf3ef)}
.guide-photo-map .leaflet-control-zoom a:first-child{border-bottom:1px solid var(--line,#b6d0e9)}
.guide-photo-map .leaflet-control-zoom a.leaflet-disabled{color:var(--muted,#53656c)}
.guide-photo-map .leaflet-control-attribution{max-width:calc(100% - 12px);margin:0!important;padding:3px 7px;background:#fffdf7ed;color:var(--denim,#2f5972);font:10px/1.5 var(--sans,'DM Sans',Arial,sans-serif)}
.guide-photo-map .leaflet-control-attribution a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.guide-photo-map .photo-map-feedback{max-width:min(280px,calc(100vw - 88px));margin:0;padding:11px 14px;border:1px solid var(--line,#b6d0e9);border-radius:5px;background:var(--ivory,#fffdf7);color:var(--denim,#2f5972);font:13px/1.5 var(--sans,'DM Sans',Arial,sans-serif);box-shadow:0 2px 10px #23465a14}
.guide-photo-map .photo-map-unavailable{display:grid;place-content:center;height:100%;min-height:280px;max-width:38ch;margin:auto;padding:24px;text-align:center;font-size:14px;line-height:1.6}
.guide-photo-map .guide-photo-popup .leaflet-popup-content-wrapper{border-radius:7px;background:var(--ivory,#fffdf7);color:var(--denim,#2f5972);box-shadow:0 3px 16px #23465a26}
.guide-photo-map .guide-photo-popup .leaflet-popup-tip{background:var(--ivory,#fffdf7)}
.guide-photo-map .guide-photo-popup .leaflet-popup-content{margin:18px 20px 13px}
.guide-photo-map .photo-pin-detail-meta{margin:0 14px 6px 0;color:var(--muted,#53656c);font:11px/1.4 var(--sans,'DM Sans',Arial,sans-serif)}
.guide-photo-map .photo-pin-detail strong{display:block;margin:0;font:400 26px/1.1 var(--serif,'Cormorant Garamond',Georgia,serif)}
.guide-photo-map .photo-pin-detail>a{display:inline-flex;align-items:center;min-height:44px;color:var(--bottle-green,#185246);font-size:12px;text-decoration:underline;text-underline-offset:3px}
.guide-photo-map .guide-photo-popup a.leaflet-popup-close-button{display:grid;place-items:center;width:32px;height:32px;color:var(--denim,#2f5972);font-size:22px}
.guide-photo-map :is(a,button):focus-visible{outline:3px solid var(--bottle-green,#185246);outline-offset:3px}
@media(max-width:700px){.guide-photo-map .leaflet-control-zoom{margin-right:10px;margin-bottom:38px}.guide-photo-map .leaflet-control-attribution{font-size:9px}.guide-photo-map .photo-pin-frame{width:52px;height:52px}.guide-photo-map .photo-pin-frame>img{width:44px;height:44px}.guide-photo-map .guide-photo-cluster .photo-pin-frame>img{width:42px;height:42px}.guide-photo-map .photo-pin-number{right:-4px;bottom:-6px;min-width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.guide-photo-map .leaflet-zoom-animated,.guide-photo-map .leaflet-marker-icon,.guide-photo-map .leaflet-cluster-spider-leg{transition:none!important;animation:none!important}}
@media(forced-colors:active){.guide-photo-map .photo-pin-frame,.guide-photo-map .photo-pin-number,.guide-photo-map .leaflet-control-zoom{border:2px solid CanvasText}.guide-photo-map .guide-photo-pin.is-selected .photo-pin-frame{outline:3px solid Highlight}.guide-photo-map .photo-pin-number{background:Canvas;color:CanvasText}}

/* The wedding stays visible as a separate landmark beside the recommendations. */
.guide-photo-map .guide-venue-pin{border:0;background:transparent;color:var(--denim,#2f5972);filter:drop-shadow(0 2px 4px #23465a26)}
.guide-photo-map .photo-map-venue-pill{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;width:154px;padding:7px 11px;border:1px solid var(--line,#b6d0e9);border-radius:24px;background:var(--ivory,#fffdf7);color:var(--denim,#2f5972);font:500 12px/1.3 var(--sans,'DM Sans',Arial,sans-serif);white-space:nowrap}
.guide-photo-map .photo-map-venue-pill>img{display:block;width:26px;height:26px;object-fit:contain}
.guide-photo-map .guide-venue-pin:hover .photo-map-venue-pill{border-color:var(--bottle-green,#185246);background:var(--green-wash,#edf3ef)}
.guide-photo-map .guide-venue-pin:focus-visible{outline:3px solid var(--bottle-green,#185246);outline-offset:4px;border-radius:24px}
@media(forced-colors:active){.guide-photo-map .photo-map-venue-pill{border:2px solid CanvasText;background:Canvas;color:CanvasText}}
