/* Places (/places/) v169: full-view map + one right panel. Uses the site theme variables, so light, dark and gold themes just work. */
.ft,.hubs{display:none!important}
.pm-sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.pm{--pm-r:18px;position:relative;width:100vw;margin-left:calc(50% - 50vw);height:calc(100dvh - 72px);min-height:420px;overflow:hidden;background:#e9e3d3;color:var(--text,#14263a);font-family:inherit}
.pm *{box-sizing:border-box}
.pm-map{position:absolute;inset:0;z-index:1}
.pm .leaflet-container{font-family:inherit;background:#e9e3d3}
.pm .leaflet-top.leaflet-left{top:8px}
.pm .leaflet-control-zoom{border:0;box-shadow:0 2px 10px #0003;border-radius:12px;overflow:hidden}
.pm .leaflet-control-zoom a{width:38px;height:38px;line-height:38px;font-size:20px;color:#14263a}

/* the panel */
.pm-side{position:absolute;z-index:5;top:12px;right:12px;bottom:12px;width:380px;max-width:calc(100% - 24px);display:flex;flex-direction:column;gap:10px;padding:14px;background:var(--card,#fff);border:1px solid var(--line,#d8d0bf);border-radius:var(--pm-r);box-shadow:0 14px 40px -16px #000b;overflow:hidden}
.pm-grab{display:none}
.pm-bar{display:flex;align-items:center;gap:8px;border:1.5px solid var(--line,#d8d0bf);border-radius:14px;padding:0 6px 0 12px;background:var(--bg,#f4f1ea)}
.pm-bar:focus-within{border-color:var(--gold,#c9a45c)}
.pm-bar>svg{flex:none;color:var(--muted,#55677b)}
.pm-bar input{flex:1;min-width:0;height:46px;border:0;outline:0;background:none;font:inherit;font-size:1rem;color:var(--text,#14263a)}
.pm-bar input::-webkit-search-cancel-button{-webkit-appearance:none}
.pm-ib{flex:none;width:38px;height:38px;border-radius:50%;border:0;background:none;color:var(--text,#14263a);display:grid;place-items:center;cursor:pointer;padding:0}
.pm-ib:hover{background:color-mix(in srgb,var(--gold,#c9a45c) 18%,transparent)}
.pm-ib.on{background:var(--gold,#c9a45c);color:var(--on-gold,#2a1d00);animation:pmp 1.1s ease-in-out infinite}
@keyframes pmp{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--gold,#c9a45c) 30%,transparent)}}
.pm-row{display:flex;align-items:center;gap:10px;min-height:38px}
.pm-near{flex:none;display:inline-flex;align-items:center;gap:7px;border:1.5px solid var(--line,#d8d0bf);background:none;color:var(--text,#14263a);font:inherit;font-weight:700;font-size:.88rem;border-radius:999px;padding:8px 14px;cursor:pointer}
.pm-near:hover{border-color:var(--gold,#c9a45c)}
.pm-near[aria-pressed=true]{background:var(--gold,#c9a45c);border-color:var(--gold,#c9a45c);color:var(--on-gold,#2a1d00)}
.pm-cond{font-size:.8rem;color:var(--muted,#55677b);line-height:1.3;min-width:0}
.pm-ask,.pm-hint{border-radius:14px;padding:12px 14px;font-size:.88rem;line-height:1.45}
.pm-ask{background:var(--bg,#f4f1ea);border:1.5px solid var(--gold,#c9a45c)}
.pm-ask b{display:block;margin-bottom:2px}.pm-ask p{margin:0 0 10px;color:var(--muted,#55677b)}
.pm-ask div{display:flex;gap:8px}
.pm-go,.pm-no,.pm-ln{font:inherit;font-weight:700;font-size:.88rem;border-radius:999px;padding:9px 16px;cursor:pointer;text-decoration:none;text-align:center}
.pm-go,.pm-ln.p{border:0;background:var(--gold,#c9a45c);color:var(--on-gold,#2a1d00)}
.pm-no,.pm-ln{border:1.5px solid var(--line,#d8d0bf);background:none;color:var(--text,#14263a)}
.pm-hint{background:var(--bg,#f4f1ea);color:var(--text,#14263a)}
.pm-ask[hidden],.pm-hint[hidden],.pm-card[hidden],.pm-cond[hidden]{display:none}

/* selected place */
.pm-card{position:relative;border:1.5px solid var(--gold,#c9a45c);border-radius:14px;padding:12px 40px 12px 14px;background:var(--bg,#f4f1ea)}
.pm-card h2{margin:0;font-size:1.05rem;line-height:1.25}
.pm-card p{margin:3px 0 0;font-size:.82rem;color:var(--muted,#55677b);line-height:1.4}
.pm-card .d{font-weight:800;color:var(--gt,#8a6a22)}
.pm-card div{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.pm-ln{padding:7px 14px}
.pm-x{position:absolute;top:6px;right:6px;width:30px;height:30px;border:0;border-radius:50%;background:none;color:var(--muted,#55677b);font-size:20px;line-height:1;cursor:pointer}
.pm-x:hover{background:color-mix(in srgb,var(--gold,#c9a45c) 18%,transparent)}

/* results */
.pm-cn{font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#55677b);padding:0 2px}
.pm-ls{list-style:none;margin:0 -6px;padding:0 6px 4px;flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
.pm-it{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:0;background:none;color:inherit;font:inherit;padding:10px 8px;border-radius:12px;cursor:pointer;border-bottom:1px solid color-mix(in srgb,var(--line,#d8d0bf) 55%,transparent)}
.pm-it:hover,.pm-it:focus-visible,.pm-it.on{background:color-mix(in srgb,var(--gold,#c9a45c) 16%,transparent);outline:0}
.pm-it span{flex:1;min-width:0}
.pm-it b{display:block;font-size:.95rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-it small{display:block;font-size:.78rem;color:var(--muted,#55677b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pm-it em{flex:none;font-style:normal;font-weight:800;font-size:.82rem;color:var(--gt,#8a6a22)}
.pm-more{display:block;margin:10px auto 6px;border:1.5px solid var(--line,#d8d0bf);background:none;color:var(--text,#14263a);font:inherit;font-weight:700;border-radius:999px;padding:8px 22px;cursor:pointer}
.pm-em{padding:26px 6px;text-align:center;color:var(--muted,#55677b);font-size:.92rem;line-height:1.5}

/* map dots */
.pm-me{width:18px;height:18px;border-radius:50%;background:#1a73e8;border:3px solid #fff;box-shadow:0 0 0 2px #1a73e855,0 2px 8px #0006}
.pm-ns{margin:0;padding:12px 16px}

/* phones: the panel becomes a bottom sheet */
@media(max-width:760px){
 .pm{min-height:360px}
 .pm-side{top:auto;left:0;right:0;bottom:0;width:auto;max-width:none;height:44%;border-radius:20px 20px 0 0;border-width:1px 0 0;padding:6px 12px 10px;gap:8px;transition:height .25s}
 .pm-side.open{height:84%}
 .pm-grab{display:flex;justify-content:center;align-items:center;flex:none;height:22px;margin:0 auto;width:100%;border:0;background:none;padding:0;cursor:pointer}
 .pm-grab span{width:42px;height:5px;border-radius:3px;background:var(--line,#d8d0bf)}
 .pm .leaflet-control-zoom{display:none}
}
@media(prefers-reduced-motion:reduce){.pm-ib.on{animation:none}.pm-side{transition:none}}

/* v182: place info window (Open page opens this first) */
.pmd[hidden]{display:none}
.pmd{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;padding:16px}
.pmd-b{position:absolute;inset:0;background:rgba(8,16,26,.58);backdrop-filter:blur(2px)}
.pmd-c{position:relative;width:min(520px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:var(--card,#fff);color:var(--text,#14263a);border:1.5px solid var(--gold,#c9a45c);border-radius:20px;padding:22px 22px 18px;box-shadow:0 24px 60px rgba(0,0,0,.4);outline:0;font-family:inherit;box-sizing:border-box}
.pmd-c *{box-sizing:border-box}
.pmd-x{position:absolute;top:10px;right:10px;width:34px;height:34px;border:0;border-radius:50%;background:none;color:var(--muted,#55677b);font-size:24px;line-height:1;cursor:pointer}
.pmd-x:hover{background:color-mix(in srgb,var(--gold,#c9a45c) 18%,transparent)}
.pmd-k{display:inline-block;padding:3px 11px;border-radius:20px;border:1px solid var(--line,#d8d0bf);background:var(--bg,#f4f1ea);color:var(--gt,#8a6a22);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.pmd-c h2{margin:10px 34px 4px 0;font-size:1.45rem;line-height:1.2}
.pmd-path{margin:0 0 14px;color:var(--muted,#55677b);font-size:.86rem;line-height:1.45}
.pmd-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 12px}
.pmd-g>div{background:var(--bg,#f4f1ea);border:1px solid var(--line,#d8d0bf);border-radius:12px;padding:9px 12px}
.pmd-g dt{font-size:.68rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted,#55677b)}
.pmd-g dd{margin:2px 0 0;font-size:.92rem;overflow-wrap:anywhere}
.pmd-d{margin:0 0 12px;font-size:.92rem;line-height:1.55}
.pmd-in small{display:block;font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--muted,#55677b);margin-bottom:6px}
.pmd-in>div{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.pmd-chip{border:1px solid var(--line,#d8d0bf);border-radius:20px;padding:3px 11px;font-size:.8rem;color:var(--muted,#55677b)}.pmd-chip b{color:var(--text,#14263a)}
.pmd-a{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.pmd-a .pm-ln{padding:10px 18px;font:inherit;font-weight:700;font-size:.9rem;cursor:pointer}
.pmd-lock,.pmd-lock body{overflow:hidden}
@media(max-width:560px){.pmd{align-items:end;padding:0}.pmd-c{border-radius:20px 20px 0 0;max-height:88dvh;width:100%}}
