/* Portland Veteran Homes: Neighborhood Guide */
.pvh-ng{--navy:#0b3b78;--deep:#071f49;--red:#b31942;--line:#dbe3ee;--soft:#f4f7fb;--ink:#1b1b1b;--muted:#5a6576;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.5}
.pvh-ng *{box-sizing:border-box}
.pvh-ng button{font-family:inherit}
.pvh-ng .ng-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0 0 14px}
.pvh-ng .ng-search{flex:1 1 380px;display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--line);border-radius:999px;padding:0 16px;height:54px;box-shadow:0 8px 22px rgba(11,59,120,.10)}
.pvh-ng .ng-search:focus-within{border-color:var(--navy)}
.pvh-ng .ng-search svg{flex:0 0 auto}
.pvh-ng .ng-search input{flex:1;border:0;outline:0;font-size:17px;height:48px;background:transparent;color:var(--ink);min-width:0}
.pvh-ng .ng-x{border:0;background:var(--soft);color:var(--navy);width:34px;height:34px;border-radius:999px;font-size:20px;line-height:1;cursor:pointer}
.pvh-ng .ng-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.pvh-ng .ng-chip{height:44px;padding:0 16px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--navy);font-weight:700;font-size:14.5px;cursor:pointer;white-space:nowrap}
.pvh-ng .ng-chip:hover{border-color:var(--navy)}
.pvh-ng .ng-chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pvh-ng .ng-chip.va.on{background:var(--red);border-color:var(--red)}
.pvh-ng .ng-sel{height:44px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--navy);font-weight:700;font-size:14.5px;padding:0 14px;cursor:pointer;max-width:100%}
.pvh-ng .ng-lbl{font-size:13px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-right:2px}
.pvh-ng .ng-main{display:flex;flex-wrap:wrap;gap:22px;align-items:flex-start}
.pvh-ng .ng-mapcard{flex:999 1 560px;min-width:0;background:#fff;border-radius:22px;border-top:6px solid var(--red);box-shadow:0 14px 34px rgba(11,59,120,.12);padding:12px}
.pvh-ng .ng-maphead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:4px 6px 10px}
.pvh-ng .ng-maphead b{color:var(--navy);font-size:18px}
.pvh-ng .ng-back{border:0;background:transparent;color:var(--red);font-weight:800;font-size:15px;cursor:pointer;padding:8px 0}
.pvh-ng #ng-map{height:600px;border-radius:16px;overflow:hidden;background:#eef3f9;z-index:0}
.pvh-ng .ng-legend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:10px 6px 2px;font-size:13px;color:#3a4352}
.pvh-ng .ng-legend span{display:inline-flex;align-items:center;gap:6px}
.pvh-ng .ng-sw{width:14px;height:14px;border-radius:4px;display:inline-block}
.pvh-ng .ng-ramp{display:inline-flex;height:12px;width:120px;border-radius:6px;background:linear-gradient(90deg,#e3ecf7,#0b3b78)}
.pvh-ng .ng-panel{flex:1 1 360px;min-width:0;background:var(--soft);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:14px;height:704px;overflow:auto}
.pvh-ng .ng-panel h2{margin:0;color:var(--navy);font-size:24px;line-height:1.2;border:0;padding:0}
.pvh-ng .ng-panel h3{margin:6px 0 0;color:var(--navy);font-size:14px;text-transform:uppercase;letter-spacing:.08em}
.pvh-ng .ng-sub{margin:0;font-size:14.5px;color:#3a4352}
.pvh-ng .ng-src{font-size:12.5px;color:var(--muted)}
.pvh-ng .ng-src a{color:var(--navy)}
.pvh-ng .ng-cities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.pvh-ng .ng-city{text-align:left;background:#fff;border:2px solid var(--line);border-radius:14px;padding:10px 12px;cursor:pointer;min-height:56px}
.pvh-ng .ng-city:hover{border-color:var(--red)}
.pvh-ng .ng-city b{display:block;color:var(--navy);font-size:15px}
.pvh-ng .ng-city span{font-size:12.5px;color:var(--muted)}
.pvh-ng .ng-btns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pvh-ng .ng-btn{display:block;text-align:center;border-radius:999px;padding:11px 6px;font-weight:800;font-size:13px;text-decoration:none;border:2px solid var(--navy);background:#fff;color:var(--navy)!important}
.pvh-ng .ng-btn.red{background:var(--red);border-color:var(--red);color:#fff!important}
.pvh-ng .ng-btn.navy{background:var(--navy);color:#fff!important}
.pvh-ng .ng-list{display:flex;flex-direction:column;gap:6px}
.pvh-ng .ng-h{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:2px solid var(--line);border-radius:12px;padding:10px 13px;text-decoration:none;color:var(--navy)!important;font-weight:800;font-size:15px;min-height:46px}
.pvh-ng .ng-h:hover{border-color:var(--red)}
.pvh-ng .ng-h small{display:block;font-weight:400;color:var(--muted);font-size:12.5px}
.pvh-ng .ng-h i{font-style:normal;color:var(--red)}
.pvh-ng .ng-rank{flex:0 0 auto;min-width:38px;height:24px;padding:0 8px;border-radius:999px;background:var(--red);color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;display:inline-flex;align-items:center;justify-content:center;margin-right:8px}
.pvh-ng .ng-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#fff;border:2px solid var(--line);border-radius:999px;padding:4px}
.pvh-ng .ng-tab{border:0;background:transparent;border-radius:999px;padding:9px 8px;font-weight:800;font-size:13px;color:var(--navy);cursor:pointer;line-height:1.2}
.pvh-ng .ng-tab.on{background:var(--navy);color:#fff}
.pvh-ng .ng-panel>*{flex-shrink:0}
.pvh-ng .ng-zips.ng-zipbar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.pvh-ng .ng-zipbar .ng-zip{flex:0 0 auto}
.pvh-ng .ng-zips{display:flex;flex-wrap:wrap;gap:6px}
.pvh-ng .ng-zip{height:36px;padding:0 12px;border-radius:999px;border:2px solid var(--line);background:#fff;color:var(--navy);font-weight:700;font-size:13px;cursor:pointer}
.pvh-ng .ng-zip.on{background:var(--red);border-color:var(--red);color:#fff}
.pvh-ng .ng-commute{background:#fff;border-radius:14px;border:2px solid var(--line);padding:12px 14px}
.pvh-ng .ng-commute table{width:100%;border-collapse:collapse;font-size:14px}
.pvh-ng .ng-commute td{padding:5px 0;border-bottom:1px solid #eef2f7}
.pvh-ng .ng-commute td:last-child{text-align:right;font-weight:800;color:var(--navy);white-space:nowrap}
.pvh-ng .ng-commute tr:last-child td{border-bottom:0}
.pvh-ng .ng-more{border:2px solid var(--navy);background:#fff;color:var(--navy);border-radius:999px;padding:11px;font-weight:800;font-size:14px;cursor:pointer}
.pvh-ng .ng-recent{margin:18px 0 0;display:none;align-items:center;flex-wrap:wrap;gap:8px}
.pvh-ng .ng-recent.show{display:flex}
.pvh-ng .ng-recent a{background:#fff;border:2px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:700;font-size:14px;color:var(--navy);text-decoration:none}
.pvh-ng .ng-recent a:hover{border-color:var(--red)}
.pvh-ng .ng-clear{border:0;background:transparent;color:var(--muted);font-size:13px;text-decoration:underline;cursor:pointer}
.pvh-ng .ng-az{margin:36px 0 0}
.pvh-ng .ng-az h2{color:var(--navy);font-size:28px;margin:0 0 6px;border-left:7px solid var(--red);padding-left:14px}
.pvh-ng .ng-letters{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 16px}
.pvh-ng .ng-letter{width:42px;height:42px;border-radius:10px;border:2px solid var(--line);background:var(--soft);color:var(--navy);font-weight:800;cursor:pointer}
.pvh-ng .ng-letter.on{background:var(--navy);border-color:var(--navy);color:#fff}
.pvh-ng .ng-letter:disabled{opacity:.35;cursor:default}
.pvh-ng .ng-azlist{columns:4 220px;column-gap:24px}
.pvh-ng .ng-azlist a{display:block;break-inside:avoid;padding:4px 0;color:var(--navy);text-decoration:none;font-size:14.5px}
.pvh-ng .ng-azlist a:hover{color:var(--red);text-decoration:underline}
.pvh-ng .ng-azlist a span{color:var(--muted);font-size:12.5px}
.pvh-ng .ng-empty{font-size:15px;color:#3a4352;margin:0}
.pvh-ng .ng-tip{background:#fff;color:var(--navy);font-weight:800;border:0;border-radius:8px;box-shadow:0 3px 10px rgba(0,0,0,.18);padding:4px 9px;font-size:12.5px}
.pvh-ng .ng-tip:before{display:none}
.pvh-ng .ng-lab{background:transparent;border:0;box-shadow:none;color:var(--deep);font-weight:800;font-size:12.5px;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;padding:0}
.pvh-ng .ng-lab:before{display:none}
.pvh-ng .ng-va{width:22px;height:22px;border-radius:6px;background:#fff;border:3px solid var(--red);box-shadow:0 2px 6px rgba(0,0,0,.25)}
.pvh-ng .ng-note{font-size:12.5px;color:var(--muted);margin:8px 6px 0}
.pvh-ng .leaflet-popup-content{font-family:Arial,Helvetica,sans-serif;font-size:14px;margin:12px 14px}
.pvh-ng .leaflet-popup-content b{color:var(--navy)}
@media(max-width:900px){.pvh-ng #ng-map{height:440px}.pvh-ng .ng-panel{height:auto;max-height:640px}}
@media(max-width:560px){.pvh-ng #ng-map{height:360px}.pvh-ng .ng-btns{grid-template-columns:1fr}.pvh-ng .ng-cities{grid-template-columns:1fr 1fr}.pvh-ng .ng-chip{padding:0 12px;font-size:14px}.pvh-ng .ng-panel{padding:16px}}
