/* Lumina clinic components (Phase 2) */
.lumina-cl-cards{ display:flex; flex-direction:column; gap:14px; margin:20px 0; }
.lumina-cl-card{ border:1px solid var(--line); border-radius:18px; padding:16px; background:var(--card); }
.lumina-cl-card__head{ display:flex; gap:12px; align-items:center; }
.lumina-cl-card__logo{ width:54px; height:54px; flex:none; border-radius:12px; overflow:hidden; display:flex; align-items:center; justify-content:center; background:var(--accent-pale); }
.lumina-cl-card__logo img{ width:100%; height:100%; object-fit:contain; }
.lumina-cl-card__logo--text{ font-family:var(--serif); color:var(--accent-deep); font-size:1.4rem; }
.lumina-cl-card__name{ font-family:var(--serif); font-weight:700; margin:0; }
/* クリニック名をh3化（見出し階層を成立させるため）。SWELL標準の.post_content h3装飾（下線・背景・
   ボーダー・固有色等）がカード内で効かないよう明示的にリセットし、旧pタグ時と同一の見た目を保つ。
   「.post_content」を前置してSWELL側の `.post_content h3` 系セレクタより詳細度を上げる
   （既存の .lumina-cl-table th/td 等と同じ流儀）。lumina.css側の装飾ルールも別途 :not() で除外済み */
.post_content h3.lumina-cl-card__name{ font-size:inherit; line-height:inherit; font-weight:700; color:inherit; margin:0; padding:0; background:none; border:none; border-radius:0; box-shadow:none; text-decoration:none; }
/* SWELLの見出しデザインは下線・アクセント線を疑似要素で描くため、border/背景のリセットだけでは消えない */
.post_content h3.lumina-cl-card__name::before, .post_content h3.lumina-cl-card__name::after{ content:none; display:none; }
.lumina-cl-card__tags{ display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.lumina-cl-card__tags span{ font-size:.72rem; padding:4px 9px; border-radius:999px; background:#f6f1f1; color:#6f5f60; }
.lumina-cl-card__tags .lumina-cl-card__tag-gmp{ background:var(--accent-pale); color:var(--accent-deep); font-weight:700; }
.lumina-cl-card__sub{ font-family:var(--serif); font-weight:700; font-size:.9rem; margin:16px 0 7px; color:var(--ink); }
.lumina-cl-card__sub-badge{ font-family:var(--sans); font-size:.66rem; font-weight:400; color:var(--ink-soft); background:#fff; border:1px solid var(--line); border-radius:6px; padding:2px 7px; margin-left:6px; vertical-align:middle; }
/* 口コミ・評判まとめ（編集部要約・緑＝評価されている点／オレンジ＝気になる点） */
.lumina-cl-card__rev{ border-radius:10px; padding:11px 13px; margin-top:8px; font-size:.82rem; line-height:1.7; }
.lumina-cl-card__rev--good{ background:#f6faf6; border:1px solid #e7efe8; }
.lumina-cl-card__rev--note{ background:#fbf7f1; border:1px solid #efe7df; }
.lumina-cl-card__rev-label{ font-size:.74rem; font-weight:700; margin:0 0 4px; }
.lumina-cl-card__rev--good .lumina-cl-card__rev-label{ color:#5b9a6f; }
.lumina-cl-card__rev--note .lumina-cl-card__rev-label{ color:#b58a5b; }
/* 料金プラン：主要2枠＋アコーディオン */
.lumina-cl-card__plans{ display:flex; gap:10px; flex-wrap:wrap; margin:0; }
.lumina-cl-card__plan{ flex:1; min-width:130px; background:var(--accent-pale); border-radius:12px; padding:11px 14px; }
.lumina-cl-card__plan-lbl{ display:block; font-size:.74rem; color:var(--ink-soft); }
.lumina-cl-card__plan-val{ font-family:var(--serif); font-size:1.3rem; font-weight:700; color:var(--accent-deep); }
.lumina-cl-card__acc{ margin-top:10px; }
.lumina-cl-card__acc summary{ font-size:.78rem; color:var(--accent-deep); background:#fff; border:1px solid #f0d9f0; border-radius:10px; padding:9px 14px; cursor:pointer; text-align:center; list-style:none; }
.lumina-cl-card__acc summary::-webkit-details-marker{ display:none; }
.lumina-cl-card__acc summary::after{ content:" ▼"; font-size:.7em; }
.lumina-cl-card__acc[open] summary::after{ content:" ▲"; font-size:.7em; }
.lumina-cl-card__acc-list{ border:1px solid var(--line); border-radius:12px; padding:12px 14px; margin-top:8px; }
.lumina-cl-card__acc-row{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; border-bottom:1px dashed #eee0e6; padding:4px 0; font-size:.8rem; }
.lumina-cl-card__acc-row:last-child{ border-bottom:0; }
.lumina-cl-card__acc-row em{ display:block; font-style:normal; font-size:.85em; color:var(--ink-soft); }
.lumina-cl-card__acc-row b{ color:var(--accent-deep); font-weight:700; white-space:nowrap; }
/* 基本情報 */
.lumina-cl-card__info{ border:1px solid var(--line); border-radius:12px; overflow:hidden; margin:0; }
.lumina-cl-card__info div{ display:flex; border-bottom:1px solid #f1e8e8; }
.lumina-cl-card__info div:last-child{ border-bottom:0; }
.lumina-cl-card__info-note{ margin:6px 0 0; font-size:.72rem; line-height:1.6; color:#9a8d90; }
.lumina-cl-card__info dt{ width:92px; flex:none; background:var(--accent-pale2); padding:9px 12px; font-size:.76rem; color:var(--ink-soft); margin:0; }
.lumina-cl-card__info dd{ padding:9px 12px; font-size:.82rem; margin:0; }
/* 基本情報内の公式サイトリンク：CTAボタン化を解除してテキストリンクに（表内と同じ扱い） */
.post_content .lumina-cl-card__info .jump{ display:inline; width:auto; padding:0; margin:0; background:none; color:var(--accent-deep) !important; border-radius:0; box-shadow:none; font-weight:600; word-break:break-all; text-decoration:underline; text-underline-offset:2px; cursor:pointer; }
.post_content .lumina-cl-card__info .jump::after{ content:none; }
.post_content .lumina-cl-card__info .jump:hover{ background:none; color:var(--accent) !important; box-shadow:none; transform:none; text-decoration:underline; }
.lumina-cl-card__info dd a{ color:var(--accent-deep); font-weight:600; word-break:break-all; text-decoration:underline; text-underline-offset:2px; }
.lumina-cl-card__cta{ margin-top:14px; text-align:center; }
/* カード内CTAは中央揃え・幅70%・下線なし（本文中のCTAボタンは従来どおり） */
.post_content .lumina-cl-card__cta .jump{ width:70%; text-decoration:none; }
.post_content .lumina-cl-card__cta .jump a,
.lumina-cl-card__cta a{ text-decoration:none; }
/* 表内同様、カードの .jump はボタン化（Phase1の .post_content .jump を流用） */
/* 枠線・角丸はラッパー側に置く（table自体のoverflow:hiddenとborder-collapse:collapseはstickyを無効化するため） */
.lumina-cl-table-wrap{ overflow-x:auto; margin:20px 0; border:1px solid var(--line); border-radius:12px; }
.lumina-cl-table{ width:100%; border-collapse:separate; border-spacing:0; margin:0; }
/* 文字サイズは本文基準（em）。スマホ0.75em／PC・タブレット0.8em。
   lumina.css の `.post_content table{font-size:.92em}` は詳細度(0,1,1)でクラス単体(0,1,0)に勝つため、
   ここも `.post_content` を前置して(0,2,0)にする（既存の .post_content .lumina-cl-table th 等と同じ流儀） */
.post_content .lumina-cl-table{ font-size:.75em; }
@media (min-width:768px){ .post_content .lumina-cl-table{ font-size:.8em; } }
/* プラグインJS等によるtable自体のスクロールコンテナ化と、SWELL本体の
   .post_content table{border-collapse:collapse} を強制的に打ち消す
   （collapse状態のstickyは枠線が置き去りになるレンダリング崩れを起こす） */
.post_content .lumina-cl-table{ overflow:visible !important; display:table !important; max-width:none !important; border-collapse:separate !important; border-spacing:0 !important; }
/* SWELLのセル罫線を打ち消す（separateでは隣接borderが2重になり太く見える）。罫線は行下線＋固定列右線のみ */
.post_content .lumina-cl-table th{ border:none; }
.post_content .lumina-cl-table td{ border:none; border-bottom:1px solid #f1e8e8; }
.post_content .lumina-cl-table tr:last-child td{ border-bottom:none; }
.post_content .lumina-cl-table th:first-child,
.post_content .lumina-cl-table td:first-child{ border-right:1px solid var(--line); }
.lumina-cl-table tr:last-child td{ border-bottom:0; }
.lumina-cl-table th{ background:var(--ink); color:#f6ecee; font-weight:600; padding:10px 8px; white-space:nowrap; text-align:center; }
.lumina-cl-table td{ padding:11px 8px; text-align:center; border-bottom:1px solid #f1e8e8; white-space:nowrap; }
/* 列幅を揃える（料金列の最小幅）＋クリニック名列は折り返し可・左固定（横スクロール時も見える） */
.lumina-cl-table th:not(:first-child){ min-width:92px; }
.lumina-cl-table th:first-child,
.lumina-cl-table td:first-child{ position:sticky; left:0; z-index:2; white-space:normal; min-width:7em; max-width:9em; border-right:1px solid var(--line); }
.lumina-cl-table th:first-child{ z-index:3; }
.lumina-cl-table td:first-child{ background:var(--card); }
.lumina-cl-table tbody tr:nth-child(even) td:first-child{ background:var(--accent-pale2); }
.lumina-cl-table tbody tr:nth-child(even) td{ background:var(--accent-pale2); }
.lumina-cl-table__name{ text-align:left; font-weight:600; color:var(--ink); }
.lumina-cl-table td.is-empty{ color:#c4a3a8; }
.lumina-cl-table__mark{ color:var(--accent-deep); font-weight:700; }
.lumina-cl-table__times{ display:block; font-size:.7em; color:#9a8d90; font-weight:400; }
.lumina-cl-card__branches{ display:flex; flex-direction:column; gap:8px; margin:0; }
.lumina-cl-card__branch{ border:1px solid var(--line); border-radius:12px; padding:11px 13px; font-size:.82rem; color:var(--ink); }
.lumina-cl-card__branch-head{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0; }
.lumina-cl-card__branch-name{ font-weight:700; font-size:.88rem; }
.lumina-cl-card__branch-gmp{ font-size:.68rem; font-weight:700; padding:2px 8px; border-radius:999px; background:var(--accent-pale); color:var(--accent-deep); }
.lumina-cl-card__branch-row{ font-size:.78rem; color:var(--ink-soft); margin:4px 0 0; }
.lumina-cl-card__branch-map{ font-size:.74rem; color:var(--accent-deep); text-decoration:underline; text-underline-offset:2px; margin-left:4px; white-space:nowrap; }
/* 「地図を見る」の右横に外部リンクの線画アイコン */
.lumina-cl-card__branch-map::after{ content:""; display:inline-block; width:.85em; height:.85em; margin-left:3px; vertical-align:-0.08em; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a64fa9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6'/%3E%3Cpolyline points='15 3 21 3 21 9'/%3E%3Cline x1='10' y1='14' x2='21' y2='3'/%3E%3C/svg%3E") no-repeat center / contain; }
.lumina-cl-table__gmp-badge{ display:block; width:fit-content; font-size:.64rem; font-weight:700; padding:2px 8px; margin:4px auto 0; border-radius:999px; background:var(--accent-pale); border:1px solid #f0d9f0; color:var(--accent-deep); white-space:nowrap; }
.lumina-cl-auto{ margin-bottom:28px; }
.lumina-cl-note{ font-size:.72rem; color:var(--ink-soft); background:#fff; border:1px solid var(--line); border-radius:8px; padding:8px 12px; margin:0 0 28px; line-height:1.7; }
.lumina-cl-note-sub{ font-size:.7rem; color:var(--ink-soft); margin:10px 0 0; line-height:1.7; }
/* 絞り込みチップ（比較表の直上。行＋カードの両方を連動して絞り込む） */
.lumina-cl-filters{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0 0 16px; }
.lumina-cl-filters__label{ font-size:.76rem; color:var(--ink-soft); font-weight:700; }
.lumina-cl-chip{ font-size:.78rem; cursor:pointer; border:1px solid #e7d7da; background:#fff; color:#7a6e70; border-radius:999px; padding:7px 14px; transition:all .15s; }
.lumina-cl-chip.is-on{ background:var(--accent); color:#fff; border-color:var(--accent); box-shadow:0 4px 12px rgba(203,119,206,.32); }
.lumina-cl-chip:focus-visible{ outline:2px solid var(--accent-deep); outline-offset:2px; }
.lumina-cl-table__empty,
.lumina-cl-cards__empty{ font-size:.85rem; color:var(--ink-soft); background:#fff; border:1px solid var(--line); border-radius:12px; padding:16px; text-align:center; margin:0 0 16px; }
/* 比較表の初期折りたたみ（JSで付け外し。JS無効時はクラスが付かないため全行表示のまま＝フェイルセーフ） */
.lumina-cl-table tbody tr.is-cl-folded{ display:none; }
.lumina-cl-table-more{ display:block; width:100%; margin:0 0 20px; font-size:.85rem; font-weight:700; cursor:pointer; border:1px solid var(--line); background:#fff; color:var(--accent-deep); border-radius:12px; padding:12px; transition:all .15s; }
.lumina-cl-table-more:hover{ background:var(--accent-pale); }
.lumina-cl-table-more:focus-visible{ outline:2px solid var(--accent-deep); outline-offset:2px; }

/* 著者情報（編集部クレジット） */
.lumina-cl-author{ border:1px solid var(--accent); border-radius:10px; background:#fff; padding:12px 16px; margin:20px 0 24px; }
.lumina-cl-author__name{ font-size:.82rem; color:var(--ink); margin:0; }
.lumina-cl-author__name b{ font-family:var(--serif); }
.lumina-cl-author__desc{ font-size:.74rem; color:var(--ink-soft); margin:4px 0 0; line-height:1.7; }
.lumina-review{ border:1px solid var(--line); border-radius:16px; padding:18px; margin:24px 0; background:var(--card); }
.lumina-review__ttl{ font-family:var(--serif); font-weight:700; margin:0 0 12px; }
.lumina-review__ttl span{ font-size:.7rem; font-weight:400; color:#9a8d90; background:#f6f1f1; border-radius:6px; padding:3px 8px; margin-left:6px; }
.lumina-review__good,.lumina-review__note{ border-radius:12px; padding:13px 14px; margin-bottom:10px; }
.lumina-review__good{ border:1px solid #e7efe8; background:#f6faf6; }
.lumina-review__note{ border:1px solid #efe7df; background:#fbf7f1; }
.lumina-review__label{ font-size:.78rem; font-weight:700; margin:0 0 6px; }
.lumina-review__good .lumina-review__label{ color:#5b9a6f; }
.lumina-review__note .lumina-review__label{ color:#b58a5b; }
.lumina-review__disc{ font-size:.7rem; color:#a6989b; margin:8px 0 0; line-height:1.7; }
