/* ============ カード全体 ============ */
.e-kan-cat-card{
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: #fff;
  overflow: hidden;
  margin: 0 0 1em 0; /* 上なし・下のみ */
}

/* ============ 見出し ============ */
.e-kan-cat-card__title{
  display: flex;
  align-items: center;
  gap: .6em;
  font-weight: 700;
  padding: .8em 1rem;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
}
.e-kan-cat-card__title .dot{
  width: .65em; height: .65em;
  border-radius: 9999px; background: #1e90ff; display: inline-block;
}

/* ============ リスト ============ */
.e-kan-cat-list{ list-style:none; margin:0; padding:0; }
.e-kan-cat-item{ border-top: 1px solid #f0f2f5; }
.e-kan-cat-item:first-child{ border-top:none; }

/* 子なし/子レベルのリンク共通 */
.e-kan-cat-link{
  display:block; width:100%; text-align:left;
  padding:.95em 1rem; text-decoration:none; color:inherit; background:#fff;
}
.e-kan-cat-link:hover{ background:#f5f7fb; }

/* 親カテゴリの行（リンク＋右端ボタンの2カラム） */
.e-kan-acc-row{
  display:flex; align-items:center; gap:.5rem;
}
.e-kan-parent-link{
  flex:1 1 auto; min-width:0;
  display:block; padding:.95em 1rem; text-decoration:none; color:inherit; background:#fff;
}
.e-kan-parent-link:hover{ background:#f5f7fb; }

/* 親カテゴリの開閉ボタン（右端の小さなボタン） */
.e-kan-acc-btn{
  flex:0 0 auto;
  width:38px; height:38px; margin-right:.3rem;
  display:inline-flex; align-items:center; justify-content:center;
  background:#fff; border:0; cursor:pointer;
}
.e-kan-acc-btn:hover{ background:#f5f7fb; }

/* シェブロン（常時表示） › / ∨ */
.e-kan-acc-icon{
  width:10px; height:10px;
  border-right:2px solid #9aa3af; border-bottom:2px solid #9aa3af;
  transform: rotate(-45deg); transform-origin:center; transition:transform .18s ease;
}
.e-kan-acc-btn[aria-expanded="true"] .e-kan-acc-icon{ transform: rotate(45deg); }

/* パネル（親だけアコーディオン） */
.e-kan-acc-panel[hidden]{ display:none; }
.e-kan-acc-panel{ border-top:1px solid #eef1f5; }

/* 子階層の見た目（インデント感） */
.e-kan-acc-panel .e-kan-cat-list{ padding-left:0; }
.e-kan-acc-panel .e-kan-cat-link{ padding:.8em 1rem .8em 1.25rem; }

/* 件数（任意） */
.e-kan-cat-count{ font-weight:400; color:#6b7280; margin-left:.25em; }

/* モバイル微調整 */
@media (max-width:480px){
  .e-kan-parent-link, .e-kan-cat-link{ padding:.8em .9rem; }
  .e-kan-acc-btn{ width:34px; height:34px; }
}