/* =========================================================
   article_nav.css  ── 館内ナビゲーションウィジェット（サイドバー）

   【このファイルの責務】
   - .lb-nav-widget（ナビゲーション全体のコンテナ）
   - .lb-nav-shelf / .lb-nav-shelf-body（書架レベルの折りたたみ）
   - .lb-nav-series / .lb-nav-series-body（シリーズレベルの折りたたみ）
   - .lb-nav-article（記事リンク）
   - .lb-nav-article.is-current（現在ページのハイライト）
   - .lb-nav-toggle（▸ / ▾ トグルアイコン）

   【触るべきとき】
   ・書架ボタンのデザインを変えたい            → .lb-nav-shelf
   ・シリーズボタンのデザインを変えたい        → .lb-nav-series
   ・記事リンクのホバー色を変えたい            → .lb-nav-article:hover
   ・現在ページのハイライト色を変えたい        → .lb-nav-article.is-current
   ・ナビゲーションの JS ロジックを変えたい    → functions.php の館内ナビゲーション部分

   【JS との連携】
   functions.php の add_action('wp_footer', ...) で生成される。
   HTML 構造: .lb-nav-shelf-wrap > button.lb-nav-shelf + div.lb-nav-shelf-body
              > .lb-nav-series-wrap > button.lb-nav-series + div.lb-nav-series-body
              > a.lb-nav-article

   【関連ファイル】
   - サイドバーのウィジェット外枠スタイル  → wp_reset.css（#secondary .widget）
   - 記事ページの本文                       → article_body.css
========================================================= */

/* =========================================================
   lb-nav-widget  ── 館内ナビゲーション全体
========================================================= */
.lb-nav-widget {
  font-family: var(--font-body, "Hiragino Sans", sans-serif);
  font-size: 13px;
  line-height: 1.7;
  color: var(--ink, #302c20);
}

/* ── 書架ボタン（第1階層） ── */
.lb-nav-shelf {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 12px;
  margin-bottom: 4px;
  border: 1.5px solid rgba(210,185,100,.38);
  border-radius: 12px;
  background: linear-gradient(160deg, rgba(255,255,248,.98) 0%, rgba(255,252,228,.97) 100%);
  color: var(--ink, #302c20);
  font-family: inherit;
  font-size: 15.5px;
  font-weight: 700;
  letter-spacing: .06em;
  cursor: pointer;
  text-align: left;
  transition: background .18s ease, border-color .18s ease;
}

.lb-nav-shelf:hover {
  background: rgba(180,145,40,.75);
  border-color: rgba(190,165,60,.55);
}

/* 展開時：下辺を角丸なしにして body と接続 */
.lb-nav-shelf[aria-expanded="true"] {
  background: rgba(180,145,40,.75);
  border-color: rgba(190,165,60,.55);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin-bottom: 0;
}

/* ── 書架コンテンツコンテナ ── */
.lb-nav-shelf-body {
  margin-bottom: 6px;
  border: 1.5px solid rgba(190,165,60,.55);
  border-top: none;
  border-radius: 0 0 12px 12px;
  background: rgba(255,255,248,.60);
  padding: 6px 8px 8px;
}

.lb-nav-shelf-body[hidden] {
  display: none;
}

/* ── シリーズボタン（第2階層） ── */
.lb-nav-series {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 7px 10px;
  margin-top: 4px;
  border: 1px solid rgba(210,185,100,.28);
  border-radius: 8px;
  background: rgba(255,255,255,.70);
  color: var(--ink-soft, #504830);
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: .04em;
  cursor: pointer;
  text-align: left;
  transition: background .16s ease, border-color .16s ease;
}

.lb-nav-series:hover {
  background: rgba(180,145,40,.65);
  border-color: rgba(190,165,60,.45);
}

.lb-nav-series[aria-expanded="true"] {
  border-color: rgba(190,165,60,.45);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

/* ── 記事リストコンテナ ── */
.lb-nav-series-body {
  border: 1px solid rgba(190,165,60,.45);
  border-top: none;
  border-radius: 0 0 8px 8px;
  background: rgba(255,255,255,.50);
  padding: 4px 6px 6px;
  margin-bottom: 2px;
}

.lb-nav-series-body[hidden] {
  display: none;
}

/* ── 記事リンク（第3階層） ── */
.lb-nav-article {
  display: block;
  padding: 5px 10px;
  border-radius: 6px;
  color: var(--ink-soft, #504830);
  font-size: 14.5px;
  line-height: 1.65;
  text-decoration: none;
  letter-spacing: .02em;
  transition: background .14s ease, color .14s ease;
  border-bottom: none !important;
}

.lb-nav-article:hover {
  background: rgba(212,170,72,.12);
  color: var(--ink, #302c20);
}

/* 現在ページのハイライト */
.lb-nav-article.is-current {
  background: rgba(212,170,72,.18);
  color: var(--shelf-wood, #d4a840);
  font-weight: 700;
}

/* ── トグルアイコン（▸ / ▾） ── */
.lb-nav-toggle {
  font-size: 13px;
  color: var(--muted, #8c7e5a);
  flex-shrink: 0;
  transition: transform .18s ease;
  pointer-events: none;
}

/* =========================================================
   SP（680px 以下）
========================================================= */
@media (max-width: 680px) {
  .lb-nav-shelf {
    font-size: 14px;
    padding: 11px 13px;
  }

  .lb-nav-article {
    font-size: 13px;
    padding: 6px 10px;
  }
}