/**
 * Navigation fallback styles
 *
 * Tea World のメインナビゲーションが
 * テーマやJS競合で崩れた場合の保険用スタイル。
 *
 * 内容:
 * - ハンバーガーメニューの強制表示
 * - open / toggled / is-open 状態の補正
 * - body.nav-open 対応
 * - primary-menu の開閉補助
 * - PC幅でのメニュー常時表示
 * ver.1.1 2025.07.20
 * ver.2.0 2026.04.20
 * tea-layout.css から分離・重複整理
 */
/* モバイル時: 開いたナビ全体の表示を安定化 */
@media (max-width: 1024px){
  nav.main-navigation.open{
    position: fixed !important;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    background: #fff;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
  }

  nav.main-navigation.open > ul.main-menu{
    margin: 0;
    padding: 0 0 env(safe-area-inset-bottom, 0);
    max-height: 100%;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  .menu-toggle,
  .nav-toggle,
  button.menu-toggle{
    position: relative;
    z-index: 10001;
  }
}

nav.main-navigation.open > ul.main-menu{
  padding-bottom: env(safe-area-inset-bottom, 16px);
}

/* 開いた状態なら必ず表示 */
#site-navigation.is-open,
.primary-navigation.is-open,
nav[aria-label="Primary"].is-open,
#site-navigation.toggled,
.primary-navigation.toggled,
nav[aria-label="Primary"].toggled,
#site-navigation.open,
.primary-navigation.open,
nav[aria-label="Primary"].open{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
  transform: none !important;
}

/* モバイル時: 閉じている時だけ隠す */
@media (max-width: 1024px){
  #site-navigation:not(.is-open):not(.toggled):not(.open),
  .primary-navigation:not(.is-open):not(.toggled):not(.open),
  nav[aria-label="Primary"]:not(.is-open):not(.toggled):not(.open){
    display: none !important;
  }

  body.nav-open #site-navigation,
  body.nav-open .primary-navigation,
  body.nav-open nav[aria-label="Primary"]{
    display: block !important;
  }

  /* UL.menu が個別に隠れているテーマ向け */
  nav ul.menu{
    display: none;
  }

  body.nav-open nav ul.menu,
  .primary-navigation.is-open ul.menu,
  #site-navigation.is-open ul.menu{
    display: block !important;
  }
}

/* primary-menu をボタンで確実に開閉 */
#primary-menu{
  display: none;
}

body.nav-open #primary-menu,
#primary-menu.is-open,
#primary-menu.toggled,
#primary-menu.open,
#primary-menu[data-open="1"]{
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  height: auto !important;
}

.tw-dup-toggle{
  display: none !important;
}

/* PCではメインメニューを開いたままにする */
@media (min-width: 960px){
  #primary-menu,
  #primary-menu[hidden],
  .main-navigation,
  .main-navigation[hidden]{
    display: block !important;
    visibility: visible;
    opacity: 1;
    position: static;
    height: auto;
    overflow: visible;
  }

  .menu-toggle{
    display: none;
  }
}