/* LEAF Navigation Accordion v1.2.0 */
.leaf-accordion-ready .leaf-accordion-item { position:relative !important; }
.leaf-accordion-ready .leaf-accordion-item > .wp-block-navigation__submenu-icon,
.leaf-accordion-ready .leaf-accordion-item > button.wp-block-navigation__submenu-icon { display:none !important; }

/* 親リンクと開閉ボタンを固定した1行にする */
.leaf-accordion-ready .leaf-accordion-row {
  display:flex !important;
  align-items:center !important;
  min-width:0;
  width:100%;
  box-sizing:border-box;
}
.leaf-header-nav.leaf-accordion-ready .leaf-accordion-row {
  justify-content:space-between !important;
  gap:14px;
}
.leaf-footer-nav.leaf-accordion-ready .leaf-accordion-row {
  justify-content:flex-start !important;
  gap:8px;
  width:auto !important;
  max-width:100%;
}
.leaf-accordion-ready .leaf-accordion-row > .wp-block-navigation-item__content,
.leaf-accordion-ready .leaf-accordion-row > a,
.leaf-accordion-ready .leaf-accordion-row > .wp-block-navigation-item__label {
  min-width:0;
  padding-right:0 !important;
}
.leaf-footer-nav.leaf-accordion-ready .leaf-accordion-row > .wp-block-navigation-item__content,
.leaf-footer-nav.leaf-accordion-ready .leaf-accordion-row > a {
  width:auto !important;
  flex:0 1 auto !important;
  white-space:nowrap !important;
}

/* コンパクトで上品な四角ボタン */
.leaf-accordion-toggle {
  appearance:none; -webkit-appearance:none;
  position:static !important;
  flex:0 0 30px;
  width:30px; height:30px; min-width:30px;
  margin:0; padding:0;
  border:1px solid rgba(16,45,72,.30);
  border-radius:5px;
  background:rgba(255,255,255,.96);
  color:inherit;
  display:inline-flex; align-items:center; justify-content:center;
  cursor:pointer;
  box-shadow:0 1px 3px rgba(0,0,0,.05);
  transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.leaf-accordion-toggle:hover { background:#fff; border-color:rgba(16,45,72,.55); box-shadow:0 2px 8px rgba(0,0,0,.08); }
.leaf-accordion-toggle:active { transform:scale(.96); }
.leaf-accordion-toggle:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.leaf-accordion-chevron {
  width:7px; height:7px; display:block;
  border-right:1.7px solid currentColor;
  border-bottom:1.7px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .24s cubic-bezier(.4,0,.2,1);
}
.leaf-accordion-item.is-leaf-open > .leaf-accordion-row > .leaf-accordion-toggle .leaf-accordion-chevron {
  transform:translateY(2px) rotate(225deg);
}

/* 高さを実測して開閉。WP/Lightningのpopover指定を解除 */
.leaf-accordion-ready .leaf-accordion-submenu {
  position:static !important;
  inset:auto !important;
  float:none !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  visibility:visible !important;
  transform:none !important;
  overflow:hidden !important;
  display:block !important;
  height:0;
  opacity:0;
  pointer-events:none;
  transition:height .30s cubic-bezier(.4,0,.2,1),opacity .20s ease !important;
}
.leaf-accordion-ready .leaf-accordion-item.is-leaf-open > .leaf-accordion-submenu {
  opacity:1 !important;
  pointer-events:auto;
}
.leaf-accordion-ready .leaf-accordion-submenu.leaf-no-transition { transition:none !important; }

/* 子項目は親より一段だけ内側。余計な罫線・浮遊表示を残さない */
.leaf-accordion-ready .leaf-accordion-submenu > .wp-block-navigation-item,
.leaf-accordion-ready .leaf-accordion-submenu > li {
  position:relative !important;
  width:100% !important;
  box-sizing:border-box;
}
.leaf-accordion-ready .leaf-accordion-submenu > :first-child { margin-top:8px !important; }
.leaf-accordion-ready .leaf-accordion-submenu > :last-child { margin-bottom:6px !important; }
.leaf-header-nav.leaf-accordion-ready .leaf-accordion-submenu > .wp-block-navigation-item > .wp-block-navigation-item__content,
.leaf-header-nav.leaf-accordion-ready .leaf-accordion-submenu > li > a { padding-left:24px !important; }
.leaf-footer-nav.leaf-accordion-ready .leaf-accordion-submenu > .wp-block-navigation-item > .wp-block-navigation-item__content,
.leaf-footer-nav.leaf-accordion-ready .leaf-accordion-submenu > li > a { padding-left:14px !important; }

/* フッターのナビ全体を無理に100%幅へ引き伸ばさない */
.leaf-footer-nav.leaf-accordion-ready .wp-block-navigation__container { align-items:flex-start !important; }
.leaf-footer-nav.leaf-accordion-ready .leaf-accordion-item { max-width:100%; }

/* PCヘッダーはテーマ本来のナビゲーションへ戻す */
@media (min-width:769px) {
  .leaf-header-nav .leaf-accordion-toggle { display:none !important; }
  .leaf-header-nav .leaf-accordion-row { display:contents !important; }
  .leaf-header-nav.leaf-accordion-ready .leaf-accordion-submenu {
    height:auto !important; opacity:1 !important; overflow:revert !important;
    display:revert !important; position:revert !important; width:revert !important;
    visibility:revert !important; transform:revert !important; pointer-events:revert !important;
  }
  .leaf-header-nav.leaf-accordion-ready .leaf-accordion-item > .wp-block-navigation__submenu-icon,
  .leaf-header-nav.leaf-accordion-ready .leaf-accordion-item > button.wp-block-navigation__submenu-icon { display:revert !important; }
}

@media (prefers-reduced-motion:reduce) {
  .leaf-accordion-toggle,.leaf-accordion-chevron,.leaf-accordion-submenu { transition:none !important; }
}
