.fmc-results-table td,
.fmc-results-table th {
  color: #2f2f2f;
}

.fmc-bio-col, .fmc-bio {
  color: #3a3a3a;
  line-height: 1.5;
}

.fmc-maiden-col, .fmc-maiden {
  color: #444;
  font-style: italic;
}

.bio-more {
  color: #1d4ed8;
  cursor: pointer;
  text-decoration: underline;
}
.fmc-bio .bio-text.expanded {
  -webkit-line-clamp: unset;
  display: block;
  overflow: visible;
}
/* === Alumni Directory Visual Polish === */
.fmc-photo, .fmc-yearbook-col {
  width: 64px;
  text-align: center;
}
.fmc-avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  background: #f0f0f0;
  box-shadow: none;
  margin-right: 0;
  vertical-align: middle;
  display: inline-block;
}
.fmc-avatar.has-photo {
  border: 2px solid #e6e6e6;
}
.fmc-avatar-default {
  width: 56px;
  height: 56px;
  font-size: 32px;
  border-radius: 50%;
  background: #f0f0f0;
  color: #bdbdbd;
  line-height: 56px;
  text-align: center;
  margin-right: 0;
}
.fmc-results-table th.fmc-header {
  position: sticky;
  top: 0;
  background: #fff;
  z-index: 10;
}
.fmc-row {
  transition: background 0.15s ease;
}
.fmc-row:hover {
  background: #f8f9fa;
}
.fmc-row--featured {
  border-left: 3px solid #8B0000;
}
.fmc-row--featured:hover {
  background: #fdf6f6;
}
.fmc-action-col a {
  color: #2271b1;
  opacity: 0.7;
  transition: opacity 0.15s;
}
.fmc-row:hover .fmc-action-col a {
  opacity: 1;
}
.fmc-bio-col {
  max-width: 420px;
}
.fmc-bio .bio-text {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.fmc-maiden-col, .fmc-maiden {
  color: #666;
  font-style: italic;
}
.fmc-empty {
  text-align: center;
  color: #888;
  font-size: 1.1em;
}
.fmc-photo-tooltip {
  cursor: pointer;
  font-size: 1.1em;
  margin-left: 0.25em;
  color: #bbb;
}
/* Yearbook photo column styling */
.fmc-yearbook-col {
  width: 56px;
  text-align: center;
  vertical-align: middle;
}
/* ===== Classmate Directory Avatars ===== */
.fmc-avatar-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-right: 0.5em;
  vertical-align: middle;
}
.fmc-avatar {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  background: #f3f4f6;
  margin-right: 0.25em;
  vertical-align: middle;
}
.fmc-avatar-default {
  display: inline-block;
  width: 40px;
  height: 40px;
  font-size: 32px;
  color: #bdbdbd;
  background: #f3f4f6;
  border-radius: 8px;
  text-align: center;
  line-height: 40px;
  margin-right: 0.25em;
  vertical-align: middle;
}
/* Shared directory/management UI foundation */

/* ===== New Table Layout (API-driven) ===== */
.fmc-results-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  margin: 1rem 0;
  font-size: 14px;
}

.fmc-results-table thead {
  background: #f9fafb;
  border-bottom: 2px solid #e5e7eb;
}

.fmc-results-table th {
  padding: 12px 10px;
  text-align: left;
  font-weight: 600;
  color: #1f2937;
}

.fmc-results-table tbody tr {
  border-bottom: 1px solid #e5e7eb;
}

.fmc-results-table tbody tr:hover {
  background: #f9fafb;
}

.fmc-results-table td {
  padding: 10px;
  vertical-align: middle;
}

.fmc-name-col {
  min-width: 150px;
  font-weight: 600;
}

.fmc-maiden-col {
  width: 100px;
  color: #6b7280;
}

.fmc-bio-col {
  flex: 1;
  max-width: 300px;
  color: #6b7280;
  white-space: normal;
}

.fmc-action-col {
  width: 120px;
  text-align: center;
  white-space: nowrap;
}

.fmc-action-col a {
  padding: 0 4px;
  font-size: 16px;
  color: #2271b1;
  text-decoration: none;
  display: inline-block;
}

.fmc-action-col a:hover {
  color: #0a4294;
}

.fmc-action-col .dashicons {
  width: 20px;
  height: 20px;
  font-size: 20px;
}

/* ===== Legacy Card Layout (backwards compat) ===== */

/* Filtered cards hidden without layout gaps */
.classmate-card.cm-hidden{ display:none !important; }

/* Buttons stay inline, don’t wrap next block */
.classmate-card .cm-right .button{
  float:none !important;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  white-space:nowrap;
  vertical-align:middle;
  min-height:2.25rem;
  padding:.5rem .85rem;
  border-radius:.5rem;
}

/* Modal bits */
.fmc-thumb{ max-height:80px; border-radius:6px; }
.modal{ z-index:1050; }

/* Small util for images in legacy places */
.cm-thumb{ width:40px; height:40px; object-fit:cover; border-radius:10px; }

/* Clear '×' button defaults; z-index to stay clickable */
#classmates-clear{
  position:absolute; right:.5rem; top:50%; transform:translateY(-50%);
  border:0; background:transparent; padding:0 .25rem; line-height:1;
  font-size:1.25rem; opacity:.65; cursor:pointer; display:none;
  z-index:20;
}
#classmates-clear:hover{ opacity:1; }

/* Basic responsive card helpers for bare directory view */
.classmate-card{ border:1px solid #e5e7eb; border-radius:10px; padding:.6rem .75rem; margin-bottom:.6rem; background:#fff; }
.classmate-card .cm-row{ display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.classmate-card .cm-left{ flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:.5rem; }
.classmate-card .cm-right{ margin-left:auto; display:flex; align-items:center; gap:.5rem; }
.cm-thumb{ width:48px; height:48px; object-fit:cover; border-radius:8px; flex:0 0 48px; }
.cm-name{ font-weight:700; word-break:break-word; }
.cm-bio{ width:100%; color:#6c757d; margin-top:.4rem; border-top:1px solid rgba(0,0,0,.04); padding-top:.5rem; }

@media (max-width:720px){
  .classmate-card .cm-row{ flex-direction:column; align-items:flex-start; }
  .classmate-card .cm-right{ margin-left:0; width:100%; justify-content:flex-end; }
  .cm-thumb{ width:40px; height:40px; flex:0 0 40px; }
}

/* Fallback styling for Formidable-generated rows/tables when .classmate-card wrapper is not present */
.frm_row, li.frm_row, .frm_rows .frm_row {
  display:block; background:#fff; border:1px solid #e5e7eb; border-radius:10px; padding:.6rem .75rem; margin-bottom:.6rem;
}
.frm_row .cm-row, li.frm_row .cm-row, .frm_row > div {
  display:flex; align-items:center; gap:.6rem; flex-wrap:wrap;
}
.frm_table tbody tr{ border-bottom: none; }
.frm_table tbody tr td{ padding:.6rem .75rem; vertical-align: middle; }
