.menu-wrap{background:var(--bg);max-width:1200px;min-height:100svh;margin:0 auto;padding-bottom:80px;position:relative;box-shadow:0 0 40px #1c18140a}.menu-banner{background:var(--bg-muted);z-index:0;width:100%;height:280px;transition:height .3s;position:relative;overflow:hidden}@media (max-width:768px){.menu-banner{height:180px}}.menu-banner img{object-fit:cover;width:100%;height:100%;transition:transform .8s;transform:scale(1.02)}.menu-banner:hover img{transform:scale(1.06)}.menu-banner-gradient{background:linear-gradient(#1c18141a 0%,#1c18144d 50%,#1c1814bf 100%);position:absolute;inset:0}.menu-header{background:var(--bg-card);border-bottom:1px solid var(--border-light);z-index:1;border-radius:0 0 24px 24px;padding:0 24px 28px;position:relative;box-shadow:0 4px 20px #1c181405}@media (max-width:768px){.menu-header{padding:0 16px 20px}}.menu-logo-row{align-items:flex-end;gap:20px;margin-top:-64px;margin-bottom:14px;display:flex}@media (max-width:768px){.menu-logo-row{gap:14px;margin-top:-48px}}.menu-logo{border:4px solid var(--bg-card);width:110px;height:110px;box-shadow:var(--shadow-md);background:var(--bg-card);z-index:2;border-radius:24px;flex-shrink:0;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden}@media (max-width:768px){.menu-logo{border-radius:18px;width:88px;height:88px}}.menu-logo:hover{transform:scale(1.04)rotate(-1deg)}.menu-logo img{object-fit:cover;width:100%;height:100%}.menu-logo-placeholder{background:var(--accent-light);justify-content:center;align-items:center;width:100%;height:100%;font-size:40px;display:flex}@media (max-width:768px){.menu-logo-placeholder{font-size:32px}}.menu-restaurant-name{font-family:var(--font-playfair), Georgia, serif;color:var(--text);letter-spacing:-.4px;padding-bottom:6px;font-size:28px;font-weight:800;line-height:1.2}@media (max-width:768px){.menu-restaurant-name{padding-bottom:4px;font-size:21px}}.menu-meta{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.menu-rating{color:var(--text);background:var(--accent-light);border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}.menu-rating-star{color:#f59e0b;font-size:13px}.menu-cuisine{color:var(--text-sub);background:var(--bg-muted);border-radius:8px;padding:4px 10px;font-size:13px;font-weight:500}.menu-content-split{align-items:flex-start;gap:20px;padding:24px 24px 100px;display:flex}@media (max-width:768px){.menu-content-split{gap:12px;padding:16px 12px 90px}}.menu-sidebar-nav{scrollbar-width:none;-ms-overflow-style:none;z-index:10;flex-shrink:0;width:180px;max-height:calc(100svh - 40px);transition:width .3s;position:sticky;top:20px;overflow-y:auto}@media (max-width:768px){.menu-sidebar-nav{width:90px}}@media (max-width:400px){.menu-sidebar-nav{width:75px}}.menu-sidebar-nav::-webkit-scrollbar{display:none}.menu-sidebar-cats{flex-direction:column;gap:12px;padding:4px 0;display:flex}@media (max-width:768px){.menu-sidebar-cats{gap:8px}}.menu-sidebar-cat-btn{background:var(--bg-card);border:1.5px solid var(--border-light);width:100%;color:var(--text-sub);text-align:center;cursor:pointer;box-shadow:var(--shadow-sm);word-wrap:break-word;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:16px 14px;font-size:14px;font-weight:800;line-height:1.3;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex}@media (max-width:768px){.menu-sidebar-cat-btn{border-radius:14px;padding:12px 6px;font-size:11px}}@media (max-width:400px){.menu-sidebar-cat-btn{padding:10px 4px;font-size:10px}}.menu-sidebar-cat-btn:hover{border-color:var(--accent);color:var(--accent-dark);transform:translate(3px)}.menu-sidebar-cat-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 4px 14px var(--accent-glow);transform:translate(4px)}.menu-sidebar-cat-dot{background:0 0;border-radius:50%;width:6px;height:6px;transition:all .2s}@media (max-width:768px){.menu-sidebar-cat-dot{width:4px;height:4px}}.menu-sidebar-cat-btn.active .menu-sidebar-cat-dot{background:#fff;box-shadow:0 0 6px #fff}.menu-main-content{flex-direction:column;flex:1;gap:20px;min-width:0;display:flex}.menu-search-wrap{z-index:9;width:100%;position:sticky;top:0}.menu-search-container{width:100%;position:relative}.menu-search{border:1.5px solid var(--border-light);width:100%;font-size:14px;font-weight:600;font-family:var(--font-inter), system-ui, sans-serif;background:var(--bg-card);color:var(--text);box-shadow:var(--shadow-sm);border-radius:18px;outline:none;padding:14px 16px 14px 42px;transition:all .2s}@media (max-width:768px){.menu-search{padding:12px 14px 12px 38px;font-size:13px}}.menu-search:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-glow)}.menu-search-icon{color:var(--text-muted);pointer-events:none;font-size:15px;position:absolute;top:50%;left:16px;transform:translateY(-50%)}@media (max-width:768px){.menu-search-icon{font-size:14px;left:14px}}.menu-body{padding:0}.menu-section{margin-bottom:36px}.menu-section-title{font-family:var(--font-playfair), Georgia, serif;color:var(--text);letter-spacing:-.2px;align-items:center;gap:8px;padding:0 2px 14px;font-size:22px;font-weight:800;display:flex}@media (max-width:768px){.menu-section-title{padding:0 2px 12px;font-size:17px}}.menu-section-title:after{content:"";background:var(--border-light);flex:1;height:1px;margin-left:8px}.menu-items-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}@media (max-width:1024px){.menu-items-grid{grid-template-columns:repeat(3,1fr);gap:16px}}@media (max-width:768px){.menu-items-grid{grid-template-columns:repeat(2,1fr);gap:12px}}@media (max-width:380px){.menu-items-grid{grid-template-columns:1fr;gap:14px}}.menu-item{background:var(--bg-card);border:1.5px solid var(--border-light);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:20px;flex-direction:column;transition:all .28s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.menu-item:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-4px)}.menu-item:active{transform:scale(.97)}.menu-item.item-added{border-color:var(--accent);background:#c8a96e04}.menu-item-img{background:var(--bg-muted);border-bottom:1px solid var(--border-light);flex-shrink:0;width:100%;height:140px;position:relative;overflow:hidden}@media (max-width:768px){.menu-item-img{height:110px}}.menu-item-img img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.menu-item:hover .menu-item-img img{transform:scale(1.08)}.menu-item-placeholder{background:var(--accent-light);justify-content:center;align-items:center;width:100%;height:100%;font-size:32px;display:flex}@media (max-width:768px){.menu-item-placeholder{font-size:28px}}.menu-item-info{flex-direction:column;flex:1;justify-content:space-between;min-width:0;padding:14px;display:flex}@media (max-width:768px){.menu-item-info{padding:10px 12px 12px}}.menu-item-name{color:var(--text);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin-bottom:6px;font-size:15px;font-weight:800;line-height:1.35;display:-webkit-box;overflow:hidden}@media (max-width:768px){.menu-item-name{margin-bottom:4px;font-size:13px}}.menu-item-desc{color:var(--text-muted);-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;flex:1;margin-bottom:12px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}@media (max-width:768px){.menu-item-desc{margin-bottom:10px;font-size:11px;line-height:1.4}}.menu-item-bottom{flex-direction:column;align-items:flex-start;gap:6px;width:100%;margin-top:auto;padding-right:24px;display:flex}@media (max-width:768px){.menu-item-bottom{gap:5px;padding-right:20px}}.menu-item-badges{flex-wrap:wrap;gap:4px;display:flex}.menu-badge{letter-spacing:.4px;text-transform:uppercase;border-radius:6px;padding:3px 6px;font-size:8px;font-weight:800}@media (max-width:768px){.menu-badge{border-radius:5px;padding:2px 5px;font-size:7px}}.menu-badge-popular{color:#b45309;background:#fef3c7}.menu-badge-veg{color:#15803d;background:#dcfce7}.menu-badge-new{color:#1d4ed8;background:#dbeafe}.menu-item-price-wrap{align-items:baseline;gap:6px;display:flex}@media (max-width:768px){.menu-item-price-wrap{gap:4px}}.menu-item-price{color:var(--text);white-space:nowrap;font-size:16px;font-weight:800}@media (max-width:768px){.menu-item-price{font-size:14px}}.menu-item-price-original{color:var(--text-muted);font-size:11px;font-weight:500;text-decoration:line-through}@media (max-width:768px){.menu-item-price-original{font-size:10px}}.menu-card-add-btn{background:var(--accent-light);width:28px;height:28px;color:var(--accent-dark);cursor:pointer;z-index:5;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:800;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;bottom:12px;right:12px;box-shadow:0 2px 6px #1c18140f}@media (max-width:768px){.menu-card-add-btn{width:26px;height:26px;font-size:15px;bottom:10px;right:10px}}.menu-card-add-btn:hover{background:var(--text);color:#fff;transform:scale(1.1)rotate(90deg)}.menu-card-add-btn:active{transform:scale(.9)}.menu-modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:200;background:#1c181473;justify-content:center;align-items:flex-end;animation:.25s cubic-bezier(.16,1,.3,1) both fadeOverlay;display:flex;position:fixed;inset:0}@keyframes fadeOverlay{0%{opacity:0}to{opacity:1}}.menu-modal-overlay.closing{animation:.22s cubic-bezier(.16,1,.3,1) both fadeOverlayOut}@keyframes fadeOverlayOut{0%{opacity:1}to{opacity:0}}.menu-modal{background:var(--bg-card);border-radius:28px 28px 0 0;flex-direction:column;width:100%;max-width:500px;max-height:85svh;animation:.35s cubic-bezier(.16,1,.3,1) both slideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 -10px 40px #1c181426}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.menu-modal.closing{animation:.25s cubic-bezier(.16,1,.3,1) both slideDown}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}.menu-modal-img{object-fit:cover;flex-shrink:0;width:100%;height:240px}.menu-modal-img-placeholder{background:var(--accent-light);flex-shrink:0;justify-content:center;align-items:center;width:100%;height:200px;font-size:64px;display:flex}.menu-modal-body{scrollbar-width:none;padding:16px 24px 40px;overflow-y:auto}.menu-modal-body::-webkit-scrollbar{display:none}.menu-modal-handle{background:var(--border);opacity:.8;border-radius:10px;width:44px;height:5px;margin:0 auto 20px}.menu-modal-name{font-family:var(--font-playfair), Georgia, serif;color:var(--text);letter-spacing:-.3px;margin-bottom:12px;font-size:24px;font-weight:800;line-height:1.25}.menu-modal-desc{color:var(--text-sub);margin-bottom:20px;font-size:14px;line-height:1.65}.menu-modal-footer{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.menu-modal-badges{flex-wrap:wrap;gap:6px;display:flex}.menu-modal-price-wrap{align-items:flex-end;gap:8px;display:flex}.menu-modal-price{color:var(--text);font-size:22px;font-weight:800}.menu-modal-price-original{color:var(--text-muted);margin-bottom:2px;font-size:14px;font-weight:500;text-decoration:line-through}.menu-modal-close-btn{-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;z-index:10;background:#1c181466;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:600;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}.menu-modal-close-btn:hover{background:#1c181499;transform:scale(1.05)}.menu-modal-qty-row{border-top:1px solid var(--border-light);align-items:center;gap:12px;margin-top:20px;padding-top:16px;display:flex}.menu-qty-selector{background:var(--bg-muted);border:1.5px solid var(--border-light);border-radius:12px;align-items:center;padding:3px;display:flex}.menu-qty-btn{background:var(--bg-card);width:30px;height:30px;color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);border:none;border-radius:8px;justify-content:center;align-items:center;font-size:15px;font-weight:800;transition:all .15s;display:flex}.menu-qty-btn:hover:not(:disabled){background:var(--accent-light);color:var(--accent-dark)}.menu-qty-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.menu-qty-value{text-align:center;width:32px;color:var(--text);font-size:14px;font-weight:800}.menu-modal-add-btn{background:var(--text);color:#fff;cursor:pointer;border:none;border-radius:12px;flex:1;height:38px;font-size:13px;font-weight:800;transition:all .2s;box-shadow:0 4px 12px #1c18141a}.menu-modal-add-btn:hover{background:var(--accent-dark);box-shadow:0 6px 16px var(--accent-glow)}.menu-modal-add-btn:active{transform:scale(.98)}.menu-floating-basket-wrap{z-index:99;pointer-events:none;width:100%;max-width:500px;padding:0 16px;position:fixed;bottom:60px;left:50%;transform:translate(-50%)}.menu-floating-basket{pointer-events:auto;background:var(--text);color:#fff;border:none;border-radius:18px;justify-content:space-between;align-items:center;width:100%;padding:12px 18px;transition:all .25s cubic-bezier(.175,.885,.32,1.275);animation:.35s cubic-bezier(.175,.885,.32,1.275) both basketPop;display:flex;box-shadow:0 8px 30px #1c181433}@keyframes basketPop{0%{opacity:0;transform:scale(.9)translateY(20px)}to{opacity:1;transform:scale(1)translateY(0)}}.menu-floating-basket:hover{background:var(--accent-dark);transform:translateY(-2px);box-shadow:0 12px 36px #c8a96e40}.menu-floating-basket:active{transform:scale(.97)}.floating-basket-left{align-items:center;gap:10px;display:flex}.floating-basket-qty{color:var(--text);background:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:flex}.floating-basket-label{letter-spacing:-.2px;font-size:13px;font-weight:700}.floating-basket-right{align-items:center;gap:6px;display:flex}.floating-basket-total{letter-spacing:-.2px;font-size:15px;font-weight:800}.floating-basket-arrow{font-size:14px;font-weight:700}.receipt-modal .menu-modal-body{padding:16px 20px 32px}.receipt-header{text-align:center;border-bottom:2px dashed var(--border);margin-bottom:20px;padding-bottom:14px}.receipt-title{font-family:var(--font-playfair), Georgia, serif;color:var(--text);font-size:20px;font-weight:800}.receipt-subtitle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;margin-top:3px;font-size:11px;font-weight:600}.receipt-items{scrollbar-width:none;flex-direction:column;gap:12px;max-height:200px;margin-bottom:16px;display:flex;overflow-y:auto}.receipt-items::-webkit-scrollbar{display:none}.receipt-item-row{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;display:flex}.receipt-item-info{flex-direction:column;flex:1;min-width:0;display:flex}.receipt-item-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.receipt-item-subprice{color:var(--text-muted);margin-top:1px;font-size:10px}.receipt-qty-tools{background:var(--bg-muted);border-radius:8px;align-items:center;padding:2px;display:flex}.receipt-qty-btn{background:var(--bg-card);width:20px;height:20px;color:var(--text);cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:flex}.receipt-qty-val{text-align:center;width:20px;font-size:11px;font-weight:800}.receipt-item-total{color:var(--text);text-align:right;width:50px;font-size:13px;font-weight:800}.receipt-total-row{border-top:2px dashed var(--border);justify-content:space-between;align-items:center;margin-bottom:20px;padding-top:14px;font-size:14px;font-weight:700;display:flex}.receipt-grand-total{color:var(--text);font-size:19px;font-weight:800}.receipt-waiter-cta{background:var(--accent-light);color:var(--accent-dark);border:1px solid #c8a96e33;border-radius:14px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;animation:2s ease-in-out infinite pulseHighlight;display:flex}@keyframes pulseHighlight{0%{box-shadow:0 0 #c8a96e66}70%{box-shadow:0 0 0 8px #c8a96e00}to{box-shadow:0 0 #c8a96e00}}.receipt-cta-icon{font-size:22px;animation:2s ease-in-out infinite ringBell}@keyframes ringBell{0%,to{transform:rotate(0)}10%,30%{transform:rotate(-8deg)}20%,40%{transform:rotate(8deg)}50%{transform:rotate(0)}}.receipt-clear-btn{width:100%;color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.5px;background:0 0;border:none;border-radius:8px;padding:6px;font-size:11px;font-weight:700;transition:all .2s}.receipt-clear-btn:hover{color:#dc2626;background:#fee2e2}.menu-footer{-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-light);z-index:8;background:#faf8f5e0;justify-content:center;align-items:center;gap:6px;width:100%;max-width:1200px;padding:16px 20px;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -4px 20px #1c181408}.menu-footer-text{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.menu-footer-brand{font-family:var(--font-playfair), Georgia, serif;color:var(--text-sub);letter-spacing:-.2px;font-size:14px;font-weight:800}.menu-footer-brand span{color:var(--accent)}.menu-empty{text-align:center;color:var(--text-muted);padding:80px 20px}.menu-empty-icon{opacity:.7;margin-bottom:16px;font-size:48px}.menu-not-found{min-height:100svh;color:var(--text-muted);text-align:center;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:40px;display:flex}.menu-not-found h2{color:var(--text);font-size:22px;font-weight:800}.menu-not-found p{max-width:280px;font-size:14px;line-height:1.6}.receipt-mode-tabs{gap:8px;margin:12px 0;display:flex}.receipt-mode-tab{border:1.5px solid var(--border-light);color:var(--text-sub);cursor:pointer;background:0 0;border-radius:10px;flex:1;padding:10px 0;font-size:14px;font-weight:600;transition:all .18s}.receipt-mode-tab.active{border-color:var(--accent);color:var(--accent);background:#c8a96e12}.receipt-qr-wrap{flex-direction:column;align-items:center;gap:16px;padding:12px 0;display:flex}.receipt-qr-box{background:#fff;border-radius:16px;padding:16px;box-shadow:0 4px 32px #00000040}.receipt-qr-hint{color:var(--text-muted);text-align:center;max-width:220px;margin:0;font-size:13px;line-height:1.5}
