.places-section{margin:28px 0 0;padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.places-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px}
.places-heading h2{font-size:1.55rem;margin:0}.places-heading>span{color:var(--muted);font-size:.8rem;text-align:right}
.places-layout{display:grid;grid-template-columns:minmax(270px,.88fr) minmax(0,1.12fr);gap:20px}
.places-picker{min-width:0}.places-picker label{display:block;font-size:.82rem;font-weight:750;margin-bottom:8px}
.places-picker input{width:100%;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:11px 13px;font:inherit;font-size:.88rem}
.places-picker input:focus-visible,.place-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.places-count{color:var(--muted);font-size:.76rem;margin:10px 0}
.places-list{max-height:410px;overflow:auto;border:1px solid var(--line);border-radius:10px}
.place-item{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--ink);padding:12px 14px;cursor:pointer;font:inherit}
.place-item:last-child{border-bottom:0}.place-item:hover,.place-item.is-selected{background:var(--soft)}
.place-item strong{display:block;font-size:.8rem;line-height:1.45;font-weight:650}.place-item span{display:block;color:var(--muted);font-size:.68rem;margin-top:4px}
.place-item[hidden]{display:none}.places-empty{font-size:.84rem;color:var(--muted)}
.places-map{min-width:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}
.places-map iframe{display:block;width:100%;height:410px;border:0;background:var(--soft)}
.places-map-caption{padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.places-map-caption p{margin:0;font-size:.79rem;line-height:1.45;overflow-wrap:anywhere}.places-map-caption a{flex:none;color:var(--accent);font-size:.75rem;font-weight:750}
.places-source{font-size:.76rem;color:var(--muted);margin:18px 0 0;line-height:1.5}.places-source a{color:var(--accent);font-weight:750}
@media(max-width:800px){.places-layout{grid-template-columns:1fr}.places-list{max-height:280px}.places-map iframe{height:360px}}
@media(max-width:600px){.places-section{padding:19px}.places-heading{display:block}.places-heading h2{font-size:1.35rem}.places-heading>span{display:block;text-align:left;margin-top:7px}.places-map iframe{height:310px}.places-map-caption{display:block}.places-map-caption a{display:inline-block;margin-top:8px}}
