/* Network of Experts — directory styles (v26)
   Layered on top of resources.css (same .go-reslib scope and design tokens).
   Only the directory-specific pieces live here: 4-column grid, square covers,
   generated placeholders, the clickable world map, and the Network tabs. */

/* ---- Header + tabs (Network mode) ---- */
.go-reslib.dir-head{padding-top:20px;background:#fff}
.go-reslib.dir-head .l2-title h2{font-size:24px;font-weight:800;letter-spacing:-.4px}
.go-reslib.dir-head .l2-title p{font-size:14px;color:var(--g600);margin-top:4px;max-width:760px}
.go-reslib.dir-tabs-wrap{background:#fff;padding-bottom:4px}
.go-reslib .dir-tabs{display:inline-flex;gap:6px;background:var(--g100);border:1px solid var(--g200);border-radius:40px;padding:6px;margin-top:12px}
.go-reslib .dir-tab{border:0;background:transparent;font-family:inherit;font-size:16px;font-weight:700;color:var(--g600);padding:13px 40px;border-radius:40px;cursor:pointer;transition:.15s}
.go-reslib .dir-tab:hover{color:var(--teal-dark)}
.go-reslib .dir-tab.active{background:var(--teal);color:#fff}
.go-reslib.dir-descwrap{padding-top:10px}
.go-reslib.dir-descwrap .rl-desc{margin-bottom:0}
@media(max-width:560px){.go-reslib .dir-tab{font-size:14px;padding:11px 24px}}

/* ---- 4-column grid ---- */
.go-reslib .dir-grid{grid-template-columns:repeat(4,1fr);gap:18px}
@media(max-width:1100px){.go-reslib .dir-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.go-reslib .dir-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.go-reslib .dir-grid{grid-template-columns:1fr}}

/* ---- Square covers (logo / photo / generated) ---- */
.go-reslib .cover.sq{padding:0;background:#fff;aspect-ratio:1/1}
.go-reslib .gensq{width:100%;height:100%;display:grid;place-items:center;color:#fff}
.go-reslib .gensq span{font-size:30px;font-weight:800;letter-spacing:.5px}
.go-reslib .dir-card .card-body h4{-webkit-line-clamp:2}
.go-reslib .card-sub{font-size:12px;color:var(--g500);margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.go-reslib .pron{font-size:11px;font-weight:600;color:var(--g400)}

/* list view: keep covers square and contained */
.go-reslib .grid.list .cover.sq{width:96px;height:96px;flex:0 0 96px}
.go-reslib .grid.list .gensq span{font-size:22px}

/* ---- Pop-up extras ---- */
.go-reslib .ov-sub{font-size:13px;color:var(--g600);margin-top:4px}
.go-reslib .ovdocs{margin:0;padding-left:18px}
.go-reslib .ovdocs li{font-size:13.5px;color:var(--g700);line-height:1.6}
.go-reslib .ovdocs a{color:var(--teal-dark);text-decoration:none}
.go-reslib .ovdocs a:hover{text-decoration:underline}
.go-reslib .ovleft .ovlinks{margin-top:16px;flex-wrap:wrap;justify-content:center;gap:8px}
.go-reslib .ovleft .ovlink{font-size:12px;padding:8px 14px}
.go-reslib .ddempty{font-size:12px;color:var(--g400);padding:6px 4px}
/* "All" resets a single filter */
.go-reslib .ddall{display:block;width:100%;text-align:left;border:0;background:transparent;font-family:inherit;font-size:13px;font-weight:700;color:var(--teal);padding:6px 4px;margin-bottom:4px;border-bottom:1px solid var(--g200);cursor:pointer;border-radius:6px}
.go-reslib .ddall:hover{background:var(--g100)}

/* ---- World map ---- */
.go-reslib .rl-map-toggle{display:flex;justify-content:flex-end;margin-bottom:8px}
.go-reslib .maptogbtn{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--g200);border-radius:30px;padding:8px 15px;font-size:13px;font-weight:700;color:var(--teal);cursor:pointer}
.go-reslib .maptogbtn svg{width:15px;height:15px}
.go-reslib .maptogbtn.off{color:var(--g500)}
.go-reslib .dir-map{background:#fff;border:1px solid var(--g200);border-radius:var(--rl);padding:14px 16px 12px;margin-bottom:16px;overflow:hidden;transition:max-height .25s ease,opacity .2s ease;max-height:1000px}
.go-reslib .dir-map.collapsed{max-height:0;padding:0;border-width:0;opacity:0;margin-bottom:0}
.go-reslib .mapwrap{width:100%;max-width:920px;margin:0 auto}
.go-reslib .worldmap{width:100%;height:auto;display:block}
.go-reslib .worldmap path{fill:#e7ecec;stroke:#fff;stroke-width:.4;transition:fill .12s}
.go-reslib .worldmap path.on{fill:var(--map-on,#8fded5);cursor:pointer}
.go-reslib .worldmap path.on:hover{fill:var(--map-hover,#42c3b6)}
.go-reslib .worldmap path.sel{fill:var(--map-sel,var(--teal-dark));stroke:rgba(0,0,0,.35);stroke-width:.6}
.go-reslib .maphint{display:flex;align-items:center;gap:8px;justify-content:center;font-size:12px;color:var(--g500);margin-top:8px;flex-wrap:wrap}
.go-reslib .maphint .dotleg{width:12px;height:12px;border-radius:3px;display:inline-block;margin-left:10px;vertical-align:middle}
.go-reslib .maphint .dotleg.on{background:var(--map-on,#8fded5)}
.go-reslib .maphint .dotleg.off{background:#e7ecec}
.go-reslib .maphint .mapclear{margin-left:16px;color:var(--teal);font-weight:700;cursor:pointer;text-decoration:underline}
