/**
 * Members directory. Tokens from the theme's compiled app.css: #212d40 navy,
 * #0b6b5c AA teal for text, #d14324 AA coral. Square corners like the Agenda.
 */
.ws42-members {
	--ws42-navy: #212d40;
	--ws42-teal: #03c1ac;
	--ws42-teal-ink: #0b6b5c;
	--ws42-coral: #d14324;
	--ws42-mist: #f2f2f4;
	--ws42-rule: rgba( 33, 45, 64, 0.12 );
	--ws42-muted: #5a6474;
}
.ws42-members__intro { max-width: 44rem; margin-bottom: 1.5rem; }
.ws42-members__filter { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin-bottom: 1.5rem; }
.ws42-members__filter input[type="search"] { flex: 1 1 16rem; margin: 0; }
.ws42-members__filter select { flex: 0 1 14rem; margin: 0; }
.ws42-members__filter .button { margin: 0; }
.ws42-members__clear { font-size: 0.9rem; }
.ws42-members__count { color: var( --ws42-muted ); font-size: 0.85rem; margin-bottom: 1rem; }
.ws42-members__grid { display: grid; grid-template-columns: repeat( auto-fill, minmax( 19rem, 1fr ) ); grid-auto-rows: 1fr; gap: 1rem; }
.ws42-members__card { display: flex; gap: 1rem; align-items: flex-start; padding: 1.25rem; border: 1px solid var( --ws42-rule ); background: #fff; color: var( --ws42-navy ); text-decoration: none; transition: border-color 0.15s ease; min-height: 100%; }
.ws42-members__card:hover, .ws42-members__card:focus-visible { border-color: var( --ws42-teal ); color: var( --ws42-navy ); }
.ws42-members__card-logo { flex: none; width: 4.5rem; height: 4.5rem; display: grid; place-items: center; background: var( --ws42-mist ); overflow: hidden; }
.ws42-members__card-logo img { width: 100%; height: 100%; object-fit: contain; }
.ws42-members__card-initial { font-weight: 700; font-size: 1.6rem; color: var( --ws42-teal-ink ); }
.ws42-members__card-body { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; flex: 1 1 auto; align-self: stretch; }
.ws42-members__card-name { font-size: 1.05rem; line-height: 1.3; }
.ws42-members__card-tagline { font-size: 0.875rem; color: var( --ws42-muted ); line-height: 1.45; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.ws42-members__card-meta { display: flex; flex-wrap: wrap; gap: 0.4rem 0.75rem; align-items: center; margin-top: auto; padding-top: 0.75rem; }
.ws42-members__office { font-size: 0.75rem; color: var( --ws42-muted ); }
.ws42-members__tag { display: inline-block; padding: 0.15rem 0.5rem; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var( --ws42-teal-ink ); background: #e3f4f1; }
.ws42-members__empty { padding: 2rem; background: var( --ws42-mist ); margin-bottom: 2rem; }
.ws42-members__join { margin-top: 2.5rem; font-size: 0.85rem; color: var( --ws42-muted ); }
.ws42-members__fineprint { margin-top: 1rem; font-size: 0.85rem; color: var( --ws42-muted ); }
.ws42-members__guidelines-list { margin: 0.75rem 0 0 1.25rem; }
.ws42-members__guidelines-list li { margin-bottom: 0.35rem; }

/* Profile */
.ws42-members__back { margin-bottom: 1rem; font-size: 0.9rem; }
.ws42-members__profile-logo { aspect-ratio: 1; max-width: 10rem; background: var( --ws42-mist ); display: grid; place-items: center; overflow: hidden; margin-bottom: 1.5rem; }
.ws42-members__profile-logo img { width: 100%; height: 100%; object-fit: contain; }
.ws42-members__profile-name { margin-bottom: 0.25rem; }
.ws42-members__profile-tagline { font-size: 1.15rem; color: var( --ws42-muted ); margin-bottom: 1.5rem; }
.ws42-members__facts { display: grid; grid-template-columns: max-content 1fr; gap: 0.35rem 1.5rem; margin-bottom: 1.5rem; font-size: 0.95rem; }
.ws42-members__facts dt { font-weight: 700; color: var( --ws42-muted ); }
.ws42-members__facts dd { margin: 0; }
.ws42-members__profile-body { max-width: 44rem; }
.ws42-members__profile-note { color: var( --ws42-muted ); margin-top: 2rem; }

/* Manage pages */
.ws42-members__manage .ws42-members__form label { display: block; font-weight: 600; margin-top: 1rem; }
.ws42-members__manage .ws42-members__form label small { font-weight: 400; color: var( --ws42-muted ); }
.ws42-members__manage .ws42-members__form input[type="text"],
.ws42-members__manage .ws42-members__form input[type="email"],
.ws42-members__manage .ws42-members__form input[type="url"],
.ws42-members__manage .ws42-members__form select,
.ws42-members__manage .ws42-members__form textarea { width: 100%; margin: 0.25rem 0 0; }
.ws42-members__manage .ws42-members__form .button { margin-top: 1.5rem; }
.ws42-members__check { display: flex !important; gap: 0.6rem; align-items: flex-start; font-weight: 400 !important; }
.ws42-members__check input { margin-top: 0.3rem; }
.ws42-members__error { color: var( --ws42-coral ); font-size: 0.9rem; margin: 0.25rem 0 0; }
.ws42-members__notice { padding: 1rem 1.25rem; margin-bottom: 1.5rem; border-left: 4px solid var( --ws42-teal ); background: #e3f4f1; }
.ws42-members__notice--warn { border-color: var( --ws42-coral ); background: #fdede8; }
.ws42-members__notice p { margin: 0; }
.ws42-members__lede { max-width: 40rem; }
.ws42-members__guidelines { margin-top: 2rem; padding: 1rem 1.25rem; background: var( --ws42-mist ); }
.ws42-members__guidelines h2 { font-size: 1rem; margin: 0; }
.ws42-members__logo-current { display: flex; gap: 1rem; align-items: center; margin: 0.5rem 0; font-size: 0.85rem; color: var( --ws42-muted ); }
.ws42-members__logo-current img { width: 4rem; height: 4rem; object-fit: contain; background: var( --ws42-mist ); }
.ws42-members__trap { position: absolute; left: -9999px; }
@media ( max-width: 640px ) {
	.ws42-members__facts { grid-template-columns: 1fr; gap: 0.1rem; }
	.ws42-members__facts dt { margin-top: 0.5rem; }
}
