/* Espeyou Menu Fixed Layout v2.2.0
   Header + section switcher are one fixed unit.
   Category selector is independently fixed on the visual right.
*/
:root{
  --edm-fixed-head-h:132px;
  --edm-bottom-nav-h:78px;
  --edm-rail-w:106px;
  --edm-rail-gap:14px;
  --edm-page-max:900px;
}

html{
  scroll-padding-top:calc(var(--edm-fixed-head-h) + 14px);
  overflow-x:hidden;
}
body.edm-menu-v2-page{
  overflow-x:hidden;
}

/* Unified fixed top chrome */
.edm-menu-fixed-head{
  position:fixed;
  inset:0 0 auto 0;
  z-index:300;
  background:rgba(1,8,6,.985);
  border-bottom:1px solid rgba(201,154,60,.34);
  box-shadow:0 10px 30px rgba(0,0,0,.34);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.edm-menu-fixed-inner{
  width:min(var(--edm-page-max),calc(100% - 24px));
  margin:0 auto;
}
.edm-menu-v2-page .edm-header.edm-header-center{
  position:relative !important;
  inset:auto !important;
  z-index:auto !important;
  width:100% !important;
  margin:0 !important;
  border-bottom:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}
.edm-section-tabs{
  position:relative !important;
  top:auto !important;
  z-index:auto !important;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:0;
  padding:7px 0 10px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.edm-section-tab{
  min-width:0;
  min-height:46px;
  border:1px solid rgba(201,154,60,.34);
  border-radius:14px;
  padding:7px 5px;
  background:rgba(255,255,255,.035);
  color:#e7dfd0;
  font-family:inherit;
  font-size:12px;
  font-weight:800;
  line-height:1.35;
  cursor:pointer;
  transition:.18s ease;
  -webkit-tap-highlight-color:transparent;
}
.edm-section-tab.is-active{
  color:#07110e;
  background:linear-gradient(180deg,#d8ab4e,#b17b29);
  border-color:#e2b85b;
  box-shadow:0 7px 20px rgba(201,154,60,.18),inset 0 1px 0 rgba(255,255,255,.25);
}

/* Main document begins below the fixed head. */
.edm-menu-v2-page .edm-app{
  padding-top:var(--edm-fixed-head-h) !important;
  overflow:visible !important;
}
.edm-menu-v2-page .edm-menu{
  width:min(var(--edm-page-max),calc(100% - 24px)) !important;
  max-width:none !important;
  margin:0 auto !important;
  padding:12px 0 calc(var(--edm-bottom-nav-h) + 28px) !important;
  overflow:visible !important;
}

/* The rail is no longer part of normal flow. */
.edm-menu-shell{
  display:block !important;
  position:relative;
  overflow:visible !important;
}
.edm-menu-content{
  direction:rtl;
  min-width:0;
  padding-right:calc(var(--edm-rail-w) + var(--edm-rail-gap));
}
.edm-category-rail{
  position:fixed !important;
  top:calc(var(--edm-fixed-head-h) + 10px) !important;
  right:max(12px,calc((100vw - var(--edm-page-max))/2)) !important;
  bottom:calc(var(--edm-bottom-nav-h) + 12px) !important;
  left:auto !important;
  z-index:240 !important;
  width:var(--edm-rail-w);
  height:auto !important;
  max-height:none !important;
  display:flex;
  flex-direction:column;
  gap:7px;
  overflow-y:auto;
  overflow-x:hidden;
  padding:4px 3px 8px;
  direction:rtl;
  scrollbar-width:none;
  overscroll-behavior:contain;
}
.edm-category-rail::-webkit-scrollbar{display:none}
.edm-category-rail button{
  flex:0 0 auto;
  width:100%;
  min-height:66px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid rgba(201,154,60,.32);
  border-radius:16px;
  padding:8px 4px;
  color:#ddd5c5;
  background:linear-gradient(180deg,rgba(8,22,18,.99),rgba(2,8,6,.99));
  box-shadow:0 8px 22px rgba(0,0,0,.22);
  font-family:inherit;
  font-size:10.5px;
  font-weight:700;
  line-height:1.35;
  text-align:center;
  cursor:pointer;
  transition:.18s ease;
  -webkit-tap-highlight-color:transparent;
}
.edm-category-rail button .edm-local-icon{
  width:22px;
  height:22px;
  flex:0 0 22px;
}
.edm-category-rail button.is-active{
  color:#f4d58c;
  border-color:rgba(201,154,60,.86);
  background:linear-gradient(180deg,rgba(43,64,39,.99),rgba(5,31,26,.99));
  box-shadow:0 8px 24px rgba(0,0,0,.30),inset -3px 0 0 #c99a3c;
}

.edm-menu-content .edm-category{
  width:100% !important;
  margin-top:18px !important;
  scroll-margin-top:calc(var(--edm-fixed-head-h) + 14px);
}
.edm-menu-content .edm-category:first-child{margin-top:4px !important}
.edm-menu-content .edm-category h2{margin-bottom:12px}
.edm-section-empty{
  border:1px dashed rgba(201,154,60,.35);
  border-radius:18px;
  padding:30px 16px;
  color:#bfb7a8;
  text-align:center;
  background:rgba(4,15,12,.55);
}
.edm-menu-v2-page .edm-sticky-cats,
.edm-menu-v2-page .edm-cats-placeholder{display:none !important}

@media(max-width:700px){
  :root{
    --edm-rail-w:72px;
    --edm-rail-gap:8px;
  }
  .edm-menu-fixed-inner{
    width:calc(100% - 16px);
  }
  .edm-section-tabs{
    gap:5px;
    padding-bottom:8px;
  }
  .edm-section-tab{
    min-height:44px;
    border-radius:12px;
    font-size:10.5px;
    padding-inline:3px;
  }
  .edm-menu-v2-page .edm-menu{
    width:calc(100% - 16px) !important;
    padding-top:10px !important;
  }
  .edm-category-rail{
    right:8px !important;
  }
  .edm-category-rail button{
    min-height:60px;
    border-radius:13px;
    font-size:9.5px;
  }
  .edm-category-rail button .edm-local-icon{
    width:20px;
    height:20px;
  }
  .edm-menu-content .edm-menu-card-layout{
    grid-template-columns:minmax(0,1fr) 78px !important;
    gap:8px !important;
  }
  .edm-menu-content .edm-card-img{height:86px !important}
  .edm-menu-content .edm-card-body h3{font-size:15px !important}
  .edm-menu-content .edm-card-body p{font-size:11.5px !important}
  .edm-menu-content .edm-menu-card strong.edm-price{font-size:15px !important}
}

@media(min-width:701px){
  .edm-category-rail{
    right:max(12px,calc((100vw - var(--edm-page-max))/2)) !important;
  }
}


/* v2.2.1 instant loading state */
.edm-category-rail .edm-cat-loading{
  pointer-events:none;
  min-height:66px;
  opacity:.72;
}
.edm-category-rail .edm-cat-loading span{
  width:22px;
  height:22px;
  border-radius:7px;
  background:linear-gradient(90deg,rgba(201,154,60,.08),rgba(201,154,60,.24),rgba(201,154,60,.08));
  background-size:220% 100%;
  animation:edmMenuPulse 1.15s linear infinite;
}
.edm-category-rail .edm-cat-loading b{
  width:70%;
  height:9px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.16),rgba(255,255,255,.05));
  background-size:220% 100%;
  animation:edmMenuPulse 1.15s linear infinite;
}
@keyframes edmMenuPulse{
  0%{background-position:100% 0}
  100%{background-position:-120% 0}
}
@media(prefers-reduced-motion:reduce){
  .edm-category-rail .edm-cat-loading span,
  .edm-category-rail .edm-cat-loading b{animation:none}
}
