body.drawer-open{overflow:hidden}
.menu-page .hamburger{z-index:12;border-color:#657970;transition:border-color .2s ease,background .2s ease,transform .2s ease}
.menu-page .hamburger:hover{border-color:#c7a66a;background:#c7a66a10;transform:translateY(-1px)}
.menu-page .hamburger i{transition:width .2s ease,background .2s ease}
.menu-page .hamburger:hover i{width:27px;background:#d9bd86}
.menu-drawer-backdrop{position:fixed;inset:0;z-index:48;background:#010906b8;opacity:0;visibility:hidden;backdrop-filter:blur(4px);transition:opacity .3s ease,visibility .3s ease}
.menu-drawer-backdrop.open{opacity:1;visibility:visible}
.menu-page .menu-drawer{right:0;top:0;z-index:50;width:min(440px,92vw);height:100dvh;display:flex;flex-direction:column;align-content:normal;gap:0;padding:0;background:linear-gradient(160deg,#09271f,#031510 76%);border-left:1px solid #c7a66a26;box-shadow:-28px 0 80px #000b;transform:translateX(105%);transition:transform .34s cubic-bezier(.22,.75,.23,1);overflow-y:auto}
.menu-page .menu-drawer.open{right:0;transform:translateX(0)}
.menu-drawer__header{min-height:125px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:28px 33px;border-bottom:1px solid #ffffff12;background:#020f0c66}
.menu-drawer__header small,.menu-drawer__header strong{display:block}
.menu-drawer__header small{margin-bottom:6px;color:#b99a60;font-size:9px;font-weight:800;letter-spacing:.22em}
.menu-drawer__header strong{font:600 26px var(--serif);color:#f0eee7}
.menu-page .menu-drawer .menu-drawer__header button{position:static;width:43px;height:43px;display:grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid #ffffff24;border-radius:50%;background:transparent;color:#dbe1de;font:300 28px/1 var(--sans);cursor:pointer;transition:border-color .2s ease,color .2s ease,transform .2s ease}
.menu-page .menu-drawer .menu-drawer__header button:hover{border-color:#c7a66a;color:#e0c58f;transform:rotate(6deg)}
.menu-drawer>nav{padding:25px 33px 35px}
.menu-drawer__list{margin:0;padding:0;list-style:none}
.menu-drawer__list+.menu-drawer__list{border-top:1px solid #ffffff10}
.menu-drawer__list li{position:relative}
.menu-page .menu-drawer .menu-drawer__list a{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 2px;border:0;border-bottom:1px solid #ffffff10;color:#c9d3cf;font:500 18px var(--serif);transition:color .2s ease,padding .2s ease}
.menu-page .menu-drawer .menu-drawer__list a:hover{padding-left:9px;color:#e0c58f}
.menu-drawer__list a i{color:#688078;font:400 13px var(--sans);font-style:normal;transition:transform .2s ease,color .2s ease}
.menu-drawer__list a:hover i{color:#c7a66a;transform:translate(2px,-2px)}
.menu-drawer__list--level-1{margin-left:15px;padding-left:15px;border-left:1px solid #b99a6040}
.menu-page .menu-drawer .menu-drawer__list--level-1 a{min-height:46px;color:#8fa099;font:600 12px var(--sans);letter-spacing:.04em}
.menu-drawer__list--level-2{margin-left:13px;padding-left:13px}
.menu-drawer>footer{margin-top:auto;padding:25px 33px 30px;border-top:1px solid #ffffff10;background:#020e0b66}
.menu-drawer>footer span{color:#b99a60;font-size:9px;font-weight:800;letter-spacing:.2em}
.menu-drawer>footer p{margin:7px 0 0;color:#728780;font-size:11px}
@media(max-width:600px){.menu-header .hamburger{right:18px;width:44px;height:42px}.menu-drawer__header{min-height:105px;padding:22px 24px}.menu-drawer>nav{padding:19px 24px 30px}.menu-drawer>footer{padding-inline:24px}.menu-page .menu-drawer .menu-drawer__list a{font-size:17px}}
@media(max-width:800px){
  .menu-page .menu-shell{width:min(100% - 24px,940px);margin-top:22px}
  .menu-page .product-grid.active{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .menu-page .product-card{min-width:0;border-radius:8px;box-shadow:0 8px 20px #0005}
  .menu-page .product-photo{height:clamp(125px,39vw,168px)}
  .menu-page .product-body{padding:13px 12px 14px}
  .menu-page .product-body h2{min-height:40px;display:-webkit-box;overflow:hidden;font:600 17px/1.18 var(--serif);-webkit-box-orient:vertical;-webkit-line-clamp:2}
  .menu-page .product-body>i{width:32px;margin:9px 0}
  .menu-page .product-body>strong{font-size:15px}
  .menu-page .product-body>p{min-height:48px;margin:9px 0 0;display:-webkit-box;overflow:hidden;color:#9ca9a4;font-size:11px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}
  .menu-page .allergen{display:none}
  .menu-page .sold-label{top:8px;right:8px;padding:5px 7px;font-size:8px}
  .menu-page .menu-subcategory-heading{grid-column:1/-1;padding:27px 4px 5px}
  .menu-page .menu-subcategory-heading:first-child{padding-top:4px}
  .menu-page .menu-subcategory-heading h2{font-size:24px}
  .menu-page .empty-menu{grid-column:1/-1;padding:70px 20px}
}
@media(max-width:360px){
  .menu-page .menu-shell{width:calc(100% - 18px)}
  .menu-page .product-grid.active{gap:8px}
  .menu-page .product-body{padding:11px 9px 12px}
  .menu-page .product-body h2{min-height:37px;font-size:15.5px}
  .menu-page .product-body>p{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.menu-drawer-backdrop,.menu-page .menu-drawer,.menu-page .hamburger,.menu-page .menu-drawer a{transition:none!important}}
.back-to-top{position:fixed;right:clamp(16px,3vw,34px);bottom:clamp(18px,4vw,36px);z-index:35;width:50px;height:50px;display:grid;place-items:center;padding:0;border:1px solid #d2b36d88;border-radius:50%;background:linear-gradient(145deg,#173c31,#082119);color:#e0c58f;box-shadow:0 14px 35px #0009;opacity:0;visibility:hidden;transform:translateY(14px) scale(.92);transition:opacity .22s ease,visibility .22s ease,transform .22s ease,background .22s ease;cursor:pointer}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.back-to-top:hover{background:linear-gradient(145deg,#c5a35f,#9d7d42);color:#071812;transform:translateY(-3px) scale(1.02)}
.back-to-top:focus-visible{outline:3px solid #dfc58c55;outline-offset:3px}
.back-to-top svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:600px){.back-to-top{width:46px;height:46px;right:15px;bottom:max(17px,env(safe-area-inset-bottom))}.back-to-top svg{width:23px;height:23px}}
@media(prefers-reduced-motion:reduce){.back-to-top{transition:none!important}}
