/* テーブル全体のレイアウトと外枠（ボーダー） */
.ccm-page .table.ranking_table {
    width: 100%;
    margin-bottom: 1.5rem;
    vertical-align: middle;
    border-collapse: separate; /* 外枠の角を綺麗に見せるためセパレートに */
    border-spacing: 0;
    font-size: 1rem;
    border: 2px solid #dee2e6; /* 💡 テーブル全体を囲む外枠 */
    border-radius: 6px;        /* 💡 枠の角をほんのり丸く（不要なら削除してください） */
    overflow: hidden;
}

/* 各セルの共通パディングと内側の境界線 */
.ccm-page .table.ranking_table tbody tr td {
    padding: 12px 16px;
    vertical-align: middle;
    border-bottom: 1px solid #dee2e6;
}

/* 最後の行だけは下線を消して外枠と重ならないようにする */
.ccm-page .table.ranking_table tbody tr:last-child td {
    border-bottom: none;
}

/* 行にマウスホバーしたときのアニメーションと背景色変更 */
.ccm-page .table.ranking_table tbody tr {
    transition: background-color 0.2s ease;
}
.ccm-page .table.ranking_table tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.04);
}

/* 順位列（.ranking-number）のスタイル固定 */
.ccm-page .table.ranking_table tbody tr td.ranking-number {
    font-weight: bold;
    text-align: center;
    width: 80px;
    white-space: nowrap;
}

/* 🏆 【同着対応】PHPから付与された実際の順位クラスで色分け */
.ccm-page .table.ranking_table tbody tr.rank-1 td.ranking-number {
    color: #cb9e0d; /* ゴールド */
    font-size: 1.1rem;
}
.ccm-page .table.ranking_table tbody tr.rank-2 td.ranking-number {
    color: #7e878e; /* シルバー（同着2位が並んでも両方この色になります） */
}
.ccm-page .table.ranking_table tbody tr.rank-3 td.ranking-number {
    color: #b06f37; /* ブロンズ */
}

/* 名前や詳細ページへのリンクがついている場合の装飾 */
.ccm-page .table.ranking_table tbody tr td a {
    color: #0d6efd;
    text-decoration: none;
    font-weight: 500;
}
.ccm-page .table.ranking_table tbody tr td a:hover {
    text-decoration: underline;
}

/* 得点数が入る最後の列の配置調整 */
.ccm-page .table.ranking_table tbody tr td:last-child {
    text-align: right;
    font-variant-numeric: tabular-nums;
    font-weight: bold;
}
/* 💡 ランキングタイトルのデザイン（文字の大きさ、下線、余白） */
.ccm-page h4.ranking-title {
    font-size: 1.2rem;
    font-weight: normal;
    color: #333333;
    position: relative;
    border: none;
    padding: 0;
    margin: 0 0 6px;
}
