body.sp .nearby-page { width:100%; max-width:none; margin:0; padding:18px 28px 72px; color:#fff; box-sizing:border-box; }
.nearby-hero { position: relative; isolation: isolate; overflow: hidden; min-height: 310px; border-radius: 18px; background: #181818; box-shadow: inset 0 1px rgba(255,255,255,.06); }
.nearby-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 72% 44%,rgba(124,82,145,.17),transparent 29%),radial-gradient(circle at 22% 15%,rgba(71,86,107,.14),transparent 32%),linear-gradient(120deg,#1d1d1f,#111 68%); }
.nearby-hero__orb { position:absolute; left:-50px; bottom:-75px; width:230px; aspect-ratio:1; border-radius:50%; background:rgba(178,68,255,.12); filter:blur(10px); }
.nearby-hero__content { position:relative; width:min(600px,100%); padding:58px 60px; }
.nearby-hero__eyebrow,.nearby-card__meta,.nearby-results__eyebrow { display:flex; align-items:center; gap:7px; color:#c98cff; font-weight:800; font-size:13px; }
.nearby-hero__eyebrow svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; }
.nearby-hero h1 { margin:10px 0 8px; font-size:clamp(34px,5vw,58px); line-height:1; letter-spacing:-1.8px; }
.nearby-hero h1 em { color:transparent; font-style:normal; -webkit-text-stroke:1px #c9a6dd; }
.nearby-hero p { margin:0; max-width:470px; color:#c8c8c8; font-size:16px; line-height:1.5; }
.nearby-locate { display:inline-flex; align-items:center; gap:9px; margin-top:24px; padding:14px 22px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background-color:rgba(0,0,0,.2) !important; background-image:none !important; color:#fff; font:inherit; font-weight:900; cursor:pointer; box-shadow:none; transition:transform .18s ease,filter .18s ease; }
.nearby-locate:hover { transform:scale(1.03); filter:brightness(1.08); }
.nearby-locate:disabled { opacity:.65; cursor:wait; transform:none; }
.nearby-locate svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; }
.nearby-privacy { margin-top:10px!important; font-size:12px!important; color:#939393!important; }
.nearby-results { padding:42px 4px 0; }
.nearby-results__head { display:flex; align-items:end; justify-content:space-between; gap:18px; }
.nearby-results h2 { margin:5px 0 0; font-size:31px; line-height:1; }
.nearby-results__refresh { border:1px solid #4d4d4d; border-radius:999px; padding:9px 15px; background:#1f1f1f; color:#fff; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.nearby-notice { margin:20px 0 14px; padding:12px 14px; border-radius:10px; background:#1e1e1e; color:#b3b3b3; font-size:13px; }
.nearby-notice[data-tone="success"] { color:#d2c7d8; background:rgba(135,105,147,.12); }
.nearby-notice[data-tone="error"] { color:#ffb0b0; background:rgba(243,114,127,.11); }
.nearby-notice[data-tone="loading"] { color:#fff; }
.nearby-list { display:grid; gap:9px; }
.nearby-card { display:grid; grid-template-columns:64px minmax(0,1fr) auto 20px; align-items:center; gap:14px; min-height:82px; padding:9px 14px 9px 10px; border-radius:10px; background:#1a1a1a; color:#fff; text-decoration:none; transition:background .18s ease,transform .18s ease; }
.nearby-card:hover { background:#272727; transform:translateX(-2px); }
.nearby-card__art { width:64px; height:64px; border-radius:7px; background:#292929 center/cover no-repeat; }
.nearby-card__body { display:grid; min-width:0; gap:4px; }
.nearby-card__meta { font-size:12px; color:#c5a7dd; }
.nearby-card strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:16px; }
.nearby-card small { overflow:hidden; color:#b3b3b3; text-overflow:ellipsis; white-space:nowrap; font-size:13px; }
.nearby-card__distance { min-width:54px; color:#fff; font-size:13px; font-weight:800; text-align:left; direction:rtl; }
.nearby-card__arrow { width:18px; height:18px; fill:none; stroke:#b3b3b3; stroke-width:2; }
.nearby-empty { padding:36px; border-radius:12px; background:#1a1a1a; text-align:center; color:#fff; }
.nearby-empty p { color:#b3b3b3; }.nearby-empty a { color:#c88dff; font-weight:800; }
.nearby-consent { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:20px; direction:rtl; }
.nearby-consent[hidden] { display:none; }
.nearby-consent__backdrop { position:absolute; inset:0; border:0; background:rgba(0,0,0,.72); backdrop-filter:blur(13px); }
.nearby-consent__dialog { position:relative; width:min(420px,100%); overflow:hidden; border:1px solid rgba(255,255,255,.28); border-radius:20px; padding:30px; background:linear-gradient(145deg,rgba(83,63,96,.22),rgba(20,20,22,.28) 64%); box-shadow:inset 0 1px rgba(255,255,255,.16); backdrop-filter:blur(18px) saturate(1.28); -webkit-backdrop-filter:blur(18px) saturate(1.28); text-align:center; }
.nearby-consent__pin { width:58px; height:58px; display:grid; place-items:center; margin:0 auto 16px; border-radius:50%; background:linear-gradient(145deg,#c155f4,#7938ee); box-shadow:none; }
.nearby-consent__pin svg { width:28px; height:28px; fill:none; stroke:#fff; stroke-width:2; }
.nearby-consent h2 { margin:0; color:#fff; font-size:26px; }.nearby-consent p { margin:10px auto 22px; max-width:310px; color:#c4c1c7; line-height:1.5; }
.nearby-consent__actions { display:grid; grid-template-columns:3fr 2fr; gap:10px; }.nearby-consent__allow,.nearby-consent__skip { min-height:50px; border-radius:999px; font:inherit; font-weight:900; cursor:pointer; }.nearby-consent__allow { border:1px solid rgba(255,255,255,.22); background-color:rgba(0,0,0,.2) !important; background-image:none !important; color:#fff; box-shadow:inset 0 0 0 1px rgba(0,0,0,.12); }.nearby-consent__skip { border:1px solid rgba(255,255,255,.13); background:rgba(255,255,255,.06); color:#e1dce5; }
@media (max-width: 720px) { body.sp .nearby-page { width:100%; padding:6px 0 100px; }.nearby-hero { min-height:0; border-radius:14px; }.nearby-hero__content { padding:34px 24px; }.nearby-hero h1 { font-size:40px; }.nearby-locate { display:flex; width:max-content; margin-inline:auto; }.nearby-results { padding-top:30px; }.nearby-results h2 { font-size:27px; }.nearby-card { grid-template-columns:56px minmax(0,1fr) auto; gap:11px; min-height:73px; }.nearby-card__art { width:56px; height:56px; }.nearby-card__arrow { display:none; }.nearby-card__distance { min-width:48px; font-size:12px; }.nearby-results__refresh { padding:8px 12px; }.nearby-consent__dialog { padding:28px 22px; border-radius:18px; } }
