/* PNGCORE — Member directory template (templates/member-directory.php: /members/full/, /members/associate/,
   /members/service/; body class .pc-tpl-member-directory) and the directory cards shared with /members/
   (enqueued there too). Tokens and pc- components only. */

/* Directory cards (members-directories part) */
.pc-mbr-dir-cards{list-style:none;margin:0;padding:0}
.pc-mbr-dir-cards > li{display:flex;margin:0}
.pc-mbr-dir-card{flex:1}
.pc-mbr-dir-card .pc-mbr-dir-count{margin:0;font-size:var(--pc-fs-meta);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--pc-brand-700)}

/* Hero aside: number listed */
.pc-dir-hero-count{display:flex;align-items:baseline;gap:var(--pc-s3);margin:0;color:var(--pc-on-dark-muted);font-size:var(--pc-fs-small)}
.pc-dir-hero-num{font-size:var(--pc-fs-stat);font-weight:800;line-height:1;letter-spacing:-.025em;color:#fff;font-variant-numeric:tabular-nums lining-nums}
@media (min-width:960px){.pc-dir-hero-count{flex-direction:column;align-items:flex-end;gap:var(--pc-s2);text-align:right;padding-left:var(--pc-s6);border-left:3px solid var(--pc-accent)}}

/* Toolbar: directory switch, search, status */
.pc-dir{padding-top:var(--pc-s7)}
.pc-dir-toolbar{display:grid;gap:var(--pc-s4);margin-bottom:var(--pc-s4)}
.pc-dir-switch .pc-chips{margin:0}
.pc-dir-switch .pc-chip{min-height:44px}
.pc-dir-search{display:grid;gap:var(--pc-s2);max-width:720px}
.pc-dir-search-row{display:flex;gap:var(--pc-s2)}
.pc-dir-search-field{position:relative;flex:1;min-width:0}
.pc-dir-search-field .pc-icon{position:absolute;left:14px;top:50%;width:20px;height:20px;transform:translateY(-50%);color:var(--pc-muted);pointer-events:none}
.pc-dir-search-field .pc-input{min-height:48px;padding-left:44px}
.pc-dir-search .pc-btn{min-height:48px}
.pc-dir-status{margin:0;font-size:var(--pc-fs-small);color:var(--pc-muted)}
.pc-dir-clear{margin-left:var(--pc-s2);font-weight:600}

/* A–Z jump list: sticky under the header, scrolls sideways on small screens */
.pc-dir-az{position:sticky;top:var(--pc-header-h);z-index:calc(var(--pc-z-header) - 2);margin:0 0 var(--pc-s6);padding:var(--pc-s1) 0;background:var(--pc-bg);border-block:1px solid var(--pc-line);box-shadow:0 8px 16px -14px rgba(0,38,59,.35)}
.admin-bar .pc-dir-az{top:calc(var(--pc-header-h) + var(--wp-admin--admin-bar--height,32px))}
.pc-dir-az ul{display:flex;gap:2px;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:thin}
.pc-dir-az li{flex:none;margin:0}
.pc-dir-az a,.pc-dir-az span{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--pc-r);font-weight:700;font-size:var(--pc-fs-small);text-decoration:none}
.pc-dir-az a{color:var(--pc-brand-700)}
.pc-dir-az a:hover{background:var(--pc-brand-50);color:var(--pc-brand-800)}
.pc-dir-az .is-empty{color:var(--pc-line-strong);pointer-events:none}
@media (min-width:1240px){.pc-dir-az ul{justify-content:space-between}}
@media (max-width:1023px){.pc-dir-az li:has(> span.is-empty){display:none}}

/* Directory list: ONE continuous A–Z grid of compact cards (QA round 1, UX1-18). The first card of each letter
   carries the letter as a corner label (the A–Z jump target); profiles sit in a <details> disclosure. */
.pc-dir-list{display:grid;gap:var(--pc-s4);list-style:none;margin:0;padding:0}
@media (min-width:640px){.pc-dir-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1120px){.pc-dir-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pc-dir-entry{display:flex;min-width:0;margin:0}
.pc-dir-entry,.pc-dir-letter-tag,.pc-dir-empty{scroll-margin-top:64px}

/* Entry card: logo | name, then the links and the profile disclosure across the card (the same structure at every
   width, so link rows do not wrap beside the logo and cards in a row line up) */
.pc-dir-card{position:relative;flex:1;min-width:0;display:grid;grid-template-columns:64px minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:var(--pc-s4);align-items:start;padding:var(--pc-s5);background:var(--pc-bg);border:1px solid var(--pc-line);border-radius:var(--pc-r-lg);transition:border-color var(--pc-dur-2) var(--pc-ease),box-shadow var(--pc-dur-2) var(--pc-ease)}
.pc-dir-entry:target .pc-dir-card{border-color:var(--pc-brand);box-shadow:0 0 0 3px var(--pc-brand-100)}
.pc-dir-logo{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center;width:64px;height:64px;padding:5px;background:#fff;border:1px solid var(--pc-line);border-radius:var(--pc-r);overflow:hidden}
.pc-dir-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.pc-dir-logo.is-empty{background:var(--pc-brand-50);border-color:transparent}
.pc-dir-initials{font-size:1.25rem;font-weight:800;color:var(--pc-brand-800)}
.pc-dir-body{display:contents}
.pc-dir-body h3{grid-column:2;grid-row:1;align-self:center;margin:0;min-height:64px;display:flex;align-items:center;font-size:var(--pc-fs-h5);line-height:1.3;overflow-wrap:anywhere}
.pc-dir-entry.is-first .pc-dir-body h3{padding-right:var(--pc-s7)}

/* Letter label: corner tab on the first card of each letter */
.pc-dir-letter-tag{display:none}
.pc-dir-entry.is-first .pc-dir-letter-tag{position:absolute;top:-1px;right:-1px;display:flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 var(--pc-s2);border-radius:0 var(--pc-r-lg) 0 var(--pc-r);background:var(--pc-brand-700);color:#fff;font-weight:800;font-size:var(--pc-fs-h5);line-height:1}

/* Links */
.pc-dir-links{grid-column:1 / -1;grid-row:2;display:flex;flex-wrap:wrap;gap:0 var(--pc-s5);list-style:none;margin:var(--pc-s2) 0 0;padding:0}
.pc-dir-links li{margin:0;min-width:0}
.pc-dir-link,.pc-dir-dead{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:var(--pc-fs-small);overflow-wrap:anywhere}
.pc-dir-link{font-weight:600}
.pc-dir-link .pc-icon,.pc-dir-dead .pc-icon{width:18px;height:18px;flex:none}
.pc-dir-dead{color:var(--pc-muted)}
.pc-dir-dead-note{font-size:var(--pc-fs-meta)}

/* Profile disclosure */
.pc-dir-more{grid-column:1 / -1;grid-row:3;align-self:end;margin-top:var(--pc-s3);border-top:1px solid var(--pc-line)}
.pc-dir-more summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-bottom:-8px;list-style:none;cursor:pointer;color:var(--pc-link);font-size:var(--pc-fs-small);font-weight:600;border-radius:var(--pc-r)}
.pc-dir-more summary::-webkit-details-marker{display:none}
.pc-dir-more summary:hover{color:var(--pc-link-hover);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.pc-dir-more summary:focus-visible{outline:2px solid var(--pc-focus);outline-offset:2px}
.pc-dir-more summary .pc-icon{width:18px;height:18px;transition:transform var(--pc-dur-2) var(--pc-ease)}
.pc-dir-more[open] summary .pc-icon{transform:rotate(180deg)}
.pc-dir-profile{padding:var(--pc-s3) 0 0;font-size:var(--pc-fs-small);line-height:1.6;color:var(--pc-text)}
.pc-dir-profile p{margin:0 0 .75em}
.pc-dir-profile > :last-child{margin-bottom:0}
.pc-dir-profile a{overflow-wrap:anywhere}

/* Phones: 48 px logo box, tighter card */
@media (max-width:639px){
	.pc-dir-card{grid-template-columns:48px minmax(0,1fr);column-gap:var(--pc-s3);padding:var(--pc-s4)}
	.pc-dir-logo{width:48px;height:48px;padding:4px}
	.pc-dir-initials{font-size:1rem}
	.pc-dir-body h3{min-height:48px}
	.pc-dir-links{margin-top:var(--pc-s1)}
	.pc-dir-more{margin-top:var(--pc-s1)}
	.pc-dir-entry.is-first .pc-dir-letter-tag{min-width:36px;height:36px}
}

/* Empty state */
.pc-dir-empty{margin-top:var(--pc-s5);padding:clamp(24px,4vw,48px);text-align:center;background:var(--pc-surface);border-radius:var(--pc-r-lg)}
.pc-dir-empty h2{font-size:var(--pc-fs-h3);margin:0 0 var(--pc-s3)}
.pc-dir-empty p{margin:0 auto var(--pc-s5);max-width:52ch;color:var(--pc-muted)}

/* Utility bar at 360 px (shared announcement strip overflows by 27 px; local work-around for /members/ and the
   directories, proposed for components.css in build/shared-requests/leadership.md and membership.md) */
@media (max-width:399px){
	.pc-tpl-members .pc-utility-text,.pc-tpl-member-directory .pc-utility-text{display:none}
	.pc-tpl-members .pc-utility-note strong,.pc-tpl-member-directory .pc-utility-note strong{min-width:0;overflow:hidden;text-overflow:ellipsis}
}
