/* millennium_bakery/web_pages/css/hamburger.css */

/* -----------------------------------------------
   ハンバーガーメニュー内のリスト共通設定
----------------------------------------------- */
#hamburger-menu .nav_list {
    list-style: none;                       /* デフォルトのリストスタイルを解除 */
    padding: 0;                             /* パディングをリセット */
    margin: 0;                              /* マージンをリセット */
}

#hamburger-menu .nav_list li {
    margin-bottom: 0.8rem;                  /* 下にスペースを追加 */
}

#hamburger-menu .nav_list li:last-child {
    margin-bottom: 0;
}

#hamburger-menu .nav_list a {
    text-decoration: none;                  /* 下線を削除 */
    color: inherit;                         /* 親要素の色を継承 */
    display: block;                         /* 全体をクリック可能にする */
    padding: 0.5rem 0;                      /* 上下パディング */
    padding-left: 1.5rem;                   /* 左側の余裕 */

    /* PC等ではやや大きめ */
    font-size: 1.8rem;
}

/* -----------------------------------------------
   ハンバーガーアイコンを表示するチェックボックス
   （見た目は非表示）
----------------------------------------------- */
#hamburger-menu .drawer_hidden {
    display: none;
}

/* -----------------------------------------------
   ハンバーガーアイコン本体
----------------------------------------------- */
#hamburger-menu .drawer_open {
    position: fixed;
    top: 1rem;
    left: 1rem;
    /*width: clamp(3.5rem, 13vw, 7rem);*/
    /*height: clamp(3.5rem, 13vw, 7rem);*/
    width: clamp(4rem, 15vw, 8rem);
    height: clamp(4rem, 15vw, 8rem);
    background-color: #00b7ce;              /* 背景色 */
    cursor: pointer;
    z-index: 1100;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 1rem;
    border-radius: 8px;                     /* 角丸 */
}

/* ハンバーガーアイコンの横棒部分 */
#hamburger-menu .drawer_open span {
    transform-origin: center;                   /* 回転やスケールの基準位置を中央に */
    display: block;
    /*width: 70%;*/
    /*height: clamp(0.15rem, 0.8vw, 0.6rem);*/
    width: 80%;                                 /* 線の幅をやや狭めて中央配置 */
    height: clamp(0.2rem, 1vw, 0.8rem);         /* 端末幅に応じ可変 */
    background-color: #ffffff;                  /* 線の色：白 */
    border-radius: 2px;
    transition: all 0.3s ease;
}

/* -----------------------------------------------
   メニューを開いたときのアイコン（×印）変形
----------------------------------------------- */
#hamburger-menu .drawer_hidden:checked ~ .drawer_open span:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
    /*transform: translateY(6px) rotate(45deg);*/
}
#hamburger-menu .drawer_hidden:checked ~ .drawer_open span:nth-child(2) {
    opacity: 0; /* 中央の棒を消す */
}
#hamburger-menu .drawer_hidden:checked ~ .drawer_open span:nth-child(3) {
    transform: translateY(-5px) rotate(-45deg);
    /*transform: translateY(-6px) rotate(-45deg);*/
}

/* -----------------------------------------------
   メニュー本体
   transform ではなく left でスライドインさせる
----------------------------------------------- */
#hamburger-menu .nav_content {
    position: fixed;
    top: 0;
    left: -160vw;               /* 初期状態では画面左外に隠す */
    width: 160vw;               /* 横幅を2倍に拡大 （もともとのメニュー幅より多め） */
    max-width: 610px;
    height: 100vh;              /* 画面全体を覆う高さ */
    background-color: #00b7ce;
    box-shadow: 2px 0 5px rgba(0,0,0,0.3);

    /* ▼ 修正：z-index を 2000 にし、フッターより手前に表示させる */
    z-index: 2000;

    /* 慣性スクロール */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;

    /* ハンバーガーアイコンが被らないように上に余白 */
    padding-top: clamp(6rem, 15vw, 9rem);

    /* ▼ 修正：最下部に余白をつくり、最後のメニューをタップしやすくする */
    padding-bottom: 10rem;

    /* 左位置をアニメーション（transform を使わない） */
    transition: left 0.3s ease;
}

/* -----------------------------------------------
   オーバーレイ
----------------------------------------------- */
#hamburger-menu .overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease;
    z-index: 900;
    pointer-events: none;
}

/* チェックが入ったらオーバーレイを表示 & メニューをスライドイン */
#hamburger-menu .drawer_hidden:checked ~ .overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
}
#hamburger-menu .drawer_hidden:checked ~ .nav_content {
    left: 0;                            /* メニューを画面内にスライドイン */
}

/* -----------------------------------------------
   メディアクエリ
----------------------------------------------- */
/* 幅 768px 以下の場合 */
@media screen and (max-width: 768px) {
    #hamburger-menu .nav_content {
        width: 80vw;                    /* 画面幅が狭い時は 80vw に */
        max-width: 400px;
    }

    /* ▼ 携帯端末でフォントを小さく調整 */
    #hamburger-menu .nav_list a {
        /*font-size: 1.6rem;*/
        font-size: 1.2rem;
    }
}

/* 横向き、かつ幅 768px 以下の場合 */
@media screen and (orientation: landscape) and (max-width: 768px) {
    #hamburger-menu .nav_content {
        width: 80vw;
        max-width: 400px;
    }
    #hamburger-menu .nav_list a {
        padding: 0.8rem;
    }
}
