:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-card: #1a1a1a;--bg-elevated: #222222;--bg-glass: rgba(255, 255, 255, .05);--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #666666;--accent: #ff6b35;--accent-light: #ff8c5a;--accent-dark: #e55a25;--accent-glow: rgba(255, 107, 53, .3);--success: #22c55e;--warning: #f59e0b;--danger: #ef4444;--border: rgba(255, 255, 255, .08);--border-light: rgba(255, 255, 255, .12);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-accent: 0 4px 20px var(--accent-glow);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.5;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100dvh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit;color:inherit}img{max-width:100%;display:block}ul,ol{list-style:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:var(--radius-full)}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;gap:var(--space-lg)}.loading-spinner{width:48px;height:48px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary);font-size:.9rem}.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:var(--space-xl);text-align:center;gap:var(--space-md)}.error-screen .error-icon{font-size:3rem}.error-screen h2{font-size:1.3rem;font-weight:700}.error-screen p{color:var(--text-secondary);font-size:.9rem;max-width:300px}.menu-header{position:sticky;top:0;z-index:100;background:#0a0a0ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:var(--space-md) var(--space-lg)}.menu-header__content{display:flex;align-items:center;gap:var(--space-md)}.menu-header__logo{width:44px;height:44px;border-radius:var(--radius-md);background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;overflow:hidden}.menu-header__logo img{width:100%;height:100%;object-fit:cover}.menu-header__info{flex:1;min-width:0}.menu-header__name{font-size:1.1rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-header__timer{display:flex;align-items:center;gap:var(--space-xs);font-size:.75rem;color:var(--text-secondary)}.menu-header__timer-dot{width:6px;height:6px;border-radius:50%;background:var(--success);animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.category-tabs{position:sticky;top:var(--header-height, 77px);z-index:90;background:#0a0a0ae6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);padding:var(--space-sm) 0}.category-tabs__list{display:flex;gap:var(--space-sm);overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:0 var(--space-md)}.category-tabs__list::-webkit-scrollbar{display:none}.category-tab{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-full);font-size:.85rem;font-weight:500;white-space:nowrap;transition:all var(--transition-fast);background:var(--bg-glass);color:var(--text-secondary);border:1px solid transparent}.category-tab:active{transform:scale(.95)}.category-tab--active{background:var(--accent);color:#fff;font-weight:600;box-shadow:var(--shadow-accent);border-color:transparent}.products-section{padding:var(--space-md);flex:1;padding-bottom:120px}.category-title{font-size:1.2rem;font-weight:700;margin-bottom:var(--space-md);padding-left:var(--space-xs)}.products-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-bottom:var(--space-xl)}.product-card{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);transition:all var(--transition-normal);position:relative;display:flex;flex-direction:column}.product-card:active{transform:scale(.97)}.product-card__image{width:100%;aspect-ratio:1;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-size:2.5rem;position:relative;overflow:hidden}.product-card__image img{width:100%;height:100%;object-fit:cover}.product-card__badge{position:absolute;top:var(--space-sm);right:var(--space-sm);background:var(--danger);color:#fff;font-size:.65rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-full)}.product-card__info{padding:var(--space-sm) var(--space-md) var(--space-md);display:flex;flex-direction:column;flex:1}.product-card__name{font-size:.85rem;font-weight:600;margin-bottom:var(--space-xs);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__price{font-size:1rem;font-weight:800;color:var(--accent);margin:0}.product-card__description{font-size:.72rem;color:var(--text-secondary);line-height:1.35;margin-bottom:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card__price span{font-size:.75rem;font-weight:400;color:var(--text-muted)}.product-card__add-btn{position:absolute;bottom:var(--space-md);right:var(--space-md);width:32px;height:32px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;box-shadow:var(--shadow-accent);transition:all var(--transition-fast)}.product-card__add-btn:active{transform:scale(.85)}@media(max-width:768px){.product-card__add-btn{width:40px;height:40px}}.product-card__footer{margin-top:auto;padding-top:6px}.product-card__badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.product-tag{font-size:.6rem;padding:2px 6px;border-radius:4px;font-weight:600;line-height:1.4;white-space:nowrap}.product-tag--recomendado,.product-tag--best_seller{background:#eab30833;color:#fbbf24}.product-tag--nuevo,.product-tag--new{background:#22c55e33;color:#4ade80}.product-tag--popular{background:#f9731633;color:#fb923c}.product-tag--picante,.product-tag--spicy{background:#ef444433;color:#f87171}.product-tag--vegano,.product-tag--vegan{background:#22c55e33;color:#4ade80}.product-tag--sin_gluten,.product-tag--gluten_free{background:#d9770633;color:#fbbf24}.product-tag--prep{background:#ffffff14;color:#ffffffa6;font-weight:500}.product-tag--options{background:#3b82f633;color:#60a5fa}.product-tag--customizable{background:#ffffff0f;color:#fff9}.product-card--out{opacity:.5;pointer-events:none}.product-card--out .product-card__image img{filter:grayscale(.6)}.product-card__badge--sold-out{background:#e74c3ce6!important;font-weight:700;font-size:.7rem;letter-spacing:1px;padding:6px 14px}.product-card__price-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.product-card__stock-badge{font-size:.7rem;font-weight:700;color:var(--accent);background:#ff6b3526;border:1px solid rgba(255,107,53,.3);border-radius:12px;padding:2px 8px;white-space:nowrap}.product-card__prep-time{font-size:.7rem;color:var(--text-muted);margin-top:2px}.price-original{text-decoration:line-through;color:#ffffff80;font-size:.8rem;margin-right:6px}.price-discounted{color:#22c55e;font-weight:700}.price-discount-badge{background:#ef444433;color:#f87171;font-size:.65rem;padding:1px 5px;border-radius:4px;margin-left:6px;font-weight:700}.product-card__badge--promo{background:linear-gradient(135deg,#ef4444,#f97316)!important}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;display:flex;align-items:flex-end;animation:fadeIn var(--transition-fast)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.product-detail{background:var(--bg-secondary);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:90dvh;display:flex;flex-direction:column;animation:slideUp var(--transition-slow);position:relative}.product-detail--noimg .product-detail__close--floating{position:absolute;top:var(--space-sm);right:var(--space-sm);z-index:5}.product-detail--noimg .product-detail__header-row{padding-right:40px}.product-detail__image{width:100%;aspect-ratio:16/8;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-size:3.5rem;position:relative;flex-shrink:0}.product-detail__image--compact{aspect-ratio:16/7}.product-detail__image img{width:100%;height:100%;object-fit:cover}.product-detail__close{position:absolute;top:var(--space-sm);right:var(--space-sm);width:32px;height:32px;border-radius:50%;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem}@media(max-width:768px){.product-detail__close{width:40px;height:40px}}.product-detail__body{padding:var(--space-md) var(--space-lg);overflow-y:auto;flex:1;min-height:0}.product-detail__name{font-size:1rem;font-weight:700;margin-bottom:3px}.product-detail__description{color:var(--text-secondary);font-size:.8rem;margin-bottom:var(--space-sm);line-height:1.45}.product-detail__description--compact{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:var(--space-sm)}.product-detail__badges{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:var(--space-sm)}.product-detail__price-section{display:flex;align-items:center;gap:8px;margin-bottom:var(--space-md)}.product-detail__price{font-size:1.1rem;font-weight:700;color:var(--accent)}.product-detail__price--promo{color:#22c55e}.product-detail__price-original{text-decoration:line-through;color:var(--text-muted);font-size:.95rem}.product-detail--waiter .product-detail__body{padding:var(--space-lg)}.product-detail__header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-sm)}.product-detail__header-row .product-detail__name{margin-bottom:0;flex:1}.product-detail__header-price{font-size:1.15rem;font-weight:800;color:#22c55e;white-space:nowrap;flex-shrink:0}.product-detail--waiter .product-detail__description{font-size:.88rem;line-height:1.6;color:var(--text-secondary);margin-bottom:var(--space-lg)}.pd-section{margin-bottom:var(--space-md)}.pd-section__title{font-size:.85rem;font-weight:700;color:var(--text-primary);margin-bottom:6px}.pd-section__hint{font-weight:400;color:var(--text-muted);font-size:.78rem}.pd-section__hint--required{color:var(--accent);font-weight:700}.pd-chips{display:flex;flex-wrap:wrap;gap:8px}.pd-chip{padding:6px 12px;border-radius:18px;border:1px solid var(--border-light);background:var(--bg-elevated);color:var(--text-secondary);font-size:.78rem;font-family:inherit;cursor:pointer;transition:all .2s}.pd-chip:hover{border-color:var(--accent)}.pd-chip--active{background:#ff6b3526;border-color:var(--accent);color:var(--text-primary);font-weight:600}.pd-chip--active-excl{background:#ff6b6b26;border-color:#ff6b6b;color:#ff6b6b;text-decoration:line-through;font-weight:600}.pd-chip__price{color:var(--accent);font-weight:700}.pd-note-input{width:100%;padding:8px 12px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-size:.82rem;font-family:inherit}.pd-note-input::placeholder{color:var(--text-muted)}.pd-note-input:focus{outline:none;border-color:var(--accent)}.pd-bottom__qty{display:flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.pd-qty-btn{width:32px;height:32px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:700;color:var(--text-primary);transition:all .15s}@media(max-width:768px){.pd-qty-btn{width:40px;height:40px}}.pd-qty-btn:active{transform:scale(.9);background:var(--accent);color:#fff}.pd-qty-val{font-size:1rem;font-weight:700;min-width:22px;text-align:center}.pd-add-btn{flex:1;padding:11px 16px;background:var(--accent);color:#fff;border-radius:var(--radius-md);font-size:.88rem;font-weight:700;font-family:inherit;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-accent);transition:all .15s}.pd-add-btn:active{transform:scale(.97);background:var(--accent-dark)}.pd-add-btn--disabled{opacity:.5;cursor:not-allowed;background:var(--bg-elevated);box-shadow:none}.product-detail__bottom-bar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-light);background:var(--bg-secondary);flex-shrink:0}@media(max-width:768px){.product-detail__bottom-bar{padding-bottom:calc(var(--space-md) + env(safe-area-inset-bottom,0px))}}.product-detail__quantity{display:flex;align-items:center;justify-content:center;gap:var(--space-lg);margin-bottom:var(--space-lg)}.product-detail__quantity--compact{gap:var(--space-sm);margin-bottom:0;flex-shrink:0}.quantity-btn{width:44px;height:44px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700;transition:all var(--transition-fast)}.quantity-btn--sm{width:34px;height:34px;font-size:1.1rem}@media(max-width:768px){.quantity-btn--sm{width:40px;height:40px}}.quantity-btn:active{transform:scale(.9);background:var(--accent)}.quantity-value{font-size:1.5rem;font-weight:800;min-width:40px;text-align:center}.quantity-value--sm{font-size:1.1rem;min-width:24px}.add-to-cart-btn{width:100%;padding:var(--space-md) var(--space-lg);background:var(--accent);color:#fff;border-radius:var(--radius-lg);font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);box-shadow:var(--shadow-accent);transition:all var(--transition-fast)}.add-to-cart-btn--bar{flex:1;padding:10px 16px;font-size:.9rem}.add-to-cart-btn:active{transform:scale(.97);background:var(--accent-dark)}.add-to-cart-btn.disabled{opacity:.5;cursor:not-allowed;background:var(--bg-elevated);box-shadow:none}.product-exclusions{margin-bottom:var(--space-md);padding:var(--space-md);border:1px dashed rgba(255,107,107,.3);border-radius:var(--radius-md);background:#ff6b6b0d}.product-exclusions--compact{padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm)}.exclusion-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:var(--space-sm)}.exclusion-choices--compact{gap:5px;margin-top:4px}.exclusion-chip{padding:6px 14px;border-radius:20px;border:1px solid var(--border-light);background:var(--bg-elevated);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .2s}.exclusion-chip--compact{padding:4px 10px;font-size:.75rem;border-radius:14px}.exclusion-chip:hover{border-color:#ff6b6b80}.exclusion-chip.active{background:#ff6b6b26;border-color:#ff6b6b;color:#ff6b6b;text-decoration:line-through;font-weight:600}.product-note{margin-bottom:var(--space-md)}.product-note--collapsible{margin-bottom:var(--space-sm)}.product-note__toggle{background:none;border:1px dashed var(--border-light);border-radius:var(--radius-md);padding:8px 14px;color:var(--text-muted);font-size:.8rem;font-family:inherit;cursor:pointer;width:100%;text-align:left;transition:border-color .2s}.product-note__toggle:hover{border-color:var(--accent);color:var(--text-secondary)}.product-note__label{display:block;font-size:.8rem;font-weight:600;color:var(--text-secondary);margin-bottom:4px}.product-note__input{width:100%;padding:8px 12px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-primary);font-size:.85rem;font-family:inherit;resize:none;transition:border-color .2s}.product-note__input--compact{padding:6px 10px;font-size:.8rem}.product-note__input::placeholder{color:var(--text-muted)}.product-note__input:focus{outline:none;border-color:var(--accent)}.product-options{margin-bottom:var(--space-lg)}.product-options--compact{margin-bottom:var(--space-sm)}.option-group{margin-bottom:var(--space-md);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-md);background:var(--bg-elevated)}.option-group--compact{padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-sm)}.option-group__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.option-group__name{font-weight:700;font-size:.95rem;color:var(--text-primary)}.option-required{color:var(--accent);margin-left:4px;font-weight:800}.option-group__hint{font-size:.75rem;color:var(--text-muted);font-weight:500}.option-choices{display:flex;flex-direction:column;gap:6px}.option-choices--chips{flex-direction:row;flex-wrap:wrap;gap:6px}.option-chip{padding:6px 14px;border-radius:20px;border:1px solid var(--border-light);background:var(--bg-primary);color:var(--text-secondary);font-size:.8rem;font-family:inherit;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:4px;white-space:nowrap}.option-chip:hover{border-color:var(--accent)}.option-chip.selected{background:#ff6b3526;border-color:var(--accent);color:var(--text-primary);font-weight:600}.option-chip__price{font-size:.7rem;color:var(--accent);font-weight:600}.option-choice{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-light);background:var(--bg-primary);cursor:pointer;transition:all .2s;text-align:left;width:100%;font-family:inherit;font-size:.88rem;color:var(--text-secondary)}.option-choice:hover{border-color:var(--accent);background:#ff6b350d}.option-choice.selected{border-color:var(--accent);background:#ff6b351a;color:var(--text-primary)}.option-choice__check{width:22px;height:22px;border-radius:50%;border:2px solid var(--border-light);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0;transition:all .2s}.option-choice.selected .option-choice__check{background:var(--accent);border-color:var(--accent)}.option-choice__label{flex:1}.option-choice__price{font-size:.8rem;font-weight:600;color:var(--accent)}.cart-item__options{font-size:.75rem;color:var(--accent);font-weight:500;margin-top:2px;margin-bottom:4px;line-height:1.3}.cart-bar{position:fixed;bottom:0;left:0;right:0;z-index:150;padding:var(--space-md) var(--space-lg);padding-bottom:calc(var(--space-md) + var(--safe-bottom));background:#0a0a0ae6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border);animation:slideUp var(--transition-normal)}.cart-bar__button{width:100%;padding:var(--space-md);background:var(--accent);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-accent);transition:all var(--transition-fast)}.cart-bar__button--wa{background:#25d366!important;box-shadow:0 4px 20px #25d3664d!important;color:#fff!important}.cart-bar__button:active{transform:scale(.98)}.cart-bar__left{display:flex;align-items:center;gap:var(--space-sm)}.cart-bar__count{width:28px;height:28px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff}.cart-bar__text{font-size:.95rem;font-weight:600;color:#fff}.cart-bar__total{font-size:1.05rem;font-weight:800;color:#fff}.cart-page{min-height:100dvh;display:flex;flex-direction:column}.cart-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.cart-page__header{padding:var(--space-lg);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:var(--space-md)}.cart-page__back{width:40px;height:40px;border-radius:50%;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-size:1.2rem}.cart-page__title{font-size:1.1rem;font-weight:700}.cart-page__table-badge{margin-left:auto;font-size:.72rem;font-weight:600;color:#10b981;background:#10b9811a;border:1px solid rgba(16,185,129,.25);padding:4px 10px;border-radius:var(--radius-full);white-space:nowrap}.cart-items{padding:var(--space-sm) var(--space-md)}.cart-extras{padding:0 var(--space-lg)}.cart-item{display:flex;gap:10px;padding:var(--space-sm) 0;border-bottom:1px solid var(--border);align-items:center}.cart-item__image{width:48px;height:48px;border-radius:10px;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;overflow:hidden}.cart-item__image img{width:100%;height:100%;object-fit:cover}.cart-item__info{flex:1;min-width:0}.cart-item__name{font-size:.82rem;font-weight:600;margin-bottom:1px}.cart-item__price{font-size:.78rem;color:var(--accent);font-weight:700}.cart-item__description{font-size:.75rem;color:var(--text-muted);line-height:1.3;margin-bottom:2px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.cart-item__controls{display:flex;align-items:center;gap:var(--space-sm)}.cart-item__qty-btn{width:28px;height:28px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700}@media(max-width:768px){.cart-item__qty-btn{min-width:40px;min-height:40px}}.cart-item__qty-btn--remove{border-color:var(--danger);color:var(--danger)}.cart-item__qty{font-weight:700;min-width:18px;text-align:center;font-size:.85rem}.cart-item__actions-row{display:flex;align-items:center;gap:6px;margin-top:3px;flex-wrap:wrap}.cart-summary{background:var(--bg-card);border-top:1px solid var(--border);padding:var(--space-lg);padding-bottom:calc(var(--space-lg) + var(--safe-bottom));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.cart-summary__row{display:flex;justify-content:space-between;margin-bottom:var(--space-xs);color:var(--text-secondary);font-size:.82rem}.cart-summary__row--total{color:var(--text-primary);font-size:1rem;font-weight:700;margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--border);margin-bottom:var(--space-sm)}.confirm-order-btn{width:100%;padding:12px;background:var(--success);color:#fff;border-radius:var(--radius-md);font-size:.9rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:all var(--transition-fast)}.confirm-order-btn:active{transform:scale(.97)}.confirm-order-btn:disabled{opacity:.5;cursor:not-allowed}.cart-notes{margin-top:var(--space-md);margin-bottom:var(--space-sm)}.cart-notes--compact{margin-top:var(--space-sm);margin-bottom:var(--space-xs)}.cart-notes__input-inline{width:100%;padding:10px 14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-full);color:var(--text-primary);font-family:inherit;font-size:.8rem;outline:none;transition:border-color var(--transition-fast)}.cart-notes__input-inline:focus{border-color:var(--accent)}.cart-notes__input-inline::placeholder{color:var(--text-muted)}.cart-notes__label{display:block;font-size:.85rem;font-weight:600;margin-bottom:var(--space-sm);color:var(--text-secondary)}.cart-notes__input{width:100%;padding:var(--space-md);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.9rem;resize:none;outline:none;transition:border-color var(--transition-fast)}.cart-notes__input:focus{border-color:var(--accent)}.cart-notes__input::placeholder{color:var(--text-muted)}.cart-item-wrapper{border-bottom:1px solid var(--border)}.cart-item-wrapper .cart-item{border-bottom:none}.cart-item__note-toggle{font-size:.75rem;color:var(--accent-light);margin-top:4px;padding:2px 0;opacity:.9;transition:opacity var(--transition-fast)}.cart-item__note-toggle:active{opacity:.6}.cart-item__note-input-wrapper{padding:0 var(--space-sm) var(--space-sm) 58px}.dinein-compact{padding:0}.dinein-compact__inputs{display:flex;gap:8px}.dinein-compact__inputs .delivery-input{font-size:.82rem;padding:9px 12px}.dinein-compact__inputs .delivery-input:first-child{flex:1;min-width:0}.dinein-compact__inputs .delivery-input:last-child{flex:0 0 auto;width:min(130px,40%);min-width:0}.cart-item__note-input{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-primary);font-family:inherit;font-size:.8rem;outline:none;transition:border-color var(--transition-fast)}.cart-item__note-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.cart-item__note-input::placeholder{color:var(--text-muted)}.cart-item__course-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);background:transparent;border:1px solid var(--border-light);font-size:.72rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);font-family:inherit;white-space:nowrap}.cart-item__course-btn:active{transform:scale(.95)}.course-sheet-overlay{position:fixed;inset:0;background:#0009;z-index:200;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s ease}.course-sheet{background:var(--bg-card);border-radius:20px 20px 0 0;width:100%;max-width:480px;padding:20px 16px 30px;animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.course-sheet__title{font-size:1rem;font-weight:700;text-align:center;margin-bottom:16px;color:var(--text-primary)}.course-sheet__options{display:flex;flex-direction:column;gap:8px}.course-sheet__option{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:var(--bg-elevated);border:1px solid var(--border-light);cursor:pointer;transition:all var(--transition-fast);font-family:inherit;color:var(--text-primary)}.course-sheet__option:active{transform:scale(.98)}.course-sheet__option--active{font-weight:700}.course-sheet__emoji{font-size:1.3rem}.course-sheet__label{flex:1;font-size:.95rem;text-align:left}.course-sheet__check{font-size:1.1rem;font-weight:700;color:var(--success)}.tip-section{margin-top:var(--space-md);margin-bottom:var(--space-lg)}.tip-section__label{display:block;font-size:.85rem;font-weight:600;margin-bottom:var(--space-sm);color:var(--text-secondary)}.tip-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm)}.tip-preset{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-sm) var(--space-xs);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.tip-preset:active{transform:scale(.95)}.tip-preset--active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}.tip-preset__label{font-size:.85rem;font-weight:700}.tip-preset__amount{font-size:.7rem;opacity:.8}.tip-custom{display:flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-sm);background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}.tip-custom__prefix{font-size:.9rem;font-weight:700;color:var(--accent)}.tip-custom__input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:1rem;font-weight:600;font-family:inherit;outline:none;-moz-appearance:textfield}.tip-custom__input::-webkit-outer-spin-button,.tip-custom__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.tip-custom__input::placeholder{color:var(--text-muted)}.delivery-section{margin-top:var(--space-lg);margin-bottom:var(--space-md);padding:0 var(--space-lg)}.delivery-section__label{display:block;font-size:.85rem;font-weight:600;margin-bottom:var(--space-sm);color:var(--text-secondary)}.address-type-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-sm);margin-bottom:var(--space-md)}@media(max-width:400px){.address-type-selector{grid-template-columns:repeat(2,1fr)}}.address-type-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-sm) var(--space-xs);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.address-type-btn:active{transform:scale(.95)}.address-type-btn--active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:var(--shadow-accent)}.address-type-btn__icon{font-size:1.2rem}.address-type-btn__label{font-size:.7rem;font-weight:600}.delivery-input{width:100%;padding:var(--space-md);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:.9rem;outline:none;transition:border-color var(--transition-fast);margin-bottom:var(--space-sm)}.delivery-input:focus{border-color:var(--accent)}.delivery-input::placeholder{color:var(--text-muted)}.phone-section{margin-top:var(--space-sm)}.phone-checkbox{display:flex;align-items:center;gap:var(--space-sm);font-size:.85rem;color:var(--text-secondary);cursor:pointer;margin-bottom:var(--space-sm)}.phone-checkbox input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent)}.delivery-warning{font-size:.78rem;color:var(--warning, #f59e0b);margin-top:var(--space-xs)}.success-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100dvh;padding:var(--space-xl);text-align:center;gap:var(--space-lg)}.success-screen__icon{width:80px;height:80px;border-radius:50%;background:#22c55e26;display:flex;align-items:center;justify-content:center;font-size:2.5rem;animation:popIn .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-screen h2{font-size:1.5rem;font-weight:800}.success-screen p{color:var(--text-secondary);font-size:.95rem;max-width:320px;line-height:1.6}.success-screen__order-number{background:var(--bg-card);border:1px solid var(--border);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);font-size:.9rem;color:var(--text-secondary)}.success-screen__order-number strong{color:var(--accent);font-size:1.1rem}.empty-cart{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-xl);text-align:center;gap:var(--space-md);flex:1}.empty-cart__icon{font-size:3rem;opacity:.5}.empty-cart p{color:var(--text-secondary);font-size:.9rem}.empty-cart__back-btn{padding:var(--space-sm) var(--space-lg);background:var(--accent);color:#fff;border-radius:var(--radius-full);font-size:.9rem;font-weight:600;margin-top:var(--space-sm)}.toast{position:fixed;top:var(--space-lg);left:50%;transform:translate(-50%);z-index:300;background:var(--bg-elevated);border:1px solid var(--border-light);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-full);font-size:.8rem;font-weight:500;box-shadow:var(--shadow-lg);animation:toastIn .3s ease,toastOut .3s ease 1.7s forwards;display:flex;align-items:center;gap:var(--space-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 32px)}.toast--warning{background:#f59e0bf2;border:1px solid rgba(245,158,11,.6);color:#1a1a2e;font-weight:700;animation:toastIn .3s ease,toastOut .3s ease 2.7s forwards}@keyframes toastIn{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@keyframes toastOut{0%{transform:translate(-50%) translateY(0);opacity:1}to{transform:translate(-50%) translateY(-20px);opacity:0}}.search-toggle{width:40px;height:40px;border-radius:50%;background:var(--bg-elevated);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;transition:all var(--transition-fast);border:1px solid var(--border)}.search-toggle:active{transform:scale(.9);background:var(--accent)}.search-bar{margin-top:var(--space-sm);position:relative;display:flex;align-items:center}.search-bar__input{width:100%;padding:var(--space-sm) var(--space-md);padding-right:40px;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-full);color:var(--text-primary);font-family:inherit;font-size:.9rem;outline:none;transition:border-color var(--transition-fast)}.search-bar__input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.search-bar__input::placeholder{color:var(--text-muted)}.search-bar__clear{position:absolute;right:8px;width:28px;height:28px;border-radius:50%;background:var(--bg-card);display:flex;align-items:center;justify-content:center;font-size:.8rem;color:var(--text-secondary)}@media(max-width:768px){.search-bar__clear{width:40px;height:40px}}.product-card__emoji{font-size:2.5rem;opacity:.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}@media(min-width:768px){.products-grid{grid-template-columns:repeat(3,1fr)}.menu-header{padding:var(--space-md) var(--space-xl)}.products-section{padding:var(--space-lg) var(--space-xl)}.cart-page{max-width:700px;margin:0 auto}}@media(min-width:1024px){.products-grid{grid-template-columns:repeat(4,1fr)}.products-section{padding:var(--space-lg) var(--space-xl);max-width:1100px;margin:0 auto}.menu-header__content{max-width:1100px;margin:0 auto}.category-tabs__list{max-width:1100px;margin:0 auto;padding-left:var(--space-xl);padding-right:var(--space-xl)}.modal-overlay{align-items:center;justify-content:center;padding:var(--space-xl)}.product-detail{max-width:500px;border-radius:var(--radius-xl);max-height:80dvh}.product-detail__close{top:var(--space-md);right:var(--space-md)}.cart-bar{max-width:1100px;left:50%;transform:translate(-50%);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.cart-page{max-width:1000px;margin:0 auto}.cart-page__header{padding:var(--space-lg) var(--space-xl)}.cart-scroll{display:flex;gap:var(--space-xl);padding:0 var(--space-xl)}.cart-scroll .cart-left{flex:1;min-width:0}.cart-scroll .cart-summary{min-width:320px;max-width:380px;align-self:flex-start;position:sticky;top:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--border);margin-top:var(--space-md)}}@media(min-width:1280px){.products-grid{grid-template-columns:repeat(5,1fr)}.products-section,.menu-header__content,.category-tabs__list,.cart-bar{max-width:1400px}}
