/* =====================================================================
   INDEXA Officers & Directors (plugin)
   ===================================================================== */
.ix-roster-legend { display: flex; align-items: center; gap: .5rem; color: var(--wp--preset--color--muted, #526077); font-size: .9rem; }
.ix-roster { margin-top: 2.25rem; }
.ix-roster-wrap .ix-roster h2 {
	display: flex;
	align-items: center;
	gap: .75rem;
	margin: 0 0 1rem;
	font: 700 .75rem/1 var(--wp--preset--font-family--mono, ui-monospace, Menlo, Consolas, monospace);
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary, #1e3a8a);
}
.ix-roster-wrap .ix-roster h2::after { content: ""; flex: 1; height: 1px; background: var(--wp--preset--color--line, #dfe4ee); }
.ix-roster__grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
	gap: .75rem;
}
.ix-roster-wrap .ix-roster__grid li { margin: 0; }
.ix-person {
	display: grid;
	grid-template-columns: 2.75rem 1fr auto;
	align-items: center;
	gap: .8rem;
	padding: .8rem .9rem;
	border: 1px solid var(--wp--preset--color--line, #dfe4ee);
	border-radius: 12px;
	background: #fff;
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
.ix-person:hover { border-color: color-mix(in srgb, var(--wp--preset--color--primary, #1e3a8a) 35%, var(--wp--preset--color--line, #dfe4ee)); box-shadow: var(--wp--custom--shadow, 0 8px 24px rgba(15,23,42,.08)); transform: translateY(-1px); }
.ix-person__mono {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 50%;
	font-weight: 750;
	font-size: .9rem;
	letter-spacing: .02em;
	color: #fff;
	background: linear-gradient(135deg, var(--wp--preset--color--primary, #1e3a8a), var(--wp--preset--color--primary-dark, #0b1d4d));
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .15);
}
.ix-person__body { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.ix-person__role {
	font: 600 .66rem/1.3 var(--wp--preset--font-family--mono, ui-monospace, Menlo, Consolas, monospace);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: color-mix(in srgb, var(--wp--preset--color--accent, #f59e0b) 80%, #7a4a00);
}
.ix-person__name { margin-top: .15rem; font-weight: 650; font-size: 1rem; color: var(--wp--preset--color--ink, #0f172a); }
.ix-ec {
	display: inline-block;
	margin-left: .35rem;
	padding: .12rem .35rem;
	border-radius: 5px;
	font: 700 .6rem/1 var(--wp--preset--font-family--mono, ui-monospace, Menlo, Consolas, monospace);
	letter-spacing: .08em;
	text-decoration: none;
	vertical-align: 2px;
	color: var(--wp--preset--color--on-accent, #0f172a);
	background: var(--wp--preset--color--accent, #f59e0b);
	cursor: help;
}
.ix-roster-legend .ix-ec { margin-left: 0; }
.ix-roster-wrap a.ix-call {
	padding: .38rem .65rem;
	border-radius: 8px;
	font: 700 .82rem/1 var(--wp--preset--font-family--mono, ui-monospace, Menlo, Consolas, monospace);
	letter-spacing: .06em;
	text-decoration: none;
	color: var(--wp--preset--color--primary, #1e3a8a);
	background: color-mix(in srgb, var(--wp--preset--color--primary, #1e3a8a) 8%, #fff);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--primary, #1e3a8a) 18%, transparent);
	transition: background-color .15s, color .15s;
}
.ix-roster-wrap a.ix-call:hover { background: var(--wp--preset--color--primary, #1e3a8a); color: #fff; }

/* photo instead of initials */
/* doubled class + !important beat theme rules like ".entry-content img { border-radius: 8px; height: auto }" */
.ix-roster-wrap .ix-person__photo.ix-person__photo {
	display: block;
	width: 2.75rem !important;
	height: 2.75rem !important;
	max-width: none !important;
	margin: 0;
	border-radius: 50% !important;
	object-fit: cover;
	aspect-ratio: 1;
	box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--wp--preset--color--line, #dfe4ee);
}

/* layout: one card per line */
.ix-roster--list .ix-roster__grid { grid-template-columns: 1fr; gap: .6rem; }
.ix-roster--list .ix-person { grid-template-columns: 4rem 1fr auto; gap: 1.1rem; padding: 1rem 1.25rem; }
.ix-roster--list .ix-person__mono { width: 4rem; height: 4rem; font-size: 1.15rem; }
.ix-roster-wrap.ix-roster--list .ix-person__photo.ix-person__photo { width: 4rem !important; height: 4rem !important; }
.ix-roster--list .ix-person__name { font-size: 1.12rem; }
.ix-roster--list .ix-person__role { font-size: .72rem; }
@media (max-width: 520px) {
	.ix-roster--list .ix-person { grid-template-columns: 3rem 1fr; }
	.ix-roster--list .ix-person__mono { width: 3rem; height: 3rem; font-size: .95rem; }
	.ix-roster-wrap.ix-roster--list .ix-person__photo.ix-person__photo { width: 3rem !important; height: 3rem !important; }
	.ix-roster--list .ix-call { grid-column: 2; justify-self: start; }
}
