.category-filter{display:flex;gap:var(--space-sm);overflow-x:auto;padding:var(--space-md) var(--space-sm);-webkit-overflow-scrolling:touch;scrollbar-width:none}.category-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);flex-shrink:0;padding:var(--space-sm) var(--space-lg);background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-light);border-radius:var(--radius-full);font-family:var(--font-body);font-size:.9375rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);white-space:nowrap;min-width:80px}.category-icon{font-size:1.5rem;transition:transform var(--transition-fast)}.category-name{font-size:.75rem;line-height:1}.category-btn:hover{border-color:var(--accent-primary);background:var(--bg-accent)}.category-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:var(--shadow-md)}@media (min-width: 768px){.category-filter{justify-content:safe center;overflow-x:auto}.category-btn{min-width:100px}}.menu-card{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:0;box-shadow:var(--shadow-sm);transition:all var(--transition-base);border:none;height:100%;display:flex;flex-direction:row;position:relative;box-sizing:border-box;overflow:hidden;min-height:104px}.menu-card.in-order{box-shadow:0 0 0 2px var(--accent-primary),0 0 8px hsl(from var(--accent-primary) h s l / .2)}.menu-card.in-basket{box-shadow:var(--shadow-sm)}.menu-card-content{display:flex;flex-direction:column;gap:var(--space-sm);flex:1;min-width:0;height:100%;padding:12px;box-sizing:border-box;position:relative;background:var(--bg-secondary)}.menu-card.has-image .menu-card-content{z-index:2;box-shadow:var(--card-image-shadow)}.menu-item-name{font-family:var(--font-heading);font-size:1.375rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.menu-item-title-text{vertical-align:middle}.menu-item-price{font-size:.875rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums}.menu-item-description{color:var(--text-secondary);font-size:.875rem;line-height:1.4;margin:0;flex:1}.menu-card-footer{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-md);padding-top:0}.menu-card-image-wrapper{flex:0 0 40%;width:40%;min-width:90px;max-width:180px;align-self:stretch;position:relative;overflow:hidden;cursor:pointer;background:var(--bg-accent);border:none;border-top-right-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg);flex-shrink:0;z-index:1}.menu-card-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.quantity-controls{display:flex;align-items:center;gap:6px;height:28px;background:transparent;border:none;padding:0;box-sizing:border-box}.qty-btn,.add-btn{width:28px;height:28px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent-primary);color:#fff;border:none;border-radius:50%;font-size:1rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast);line-height:1;box-sizing:border-box;padding:0}.qty-btn:hover,.add-btn:hover{background:var(--accent-hover)}.qty-btn:active,.add-btn:active{transform:scale(.95)}.qty-display{min-width:24px;text-align:center;font-size:.875rem;font-weight:700;color:var(--accent-primary);-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums}@media (max-width: 640px){.menu-card{padding:0;gap:0}.menu-card-content{padding:10px 12px}.menu-card-image-wrapper{flex:0 0 40%;width:40%;min-width:90px;max-width:140px}.menu-item-name{font-size:1.15rem}.menu-item-description{font-size:.8125rem}.quantity-controls{height:26px}.qty-btn,.add-btn{width:26px;height:26px;font-size:.9375rem}}.menu-card.view-only .menu-item-price{color:var(--accent-primary)}dialog.my-order:not([open]){display:none}dialog.my-order{position:fixed;top:0;bottom:auto;left:0;right:0;width:100%;max-width:100%;margin:0;padding:0;background:var(--bg-secondary);border-radius:0;border:none;box-shadow:var(--sheet-shadow);max-height:80vh;height:auto;display:flex;flex-direction:column;transform:translateY(-100%);transition:transform .4s ease;overflow:hidden;color:inherit}dialog.my-order.open{transform:translateY(0)}dialog.my-order::backdrop{background:var(--backdrop-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .3s ease;cursor:default;-webkit-tap-highlight-color:transparent}dialog.my-order.open::backdrop{opacity:1}@starting-style{dialog.my-order.open{transform:translateY(-100%)}dialog.my-order.open::backdrop{opacity:0}}@media (min-width: 768px){dialog.my-order{top:0!important;bottom:auto!important;margin:0!important;left:50%!important;right:auto!important;width:600px;max-width:600px;max-height:80vh;height:auto;border-radius:0;border:none;box-shadow:var(--sheet-shadow);transform:translate(-50%) translateY(-100%)!important}dialog.my-order.open{transform:translate(-50%) translateY(0)!important}@starting-style{dialog.my-order.open{transform:translate(-50%) translateY(-100%)!important}}}.order-header{display:flex;justify-content:center;align-items:center;padding:var(--space-md);background:var(--bg-secondary);border-bottom:1px solid var(--border-light);flex-shrink:0}.order-title-section{display:flex;align-items:center;justify-content:space-between;width:100%}.order-title{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.item-count{background:var(--accent-primary);color:#fff;font-size:.875rem;font-weight:600;padding:4px 12px;border-radius:var(--radius-full);animation:scaleIn .3s var(--transition-base);font-variant-numeric:tabular-nums}.order-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.empty-order{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-lg);text-align:center}.empty-text{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-xs) 0}.empty-subtext{font-size:.875rem;color:var(--text-muted);margin:0}.order-items{flex:1;padding:var(--space-md);background:var(--bg-primary);overflow-y:auto;scrollbar-width:thin}.order-category-group{margin-bottom:var(--space-lg)}.order-category-group:last-child{margin-bottom:0}.order-category-title{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:var(--accent-primary);background:var(--bg-accent);margin:0 0 var(--space-md) 0;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--space-sm);letter-spacing:.05em}.category-items-list{display:flex;flex-direction:column;gap:var(--space-md)}.order-footer{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);background:var(--bg-secondary);border-top:1px solid var(--border-light);flex-shrink:0}.footer-actions{display:flex;gap:var(--space-sm);align-items:center;width:100%}.order-total{flex:1;display:flex;justify-content:center;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--bg-accent);border-radius:var(--radius-full);border:1px solid var(--border-light);height:40px;box-sizing:border-box}.total-amount{font-family:var(--font-body);font-size:1rem;font-weight:700;color:var(--accent-primary);font-variant-numeric:tabular-nums}.clear-all-btn{flex-shrink:0;height:40px;padding:0 var(--space-lg);background:transparent;border:1px solid var(--border-light);border-radius:var(--radius-full);font-family:var(--font-body);font-size:.875rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;box-sizing:border-box}.clear-all-btn:hover{background:var(--danger-light);border-color:var(--danger);color:var(--danger)}.language-switcher{display:flex;gap:var(--space-sm);justify-content:center;padding:var(--space-sm) 0}.lang-btn{display:flex;align-items:center;justify-content:center;padding:6px 12px;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-full);font-family:var(--font-body);font-size:.75rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);min-width:44px}.lang-btn:hover:not(.disabled){border-color:var(--accent-primary)}.lang-btn.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.lang-btn.disabled{opacity:.4;cursor:not-allowed}.app{min-height:100vh}.app.has-basket{padding-bottom:calc(2.5rem + 2 * var(--space-md))}.restaurant-header{text-align:center;padding:var(--space-md) var(--space-md) var(--space-sm);background:linear-gradient(135deg,var(--bg-accent),var(--bg-secondary));display:flex;flex-direction:column;align-items:center}.restaurant-title-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.restaurant-name{font-family:var(--font-heading);font-size:1.875rem;font-weight:700;color:var(--accent-primary);margin:0;letter-spacing:-.02em}.restaurant-type{font-family:var(--font-body);font-size:.875rem;font-weight:500;color:var(--text-muted);margin:0;letter-spacing:.05em}.sticky-nav{position:sticky;top:0;background:var(--bg-secondary);z-index:100;box-shadow:0 4px 20px #0000000d}.menu-container{max-width:1200px;margin:0 auto;padding:var(--space-md)}.menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}.menu-section{margin-bottom:var(--space-lg)}.menu-section:last-child{margin-bottom:0}.no-items{text-align:center;padding:var(--space-2xl);color:var(--text-muted);font-size:1.125rem}.section-title{font-family:var(--font-heading);font-size:1.125rem;font-weight:700;color:var(--accent-primary);background:var(--bg-accent);margin:0 0 var(--space-md) 0;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--space-sm);letter-spacing:.05em}.bottom-container{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:hsl(from var(--bg-secondary) h s l / .95);z-index:500;box-shadow:0 -4px 20px #0000000d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.empty-order-message{text-align:center;color:var(--text-muted);font-size:.875rem;padding:var(--space-sm)}.empty-order-message p{margin:0}.order-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-xl);background:var(--accent-primary);background:linear-gradient(135deg,var(--accent-primary),var(--accent-hover));color:#fff;border:none;border-radius:var(--radius-full);font-family:var(--font-body);font-size:1rem;font-weight:600;cursor:pointer}.order-icon{font-size:1.5rem;line-height:1}.order-text{font-size:1rem}.order-badge{background:var(--bg-secondary);color:var(--accent-primary);font-size:.875rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);min-width:24px;text-align:center;animation:scaleIn .3s var(--transition-base);font-variant-numeric:tabular-nums}@media (max-width: 640px){.menu-grid{grid-template-columns:1fr;gap:var(--space-md)}.order-btn{width:100%;justify-content:center}}dialog.preview-top-sheet:not([open]){display:none}dialog.preview-top-sheet{position:fixed;top:0;bottom:auto;left:0;right:0;width:100%;max-width:100%;margin:0;padding:0;background:var(--bg-secondary);border-radius:0;border:none;box-shadow:var(--sheet-shadow);max-height:80vh;height:auto;display:flex;flex-direction:column;transform:translateY(-100%);transition:transform .4s ease;overflow:hidden;cursor:default;color:inherit}dialog.preview-top-sheet.open{transform:translateY(0)}dialog.preview-top-sheet::backdrop{background:var(--backdrop-bg);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .3s ease;cursor:default;-webkit-tap-highlight-color:transparent}dialog.preview-top-sheet.open::backdrop{opacity:1}@starting-style{dialog.preview-top-sheet.open{transform:translateY(-100%)}dialog.preview-top-sheet.open::backdrop{opacity:0}}.preview-sheet-body{padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm);flex-shrink:0;box-sizing:border-box;position:relative;z-index:2;background:var(--bg-secondary);box-shadow:var(--preview-image-shadow);max-height:50vh;overflow-y:auto;scrollbar-width:thin}.preview-top-sheet:not(.has-image) .preview-sheet-body{max-height:80vh}.preview-sheet-body::-webkit-scrollbar{width:6px}.preview-sheet-body::-webkit-scrollbar-track{background:transparent}.preview-sheet-body::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}.preview-sheet-title{font-family:var(--font-heading);font-size:1.375rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.preview-sheet-description{font-size:.875rem;color:var(--text-secondary);line-height:1.4;margin:0}.preview-sheet-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding-top:0}.preview-sheet-price{font-size:1rem;font-weight:600;color:var(--text-muted);font-variant-numeric:tabular-nums;line-height:1.2}.no-basket .preview-sheet-price{color:var(--accent-primary)}.preview-sheet-image-wrapper{width:100%;aspect-ratio:var(--preview-img-aspect-ratio, 16 / 9);flex:0 1 auto;min-height:0;background:var(--bg-accent);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:0;position:relative;z-index:1}.preview-sheet-image{width:100%;height:100%;object-fit:cover;object-position:center;display:block;border-radius:0}@media (min-width: 768px){dialog.preview-top-sheet{top:0!important;bottom:auto!important;margin:0!important;left:50%!important;right:auto!important;width:600px;max-width:600px;max-height:80vh;height:auto;border-radius:0;border:none;box-shadow:var(--sheet-shadow);transform:translate(-50%) translateY(-100%)!important}dialog.preview-top-sheet.open{transform:translate(-50%) translateY(0)!important}@starting-style{dialog.preview-top-sheet.open{transform:translate(-50%) translateY(-100%)!important}}}@media (max-width: 640px){.preview-sheet-body{padding:var(--space-md)}.preview-sheet-title{font-size:1.15rem}.preview-sheet-description{font-size:.8125rem}}:root{--theme-color: #e06c0d;--bg-primary: hsl(from var(--theme-color) h 10% 98%);--bg-secondary: #FFFFFF;--bg-accent: hsl(from var(--theme-color) h 30% 96%);--text-primary: hsl(from var(--theme-color) h 20% 10%);--text-secondary: hsl(from var(--theme-color) h 15% 35%);--text-muted: hsl(from var(--theme-color) h 10% 55%);--accent-primary: var(--theme-color);--accent-hover: hsl(from var(--theme-color) h s calc(l - 10) );--accent-light: hsl(from var(--theme-color) h s 95%);--border-light: hsl(from var(--theme-color) h 10% 90%);--border-medium: hsl(from var(--theme-color) h 10% 80%);--backdrop-bg: hsl(from var(--theme-color) h 35% 12% / .6);--sheet-shadow: 0 8px 32px hsl(from var(--theme-color) h s l / .2), 0 2px 8px hsl(from var(--theme-color) h s l / .1);--card-image-shadow: 4px 0 24px hsl(from var(--theme-color) h s l / .07);--preview-image-shadow: 0 4px 24px hsl(from var(--theme-color) h s l / .07);--success: #10B981;--success-light: #D1FAE5;--danger: #DC2626;--danger-light: #FEE2E2;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--font-heading: "Outfit", sans-serif;--font-body: "Inter", sans-serif;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scrollbar-gutter:stable;scrollbar-width:thin;color-scheme:light}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:600;line-height:1.2}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-md)}html{scroll-behavior:smooth}::selection{background:var(--accent-light);color:var(--accent-primary)}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.animate-fadeIn{animation:fadeIn .4s var(--transition-base)}.animate-slideUp{animation:slideUp .3s var(--transition-base)}.animate-scaleIn{animation:scaleIn .3s var(--transition-base)}
