/* 変数（未定義環境向けの安全なデフォルト） */
.tabs, .wan-tabs { 
  --tabs-gap: 12px; 
  --tabs-pad: 8px 12px; 
  --wan-tab-hover: #f5f5f5; 
}

/* コンテナ */
.tabs, .wan-tabs {
   width: 100%; 
  }

  .tabs__list, .wan-tabs__list {
    display: flex;
    gap: var(--tabs-gap);
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    /*
    overflow-x: auto;
    */
}

/*
.tabs__item, .wan-tabs__item {
  flex: 0 0 auto;
}
*/

/* リンク基礎 */
.tabs__link, .wan-tabs__link {
  position: relative;
  display: inline-block;
  padding: var(--tabs-pad);
  text-decoration: none;
  color: var(--wan-text, #333);
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
}

/* ホバーは背景のみ（下線は出さない） */
@media (hover: hover) {
  .tabs__link:hover, .wan-tabs__link:hover {
    background: var(--wan-tab-hover);
    border-radius: 6px;
    transition: background .15s ease;
  }
}

/* キーボード操作のフォーカス */
.tabs__link:focus-visible, .wan-tabs__link:focus-visible {
  outline: 2px solid var(--wan-accent, #ff922b);
  outline-offset: 2px;
  border-radius: 6px;
}

/* 下線は擬似要素で用意（初期は非表示） */
.tabs__link::after, .wan-tabs__link::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -4px;
  height: 3px;
  background: var(--wan-accent, #ff922b);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform .25s ease;
  border-radius: 2px;
}

/* 該当タブ（aria-current / .is-active）のみ下線ON＋色強調 */
.tabs__link[aria-current="true"]::after,
.wan-tabs__link[aria-current="true"]::after,
.tabs__link.is-active::after,
.wan-tabs__link.is-active::after { transform: scaleX(1); }

