/* === (60) TYPE LAYERS — 記事型別の器 ======================================
   正本: ssot/knowledge/bizkeiri-article-templates.md の各型「執筆手順書」。
   器は骨格(H2/H3・節順・字数配分)と1対1 — 器が骨格を変えない。
   コピー元下書き: 「TEMPLATE: 制度実装ガイド型」(wp-admin下書き)。
   規律(型固有): 実数(税率・納税額・件数)は手書きせずスクリプト出力から貼る。
   ぬくラボTYPE LAYER方式の横展開(HANDOFF_20260825_TEMPLATE-DESIGN-7SITES)。
   配色は 00-tokens の語彙のみ(緑=.aff-cta専用・金銀銅と★は使わない)。
   ========================================================================== */

/* ---- 共有プリミティブ(制度実装/レビュー/vs比較の3型で共用) ---- */

/* 編集ポリシー行(冒頭)。日付は .bk-meta が持つので文言だけを載せる */
.bkt-policy{
  font-size:var(--fs-note); line-height:1.6; color:var(--sub);
  background:var(--tint); border-left:3px solid var(--navy);
  padding:8px 12px; margin:0 0 var(--sp-4);
}

/* アンサーカプセル。答えを最初に言い切る段落の器 — 見出しラベルは付けない
   (枠組み見出し禁止 §0-A-2。視覚の重みだけで「ここが答え」を伝える) */
.bkt-capsule{
  background:var(--navy-tint); border:1px solid var(--line);
  border-left:6px solid var(--navy); border-radius:var(--r-2);
  padding:18px 20px; margin:0 0 var(--sp-5);
  font-size:var(--fs-body); line-height:var(--lh-body); font-weight:500;
}
.bkt-capsule p{ margin:0; }
.bkt-capsule p + p{ margin-top:8px; }

/* 「根拠:」行(D24 canonical_facts突合の出力位置)。表・数値の直下に置く */
.bkt-basis{
  font-size:var(--fs-note); line-height:1.6;
  background:var(--evid-bg); border-left:3px solid var(--evid-line);
  color:var(--evid-ink); padding:7px 10px; margin:6px 0 var(--sp-4);
}
.bkt-basis a{ color:inherit; text-decoration:underline; }

/* 出典行(H2/表の直下)。「出典: ◯◯公式ヘルプ「◯◯」(確認日 YYYY-MM-DD)」 */
.bkt-src{
  font-size:var(--fs-label); color:var(--sub); letter-spacing:.02em;
  margin:-6px 0 var(--sp-3);
}
.bkt-src a{ color:var(--official); text-decoration:underline; }
.bkt-src a:hover{ color:var(--official-dk); }

/* 表の横スクロール器(SPで版面を壊さないための唯一の逃がし) */
.bkt-scroll{
  overflow-x:auto; -webkit-overflow-scrolling:touch; margin:0 0 var(--sp-3);
}

/* 型テーブル基底(要件対応表・シミュレーション表で共用)。
   10-foundation は .articleBody table に display:block+overflow-x:auto の
   汎用スクロール処方を敷く(0,1,1)。器の表はスクロールを .bkt-scroll が担うので、
   特異度を上げて本来のテーブルレイアウトへ戻す — block のままだと width:100% が
   中身に伝わらず内在幅の細い表になる(実写で確認) */
.bkt-table,
.articleBody table.bkt-table{
  display:table; overflow-x:visible; width:100%; border-collapse:collapse;
  font-size:var(--fs-data); line-height:1.6;
}
.bkt-table th, .bkt-table td{
  border:1px solid var(--line); padding:9px 10px; text-align:left;
  vertical-align:top;
}
.bkt-table thead th{
  background:var(--tint); font-family:var(--font-head); font-weight:700;
  color:var(--navy); font-size:var(--fs-note); letter-spacing:.03em;
}
.bkt-table tbody th{ background:#fff; font-weight:600; color:var(--ink); }
.bkt-table .num{
  text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap;
}

/* 反復ボックス(B1移植は「実務ポイント」「注意点」の2種のみ — 型固有規律) */
.bkt-point, .bkt-note{
  border:1px solid var(--line); border-radius:var(--r-2);
  padding:12px 14px; margin:var(--sp-4) 0; font-size:var(--fs-data);
  line-height:1.75;
}
.bkt-point{ background:var(--navy-tint); }
.bkt-note{ background:#fff; border-left:4px solid var(--mk-part); }
.bkt-point__label, .bkt-note__label{
  display:block; font-family:var(--font-head); font-weight:700;
  font-size:var(--fs-label); letter-spacing:.08em; margin-bottom:4px;
}
.bkt-point__label{ color:var(--navy); }
.bkt-note__label{ color:var(--mk-part); }
.bkt-point p, .bkt-note p{ margin:0; }

/* 期限3段チェックリスト(最優先/重要/確認 + 期限・担当) */
.bkt-todo{ list-style:none; margin:0 0 var(--sp-4); padding:0; }
.bkt-todo li{
  display:grid; grid-template-columns:auto 1fr auto; gap:6px 12px;
  align-items:baseline; padding:10px 4px; border-bottom:1px solid var(--line2);
}
.bkt-todo__tier{
  font-family:var(--font-head); font-weight:700; font-size:var(--fs-label);
  letter-spacing:.06em; padding:2px 8px; border-radius:3px; white-space:nowrap;
}
.bkt-todo__tier.is-t1{ background:var(--navy); color:#fff; }
.bkt-todo__tier.is-t2{ background:var(--navy-tint); color:var(--navy); }
.bkt-todo__tier.is-t3{ background:#fff; border:1px solid var(--line); color:var(--sub); }
.bkt-todo__task{ font-size:var(--fs-data); }
.bkt-todo__due{
  font-size:var(--fs-note); color:var(--sub);
  font-variant-numeric:tabular-nums; white-space:nowrap;
}

/* 「やめておいた方がいい場合」(D95逆方向評価の定位置)。恐怖訴求にしない静かな列挙 */
.bkt-avoid{ list-style:none; margin:0 0 var(--sp-4); padding:0; }
.bkt-avoid li{
  position:relative; padding:6px 0 6px 22px; font-size:var(--fs-data);
  line-height:1.75; border-bottom:1px dashed var(--line2);
}
.bkt-avoid li::before{
  content:"—"; position:absolute; left:2px; color:var(--mk-none); font-weight:700;
}

/* FAQ(最大3問・1問目はopenで置く)。JSなしの details/summary */
.bkt-faq details{
  border:1px solid var(--line); border-radius:var(--r-2);
  background:#fff; margin:0 0 8px;
}
.bkt-faq summary{
  list-style:none; cursor:pointer; position:relative;
  font-family:var(--font-head); font-weight:700; font-size:var(--fs-data);
  color:var(--ink); padding:12px 38px 12px 14px;
}
.bkt-faq summary::-webkit-details-marker{ display:none; }
.bkt-faq summary::after{
  content:"+"; position:absolute; right:14px; top:50%; transform:translateY(-50%);
  font-family:var(--font-head); font-weight:700; color:var(--navy);
}
.bkt-faq details[open] summary::after{ content:"−"; }
.bkt-faq .bkt-faq__a{
  padding:0 14px 12px; font-size:var(--fs-data); line-height:1.8; color:var(--ink);
}
.bkt-faq .bkt-faq__a p{ margin:0 0 8px; }

/* 姉妹サイト送客カード(D36: 制度解説は税制ナビへ)。リンク1本=内部リンク計数に入る */
a.bkt-sister{
  display:flex; align-items:center; gap:12px;
  border:1px solid var(--line); border-left:4px solid var(--official);
  border-radius:var(--r-2); background:var(--bg);
  padding:12px 14px; margin:var(--sp-3) 0 var(--sp-4); text-decoration:none;
}
a.bkt-sister:hover{ border-color:var(--official-dk); background:#fff; }
.bkt-sister__chip{
  font-family:var(--font-head); font-weight:700; font-size:var(--fs-label);
  letter-spacing:.06em; color:#fff; background:var(--official);
  border-radius:3px; padding:2px 7px; white-space:nowrap;
}
.bkt-sister__t{ font-size:var(--fs-data); font-weight:600; color:var(--ink); }
.bkt-sister__t::after{ content:" →"; color:var(--official); }

/* 【記事情報】+免責(§6-3)。既存の素朴なテキスト形式を静かに整える */
.bkt-inforecord{
  border-top:1px solid var(--line); margin-top:var(--sp-6); padding-top:12px;
  font-size:var(--fs-note); color:var(--sub); line-height:1.7;
}
.bkt-inforecord p{ margin:0 0 6px; }

/* ---- 制度実装ガイド型 固有 ---- */

/* 全期間テーブル(経過措置レール)。1マス=期間、現行期間だけ紺で点灯 */
.bkt-timeline{
  display:grid; grid-auto-flow:column; grid-auto-columns:1fr; gap:1px;
  background:var(--line); border:1px solid var(--line);
  border-radius:var(--r-2); overflow:hidden; margin:0 0 6px;
}
.bkt-timeline__cell{ background:#fff; text-align:center; padding:12px 6px 10px; }
.bkt-timeline__period{
  display:block; font-size:var(--fs-label); color:var(--sub);
  letter-spacing:.02em; margin-bottom:4px;
}
.bkt-timeline__rate{
  display:block; font-family:var(--font-head); font-weight:700; font-size:22px;
  color:var(--navy); font-variant-numeric:tabular-nums; line-height:1.2;
}
.bkt-timeline__cell.is-past{ color:var(--sub); }
.bkt-timeline__cell.is-past .bkt-timeline__rate{ color:var(--mk-none); font-weight:500; }
.bkt-timeline__cell.is-now{ background:var(--navy); }
.bkt-timeline__cell.is-now .bkt-timeline__period{ color:#cfdcec; }
.bkt-timeline__cell.is-now .bkt-timeline__rate{ color:#fff; }
.bkt-timeline__cell.is-now .bkt-timeline__period::after{
  content:"現行"; display:inline-block; margin-left:4px; padding:1px 5px;
  font-size:10px; font-weight:700; color:var(--navy); background:#fff;
  border-radius:3px;
}

/* 「このソフトでは◯◯ができない」(各ソフト節に1つ・逆方向評価の分散配置) */
.bkt-cant{
  border:1px dashed var(--line); border-left:3px solid var(--mk-none);
  border-radius:0 var(--r-1) var(--r-1) 0; background:#fff;
  padding:10px 12px; margin:var(--sp-3) 0 var(--sp-4);
  font-size:var(--fs-data); line-height:1.7;
}
.bkt-cant__label{
  display:block; font-family:var(--font-head); font-weight:700;
  font-size:var(--fs-label); letter-spacing:.08em; color:var(--mk-none);
  margin-bottom:2px;
}
.bkt-cant p{ margin:0; }

/* シミュレーション章の頭: 「編集部試算」チップ+基準日(独自データ資産の刻印) */
.bkt-sim__head{
  display:flex; align-items:center; gap:8px; margin:0 0 6px;
}
.bkt-chip-calc{
  display:inline-block; font-family:var(--font-head); font-weight:700;
  font-size:var(--fs-label); letter-spacing:.06em; color:#fff;
  background:var(--navy); border-radius:3px; padding:2px 8px; white-space:nowrap;
}
.bkt-sim__cond{ font-size:var(--fs-note); color:var(--sub); }
/* 算式は表の直下に1行(型固有規律)。静かな注記として置く */
.bkt-sim__formula{
  font-size:var(--fs-note); color:var(--sub); margin:2px 0 0; padding:0 2px;
}

/* ---- 実務家レビュー型 固有(vs比較型でも分岐表を共用) ---- */

/* 結論の分岐表。向く/向かない(レビュー型)・freee側/MF側(vs比較型)の2面。
   個数の対称は強制しない(0-A-3) — 中身のliは自由数 */
.bkt-fork{
  display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:0 0 var(--sp-4);
}
.bkt-fork__side{
  border:1px solid var(--line); border-radius:var(--r-2); background:#fff;
  padding:12px 14px;
}
.bkt-fork__side.is-fit{ border-top:3px solid var(--navy); }
.bkt-fork__side.is-unfit{ border-top:3px solid var(--mk-none); background:var(--bg); }
.bkt-fork__head{
  font-family:var(--font-head); font-weight:700; font-size:var(--fs-data);
  margin:0 0 8px; color:var(--ink);
}
.bkt-fork__side.is-fit .bkt-fork__head{ color:var(--navy); }
.bkt-fork__side.is-unfit .bkt-fork__head{ color:var(--mk-none); }
.bkt-fork__side ul{ list-style:none; margin:0; padding:0; }
.bkt-fork__side li{
  position:relative; padding:5px 0 5px 18px; font-size:var(--fs-data); line-height:1.7;
  border-bottom:1px dashed var(--line2);
}
.bkt-fork__side li:last-child{ border-bottom:0; }
.bkt-fork__side.is-fit li::before{
  content:""; position:absolute; left:2px; top:14px; width:8px; height:8px;
  background:var(--navy); border-radius:2px;
}
.bkt-fork__side.is-unfit li::before{
  content:"—"; position:absolute; left:0; color:var(--mk-none); font-weight:700;
}

/* 制約カード(気になる点=質量の主柱)。機能名+具体制約を1枚1件、
   回避策の有無まで書く(型セルフチェック②)を構造で担保する */
.bkt-limit{
  border:1px solid var(--line); border-left:4px solid var(--mk-part);
  border-radius:0 var(--r-2) var(--r-2) 0; background:#fff;
  padding:14px 16px; margin:0 0 var(--sp-4);
}
.bkt-limit__t{
  font-family:var(--font-head); font-weight:700; font-size:var(--fs-body);
  color:var(--ink); margin:0 0 6px;
}
.bkt-limit__t .n{
  display:inline-block; min-width:22px; text-align:center; margin-right:8px;
  font-size:var(--fs-note); color:#fff; background:var(--mk-part);
  border-radius:3px; padding:1px 4px; vertical-align:2px;
}
.bkt-limit p{ margin:0 0 8px; font-size:var(--fs-data); line-height:1.8; }
.bkt-limit__workaround{
  border-top:1px dashed var(--line2); padding-top:8px; margin:8px 0 0;
  font-size:var(--fs-note); line-height:1.7; color:var(--sub);
}
.bkt-limit__workaround b{
  font-family:var(--font-head); color:var(--ink); font-weight:700;
  margin-right:6px;
}

/* 評価カード(定量とセット)。制約カードと同じ骨格・紺の面持ち */
.bkt-merit{
  border:1px solid var(--line); border-left:4px solid var(--navy);
  border-radius:0 var(--r-2) var(--r-2) 0; background:#fff;
  padding:14px 16px; margin:0 0 var(--sp-4);
}
.bkt-merit__t{
  font-family:var(--font-head); font-weight:700; font-size:var(--fs-body);
  color:var(--navy); margin:0 0 6px;
}
.bkt-merit p{ margin:0; font-size:var(--fs-data); line-height:1.8; }
.bkt-merit .quant{
  font-variant-numeric:tabular-nums; font-weight:700; color:var(--navy);
}

/* 評判の傾向。肯定側/否定側を1文ずつ集約(転載でなく要約・出典はbkt-srcで) */
.bkt-voices{ margin:0 0 var(--sp-3); }
.bkt-voices__side{
  border-left:4px solid var(--line); background:var(--bg);
  border-radius:0 var(--r-1) var(--r-1) 0;
  padding:10px 14px; margin:0 0 10px; font-size:var(--fs-data); line-height:1.8;
}
.bkt-voices__side.is-pos{ border-left-color:var(--navy); background:var(--navy-tint); }
.bkt-voices__side.is-neg{ border-left-color:var(--mk-part); }
.bkt-voices__label{
  display:block; font-family:var(--font-head); font-weight:700;
  font-size:var(--fs-label); letter-spacing:.08em; margin-bottom:3px;
}
.bkt-voices__side.is-pos .bkt-voices__label{ color:var(--navy); }
.bkt-voices__side.is-neg .bkt-voices__label{ color:var(--mk-part); }
.bkt-voices__side p{ margin:0; }

/* ---- SP(≤834px・ブレークポイントはこの1本) ---- */
@media (max-width:834px){
  .bkt-capsule{ padding:14px 16px; }
  .bkt-fork{ grid-template-columns:1fr; }
  .bkt-timeline{ grid-auto-flow:row; grid-template-columns:repeat(3,1fr); }
  .bkt-timeline__rate{ font-size:19px; }
  .bkt-scroll .bkt-table{ min-width:560px; }
  .bkt-todo li{ grid-template-columns:auto 1fr; }
  .bkt-todo__due{ grid-column:2; white-space:normal; }
  .bkt-src{ margin-top:0; }
}
