/*
 * Feng Shui mobile navigation V34
 * Completely independent mobile drawer. Desktop #primaryMenu stays untouched.
 */
@media (max-width:860px){
  body.fengshui-theme-active #mainNavigation #mobileMenuToggle,
  body.home-layout-fengshui #mainNavigation #mobileMenuToggle,
  body.fengshui-theme-active #mainNavigation #primaryMenu,
  body.home-layout-fengshui #mainNavigation #primaryMenu{
    display:none!important;
  }

  body.fengshui-theme-active #mainNavigation .main-menu-shell,
  body.home-layout-fengshui #mainNavigation .main-menu-shell{
    min-height:48px!important;
  }

  .fs-mobile-nav-trigger{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 44px;
    width:44px;
    height:40px;
    margin-left:auto;
    padding:0;
    border:1px solid rgba(255,239,185,.48);
    border-radius:12px;
    background:rgba(86,13,29,.34);
    color:#fff8dc;
    box-shadow:0 6px 16px rgba(62,8,19,.18);
    cursor:pointer;
    position:relative;
    z-index:2;
  }
  .fs-mobile-nav-trigger-bars,
  .fs-mobile-nav-trigger-bars::before,
  .fs-mobile-nav-trigger-bars::after{
    display:block;
    width:20px;
    height:2px;
    border-radius:999px;
    background:#fff8dc;
    content:"";
    position:absolute;
    left:50%;
    transform:translateX(-50%);
    transition:transform .18s ease,opacity .18s ease,top .18s ease;
  }
  .fs-mobile-nav-trigger-bars{top:19px}
  .fs-mobile-nav-trigger-bars::before{top:-6px}
  .fs-mobile-nav-trigger-bars::after{top:6px}
  body.fs-mobile-nav-open .fs-mobile-nav-trigger-bars{background:transparent}
  body.fs-mobile-nav-open .fs-mobile-nav-trigger-bars::before{top:0;transform:translateX(-50%) rotate(45deg)}
  body.fs-mobile-nav-open .fs-mobile-nav-trigger-bars::after{top:0;transform:translateX(-50%) rotate(-45deg)}

  .fs-mobile-nav-backdrop{
    position:fixed;
    inset:0;
    z-index:2147483000;
    background:rgba(24,5,11,.42);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s ease,visibility .2s ease;
  }
  .fs-mobile-nav-drawer{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    z-index:2147483001;
    width:min(90vw,380px);
    max-width:380px;
    background:#fffaf0;
    color:#5a1423;
    box-shadow:-18px 0 48px rgba(54,7,18,.34);
    transform:translateX(104%);
    transition:transform .24s ease;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    visibility:hidden;
  }
  body.fs-mobile-nav-open .fs-mobile-nav-backdrop{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  body.fs-mobile-nav-open .fs-mobile-nav-drawer{
    transform:translateX(0);
    visibility:visible;
  }
  html.fs-mobile-nav-lock,
  body.fs-mobile-nav-lock{overflow:hidden!important;touch-action:none}

  .fs-mobile-nav-head{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    gap:10px;
    min-height:62px;
    padding:10px 12px 10px 16px;
    background:linear-gradient(100deg,#651425 0%,#8d1f2e 46%,#d05324 79%,#d99d1c 100%);
    color:#fff;
    border-bottom:1px solid rgba(255,231,155,.42);
  }
  .fs-mobile-nav-head-copy{min-width:0;flex:1}
  .fs-mobile-nav-title{display:block;font-size:15px;line-height:1.25;font-weight:850;color:#fff!important;-webkit-text-fill-color:#fff!important}
  .fs-mobile-nav-note{display:block;margin-top:2px;font-size:11.5px;line-height:1.3;font-weight:650;color:#fff0bd!important;-webkit-text-fill-color:#fff0bd!important}
  .fs-mobile-nav-close{
    flex:0 0 40px;
    width:40px;
    height:40px;
    border:1px solid rgba(255,255,255,.38);
    border-radius:12px;
    background:rgba(80,10,25,.28);
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-size:25px;
    line-height:1;
    cursor:pointer;
  }

  .fs-mobile-nav-scroll{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:8px 8px 18px;
    background:linear-gradient(180deg,#fffaf0 0%,#fff7e8 100%);
  }
  .fs-mobile-nav-list,
  .fs-mobile-nav-sub{
    list-style:none;
    margin:0;
    padding:0;
  }
  .fs-mobile-nav-item{margin:0;padding:0;border:0;background:transparent}
  .fs-mobile-nav-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 42px;
    align-items:stretch;
    gap:4px;
    min-height:46px;
    margin:2px 0;
    border-radius:12px;
    background:#fff;
    border:1px solid #efdcae;
    overflow:hidden;
  }
  .fs-mobile-nav-item:not(.has-sub)>.fs-mobile-nav-row{grid-template-columns:minmax(0,1fr)}
  .fs-mobile-nav-link{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
    min-height:44px!important;
    padding:9px 10px!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#5b1423!important;
    -webkit-text-fill-color:#5b1423!important;
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif!important;
    font-size:13.5px!important;
    line-height:1.35!important;
    font-weight:760!important;
    text-decoration:none!important;
    text-transform:none!important;
    box-shadow:none!important;
    opacity:1!important;
    filter:none!important;
  }
  .fs-mobile-nav-link *{color:inherit!important;-webkit-text-fill-color:inherit!important;opacity:1!important;filter:none!important}
  .fs-mobile-nav-link .menu-link-inner{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;width:100%!important}
  .fs-mobile-nav-link .menu-label{font:inherit!important;color:inherit!important;-webkit-text-fill-color:inherit!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .fs-mobile-nav-link .menu-icon-badge{
    flex:0 0 28px!important;
    width:28px!important;
    height:28px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:9px!important;
    background:#721625!important;
    color:#ffeaa0!important;
    -webkit-text-fill-color:#ffeaa0!important;
    border:1px solid rgba(111,21,37,.18)!important;
  }
  .fs-mobile-nav-link .menu-arrow{display:none!important}

  .fs-mobile-nav-expand{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    min-width:42px!important;
    height:auto!important;
    min-height:44px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-left:1px solid #efdcae!important;
    border-radius:0!important;
    background:#fff4d5!important;
    color:#711625!important;
    -webkit-text-fill-color:#711625!important;
    opacity:1!important;
    visibility:visible!important;
    cursor:pointer!important;
    transform:none!important;
    box-shadow:none!important;
  }
  .fs-mobile-nav-expand::before{
    content:"";
    display:block;
    width:8px;
    height:8px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg) translate(-2px,-2px);
    transform-origin:center;
    transition:transform .18s ease;
  }
  .fs-mobile-nav-item.is-open>.fs-mobile-nav-row>.fs-mobile-nav-expand{
    background:#f4d981!important;
    color:#671323!important;
  }
  .fs-mobile-nav-item.is-open>.fs-mobile-nav-row>.fs-mobile-nav-expand::before{
    transform:rotate(225deg) translate(-1px,-1px);
  }

  .fs-mobile-nav-sub{
    display:none;
    margin:3px 0 6px 12px;
    padding:4px 0 4px 8px;
    border-left:2px solid #deb957;
  }
  .fs-mobile-nav-item.is-open>.fs-mobile-nav-sub{display:block}
  .fs-mobile-nav-sub .fs-mobile-nav-row{
    background:#fffdf8;
    border-color:#ecdcb7;
    border-radius:10px;
  }
  .fs-mobile-nav-sub .fs-mobile-nav-link{
    min-height:42px!important;
    padding:8px 9px!important;
    font-size:13px!important;
    font-weight:700!important;
    color:#5b1724!important;
    -webkit-text-fill-color:#5b1724!important;
  }
  .fs-mobile-nav-sub .fs-mobile-nav-link .menu-icon-badge{
    width:25px!important;height:25px!important;flex-basis:25px!important;border-radius:8px!important;background:#8c2431!important;color:#ffedaf!important;-webkit-text-fill-color:#ffedaf!important;
  }
  .fs-mobile-nav-sub .fs-mobile-nav-expand{background:#fff1c8!important;color:#711625!important;border-left-color:#ecdcb7!important}

  .fs-mobile-nav-link:focus-visible,
  .fs-mobile-nav-expand:focus-visible,
  .fs-mobile-nav-close:focus-visible,
  .fs-mobile-nav-trigger:focus-visible{
    outline:3px solid #f2c94c!important;
    outline-offset:2px!important;
  }
  .fs-mobile-nav-link:active{background:#fff0c2!important;color:#8a1d2b!important;-webkit-text-fill-color:#8a1d2b!important}
}

@media (min-width:861px){
  .fs-mobile-nav-trigger,
  .fs-mobile-nav-backdrop,
  .fs-mobile-nav-drawer{display:none!important}
}
