/* モバイルメニュー（ハンバーガー＋オーバーレイ＋中身）。 */
.wp-block-hilton-mobile-menu { display: none; }

/* トグル（3 本線 → 開時に ×）。 */
.wp-block-hilton-mobile-menu .hmenu__toggle {
  width: 40px; height: 40px; padding: 0; border: 0; background: transparent; cursor: pointer; position: relative;
}
.wp-block-hilton-mobile-menu .hmenu__bars,
.wp-block-hilton-mobile-menu .hmenu__bars::before,
.wp-block-hilton-mobile-menu .hmenu__bars::after {
  position: absolute; left: 50%; width: 22px; height: 2px; background: #000; transform: translateX(-50%);
  transition: transform 0.2s ease, background 0.1s ease, top 0.2s ease;
}
.wp-block-hilton-mobile-menu .hmenu__bars { top: 50%; transform: translate(-50%, -50%); }
.wp-block-hilton-mobile-menu .hmenu__bars::before { content: ""; top: -7px; }
.wp-block-hilton-mobile-menu .hmenu__bars::after { content: ""; top: 7px; }

/* 開時: ヘッダーごとオーバーレイより上に重ね、3 本線を × に変形。 */
.hmenu-open .site-header { z-index: 101; }
.wp-block-hilton-mobile-menu.is-open .hmenu__toggle { position: relative; z-index: 101; }
.wp-block-hilton-mobile-menu.is-open .hmenu__bars { background: transparent; }
.wp-block-hilton-mobile-menu.is-open .hmenu__bars::before { top: 0; transform: translateX(-50%) rotate(45deg); }
.wp-block-hilton-mobile-menu.is-open .hmenu__bars::after { top: 0; transform: translateX(-50%) rotate(-45deg); }

/* オーバーレイ */
.wp-block-hilton-mobile-menu .hmenu__panel {
  position: fixed; inset: 0; z-index: 100; background: #fff;
  padding: 20px 16px; overflow-y: auto;
  display: flex; flex-direction: column; gap: 20px;
}
.wp-block-hilton-mobile-menu .hmenu__panel[hidden] { display: none; }

/* お知らせ枠 */
.wp-block-hilton-mobile-menu .hmenu__notice {
  padding: 14px 16px; background: var(--surface, #F4F2F3); border-left: 3px solid var(--aureate); font-size: 13px; line-height: 1.7;
}

/* 主ナビ（.site-nav パターンを縦並びに）。 */
.hmenu__nav .site-nav .wp-block-navigation__container { flex-direction: column; align-items: flex-start; gap: 20px; }
.hmenu__nav .site-nav .wp-block-navigation-item__content { font-family: var(--wp--custom--brand-body); font-weight: 700; font-size: 20px; letter-spacing: 0.04em; color: #000; padding: 0; white-space: nowrap; }
.hmenu__nav .site-nav .wp-block-navigation-item__content::after { display: none; }

/* 予約 CTA。 */
.hmenu__cta .wp-block-button__link { min-height: 52px; display: flex; align-items: center; justify-content: center; font-family: var(--wp--custom--brand-body); font-weight: 700; font-size: 13px; letter-spacing: 0.18em; border-radius: 0; }
.hmenu__cta .btn-primary .wp-block-button__link { background: var(--wp--custom--cta-primary-bg, var(--aureate)); color: var(--wp--custom--cta-primary-fg, #fff); }
.hmenu__cta .btn-secondary .wp-block-button__link { background: transparent; color: var(--wp--custom--cta-secondary-fg, var(--aureate)); box-shadow: inset 0 0 0 1.5px var(--wp--custom--cta-outline, var(--aureate)); }

/* ユーティリティ。 */
.hmenu__util { padding-top: 18px; border-top: 1px solid #ececec; }
.hmenu__util .topbar-util .wp-block-navigation__container { flex-wrap: wrap; gap: 16px; }
.hmenu__util .topbar-util .wp-block-navigation-item__content { font-family: var(--wp--custom--brand-body); font-weight: 400; font-size: 13px; letter-spacing: 0; color: #000; padding: 0; }

/* 1024px 以下で表示。 */
@media (max-width: 1024px) {
  .wp-block-hilton-mobile-menu { display: flex; align-items: center; align-self: center; }
}
