/* Phase 1.5 first pass: shell and directory only. Map camera/tiles untouched. */
body:has(#social .map-layout){background:var(--hl-ivory);color:var(--hl-text)}
body>header{background:var(--hl-paper);border-bottom:1px solid var(--hl-border);padding:18px 28px;gap:20px;color:var(--hl-text)}
body>header .brand{display:flex;gap:10px;align-items:center;color:var(--hl-forest-dark);font-family:var(--hl-serif);font-size:20px;white-space:nowrap}body>header .brand img{width:39px;height:39px;object-fit:contain;flex-shrink:0;mix-blend-mode:multiply}body>header nav{gap:3px}body>header nav a{font:13px var(--hl-sans);padding:11px 10px;border-radius:8px}body>header nav a.current{background:var(--hl-sage);color:var(--hl-forest)}body>header a:focus-visible{outline:2px solid var(--hl-forest);outline-offset:3px}
#social:has(.map-layout){--ink:var(--hl-text);--ink-2:var(--hl-muted);--ocean:var(--hl-forest);--line:var(--hl-border);--terracotta:var(--hl-forest);max-width:1480px;padding:34px 32px 48px;font-family:var(--hl-sans)}
#social:has(.map-layout) .overline{color:var(--hl-forest);font-size:11px;letter-spacing:.15em;font-weight:500}#social:has(.map-layout) .page-heading{align-items:center;margin-bottom:22px}#social:has(.map-layout) h1{font:40px/1.15 var(--hl-serif);letter-spacing:-.025em;max-width:560px}#social:has(.map-layout) .page-heading p{font-size:14px;margin:12px 0 0}#social:has(.map-layout) .chips{gap:8px;margin:12px 0}#social:has(.map-layout) .chip{border:1px solid var(--hl-border);background:var(--hl-paper);color:var(--hl-muted);font-size:13px;min-height:40px;padding:9px 16px}#social:has(.map-layout) .chip.active{color:var(--hl-forest-dark);border-color:var(--hl-forest);background:var(--hl-sage)}#social:has(.map-layout) .notice{background:var(--hl-beige);color:#565c51;font-size:12px;padding:12px 16px;border-radius:10px}#social:has(.map-layout) .filterbar{margin:22px 0 12px;gap:12px;grid-template-columns:2fr 1fr 1fr auto}#social:has(.map-layout) .filterbar input,#social:has(.map-layout) .filterbar select{border-radius:999px;background:var(--hl-paper);border-color:var(--hl-border);padding:14px 18px;font:14px var(--hl-sans);min-height:48px}#social:has(.map-layout) .filterbar .ghost{border:0;background:transparent;color:var(--hl-forest);font-size:13px}#social:has(.map-layout) :is(button,input,select,a):focus-visible{outline:2px solid var(--hl-forest);outline-offset:4px}#resultCount{font-size:12px;color:var(--hl-muted);margin:16px 0}
#social .map-layout{grid-template-columns:minmax(280px,.75fr) minmax(0,1.65fr);gap:22px;align-items:start}#social .map-layout>.directory{grid-column:1;grid-row:1}#social .map-layout>.realmap{grid-column:2;grid-row:1;border-radius:var(--hl-radius);border-color:var(--hl-border)}#social .map-layout.list-only{display:block}#social .directory-card{border-color:var(--hl-border);border-radius:var(--hl-radius);background:var(--hl-paper);padding:20px;box-shadow:var(--hl-shadow);transition:border-color .15s}#social .directory-card:hover{border-color:var(--hl-forest)}#social .directory-card h2{font:600 16px/1.4 var(--hl-sans);overflow-wrap:anywhere}#social .directory-card .portrait{width:58px;height:58px;border-radius:13px;border:0;box-shadow:none}#social .directory-card .row>div{min-width:0}#social .directory-card p{font-size:13px;line-height:1.5;overflow-wrap:anywhere}#social .directory-card>.muted{display:block;margin-top:14px;font-size:12px;color:var(--hl-forest)}#social .directory-card>.muted:after{content:' ↗'}#social .map-disclaimer{font-size:11px;color:var(--hl-muted);border:1px solid var(--hl-border)}#social .map-controls button{color:var(--hl-forest);min-width:42px;min-height:42px}#social .empty-state{font-size:14px;line-height:1.65;border:1px solid var(--hl-border);background:var(--hl-paper);padding:26px}
@media(max-width:1100px){body>header{flex-wrap:wrap}body>header nav{justify-content:flex-start}#social:has(.map-layout) .filterbar{grid-template-columns:2fr 1fr 1fr}#social:has(.map-layout) .filterbar .ghost{grid-column:1/-1;justify-self:end;padding:0;min-height:32px}}
@media(max-width:760px){body>header{padding:12px 16px;gap:10px;position:relative}body>header nav{display:flex;gap:3px;flex-wrap:wrap;width:100%}body>header nav a{padding:9px;font-size:12px}#social:has(.map-layout){padding:24px 16px 40px}#social:has(.map-layout) h1{font-size:31px;max-width:340px}#social:has(.map-layout) .page-heading{display:block}#social:has(.map-layout) .filterbar{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}#social:has(.map-layout) .filterbar input{grid-column:1/-1}#social:has(.map-layout) .filterbar select{font-size:13px;padding:12px;max-width:100%}#social:has(.map-layout) .chip{padding:9px 12px;font-size:12px}#social .map-layout{display:flex;flex-direction:column;gap:14px}#social .map-layout>.realmap{width:100%;height:62svh;min-height:360px;max-height:600px}#social .map-layout>.directory{width:100%;max-height:none}#social .directory-card{padding:16px}#social .directory-grid{display:grid;grid-template-columns:1fr}#social .map-disclaimer{max-width:65%;font-size:10px}#social .map-controls{right:10px;top:10px}}
@media(prefers-reduced-motion:reduce){#social .directory-card{transition:none}}

.hl-network-menu{display:contents}.hl-network-menu>summary{display:none}.hl-network-menu:not([open])>nav{display:flex}
@media(max-width:760px){body>header{justify-content:space-between}.hl-network-menu{display:block;position:relative}.hl-network-menu>summary{display:block;cursor:pointer;padding:12px;font-size:14px;list-style:none}.hl-network-menu:not([open])>nav{display:none}.hl-network-menu[open]>nav{position:absolute;right:0;top:40px;width:230px;background:var(--hl-paper);padding:12px;border:1px solid var(--hl-border);border-radius:12px;box-shadow:var(--hl-shadow);display:grid;z-index:50}.hl-network-menu nav a{padding:12px}}
body:has(#social .map-layout)>.demo{background:var(--hl-beige);color:var(--hl-muted);font-size:11px;font-weight:400;letter-spacing:.02em;padding:6px}

/* HL-MAP-UX-01: compact G61 hierarchy, confined to the discovery screens. */
#social:has(.hl-map-search){padding-top:24px}
#social:has(.hl-map-search) .page-heading{margin-bottom:16px;gap:12px;flex-wrap:wrap}
#social:has(.hl-map-search) h1{font-size:32px;margin:0}
#social:has(.hl-map-search) .filterbar{display:block;margin:0 0 8px}
.hl-map-search{display:flex;gap:8px;min-width:0}
#social .hl-map-search input{flex:1;width:0;min-width:0;border-radius:12px;font-size:16px}
#social .hl-map-search button{min-height:48px;border-radius:12px;flex-shrink:0;padding:10px 18px;background:var(--hl-forest);color:white}
#social .hl-map-filters{border:0;padding:0;background:transparent;margin-top:8px}
#social .hl-map-filters>summary{min-height:44px;padding:10px 0;cursor:pointer;color:var(--hl-forest-dark);font-size:14px;overflow-wrap:anywhere}
.hl-map-filters>summary span{color:var(--hl-muted);font-size:13px;margin-left:12px}
.hl-map-filter-fields{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:8px 0 12px}
.hl-map-filter-fields label{display:grid;gap:6px;min-width:0;flex:1;font:600 13px/1.5 var(--hl-sans);color:var(--hl-text)}
#social .hl-map-filter-fields select{width:100%;min-width:0;border-radius:12px;padding:10px 12px}
#social .hl-map-filter-fields .ghost{min-height:44px;padding:10px 12px;white-space:normal}
#social:has(.hl-map-search) .hl-location-tools{display:flex;align-items:center;gap:4px 16px;flex-wrap:wrap;margin:0;padding:0;background:transparent;border:0}
#social:has(.hl-map-search) .hl-location-tools p{margin:0;font-size:12px}
#social:has(.hl-map-search) .hl-location-tools [role=status]:not(:empty){flex-basis:100%;font-size:14px;padding:4px 0}
#social:has(.hl-map-search) .hl-location-actions button{border:1px solid var(--hl-border);border-radius:12px;background:var(--hl-paper);padding:9px 12px}
.hl-map-meta{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin:8px 0}
#social .hl-map-meta p,#social .hl-map-meta #resultCount{font-size:13px;margin:0;color:var(--hl-muted)}
.hl-map-meta a{display:inline-flex;align-items:center;min-height:44px;font-size:13px}
#social:has(.hl-map-search) .directory-card{padding:16px;box-shadow:none}
#social:has(.hl-map-search) .directory-card p{margin:3px 0}
#social:has(.hl-map-search) .directory-card .portrait,#social:has(.hl-map-search) .directory-card .hl-practitioner-title img{width:48px;height:48px;object-fit:cover;border-radius:12px;flex-shrink:0}
#social:has(.hl-map-search) .directory-card .hl-text-link{display:inline-flex;align-items:center;min-height:44px;font-size:13px;margin-top:4px}
#social:has(.hl-map-search) .directory-card>.muted{margin-top:10px}
.hl-map-city{color:var(--hl-muted)}
#social:has(.hl-map-search) .hl-map-about{border:0;background:transparent;padding:0;margin-top:16px;font-size:13px;color:var(--hl-muted)}
.hl-map-about>summary{min-height:44px;padding:10px 0;cursor:pointer;color:var(--hl-forest-dark)}
.hl-map-about p{max-width:80ch;line-height:1.6}
#social:has(.hl-map-search) :is(summary,.hl-map-results):focus-visible{outline:2px solid var(--hl-forest);outline-offset:4px}
#social:has(.hl-map-search) .map-controls button{min-width:44px;min-height:44px}
#social:has(.hl-map-search) .hl-map-results{scroll-margin-top:16px}
@media(max-width:760px){
 #social:has(.hl-map-search){padding:16px 16px 30px}
 #social:has(.hl-map-search) .page-heading{display:flex;margin:0 0 12px}
 #social:has(.hl-map-search) .page-heading h1{font-size:27px;margin:0}
 #social:has(.hl-map-search) .page-heading .chips{margin:0}
 #social .hl-map-search button{padding:10px 12px;font-size:14px}
 #social .hl-map-search input{padding:12px}
 .hl-map-filters>summary span{margin-left:6px;font-size:12px}
 .hl-map-filter-fields{gap:8px}
 .hl-map-filter-fields label{flex-basis:calc(50% - 8px)}
 #social:has(.hl-map-search) .map-layout{gap:12px}
 #social:has(.hl-map-search) .map-layout>.hl-map-stage,#social:has(.hl-map-search) .map-layout>.realmap{order:0}
 #social:has(.hl-map-search) .map-layout>.hl-map-results{order:1;margin:0;box-shadow:none;border-radius:12px}
 #social:has(.hl-map-search) .realmap{height:48svh;min-height:280px;max-height:480px;border-radius:12px}
 #social:has(.hl-map-search) .hl-map-results-sheet>.directory{max-height:none;overflow:visible;padding:8px}
 #social:has(.hl-map-search) .hl-map-results-sheet>summary{justify-content:flex-start;list-style:disclosure-closed;display:list-item;margin-left:28px;padding:12px 8px}
 #social:has(.hl-map-search) .hl-map-results-sheet[open]>summary{list-style:disclosure-open}
 #social:has(.hl-map-search) .hl-map-results-sheet>summary:before{display:none}
 #social:has(.hl-map-search) .hl-map-preview{max-height:calc(100% - 24px);overflow:auto;bottom:12px}
}
@media(max-width:760px){#social:has(.map-layout){padding-top:18px}#social:has(.map-layout) .page-heading h1{font-size:27px;margin:0 0 12px}#social:has(.map-layout) .page-heading .overline,#social:has(.map-layout) .page-heading p{display:none}#social:has(.map-layout) .page-heading{margin-bottom:8px}#social:has(.map-layout) .chips{margin:8px 0}#social:has(.map-layout) .filterbar{margin:12px 0 0}#social:has(.map-layout) .filterbar .ghost{min-height:28px}#social:has(.map-layout) #resultCount{margin:8px 0 12px}}
