/* ログアウト導線のハンバーガーメニューを開いた状態のパネル(Figma: menu / node-id=4977-2115)
 *
 * 依存: guest/menu_item.css / guest/primary_button.css / guest/secondary_button.css も
 *       併せて読み込むこと
 *
 * Figmaにはsp版のみ定義がある。PC版はハンバーガー自体を出さない方針(header_navを使う)
 * なので、レスポンシブの出し分けは持たない。 */
.guest-menu-drawer {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
  width: 100%;
  height: 620px;
  /* Figma: pt/pb 80px(spacing/20) / px 24px(spacing/6) */
  padding: var(--spacing-20) var(--spacing-6);
  /* color/background/header。90%不透明なので下のページが薄く透ける */
  background: var(--guest-color-background-header);
  /* Figma: offset(0,0) / radius 16 / #FFAF511A (rgba(255,175,81,0.1)) */
  box-shadow: 0 0 16px rgba(255, 175, 81, 0.1);
  color: var(--guest-color-text-default);
  font-family: var(--guest-font-family);
  /* 閉じた位置は画面右外。開くと右から左へ移動する。 */
  transform: translateX(100%);
  transition: transform 0.3s ease-out;
}

.guest-menu-drawer--open {
  transform: translateX(0);
}

.guest-menu-drawer[hidden] {
  display: none;
}

.guest-menu-drawer__container {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--spacing-8);
  width: 100%;
  max-width: 600px;
  margin: 0 auto;
}

html.guest-menu-drawer-open {
  overflow: hidden;
}

/* Figmaは items-start だが子のmenu-itemが w-full なので、ここは stretch にする。
 * flex-start にすると各項目が文字幅まで縮み、区切り線が文字の長さになってしまう。 */
.guest-menu-drawer__items {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--spacing-2);
  width: 100%;
}

.guest-menu-drawer__buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--spacing-4);
  width: 100%;
}

/* 右上の閉じるボタン。60x60で背景・影・角丸を持たない(三本線のボタンとは別物)。 */
.guest-menu-drawer__close {
  display: flex;
  position: absolute;
  right: 0;
  top: 0;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}

/* ×アイコン。Figmaは24x24の枠に長さ22px・太さ2px・角丸(round cap)の線2本。
 * 線の始点終点(3.87,19.42)-(19.42,3.87)から長さは√(15.56²+15.56²)=22px。 */
.guest-menu-drawer__close-icon {
  display: block;
  position: relative;
  width: 24px;
  height: 24px;
}

.guest-menu-drawer__close-icon::before,
.guest-menu-drawer__close-icon::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 2px;
  /* round cap 相当 */
  border-radius: 1px;
  background: var(--guest-color-button-default);
}

.guest-menu-drawer__close-icon::before {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.guest-menu-drawer__close-icon::after {
  transform: translate(-50%, -50%) rotate(45deg);
}

@media (prefers-reduced-motion: reduce) {
  .guest-menu-drawer {
    transition: none;
  }
}
