/* =========================================
   exhibition-players.css
   最終完全版（重複ゼロ / 7等分 / 列色 / 縦書き / 選手名行だけ上段 / 行高可変）
   前提：
   - 左th: .brepT__rowHead
   - 選手名行: <tr class="brepT__row--name">
========================================= */

/* -----------------------------
   wrapper / error
----------------------------- */
.brep{ margin:4px 0 8px; }

.brep--err{
  padding:10px 12px;
  border:1px solid #f2caca;
  background:#fff5f5;
  color:#b42318;
  border-radius:10px;
  font-weight:700;
}

.brep__tableWrap{ width:100%; }

/* -----------------------------
   table base（7等分固定）
----------------------------- */
.brepT{
  width:100%;
  table-layout:fixed;          /* 7等分固定 */
  border-collapse:collapse;
  font-size:14px;
}

/* SWELLの table 初期（.post_content table text-align:left等）を brepT だけ上書き */
.post_content .brepT,
.post_content .brepT th,
.post_content .brepT td{
  text-align:center !important;
  vertical-align:middle !important;
}

/* th/td 共通 */
.post_content .brepT th,
.post_content .brepT td{
  width:14.2857%;
  box-sizing:border-box;
  border:1px solid var(--color_border--table, #dcdcdc) !important; /* ← 統一 */
  padding:10px 6px;
}

/* -----------------------------
   左列（項目名 th）
----------------------------- */
.post_content .brepT th.brepT__rowHead{
  background:#e2fdf4 !important;
  color:#222 !important;
  font-weight:800;
}

/* -----------------------------
   枠アイコン / 欠場
----------------------------- */
.brepT__laneicon{
  width:32px;
  height:auto;
  display:block;
  margin:0 auto;
}

.brepT__miss{
  display:inline-block;
  margin-top:4px;
  padding:2px 6px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
  background:#ffe8e8;
  border:1px solid #f1b4b4;
}

/* =========================================
   最終強制：枠番背景（絶対にズレさせない）
========================================= */
.post_content .brepT tbody td.brepT__lane--1{ background-color:#ffffff !important; background-image:none !important; }
.post_content .brepT tbody td.brepT__lane--2{ background-color:#d7d7d7 !important; background-image:none !important; }
.post_content .brepT tbody td.brepT__lane--3{ background-color:#ffdbdb !important; background-image:none !important; }
.post_content .brepT tbody td.brepT__lane--4{ background-color:#eaf4ff !important; background-image:none !important; }
.post_content .brepT tbody td.brepT__lane--5{ background-color:#ffffd6 !important; background-image:none !important; }
.post_content .brepT tbody td.brepT__lane--6{ background-color:#ccffcc !important; background-image:none !important; }
/* -----------------------------
   選手名（縦書き）
   ※行高は “最大文字数に合わせて自然に伸びる”
----------------------------- */
.brepT__name{
  writing-mode:vertical-rl;
  text-orientation:mixed;

  /* ✅ 縦書きでも内容に応じてセル高さが伸びる */
  white-space:normal;

  display:inline-block;
  font-weight:900;
  font-size:18px;
  line-height:1.2;

  /* 横は中央 */
  margin:0 auto;
}

/* 女子：名前だけ赤 */
.brepT__name--female{
  color:#f53677;
  font-weight:900;
}

/* -----------------------------
   ✅ 選手名行だけ：thは中段 / tdと名前は上段
   ※ nth-of-type は使わない（壊れる原因）
----------------------------- */
.post_content .brepT tr.brepT__row--name th{
  vertical-align:middle !important;
}

/* -----------------------------
   選手名（縦書き）Safari安定版
----------------------------- */

/* 選手名行：tdは上寄せ */
.post_content .brepT tr.brepT__row--name td{
  vertical-align: top !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* ✅ ここが本体：display:table を絶対に使わない */
.post_content .brepT tr.brepT__row--name td .brepT__name{
  display: inline-block !important;
  margin: 0 auto !important;

  writing-mode: vertical-rl !important;
  -webkit-writing-mode: vertical-rl !important;

  /* upright の方がiOSで安定しやすい */
  text-orientation: upright !important;
  -webkit-text-orientation: upright !important;

  /* 縦書きは nowrap が安定（高さはtdのpaddingで確保） */
  white-space: nowrap !important;

  font-weight: 900;
  font-size: 18px;
  line-height: 1.2;
}

/* ✅ “行内の全要素” をいじらない（Safari地雷） */
.post_content .brepT tr.brepT__row--name td *{
  text-align: inherit !important;
}
/* ✅ 選手名行だけ、子要素の text-align 強制を解除（これが効かない原因だった） */
.post_content .brepT tr.brepT__row--name td *{
  text-align:initial !important;
}


/* =========================================
   欠場列：完全グレー＋白文字
========================================= */

.brepT td.brepT__td.is-miss{
  background:#8c8c8c !important;   /* 強めグレー */
  color:#ffffff !important;
}

/* 内部の文字すべて白 */
.brepT td.brepT__td.is-miss *,
.brepT td.brepT__td.is-miss a{
  color:#ffffff !important;
}

/* 枠色を完全無効化（上書き） */
.brepT td.brepT__td.is-miss.brepT__lane--1,
.brepT td.brepT__td.is-miss.brepT__lane--2,
.brepT td.brepT__td.is-miss.brepT__lane--3,
.brepT td.brepT__td.is-miss.brepT__lane--4,
.brepT td.brepT__td.is-miss.brepT__lane--5,
.brepT td.brepT__td.is-miss.brepT__lane--6{
  background:#8c8c8c !important;
}
/* =========================================
   上部5行を統一デザイン化
   対象：
   ・枠
   ・登録番号
   ・級
   ・期
   ・支部
   仕様：
   - th / td ともに 14px
   - 太字
   - 高さはコンパクトだが詰めすぎない
========================================= */

/* 行全体の基本設定 */
.brepT__row--waku th,
.brepT__row--waku td,
.brepT__row--entno th,
.brepT__row--entno td,
.brepT__row--cls th,
.brepT__row--cls td,
.brepT__row--gen th,
.brepT__row--gen td,
.brepT__row--branch th,
.brepT__row--branch td{
  font-size:14px !important;
  font-weight:700 !important;
  line-height:1.2;
  padding:6px 4px !important;   /* 高さはここで調整 */
  vertical-align:middle;
}

/* 行の高さを自然に（過度に固定しない） */
.brepT__row--waku,
.brepT__row--entno,
.brepT__row--cls,
.brepT__row--gen,
.brepT__row--branch{
  height:auto;
}

/* 枠アイコンをやや小さめに */
.brepT__laneicon{
  width:24px;   /* 22〜26pxで微調整可能 */
  height:auto;
  display:block;
  margin:0 auto;
}

/* 登録番号は少し詰める */
.brepT__row--entno td{
  letter-spacing:0;
}

/* 期表示（例：64期）のバランス */
.brepT__row--gen td{
  white-space:nowrap;
}

/* 支部も詰めすぎない */
.brepT__row--branch td{
  white-space:nowrap;
}

/* =========================================
   最下行の下線を削除
========================================= */
.post_content .brepT tbody tr:last-child th,
.post_content .brepT tbody tr:last-child td{
  border-bottom:none !important;
}



/* =========================================
   iOS縦書き崩れ対策（選手名）
   - a要素 + table で writing-mode が落ちるのを防ぐ
========================================= */

/* 選手名セル：縦書きの安定化 */
.brepT__row--name td.brepT__td{
  vertical-align: middle;
}

/* a/span の両方を対象にする（欠場やentno無しでspanになるケース用） */
.brepT__name{
  display: inline-block;               /* ← iOS必須になりがち */
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;   /* ← これが無いとiPhoneで横になりやすい */
  text-orientation: upright;
  -webkit-text-orientation: upright;

  white-space: nowrap;
  line-height: 1.15;
}

/* iOSでリンクが行内扱いになって崩れるのをさらに抑える */
.brepT__td > a.brepT__name{
  display: inline-block;
}

/* =========================================
   brep: iOS Safari 縦書き確実版（選手名）
   - writing-mode を a ではなく span(.brepT__v) に付与
   - display:table は使わない
   - text-align: initial は使わない（Safari地雷）
========================================= */

/* 選手名行：セルは上寄せ */
.post_content .brepT tr.brepT__row--name td{
  vertical-align: top !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}

/* a / span どちらでも中央寄せの箱にする */
.post_content .brepT tr.brepT__row--name td a.brepT__name,
.post_content .brepT tr.brepT__row--name td span.brepT__name{
  display: inline-block !important;
  margin: 0 auto !important;
  text-decoration: none;
}

/* ✅ 縦書き本体（Safari対策：spanにのみ適用） */
.post_content .brepT tr.brepT__row--name td .brepT__v{
  display: inline-block !important;

  writing-mode: vertical-rl !important;
  -webkit-writing-mode: vertical-rl !important;

  text-orientation: upright !important;
  -webkit-text-orientation: upright !important;

  white-space: nowrap !important;
  line-height: 1.4 !important;
  font-size: 1em !important;
  font-weight: 900;
}

/* 女子：赤（既存の指定を活かす） */
.post_content .brepT tr.brepT__row--name td .brepT__name--female .brepT__v{
  color:#f53677 !important;
}

/* ❌ これが残ってると縦書きが落ちることがあるので無効化（Safari対策） */
/* 既に下記がCSS内にあるなら “削除” 推奨。消せないなら上書きで潰す。 */
.post_content .brepT tr.brepT__row--name td *{
  text-align: inherit !important;
}

/* 念のため：過去の display:table 強制があった場合に潰す */
.post_content .brepT tr.brepT__row--name td .brepT__name{
  display: inline-block !important;
}



/* =========================================
   SP
========================================= */
@media (max-width: 768px){

  /* 共通：高さを固定する要素 */
  .post_content .brepT th,
  .post_content .brepT td{
    padding: 6px 2px !important;
    line-height: 1.15 !important;
  }

  /* td は14px */
  .post_content .brepT td{
    font-size: 14px !important;
  }

  /* th は12px */
  .post_content .brepT th{
    font-size: 12px !important;
  }

  /* 選手名 */
  .post_content .brepT tr.brepT__row--name td .brepT__v{
    font-size: 16px !important;
  }

  /* 枠アイコン */
  .brepT__laneicon{
    width: 18px !important;
  }

  /* 左th */
  .post_content .brepT th.brepT__rowHead{
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

}