/* =====================================================================
   COUNCIL MEMBERS PAGE (أعضاء المجلس): inner masthead plus a complete
   member directory using the shared AEGOV gold, ink, and cream system.
   Loaded only on pages/council-members.html.
   ===================================================================== */

.cm-members { background: var(--bg-page); }

.cm-page .page-hero h1 {
  max-inline-size: 100%;
  overflow-wrap: anywhere;
}

.cm-members .sec-head { margin-block-end: var(--space-16); }

.cm-members .sec-head.center::after { display: none; }

.cm-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(var(--space-10), 2.6vw, var(--space-16));
  align-items: stretch;
}

.cm-member {
  position: relative;
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  gap: clamp(var(--space-10), 2vw, var(--space-14));
  align-items: center;
  min-block-size: 100%;
  padding: clamp(var(--space-10), 2vw, var(--space-14));
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  transition: border-color var(--duration-base) var(--ease-standard);
}

.cm-member > * { min-inline-size: 0; }

.cm-member:hover { border-color: var(--aegold-300); }

.cm-feature {
  grid-column: 1 / -1;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr);
  padding: clamp(var(--space-12), 3vw, var(--space-16));
}

.cm-photo {
  justify-self: center;
  align-self: center;
  inline-size: 100%;
  max-inline-size: 220px;
}

.cm-feature .cm-photo { max-inline-size: 300px; }

.cm-photo.framed {
  display: flex;
  align-items: center;
  justify-content: center;
}

.cm-photo.framed::after { display: none; }

.cm-photo .shot {
  display: flex;
  align-items: center;
  justify-content: center;
  inline-size: 100%;
  block-size: auto;
  min-block-size: 0;
  aspect-ratio: auto;
  overflow: visible;
  border-radius: 0;
  background: transparent;
}

.cm-photo img {
  inline-size: auto;
  block-size: auto;
  max-inline-size: 100%;
  max-block-size: 260px;
  object-fit: contain;
  object-position: center top;
}

.cm-feature .cm-photo img { max-block-size: 320px; }

.cm-photo.framed:hover .shot img { transform: none; }

.cm-no-photo { grid-template-columns: 1fr; }

.cm-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-7);
  min-inline-size: 0;
}

.cm-copy h3 {
  inline-size: 100%;
  margin: 0;
  font-family: var(--font-heading-ar);
  font-size: clamp(18px, 1.45vw, 24px);
  line-height: var(--leading-snug);
  font-weight: var(--weight-extrabold);
  color: var(--ink);
  letter-spacing: 0;
}

.cm-feature .cm-copy h3 {
  font-size: clamp(22px, 2vw, 30px);
}

.cm-role {
  margin: 0;
  inline-size: 100%;
  font-family: var(--font-heading-ar);
  font-size: clamp(14px, 1vw, 16px);
  line-height: var(--leading-normal);
  font-weight: var(--weight-semibold);
  color: var(--aegold-700);
  overflow-wrap: anywhere;
}

/* bilingual member lines: one locale visible per document direction */
[dir="rtl"] .cm-i18n-en { display: none; }
[dir="ltr"] .cm-i18n-ar { display: none; }
[dir="rtl"] .cm-copy h3 .cm-i18n-ar { display: inline; }
[dir="ltr"] .cm-copy h3 .cm-i18n-en { display: inline; }
[dir="rtl"] .cm-role .cm-i18n-ar { display: block; }
[dir="ltr"] .cm-role .cm-i18n-en { display: block; }

@media (max-width: 1180px) {
  .cm-list { grid-template-columns: 1fr; }
  .cm-feature,
  .cm-member {
    grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .cm-page .page-crumb {
    justify-content: center;
  }

  .cm-page .page-hero h1 {
    font-size: clamp(32px, 10vw, 40px);
    max-inline-size: none;
    margin-inline: auto;
    text-align: center;
    text-wrap: balance;
  }

  .cm-feature,
  .cm-member {
    grid-template-columns: 1fr;
  }

  .cm-photo,
  .cm-feature .cm-photo {
    max-inline-size: 280px;
  }

  .cm-photo img,
  .cm-feature .cm-photo img {
    max-block-size: 300px;
  }

  .cm-feature .cm-copy h3 {
    font-size: clamp(20px, 6vw, 24px);
  }

  .cm-copy h3 {
    max-inline-size: none;
    margin-inline: auto;
    overflow-wrap: anywhere;
  }

  .cm-copy {
    align-items: stretch;
    text-align: center;
  }

  .cm-role {
    text-wrap: balance;
  }
}

@media (max-width: 460px) {
  .cm-member { padding: var(--space-8); }

  .cm-photo,
  .cm-feature .cm-photo {
    max-inline-size: 240px;
  }

  .cm-photo img,
  .cm-feature .cm-photo img {
    max-block-size: 260px;
  }
}
