/* ---------- Park ---------- */
.park{position:relative;background:#FBF6EC}
.park-stage{position:relative;height:clamp(480px,74vh,700px);overflow:hidden}
.park-stage>canvas{display:block;width:100%;height:100%;touch-action:none}
.park-labels{position:absolute;inset:0;pointer-events:none}
/* ánh nắng ấm rọi chéo và viền tối nhẹ, kiểu tranh "Sky" */
.park-stage::before,.home-stage::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(90% 70% at 78% -8%,rgba(255,206,140,.55),transparent 60%),radial-gradient(130% 95% at 50% 45%,transparent 62%,rgba(90,70,60,.22));mix-blend-mode:soft-light}
.plabel{position:absolute;transform:translate(-50%,-100%);font-size:12px;font-weight:500;padding:3px 9px;border-radius:4px;background:rgba(251,246,236,.72);border:1px solid rgba(43,36,28,.14);color:#2B241C;white-space:nowrap;backdrop-filter:blur(6px);pointer-events:auto;cursor:pointer;transition:opacity .25s}
.plabel i{font-style:normal;color:#9A6E22;margin-right:5px;font-size:10px;letter-spacing:.06em;text-transform:uppercase;font-family:var(--f-body)}
.plabel.dim{opacity:.18}
.park-panel{position:absolute;left:var(--gut);top:28px;width:min(380px,calc(100% - 2*var(--gut)));background:rgba(251,246,236,.78);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:8px;padding:22px;display:flex;flex-direction:column;gap:14px;max-height:calc(clamp(480px,74vh,700px) - 56px)}
.park-panel h1{font-size:clamp(32px,4vw,44px)}
.park-panel h1 em{font-style:normal;font-weight:300;background:linear-gradient(90deg,#8C6324,#C99A45);-webkit-background-clip:text;background-clip:text;color:transparent}
.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--paper);border-radius:12px;padding:0 12px}
.search input{border:0;background:transparent;padding:11px 0;flex:1;min-width:0;outline:none}
.search svg{width:18px;height:18px;color:var(--ink-soft);flex-shrink:0}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.results{list-style:none;margin:0;padding:0;overflow-y:auto;display:flex;flex-direction:column;gap:2px;min-height:0}
.results button{width:100%;text-align:left;background:none;border:0;padding:8px 10px;border-radius:10px;cursor:pointer;display:grid;grid-template-columns:1fr auto;gap:2px 10px}
.results button:hover,.results button[aria-current="true"]{background:var(--paper-2)}
.results .n{font-weight:500}
.results .m{font-size:12px;color:var(--ink-soft);grid-column:1}
.results .c{font-size:11px;color:var(--lacquer);grid-row:1/3;grid-column:2;align-self:center;text-transform:uppercase;letter-spacing:.06em}
.park-card{position:absolute;right:var(--gut);bottom:120px;width:min(330px,calc(100% - 2*var(--gut)));background:rgba(251,246,236,.86);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:8px;padding:20px;display:flex;flex-direction:column;gap:10px;box-shadow:0 18px 40px rgba(15,25,30,.18)}
.park-card h3{font-size:28px;font-weight:300}
.park-card .d{font-size:13px;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.park-card .row{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.park-hint{position:absolute;right:var(--gut);top:24px;font-size:11px;font-family:var(--f-body);color:#6B5F50;background:rgba(251,246,236,.6);padding:5px 10px;border-radius:4px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);background:var(--paper)}
.stats div{padding:18px var(--gut);border-right:1px solid var(--line)}
.stats div:last-child{border-right:0}
.stats b{display:block;font-family:var(--f-display);font-weight:200;letter-spacing:-.04em;font-size:40px;font-variant-numeric:tabular-nums;line-height:1}
.stats span{font-family:var(--f-body);font-size:12px;color:var(--ink-soft)}
@media (max-width:900px){
  .park-stage{height:440px}
  .park-panel{position:static;width:auto;max-height:none;border-radius:0;border-inline:0;margin:0}
  .park-card{position:static;width:auto;border-radius:0;border-inline:0;box-shadow:none}
  .results{max-height:220px}
  .park-hint{top:12px}
}
@media (max-width:520px){.stats b{font-size:22px}.stats div{padding:14px 12px}}


.park-tools{position:absolute;right:var(--gut);top:22px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:3}
.seg{display:flex;gap:2px;background:rgba(251,246,236,.72);border:1px solid rgba(43,36,28,.14);backdrop-filter:blur(8px);padding:3px;border-radius:6px}
.seg button{border:0;background:transparent;padding:7px 13px;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;color:#6B5F50}
.seg button[aria-pressed="true"]{background:#B8862F;color:#fff}
.park-tools .park-hint{position:static}
.park.walking .park-card{display:none}
.park-prompt[hidden],.park-prompt .btn[hidden],.zone-banner[hidden]{display:none}
.park.walking .park-panel h1,.park.walking .park-panel>.eyebrow{display:none}
.park-prompt{position:absolute;right:var(--gut);bottom:28px;width:min(360px,calc(100% - 2*var(--gut)));background:rgba(251,246,236,.9);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:8px;padding:18px 20px;display:flex;flex-direction:column;gap:4px;box-shadow:0 18px 40px rgba(15,25,30,.25);z-index:3;animation:ppIn .3s ease-out}
@keyframes ppIn{from{opacity:0;translate:0 10px}}
.park-prompt b{font-family:var(--f-display);font-size:26px;font-weight:300;letter-spacing:-.03em;line-height:1.1}
.pp-sub{font-size:13px;color:var(--ink-soft)}
.park-prompt .row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.park-prompt .btn{padding:8px 14px}
.pp-key{font-size:11px;color:var(--ink-soft);margin-top:4px}
@media (hover:none){.pp-key{display:none}}
@media (max-width:900px){.park-prompt{position:absolute;left:16px;right:16px;width:auto;bottom:16px}.park-tools{top:12px;right:12px}}
