/* Fixed, attributed geographic location; no simulated courier or service area. */
html.location-open{overflow:hidden}
#location-dialog.location-dialog{position:fixed;inset:0;margin:auto;padding:0;border:0;width:100%;max-width:none;height:100dvh;max-height:none;overflow:auto;border-radius:0;background:#344653;color:#f8f8f8;font-family:Golos,Arial,sans-serif;box-shadow:none}
#location-dialog::backdrop{background:#000a}
.location-shell{isolation:isolate;position:relative;min-height:100%;display:flex;flex-direction:column;background:#344653}
.location-toolbar{position:absolute;z-index:3;top:max(14px,env(safe-area-inset-top));left:14px;right:14px;display:flex;align-items:center;gap:12px}
.location-close{flex:none;display:grid;place-items:center;width:48px;height:48px;padding:12px;border:0;border-radius:50%;background:#171719;color:#fff;cursor:pointer}
.location-close svg{width:24px;height:24px}
.location-tabs{display:flex;gap:3px;padding:4px;background:#171719;border-radius:999px;flex:1;max-width:390px;margin-left:auto}
.location-tabs button{display:flex;align-items:center;justify-content:center;gap:7px;flex:1;min-height:44px;padding:9px 10px;background:none;color:#f4f4f4;border:0;border-radius:999px;font:500 14px/1.15 Golos,Arial,sans-serif;white-space:nowrap;cursor:pointer;transition:background .18s ease,color .18s ease}
.location-tabs button[aria-pressed=true]{background:#dfc7a4;color:#fff}
.location-tabs svg{width:19px;height:19px;flex:none}
.location-map{position:relative;flex:1;min-height:410px;background:#344653;overflow:hidden}
.location-map-tiles{position:absolute;inset:0;opacity:0;transition:opacity .25s ease;filter:invert(1) hue-rotate(170deg) brightness(.62) saturate(.48)}
.location-map-tiles img{position:absolute;width:256px;height:256px;max-width:none;object-fit:fill}
.location-map.is-ready .location-map-tiles{opacity:1}
.location-map-wash{position:absolute;inset:0;background:#29465e1c;pointer-events:none}
.location-marker{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 9px 12px #05131c70)}
.location-marker>span{display:grid;place-items:center;width:66px;height:66px;border-radius:24px;background:#dfc7a4;color:#fff;border:4px solid #ead6b8}
.location-marker svg{width:32px;height:32px}
.location-marker strong{margin-top:7px;white-space:nowrap;font-size:16px;line-height:20px;background:#131719;padding:7px 12px;border-radius:10px;font-weight:650}
.location-marker i{width:10px;height:10px;margin-top:-5px;background:#131719;transform:rotate(45deg)}
.location-map-caption{position:absolute;top:calc(50% + 15px);left:50%;transform:translateX(-50%);background:#131719dd;border-radius:20px;padding:7px 12px;color:#d8dee1;font-size:11px;white-space:nowrap;margin:0}
.location-map-status{position:absolute;left:22px;right:22px;bottom:45px;text-align:center;font-size:13px;line-height:1.5;color:#d6dee6;max-width:390px;margin:0 auto}
.location-map-status[hidden]{display:none}
.location-attribution{position:absolute;bottom:12px;left:14px;right:14px;margin:0;color:#e0e7ee;font:10px/1.4 Golos,Arial,sans-serif;text-shadow:0 1px 3px #111}
.location-attribution a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.location-sheet{position:relative;z-index:2;flex:none;padding:12px 20px max(16px,env(safe-area-inset-bottom));background:#101012;border-radius:30px 30px 0 0;box-shadow:0 -8px 30px #10101210}
.location-handle{display:block;width:36px;height:4px;border-radius:4px;background:#363638;margin:0 auto 23px}
.location-eyebrow{margin:0 0 9px;color:#aaaab1;font-size:12px;line-height:1.4}
.location-sheet h2{margin:0 0 23px;color:#fff;font:650 25px/1.15 Golos,Arial,sans-serif;letter-spacing:-.8px}
.location-address{display:flex;align-items:flex-start;gap:12px}
.location-address>svg{width:25px;height:25px;flex:none;color:#dfc7a4;margin-top:2px}
.location-address strong{font-size:17px;line-height:1.35;font-weight:550}
.location-address p{font-size:12px;line-height:1.5;color:#aaaab1;margin:5px 0 0}
.location-note{font-size:13px;line-height:1.55;color:#b2b2ba;margin:19px 0 21px}
.location-primary{display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;background:#dfc7a4;color:#fff;min-height:54px;padding:14px 17px;text-decoration:none;font:600 14px/1.3 Golos,Arial,sans-serif;transition:background .18s ease,transform .18s ease;text-align:center}
.location-primary:hover{background:#dfc7a4}
.location-primary:active{transform:scale(.98)}
.location-primary>span{margin-left:auto;font-size:20px;line-height:20px}
.location-return{display:block;border:0;background:transparent;color:#c5c5cb;font:500 13px/1.3 Golos,Arial,sans-serif;min-height:44px;padding:12px 18px;margin:6px auto 0;cursor:pointer}
.location-delivery-intro{font-size:19px;line-height:1.35;margin:0;letter-spacing:-.3px}
.location-delivery-place{display:flex;align-items:center;gap:11px;background:#252528;border-radius:17px;padding:13px 15px;margin-bottom:20px;font-size:12px;line-height:1.5;color:#adadb5}
.location-delivery-place svg{width:24px;height:24px;flex:none;color:#dfc7a4}
.location-delivery-place strong{color:#f3f3f5;font-weight:500}
.location-restaurant[hidden],.location-delivery[hidden]{display:none!important}
#location-dialog button:focus-visible,#location-dialog a:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(min-width:700px){#location-dialog.location-dialog{width:min(1100px,calc(100% - 64px));height:min(850px,calc(100dvh - 64px));border-radius:30px}.location-toolbar{left:24px;right:24px;top:24px}.location-tabs{margin-left:0}.location-shell{min-height:100%;display:grid;grid-template-columns:minmax(0,1fr) 380px;align-items:stretch}.location-map{grid-column:1;min-height:100%;grid-row:1}.location-sheet{grid-column:2;grid-row:1;border-radius:0;padding:110px 28px 30px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.location-handle{display:none}.location-sheet h2{font-size:30px}.location-map-status{bottom:55px}.location-attribution{left:20px;bottom:20px}.location-marker>span{width:82px;height:82px;border-radius:28px}.location-marker svg{width:39px;height:39px}.location-map-caption{font-size:12px}}
@media(max-width:380px){.location-toolbar{left:10px;right:10px;gap:8px}.location-close{width:44px;height:44px}.location-tabs button{font-size:12px;padding:9px 7px}.location-tabs svg{width:16px}.location-sheet{padding-left:16px;padding-right:16px}.location-map{min-height:360px}.location-sheet h2{font-size:23px}}
@media(prefers-reduced-motion:no-preference){#location-dialog[open] .location-sheet{animation:location-sheet-enter .26s ease-out both}@keyframes location-sheet-enter{from{opacity:.3;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){#location-dialog *,#location-dialog *::before,#location-dialog *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep street geometry legible instead of disappearing into near-black. */
.location-map-tiles{filter:grayscale(1) invert(1) brightness(1.5) contrast(.68)}.location-map-wash{background:#35557655}.location-primary>span{font-family:Arial,sans-serif}
@media(max-width:699px){#location-dialog{scrollbar-width:none}#location-dialog[data-view=delivery] .location-map{min-height:330px}}

@media(prefers-reduced-motion:reduce){.location-primary:active{transform:none}}
