/* 蹴GO Core #kegoMobileNav 専用。全ページ共通 / SPのみ */
@media (max-width: 991px){
  #kegoMobileNav.kego-motion-ready{
    transition:
      left .28s cubic-bezier(.2,.8,.2,1),
      right .28s cubic-bezier(.2,.8,.2,1),
      width .28s cubic-bezier(.2,.8,.2,1),
      min-height .28s cubic-bezier(.2,.8,.2,1),
      padding .28s cubic-bezier(.2,.8,.2,1),
      border-radius .28s cubic-bezier(.2,.8,.2,1),
      box-shadow .28s ease,
      background-color .28s ease,
      transform .28s cubic-bezier(.2,.8,.2,1)!important;
    will-change:left,right,width,min-height,padding,border-radius,transform;
  }

  #kegoMobileNav.kego-motion-ready .kego-mobile-nav__item{
    transition:min-height .25s ease,padding .25s ease,gap .25s ease,border-radius .25s ease,background-color .25s ease!important;
  }

  #kegoMobileNav.kego-motion-ready .kego-mobile-nav__item > span:not(.kego-mobile-nav__icon){
    display:block;
    opacity:1;
    max-height:18px;
    transform:translateY(0);
    overflow:hidden;
    white-space:nowrap;
    transition:opacity .16s ease,max-height .25s ease,transform .25s ease,font-size .25s ease!important;
  }

  /* 下方向へスクロールした時のInstagram風コンパクト表示 */
  #kegoMobileNav.kego-motion-compact{
    left:50%!important;
    right:auto!important;
    width:min(74vw, 390px)!important;
    min-height:52px!important;
    padding:4px 7px!important;
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    border-radius:999px!important;
    transform:translateX(-50%) translateZ(0)!important;
    background:rgba(255,255,255,.94)!important;
    box-shadow:0 10px 30px rgba(9,28,16,.19)!important;
    backdrop-filter:blur(18px) saturate(1.12)!important;
    -webkit-backdrop-filter:blur(18px) saturate(1.12)!important;
  }

  #kegoMobileNav.kego-motion-compact .kego-mobile-nav__item{
    min-height:44px!important;
    padding:4px 3px!important;
    gap:0!important;
    border-radius:14px!important;
  }

  #kegoMobileNav.kego-motion-compact .kego-mobile-nav__item > span:not(.kego-mobile-nav__icon){
    opacity:0!important;
    max-height:0!important;
    font-size:0!important;
    line-height:0!important;
    transform:translateY(4px)!important;
    pointer-events:none!important;
  }

  #kegoMobileNav.kego-motion-compact .kego-mobile-nav__icon,
  #kegoMobileNav.kego-motion-compact .kego-mobile-nav__icon svg{
    width:23px!important;
    height:23px!important;
  }

  /* 蹴MAPのブランド強調は残しつつ、コンパクト時は大きくなりすぎない */
  #kegoMobileNav.kego-motion-compact .kego-mobile-nav__item--map{
    box-shadow:0 5px 14px rgba(22,138,59,.20)!important;
  }

  /* ナビが縮んでもページ最下部の安全余白はCore既定値を維持 */
  body.kego-mobile-nav-active{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important;}
}

@media (prefers-reduced-motion: reduce){
  #kegoMobileNav.kego-motion-ready,
  #kegoMobileNav.kego-motion-ready .kego-mobile-nav__item,
  #kegoMobileNav.kego-motion-ready .kego-mobile-nav__item > span:not(.kego-mobile-nav__icon){transition:none!important;}
}

/* PHOTO IMPORT中はスクロール有無に関係なく常時コンパクト */
@media (max-width: 991px){
  #kegoMobileNav.kego-motion-photo-import.kego-motion-compact{
    width:min(68vw, 350px)!important;
    min-height:48px!important;
    padding:3px 6px!important;
    bottom:calc(7px + env(safe-area-inset-bottom))!important;
  }
  #kegoMobileNav.kego-motion-photo-import.kego-motion-compact .kego-mobile-nav__item{
    min-height:40px!important;
    padding:3px 2px!important;
  }
  #kegoMobileNav.kego-motion-photo-import.kego-motion-compact .kego-mobile-nav__icon,
  #kegoMobileNav.kego-motion-photo-import.kego-motion-compact .kego-mobile-nav__icon svg{
    width:21px!important;
    height:21px!important;
  }
}
