.google-map-setup{position:absolute;z-index:30;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(430px,calc(100% - 36px));padding:28px;background:#fff;border:1px solid var(--rule);border-radius:16px;box-shadow:0 16px 50px rgba(33,30,26,.2);text-align:center}
.embed-mode .map-header{display:none}.embed-mode .map-shell{height:100%}
.google-map-setup strong{display:block;font:400 25px/1.2 var(--serif);margin-bottom:9px}.google-map-setup span{font:400 12px/1.5 var(--sans);color:var(--muted)}
.near-now{position:absolute;z-index:18;left:50%;bottom:22px;transform:translateX(-50%);width:min(1040px,calc(100% - 48px));min-height:68px;display:flex;align-items:center;background:rgba(250,247,241,.96);border:1px solid rgba(167,99,68,.28);border-radius:18px;box-shadow:0 12px 34px rgba(44,36,29,.19);backdrop-filter:blur(12px);overflow:hidden}.near-now__toggle{flex:0 0 auto;display:grid;grid-template-columns:34px auto;grid-template-rows:auto auto;column-gap:10px;padding:13px 18px;border:0;border-right:1px solid var(--rule);background:transparent;color:var(--ink);text-align:left;cursor:pointer}.near-now__toggle>span{grid-row:1/3;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:var(--cafe);color:#fff;font-size:18px}.near-now__toggle b{font:500 14px/1.15 var(--serif);white-space:nowrap}.near-now__toggle small{margin-top:4px;color:var(--muted);font:500 7px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.near-now.active{border-color:rgba(167,99,68,.58);box-shadow:0 14px 38px rgba(44,36,29,.24)}.near-now__choices{min-width:0;display:flex;flex:1;gap:8px;padding:12px 14px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.near-now__choices::-webkit-scrollbar{display:none}.near-now__choices button{flex:0 0 auto;min-height:34px;padding:0 12px;border:1px solid #ccbba9;border-radius:999px;background:#fff;color:var(--ink);font:600 7px/1 var(--sans);letter-spacing:.07em;text-transform:uppercase;cursor:pointer;scroll-snap-align:start}.near-now__choices button.active{border-color:var(--cafe);background:var(--cafe);color:#fff}
.gm-style .gm-style-iw-c{border-radius:12px!important}.gm-style .gm-style-iw-d{font-family:var(--sans)}
.map-filter-stack{max-width:calc(100% - 470px)}.map-filter-row{display:flex;align-items:center;gap:8px;min-width:0}.filter-step{flex:0 0 54px;display:flex;align-items:center;gap:6px;color:var(--muted);font:500 8px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase}.filter-step b{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff;font-size:8px}.map-actions{margin-left:auto;display:flex;align-items:center;gap:7px}.map-action-button{appearance:none;display:inline-flex;align-items:center;gap:7px;border:1px solid #cfb8a5;background:#efe1d4;color:var(--ink);border-radius:999px;padding:10px 13px;white-space:nowrap;text-decoration:none;font:600 8px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;box-shadow:0 4px 16px rgba(81,55,39,.15);cursor:pointer;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}.map-action-button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.map-action-button:hover{transform:translateY(-1px);box-shadow:0 7px 19px rgba(81,55,39,.2)}.map-action-invite{background:var(--cafe);border-color:var(--cafe);color:#fff}.map-action-invite:hover{background:#95583d;border-color:#95583d}.map-action-share{background:#f0e3d7;border-color:#d2bba7}.map-action-save{background:#dfe5d9;border-color:#b9c3af}.map-action-save:hover{background:#d2dccb;border-color:#aab8a0}.map-actions .locate-button{margin-left:3px}
.google-marker{position:absolute;transform:translate(-50%,-100%);border:0;background:transparent;padding:0;cursor:pointer;z-index:1;opacity:1;transition:opacity .18s,filter .18s}
.google-marker .marker-shape{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid rgba(33,30,26,.32);box-shadow:0 2px 8px rgba(33,30,26,.24);transition:width .18s,height .18s,transform .18s,box-shadow .18s,background .18s}
.google-marker .marker-shape span{width:18px;height:18px;display:grid;place-items:center}.google-marker svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.google-marker svg.paw-icon{fill:currentColor;stroke:none}
.google-marker[data-category="cafe"]{color:var(--cafe)}.google-marker[data-category="restaurant"]{color:var(--restaurant)}.google-marker[data-category="shop"]{color:var(--shop)}.google-marker[data-category="hotel"]{color:var(--hotel)}
.google-marker.is-muted{opacity:.82;filter:saturate(.75)}.google-marker.active{z-index:20;opacity:1;filter:none}.google-marker.active .marker-shape{width:56px;height:56px;color:#fff;background:var(--ink);border-color:var(--ink);box-shadow:0 0 0 4px #fff,0 0 0 7px var(--ink),0 9px 24px rgba(33,30,26,.4);transform:translateY(-2px)}
.google-marker.active[data-category="cafe"] .marker-shape{background:var(--cafe)}.google-marker.active[data-category="restaurant"] .marker-shape{background:var(--restaurant)}.google-marker.active[data-category="shop"] .marker-shape{background:var(--shop)}.google-marker.active[data-category="hotel"] .marker-shape{background:var(--hotel)}
.google-marker.active .marker-shape span,.google-marker.active svg{width:25px;height:25px}
.google-marker-label{display:none;position:absolute;left:68px;top:11px;min-width:max-content;padding:10px 13px;border-radius:999px;background:var(--ink);color:#fff;font:500 10px/1 var(--sans);letter-spacing:.02em;box-shadow:0 4px 14px rgba(33,30,26,.3)}.google-marker.active .google-marker-label{display:block}
.landmark-marker{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;pointer-events:none;color:#3d3935;text-shadow:0 1px 2px #fff,0 0 5px #fff;z-index:0}.landmark-marker span{width:42px;height:42px;display:grid;place-items:center}.landmark-marker svg{width:40px;height:40px;fill:rgba(255,255,255,.86);stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 2px rgba(33,30,26,.18))}.landmark-marker svg.landmark-solid{fill:currentColor;stroke:none;filter:drop-shadow(0 1px 0 #fff) drop-shadow(0 2px 3px rgba(33,30,26,.2))}.landmark-marker strong{margin-top:3px;padding:2px 5px;border-radius:4px;background:rgba(247,242,233,.82);font:600 8px/1 var(--sans);white-space:nowrap;letter-spacing:.02em}

/* Google comparison selection: one unmistakable pin-card pair. */
.map-results{padding-bottom:max(26px,env(safe-area-inset-bottom));background:linear-gradient(to bottom,transparent 0,rgba(247,242,233,.45) 34%,rgba(247,242,233,.92) 100%)}
.place-rail{gap:14px;padding-top:16px;padding-bottom:8px}
.place-rail.has-selection .map-card:not(.active){opacity:.72;filter:saturate(.72);transform:scale(.97)}
.map-card{height:178px;border-color:rgba(33,30,26,.18);box-shadow:0 6px 20px rgba(33,30,26,.16);transition:transform .2s,opacity .2s,filter .2s,box-shadow .2s,border-color .2s}
.map-card.active,.map-card.active[data-category]{border:3px solid var(--cafe)!important;transform:translateY(-8px);box-shadow:0 18px 40px rgba(33,30,26,.3),0 0 0 1px rgba(167,99,68,.16);opacity:1;filter:none;z-index:3}
.map-card.active:before{height:0}
.map-card.active:after{display:block;content:"Selected";position:absolute;top:10px;right:10px;padding:7px 10px;border-radius:999px;background:var(--cafe);color:#fff;font:500 7px/1 var(--sans);letter-spacing:.11em;text-transform:uppercase;z-index:4}
.map-card.active .map-card-kicker{padding-right:76px}
.map-results{bottom:104px;padding-bottom:0;opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .2s,transform .2s;background:none}.map-results.has-selection{opacity:1;transform:none}.map-results-head{display:none}.place-rail{justify-content:center;overflow:visible;padding:16px 24px 12px;pointer-events:none}.place-rail.has-selection .map-card:not(.active){display:none}.place-rail .map-card.active{pointer-events:auto;flex-basis:410px}
@media(max-width:700px){.google-marker .marker-shape{width:34px;height:34px}.google-marker .marker-shape span,.google-marker svg{width:17px;height:17px}.google-marker.active .marker-shape{width:50px;height:50px}.map-results{bottom:max(24px,env(safe-area-inset-bottom));padding-bottom:0}.place-rail{padding:12px 18px 10px}.place-rail .map-card.active{flex-basis:min(390px,calc(100vw - 36px))}.map-card{height:164px}.map-card.active{transform:translateY(-6px)}.map-card.active:after{padding:6px 8px}}
@media(max-width:700px){.google-marker.active .google-marker-label{display:none}}
@media(max-width:700px){.near-now{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));transform:none;width:auto;min-height:62px;border-radius:15px}.near-now__toggle{padding:10px 12px;grid-template-columns:32px auto}.near-now__toggle small{display:none}.near-now__choices{padding:10px}.near-now__choices button{min-height:32px;padding:0 10px}.map-results{bottom:88px}}
@media(max-width:700px){.map-filter-stack{max-width:100%}.filter-step{flex-basis:48px}.map-actions{position:absolute;left:0;right:0;top:92px;gap:5px;overflow-x:auto;justify-content:flex-start;padding:0 2px 5px;scrollbar-width:none}.map-actions::-webkit-scrollbar{display:none}.map-action-button,.map-actions .locate-button{position:static;flex:0 0 auto;padding:9px 10px;font-size:7px}.map-action-button svg{width:12px;height:12px}.map-actions .locate-button{margin-left:0}.map-actions .locate-button span{font-size:13px}}
