/* ===== ISA: 講座詳細（テーブルレイアウト） ===== */
.isa-cd{
    font-family: "Noto Sans JP","Yu Gothic","游ゴシック体",Meiryo,sans-serif;
    color:#222;
    --cd-border:#9aa3ab;      /* 線色 */
}

/* 内側ラッパ（中身を元の幅に戻す） */
.isa-cd__inner{
    max-width: 1200px;
    margin: 0 auto;
    padding-inline: clamp(16px, 4vw, 24px);
    box-sizing: border-box;
}

/* ラッパ */
.isa-cd__table-wrap{ overflow-x:auto; }

/* テーブル本体 */
.isa-cd__table{
    width:100%;
    border-collapse:collapse;
    border:2px solid var(--cd-border);     /* 外枠 */
    table-layout: fixed;
}

/* セル共通：上下パディング軽め + 文字サイズ 最大14px */
.isa-cd__table th,
.isa-cd__table td{
    border-top:2px solid var(--cd-border);
    padding:14px 14px;
    vertical-align:middle;
    font-size: clamp(12px, 1.2vw, 14px);
    line-height:1.8;
}
.isa-cd__table tr:first-child th,
.isa-cd__table tr:first-child td{ border-top:0; }

/* 見出しセル：左揃え + 右側に枠線 */
.isa-cd__table .cell--head{
    width:20%;
    background:#f8f9fa;
    font-weight:600;
    letter-spacing:.04em;
    text-align:left;
    border-right:2px solid var(--cd-border);
}

/* 値セル */
.isa-cd__table .cell--body{ width:80%; font-weight:400; background:#ffffff; }

/* インラインリスト（カリキュラム/資格） */
.isa-cd__inline-list{
    display:flex; flex-wrap:wrap; gap: 11px 23px;
    list-style:none; margin:0; padding:0;
}
.isa-cd__inline-list li{ white-space:nowrap; }

/* 料金 & 備考：間隔を少し狭く */
.price{ margin-right:8px; }

/* バッジ行：上下パディングをさらに軽め */
.row--badges td{ padding:12px 24px; background:#fff; }
.badges{ display:flex; gap:12px; flex-wrap:wrap; }

/* バッジ：角丸なし + 色指定（オンライン:#008FD1 / 給付金:#DB6545） */
.badge{
    display:inline-block;
    padding:2px 16px;
    border-radius:0;                 /* ← 角丸なし */
    font-size: clamp(12px, 1.1vw, 14px);
    font-weight:400;
    color:#fff;
}
.badge--online{ background:#008FD1; }
.badge--grant { background:#DB6545; }

/* 空状態 */
.isa-cd__empty{
    background:#fafafa; border:1px dashed #ddd; color:#777;
    padding:16px; border-radius:6px;
}

/* 小さめ画面微調整 */
@media (max-width: 780px){
    .isa-cd__table th, .isa-cd__table td{ padding:14px 16px; }
    .row--badges td{ padding:10px 16px; }
    .isa-cd__inline-list{ gap:16px 24px; }
}

/* ===== SP〜タブレット：背景だけフルブリード ===== */
@media (max-width: 1024px){
    .isa-cd{
        position: relative;
        left: 0%;
        margin-left: calc(50% - 50vw);
        margin-right: calc(50% - 50vw);
        background: #f3f8f9;
        margin-block: 29px;
        padding-block: var(--global-kb-spacing-sm, 1.6rem);
    }

    /* 中身はコンテンツ幅へ戻す（左右の余白はここで確保） */
    .isa-cd__inner{
        max-width: 1200px;
        margin: 0 auto;
        padding-inline: clamp(16px, 4vw, 24px);
        box-sizing: border-box;
    }

    /* 文字サイズなど既存の微調整は維持 */
    .isa-cd__table th,
    .isa-cd__table td{
        font-size: clamp(12px, 1.2vw, 18px);
        padding: 7px 14px;
    }
    .badge{
        font-size: clamp(10px, 1.1vw, 18px);
    }
    .isa-cd__table .cell--head,
    .isa-cd__table .cell--body{
        width: inherit;
    }
}

/* ===== エディター内でもフルブリードを再現 ===== */
/* ACFブロックのクラスは環境に合わせて。例: .wp-block-acf-isa-course-detail-table */
.editor-styles-wrapper .isa-cd{
    position: relative;
    width: 100vw;
    left: 50%;
    right: 50%;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    background: #f3f8f9;
    padding-block: var(--global-kb-spacing-sm, 1.5rem);
    box-sizing: border-box;
}

/* 必要に応じて（親が overflow: hidden の場合など）
.editor-styles-wrapper .wp-block-acf-isa-course-detail-table{ overflow: visible; }
*/
