:root{--bg-deep: #1a0510;--bg-maroon: #2d0f1e;--bg-card: rgba(58, 20, 38, .7);--bg-card-hover: rgba(72, 28, 48, .85);--accent-orange: #e88a2d;--accent-gold: #f0a840;--accent-light: #f5c870;--text-primary: #f5f0e8;--text-secondary: rgba(245, 240, 232, .75);--text-muted: rgba(245, 240, 232, .5);--veg-green: #2d8a2d;--discount-green: #27ae60;--combo-purple: #9b59b6;--border-subtle: rgba(232, 138, 45, .15);--border-accent: rgba(232, 138, 45, .4);--shadow-glow: rgba(232, 138, 45, .12);--glass-bg: rgba(45, 15, 30, .55);--glass-border: rgba(245, 240, 232, .08);--font-heading: "Playfair Display", Georgia, serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--bg-deep);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 20% 0%,rgba(232,138,45,.06) 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,rgba(155,89,182,.04) 0%,transparent 60%),linear-gradient(180deg,var(--bg-deep) 0%,var(--bg-maroon) 50%,var(--bg-deep) 100%);pointer-events:none;z-index:0}#app{position:relative;z-index:1}.loader{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:var(--space-lg)}.loader-spinner{width:44px;height:44px;border:3px solid var(--border-subtle);border-top-color:var(--accent-orange);border-radius:50%;animation:spin .8s linear infinite}.loader-text{color:var(--text-secondary);font-size:.9rem;letter-spacing:.05em}@keyframes spin{to{transform:rotate(360deg)}}.menu-header{text-align:center;padding:var(--space-xl) var(--space-md) var(--space-lg);position:relative}.menu-header:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:80px;height:2px;background:linear-gradient(90deg,transparent,var(--accent-orange),transparent)}.header-veg-badge{display:inline-flex;align-items:center;gap:var(--space-xs);background:#2d8a2d26;border:1px solid rgba(45,138,45,.3);padding:4px 12px;border-radius:var(--radius-full);font-size:.7rem;color:#6fcf6f;margin-bottom:var(--space-md);letter-spacing:.08em;text-transform:uppercase;font-weight:500}.header-veg-badge img{width:14px;height:14px}.restaurant-name{font-family:var(--font-heading);font-size:clamp(1.6rem,5vw,2.4rem);font-weight:800;color:var(--accent-orange);letter-spacing:.02em;line-height:1.2;text-shadow:0 2px 20px rgba(232,138,45,.2)}.restaurant-name .leaf{display:inline-block;font-size:.7em;margin:0 4px;filter:hue-rotate(-20deg)}.header-phones{margin-top:var(--space-sm);font-size:.85rem;color:var(--text-secondary);letter-spacing:.04em}.header-phones a{color:var(--text-secondary);text-decoration:none;transition:color .2s}.header-phones a:hover{color:var(--accent-orange)}.discount-banner{margin:var(--space-md) var(--space-md) 0;padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,#27ae601f,#e88a2d1a);border:1px solid rgba(39,174,96,.25);border-radius:var(--radius-lg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden;position:relative}.discount-banner:before{content:"";position:absolute;top:-50%;right:-20%;width:120px;height:120px;background:radial-gradient(circle,rgba(39,174,96,.12),transparent 70%);border-radius:50%;pointer-events:none}.discount-banner-title{font-family:var(--font-heading);font-size:1rem;font-weight:700;color:var(--discount-green);margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm)}.discount-banner-title .icon{font-size:1.2em}.discount-tiers{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.discount-tier{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;background:#27ae601a;border:1px solid rgba(39,174,96,.2);border-radius:var(--radius-full);font-size:.75rem;color:var(--text-primary);font-weight:500;transition:all .2s}.discount-tier:hover{background:#27ae602e;transform:translateY(-1px)}.discount-tier .percent{color:var(--discount-green);font-weight:700;font-size:.85rem}.search-container{padding:var(--space-md);position:sticky;top:0;z-index:100;background:#1a0510d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border)}.search-wrapper{position:relative;max-width:600px;margin:0 auto}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:1rem;pointer-events:none}.search-input{width:100%;padding:12px 16px 12px 42px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full);color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;outline:none;transition:all .3s ease}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--border-accent);box-shadow:0 0 0 3px var(--shadow-glow);background:#2d0f1ebf}.search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);font-size:1.1rem;cursor:pointer;padding:4px;display:none;transition:color .2s}.search-clear.visible{display:block}.search-clear:hover{color:var(--text-primary)}.category-nav{position:sticky;top:56px;z-index:99;background:#1a0510cc;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);border-bottom:1px solid var(--glass-border);padding:var(--space-sm) 0}.category-nav-inner{display:flex;overflow-x:auto;gap:var(--space-sm);padding:0 var(--space-md);scrollbar-width:none;-ms-overflow-style:none}.category-nav-inner::-webkit-scrollbar{display:none}.category-pill{flex-shrink:0;padding:7px 16px;border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:transparent;color:var(--text-secondary);font-family:var(--font-body);font-size:.78rem;font-weight:500;cursor:pointer;transition:all .25s ease;white-space:nowrap;letter-spacing:.02em}.category-pill:hover{border-color:var(--border-accent);color:var(--text-primary);background:#e88a2d14}.category-pill.active{background:var(--accent-orange);color:var(--bg-deep);border-color:var(--accent-orange);font-weight:600;box-shadow:0 2px 12px #e88a2d4d}.menu-content{padding:var(--space-md);padding-bottom:var(--space-2xl);max-width:800px;margin:0 auto}.category-section{margin-bottom:var(--space-xl);animation:fadeSlideUp .5s ease-out both}.category-section:nth-child(2){animation-delay:.05s}.category-section:nth-child(3){animation-delay:.1s}.category-section:nth-child(4){animation-delay:.15s}.category-section:nth-child(5){animation-delay:.2s}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.category-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--accent-orange);position:relative}.category-header:after{content:"";position:absolute;bottom:-2px;left:0;width:40px;height:2px;background:var(--accent-gold);box-shadow:0 0 8px #f0a84080}.category-name{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--accent-orange);text-shadow:0 1px 8px rgba(232,138,45,.15)}.category-note{font-size:.72rem;color:var(--text-muted);font-weight:400;font-style:italic;margin-left:auto}.category-count{font-size:.7rem;color:var(--text-muted);background:#f5f0e80f;padding:2px 8px;border-radius:var(--radius-full);font-weight:500}.items-list{display:flex;flex-direction:column;gap:2px}.menu-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:var(--radius-sm);transition:all .2s ease;gap:var(--space-md);position:relative}.menu-item:hover{background:var(--bg-card)}.menu-item:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--accent-orange);border-radius:2px;transition:height .2s ease}.menu-item:hover:before{height:60%}.item-info{display:flex;align-items:center;gap:var(--space-sm);min-width:0}.item-veg{flex-shrink:0;width:16px;height:16px;border:1.5px solid var(--veg-green);border-radius:2px;display:flex;align-items:center;justify-content:center}.item-veg:after{content:"";width:8px;height:8px;background:var(--veg-green);border-radius:50%}.item-name{font-size:.88rem;font-weight:400;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-dots{flex:1;border-bottom:1px dotted var(--border-subtle);min-width:20px;margin:0 var(--space-sm);align-self:flex-end;margin-bottom:4px}.item-price{display:flex;align-items:center;gap:4px;flex-shrink:0;font-weight:500;font-size:.88rem;color:var(--text-primary)}.price-half,.price-full{white-space:nowrap}.price-separator{color:var(--text-muted);font-size:.8em;margin:0 1px}.price-label{display:none}@media(min-width:480px){.price-label{display:inline;font-size:.65rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}}.combos-section{margin-bottom:var(--space-xl)}.combos-section .category-header{border-bottom-color:var(--combo-purple)}.combos-section .category-header:after{background:var(--combo-purple);box-shadow:0 0 8px #9b59b680}.combos-section .category-name{color:var(--combo-purple);text-shadow:0 1px 8px rgba(155,89,182,.15)}.combos-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media(min-width:500px){.combos-grid{grid-template-columns:repeat(2,1fr)}}.combo-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-lg);position:relative;overflow:hidden;transition:all .3s ease}.combo-card:hover{border-color:#9b59b64d;transform:translateY(-2px);box-shadow:0 8px 24px #0003}.combo-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--combo-purple),var(--accent-orange))}.combo-badge{display:inline-block;background:linear-gradient(135deg,var(--combo-purple),#8e44ad);color:#fff;font-size:.65rem;font-weight:700;padding:3px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.08em;margin-bottom:var(--space-sm)}.combo-name{font-family:var(--font-heading);font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-xs)}.combo-description{font-size:.78rem;color:var(--text-secondary);margin-bottom:var(--space-md);line-height:1.5}.combo-pricing{display:flex;align-items:center;gap:var(--space-md)}.combo-original-price{font-size:.85rem;color:var(--text-muted);text-decoration:line-through}.combo-price{font-size:1.15rem;font-weight:700;color:var(--discount-green)}.combo-savings{font-size:.7rem;color:var(--discount-green);background:#27ae601a;padding:3px 8px;border-radius:var(--radius-full);font-weight:600}.menu-footer{text-align:center;padding:var(--space-2xl) var(--space-md) var(--space-xl);border-top:1px solid var(--glass-border);margin:0 var(--space-md)}.footer-tagline{font-family:var(--font-heading);font-size:.95rem;color:var(--text-secondary);font-style:italic;line-height:1.6;margin-bottom:var(--space-sm)}.footer-thanks{font-size:.8rem;color:var(--accent-orange);font-weight:500}.footer-leaf{display:inline-block;font-size:1.1em;margin:0 4px}.no-results{text-align:center;padding:var(--space-2xl) var(--space-md);color:var(--text-muted)}.no-results-icon{font-size:2.5rem;margin-bottom:var(--space-md);opacity:.5}.no-results-text{font-size:.95rem}.no-results-sub{font-size:.8rem;margin-top:var(--space-xs);color:var(--text-muted)}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;padding:var(--space-xl);gap:var(--space-md)}.error-icon{font-size:3rem;opacity:.5}.error-title{font-family:var(--font-heading);font-size:1.3rem;color:var(--accent-orange)}.error-message{font-size:.85rem;color:var(--text-secondary);max-width:300px}.error-retry{margin-top:var(--space-sm);padding:10px 28px;background:var(--accent-orange);color:var(--bg-deep);border:none;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.error-retry:hover{background:var(--accent-gold);transform:translateY(-1px);box-shadow:0 4px 12px #e88a2d4d}.scroll-top{position:fixed;bottom:24px;right:24px;width:44px;height:44px;background:var(--accent-orange);color:var(--bg-deep);border:none;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(20px);transition:all .3s ease;z-index:200;box-shadow:0 4px 16px #e88a2d4d;pointer-events:none}.scroll-top.visible{opacity:1;transform:translateY(0);pointer-events:all}.scroll-top:hover{background:var(--accent-gold);transform:translateY(-2px);box-shadow:0 6px 20px #e88a2d66}@media(min-width:768px){.menu-content{padding:var(--space-lg) var(--space-xl)}.menu-header{padding:var(--space-2xl) var(--space-md) var(--space-xl)}.category-nav{top:58px}.category-pill{padding:8px 20px;font-size:.82rem}.menu-item{padding:12px 16px}.item-name{font-size:.92rem}.discount-banner{margin:var(--space-lg) var(--space-xl) 0}}.reveal{opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}.reveal.visible{opacity:1;transform:translateY(0)}
