/* ============== Swell Category Widget (scw) ============== */
.scw{
  --scw-border:#DADBDD;
  --scw-divider:#EDF1F3;
  --scw-title:#C0506B;
  --scw-text:#2F3337;
  --scw-hover:#34414E;
  --scw-accent:#C0506B;
  --scw-accent-bg: rgba(192,80,107,.13);

  background:#fff;
  border:1px solid var(--scw-border);
  border-radius:8px;
  padding:20px 16px 8px;
  text-align:center;
}

/* 見出し */
.scw__title{
  font-weight:700; font-size:15px; letter-spacing:.09em;
  display:inline-block; margin:0 0 24px; padding-bottom:.5rem;
  border-bottom:1px solid var(--scw-title);
}

/* リスト */
.scw__list{ list-style:none; margin:0; padding:0; text-align:left; }
.scw__item{ border-bottom:1px solid var(--scw-divider); }
.scw__item:last-child{ border-bottom:none; }

.scw__link{
  position:relative; display:block;
  padding:16px 12px 16px 44px;        /* 左アイコン用 */
  font-size:15px; font-weight:500; color:var(--scw-text);
  text-decoration:none;
  transition:background-color .2s ease, color .2s ease;
}
.scw__link:hover{ background:rgba(0,0,0,.02); color:var(--scw-hover); }

/* アイコン（インラインSVGを着色） */
.scw__icon{ position:absolute; left:12px; top:50%; transform:translateY(-50%); width:22px; height:22px; display:inline-block; }
.scw__icon svg{ width:22px; height:22px; display:block; }
.scw__iconCircle{ fill: var(--scw-accent-bg); }
.scw__iconArrow { stroke: var(--scw-accent); }

/* カウント（必要なら） */
.scw__count{ color:#666; font-size:13px; margin-left:.25em; }

/* 現在カテゴリ */
.scw__item.is-current > .scw__link{ color:#D6A1A1; }

/* グルーピング用（子カテゴリの親見出し） */
.scw__group{ padding:6px 0 2px; }
.scw__groupTitle{
  font-size:13px; font-weight:700; color:#666; margin:10px 0 6px; padding:0 4px;
  border-left:3px solid var(--scw-title);
}

/* アクセシビリティ：フォーカスリング */
.scw__link:focus-visible{ outline:2px solid var(--scw-title); outline-offset:2px; border-radius:4px; }

/* スマホ */
@media (max-width: 599px){
  .scw{ padding:16px 12px 4px; }
  .scw__link{ padding:14px 10px 14px 42px; }
  .scw__icon{ left:10px; width:20px; height:20px; }
  .scw__icon svg{ width:20px; height:20px; }
}

/* 低モーション環境 */
@media (prefers-reduced-motion: reduce){
  .scw__link{ transition:none; }
}
