/**
 * About ページ専用スタイル
 *
 * @package jfhany-web
 */

/* ==========================================================================
   Menu
   ========================================================================== */

.jfhany-about-menu {
  display: flex;
  gap: var(--jfhany-space-lg);
  justify-content: center;
  margin-block-start: var(--jfhany-space-2xl);
}

.jfhany-about-menu .jfhany-about-menu__item {
  display: block;
  text-decoration: none;
}

.jfhany-about-menu > p:not(:last-child) .jfhany-about-menu__item {
  border-right: 1px solid var(--jfhany-color-border);
  padding-right: var(--jfhany-space-lg);
}

/* ==========================================================================
   セクション見出し / 本文見出しは pages.css の .jfhany-page__content h2/h3 に統合済み
   ========================================================================== */

/* ==========================================================================
   メディアとテキストブロック (About 固有の余白)
   ========================================================================== */

.jfhany-about .wp-block-media-text {
  margin-bottom: var(--jfhany-space-2xl);
}

.jfhany-about .wp-block-media-text .wp-block-media-text__content {
  padding: var(--jfhany-space-lg) var(--jfhany-space-xl);
}

/* ==========================================================================
   Mission
   ========================================================================== */

.jfhany-about-mission__body {
  gap: var(--jfhany-space-xl);
  line-height: var(--jfhany-line-height-base);
}

/* ==========================================================================
   Board Member
   ========================================================================== */

.jfhany-about-member > .wp-block-group__inner-container > * + * {
  margin-block-start: var(--jfhany-space-2xl);
}

.jfhany-about-member > .wp-block-group__inner-container > h2 + * {
  margin-block-start: 0;
}

.jfhany-about-member h3 {
  font-size: var(--jfhany-font-size-lg);
  font-weight: 700;
  color: var(--jfhany-color-primary);
  margin-bottom: var(--jfhany-space-md);
}

/* ==========================================================================
   Board Member カード: 共通
   ========================================================================== */

.jfhany-board-member {
  padding: var(--jfhany-space-md);
}

.jfhany-board-member .jfhany-board-member__name {
  font-weight: 700;
  font-size: var(--jfhany-font-size-base);
  color: var(--jfhany-color-primary);
  margin: 0 0 var(--jfhany-space-xs);
}

.jfhany-board-member .jfhany-board-member__titles {
  list-style: none;
  margin: 0 0 var(--jfhany-space-xs);
  padding: 0;
  font-size: var(--jfhany-font-size-sm);
  line-height: 1.5;
  color: var(--jfhany-color-text);
}

.jfhany-board-member .jfhany-board-member__titles li {
  margin: 0;
}

.jfhany-board-member .jfhany-board-member__affiliation {
  font-size: var(--jfhany-font-size-sm);
  color: var(--jfhany-color-text-muted);
  margin: 0;
}

/* ==========================================================================
   Board Member カード: 写真付き
   ========================================================================== */

.jfhany-board-member--photo {
  display: flex;
  align-items: flex-start;
  gap: var(--jfhany-space-md);
  background-color: var(--jfhany-color-bg-light);
  border-radius: var(--jfhany-border-radius-lg);
}

.jfhany-board-member__photo {
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  overflow: hidden;
  border-radius: var(--jfhany-border-radius);
}

.jfhany-board-member__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.jfhany-board-member--photo .jfhany-board-member__info {
  flex: 1;
  min-width: 0;
}

/* ==========================================================================
   Board Member カード: テキストのみ
   ========================================================================== */

.jfhany-board-member--text-only {
  border-bottom: 1px solid var(--jfhany-color-border);
  padding-left: 0;
  padding-right: 0;
}

.jfhany-board-member--text-only .jfhany-board-member__name {
  font-size: var(--jfhany-font-size-sm);
}

.jfhany-board-member--text-only .jfhany-board-member__titles {
  font-size: var(--jfhany-font-size-xs);
  padding: 0;
}

.jfhany-board-member--text-only .jfhany-board-member__affiliation {
  font-size: var(--jfhany-font-size-xs);
}

/* ==========================================================================
   カラムブロック内の Board Member カード間隔
   ========================================================================== */

.jfhany-about .wp-block-columns {
  margin-bottom: var(--jfhany-space-lg);
}

/* ==========================================================================
   Partners
   ========================================================================== */

.jfhany-about-partners {
  gap: var(--jfhany-space-xl);
}

.jfhany-about-partners__row {
  width: 100%;
  gap: var(--jfhany-space-2xl);
}

.jfhany-about-partners__row img {
  max-width: 100%;
  max-height: 64px;
  width: auto;
  height: auto;
}

.jfhany-about-partners__default-size-logo img {
  max-width: 150px;
}

.jfhany-about-partners__row figure:last-child img {
  max-width: 260px;
}

/* ==========================================================================
   レスポンシブ
   ========================================================================== */

@media (max-width: 768px) {
  /* .jfhany-about h2 のレスポンシブは pages.css の .jfhany-page__content h2 に統合済み */

  .jfhany-about .wp-block-media-text .wp-block-media-text__content {
    padding: var(--jfhany-space-md);
  }

  .jfhany-about-member h3 {
    text-align: center;
  }

  /* 写真付き: カード型レイアウト（写真上 + テキスト下） */
  .jfhany-board-member--photo {
    flex-direction: column;
    align-items: stretch;
    text-align: center;
    padding: 0;
    border: 1px solid var(--jfhany-color-border);
    border-radius: var(--jfhany-border-radius-lg);
    overflow: hidden;
    transition: box-shadow var(--jfhany-transition);
  }

  .jfhany-board-member--photo .jfhany-board-member__photo {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 0;
  }

  .jfhany-board-member--photo .jfhany-board-member__info {
    padding: var(--jfhany-space-md);
  }

  .jfhany-about-partners__row {
    justify-content: center;
  }

  .jfhany-board-member--text-only .jfhany-board-member__name,
  .jfhany-board-member--text-only .jfhany-board-member__titles,
  .jfhany-board-member--text-only .jfhany-board-member__affiliation {
    text-align: center;
  }
}
