/* ===== 共有の変数既定：どちらのルートでも拾えるように ===== */
:where(.isa-reco, .isa-curcards){
    --theme: #db6a76;
    --theme-rgb: 219,106,118;

    --reco-band-strength: 0.285;                         /* #E36B72→#F7DAD6 相当 */
    --reco-accent: var(--theme);
    --reco-band-bg: rgba(var(--theme-rgb), var(--reco-band-strength)); /* Fallback */

    --reco-title-color: #222;
    --reco-text-color: #232a31;
    --reco-gap: 10px;
}

/* 近代ブラウザは oklab で自然に薄める */
@supports (background: color-mix(in oklab, white, black)) {
    :where(.isa-reco, .isa-curcards){
        --reco-band-bg: color-mix(in oklab,
        var(--theme) calc(var(--reco-band-strength) * 100%),
        white);
    }
}

/* ====== 共有ヘッダー（おすすめと同ルック） ====== */
.isa-reco__head{
    display:flex; align-items:center; gap:10px;
    background: var(--reco-band-bg);
    padding: 11px 16px;
    margin:0 0 22px;
}

/* アイコンだけテーマカラー（タイトルは別色のまま） */
.isa-reco__icon{
    width:24px; height:24px; display:inline-block;
    color: var(--theme);                    /* ← テーマ色を適用 */
    object-fit: unset;                      /* 旧img指定の名残対策 */
}
.isa-reco__icon, .isa-reco__icon *{
    stroke: currentColor !important;        /* 念押し */
}

.isa-reco__title{
    font-size: 18.43px; font-weight:700; letter-spacing:.02em;
    color: var(--reco-title-color);
}

/* ===== ISA: カリキュラムカード ===== */
.isa-curcards{
    --isa-curcards-accent: var(--theme);    /* PHPで上書き（未設定時はテーマ色） */
    --isa-curcards-gap: 28px;               /* PHPで上書き */
    font-family: "Noto Sans JP","Yu Gothic","游ゴシック体",Meiryo,sans-serif;
    color:#1a1a1a;
}

.isa-curcards__list{
    display:grid;
    gap:var(--isa-curcards-gap);
    margin-bottom: 40px;
}

/* 左：タイトル / 右：項目 */
.isa-curcards__card{
    position:relative;
    display:grid;
    grid-template-columns: clamp(200px, 30%, 360px) 1fr;
    gap: clamp(12px, 2vw, 24px);
    align-items:start;
    border:1px solid #d8d8d8;
    background:#fff;
    padding: clamp(10px, 2.5vw, 13px) clamp(18px, 3vw, 28px);
    min-height:112px;
}

/* ← 左の棒：アクセント（未定義時は --theme にフォールバック） */
.isa-curcards__card::before{
    content:"";
    position:absolute; inset:0 auto 0 0;
    width:10px;
    background: var(--theme);
}

.isa-curcards__title{
    font-weight:700;
    font-size:clamp(9px, 2.4vw, 14px);
    line-height:1.4;
    margin:0;
    align-self:center;
}

.isa-curcards__items{ min-height:1em; }

.isa-curcards__bullets{
    list-style:none; padding:0; margin:0;
    display:flex; flex-wrap:wrap;
    gap:1px 48px;                /* 行間 / 列間 */
    max-width: 100%;
    font-size:clamp(9px, 2.4vw, 14px)
}
.isa-curcards__bullet{
    position:relative; padding-left:1.2em; line-height:1.8; font-weight:500;
}
.isa-curcards__bullet::before{ content:"・"; position:absolute; left:0; top:0; }

.isa-curcards__lead{ margin:0; line-height:1.8; }

/* 空時 */
.isa-curcards__empty{
    padding:14px; background:#fafafa; border:1px dashed #ddd; color:#666;
}

/* モバイルは自動で縦積み */
@media (max-width: 640px){
    .isa-curcards__card{ grid-template-columns: 1fr; }
}

/* タブレット以下の文字サイズ微調整（あなたの既存値を踏襲） */
@media (max-width: 1024px){
    .isa-curcards__title{ font-size:clamp(20px, 2.4vw, 20px); }
    .isa-curcards__bullets{ font-size:clamp(16px, 2.4vw, 16px); }
    .isa-reco__head {
        padding: 9px 16px;
    }
}
