/* Home Base Search — hospital explorer (js/hospitals.js). While it is on, the places list makes way for the hospitals list. */
.hx-on .places>.p-head,.hx-on .places>.plist,.hx-on .places>.p-foot{display:none}
.hx{display:flex;flex-direction:column;min-height:0;flex:1;overflow-y:auto}
.hx[hidden]{display:none}
.hx-head{padding:12px 14px 6px;border-bottom:1px solid var(--line);display:grid;gap:8px;position:sticky;top:0;background:var(--surface);z-index:2}
.hx-top{display:flex;align-items:center;justify-content:space-between}
.hx-top h2{margin:0;font:700 19px/1.2 var(--display)}
#hx-q{width:100%;padding:8px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--fg);font:inherit}
.hx-filters{display:flex;flex-wrap:wrap;gap:6px}
.hx-filters .chip{padding:3px 10px 3px 8px;font-size:12.5px;cursor:pointer;gap:5px}
.hx-filters .chip:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.hx-filters input{margin:0;accent-color:var(--accent)}
.hx-row2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hx-row2 select{padding:3px 6px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--fg);font:inherit;font-size:13px}
.hx-row2 .lvseg button{font-size:13px}
.hx-key{display:flex;flex-wrap:wrap;gap:4px 12px;margin:0;font-size:12px;color:var(--muted)}
.hx-key span{display:inline-flex;align-items:center;gap:5px}
.hx-how{font-size:12.5px;color:var(--muted)}
.hx-how summary{cursor:pointer;color:var(--accent-strong);font-weight:600}
.hx-how p{margin:6px 0 2px;line-height:1.45}
.hx-count{margin:0;font-size:13px;color:var(--muted)}
.hx-count b{color:var(--fg)}
.hx-dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;border:1.5px solid var(--surface);box-shadow:0 0 0 1px var(--line-strong)}
.hx-dot.k-top{background:var(--navy)}
.hx-dot.k-adv{background:var(--accent)}
.hx-dot.k-both{background:var(--navy);box-shadow:0 0 0 2px var(--accent)}
.hx-dot.k-plain{background:var(--surface);border-color:var(--accent);box-shadow:none}
.hx-dot.k-none{background:var(--nodata-bg);border-color:var(--nodata-dot);box-shadow:none}
.hx-list{list-style:none;margin:0;padding:6px 8px 8px;display:grid;gap:4px}
.hx-row{display:flex;gap:8px;width:100%;text-align:left;background:none;border:1px solid transparent;border-radius:10px;padding:8px;cursor:pointer;color:var(--fg);font:inherit}
.hx-row:hover,.hx-row.cur{background:var(--surface-2);border-color:var(--line)}
.hx-n{font:700 12px/1.6 var(--display);color:var(--faint);min-width:20px;text-align:right}
.hx-b{display:grid;gap:3px;min-width:0}
.hx-t{display:flex;align-items:baseline;gap:6px;font-weight:700;font-size:14px;line-height:1.25}
.hx-t .hx-dot{transform:translateY(1px)}
.hx-t small{font-weight:400;color:var(--muted);font-size:12.5px}
.hx-l{font-size:12.5px;color:var(--muted)}
.hx-l b{color:var(--fg)}
.hx-tags{display:flex;flex-wrap:wrap;gap:4px}
.hx-tag{font-size:11.5px;font-weight:600;padding:1px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong)}
.hx-tag.u{background:var(--warn-soft);color:var(--warn)}
.hx-afford{font-size:12.5px;color:var(--fg)}
.hx-afford.no{color:var(--faint)}
.hx-none{padding:18px 10px;color:var(--muted);font-size:13.5px}
#hx-more{margin:4px 8px 12px;width:calc(100% - 16px)}
.hx-one{padding:12px 14px 18px}
.hx-h{display:flex;align-items:center;gap:8px;margin:12px 0 4px;font:700 19px/1.25 var(--display)}
.hx-sub{margin:0 0 4px;font-size:13px;color:var(--muted);line-height:1.4}
.hx-one h4{margin:10px 0 4px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.hx-tbl td small{display:block;color:var(--faint);font-size:11.5px}
.hx-tbl td,.hx-tbl th{font-size:12.5px;vertical-align:top}
.hx-good{color:var(--accent-strong);font-weight:700}
.hx-bad{color:var(--bad);font-weight:700}
.hx-caps{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px}
.hx-caps small{display:block;color:var(--faint);font-size:11.5px}
.hx-caps .nd{color:var(--faint)}
.hx-flags{margin:8px 0;font-size:12.5px}
.hx-flags ul{margin:4px 0 0;padding-left:18px}
@media (max-width:860px){.hx-on .places{min-height:60vh}}
.hx-grp{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:2px}
#hx-grp .check{display:flex;align-items:center;gap:6px;margin:2px 0 4px}
.hx-q{font-weight:650}
.hx-q.q-good{color:var(--navy)}
.hx-q.q-poor,.hx-q.q-mix{color:#b45309}
.hx-q.q-mid{color:var(--fg)}
.hx-q.q-na{color:var(--muted);font-weight:500;font-style:italic}
.hx-tl{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;margin-top:5px;font-size:13px;align-items:baseline}
.hx-why{font-size:12px;line-height:1.35;color:var(--fg);opacity:.85;margin-top:2px;max-width:300px}
.hx-tk{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.hx-show{display:flex;flex-wrap:wrap;gap:6px}
.hx-show .chip{display:inline-flex;align-items:center;gap:5px}
.hx-keytxt{margin:0;font-size:12px;line-height:1.4;color:var(--muted)}
.hx-keytxt b{color:var(--fg);font-weight:600}

/* hospital kinds in the Layers menu, under the Hospitals switch, only while it is on */
.hx-lyr{display:none;flex-direction:column;gap:2px;margin:0 0 4px 22px}
.hx-on .hx-lyr{display:flex}
.hx-lyr .check{display:flex;align-items:center;gap:6px;font-size:13px}
/* in the hover the label sits above its line, so the reasons get the full width */
.tip .hx-tl{grid-template-columns:1fr;gap:1px}
