
/* =========================================================
   HIMEMIYA Mobile Navigation
   PC navigation remains unchanged.
   ========================================================= */

.hm-mobile-menu-button,
.hm-mobile-menu{
  display:none;
}

@media (max-width:900px){

  .site-header{
    min-height:76px;
    padding-left:22px !important;
    padding-right:20px !important;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
  }

  .site-header .global-nav{
    display:none !important;
  }

  .site-header .brand{
    position:relative;
    z-index:1202;
  }

  .hm-mobile-menu-button{
    display:flex;
    width:44px;
    height:44px;
    padding:0;
    border:0;
    background:transparent;
    align-items:center;
    justify-content:center;
    position:relative;
    z-index:1202;
    cursor:pointer;
    color:inherit;
  }

  .hm-mobile-menu-button span,
  .hm-mobile-menu-button::before,
  .hm-mobile-menu-button::after{
    content:"";
    position:absolute;
    width:24px;
    height:1px;
    background:currentColor;
    transition:transform .22s ease, opacity .22s ease, top .22s ease;
  }

  .hm-mobile-menu-button::before{ transform:translateY(-7px); }
  .hm-mobile-menu-button span{ transform:translateY(0); }
  .hm-mobile-menu-button::after{ transform:translateY(7px); }

  body.hm-menu-open .hm-mobile-menu-button::before{
    transform:rotate(45deg);
  }

  body.hm-menu-open .hm-mobile-menu-button span{
    opacity:0;
  }

  body.hm-menu-open .hm-mobile-menu-button::after{
    transform:rotate(-45deg);
  }

  .hm-mobile-menu{
    display:block;
    position:fixed;
    inset:0;
    z-index:1200;
    background:rgba(251,250,246,.985);
    color:#2d2a27;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .22s ease, visibility .22s ease;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }

  body.hm-menu-open{
    overflow:hidden;
  }

  body.hm-menu-open .hm-mobile-menu{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .hm-mobile-menu-inner{
    width:min(100% - 48px, 560px);
    margin:0 auto;
    padding:116px 0 52px;
  }

  .hm-mobile-menu-title{
    margin:0 0 28px;
    font-family:"Cormorant Garamond",serif;
    font-size:13px;
    letter-spacing:.18em;
    color:#a61f24;
  }

  .hm-mobile-menu-list{
    margin:0;
    padding:0;
    list-style:none;
  }

  .hm-mobile-menu-list > li{
    border-top:1px solid rgba(45,42,39,.13);
  }

  .hm-mobile-menu-list > li:last-child{
    border-bottom:1px solid rgba(45,42,39,.13);
  }

  .hm-mobile-menu-list a{
    display:block;
    padding:17px 0 16px;
    color:#2d2a27 !important;
    text-decoration:none;
    font-family:"Cormorant Garamond",serif;
    font-size:27px;
    line-height:1.15;
    font-weight:400;
    letter-spacing:.015em;
  }

  .hm-mobile-subnav{
    padding:0 0 15px 18px;
    margin-top:-3px;
  }

  .hm-mobile-subnav a{
    padding:8px 0;
    font-size:17px;
    line-height:1.35;
    color:#716860 !important;
  }

  .hm-mobile-menu-foot{
    margin-top:32px;
    font-family:"Cormorant Garamond",serif;
    font-size:14px;
    line-height:1.4;
    color:#a61f24;
  }
}
