.search-section{padding:.75rem 1rem;background:var(--surface);border-bottom:1px solid var(--border)}.search-container{position:relative}.search-bar{display:flex;align-items:center;background:var(--bg);border:2px solid var(--border);border-radius:50px;padding:.6rem 1rem;gap:.6rem;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.04)}.search-bar:focus-within{border-color:var(--primary);box-shadow:0 4px 20px rgba(22,163,74,.15)}.search-bar svg{width:20px;height:20px;fill:var(--text-muted);flex-shrink:0;transition:fill .2s}.search-bar:focus-within svg{fill:var(--primary)}.search-bar input{flex:1;border:none;background:0 0;font-size:.95rem;color:var(--text);outline:0}.search-bar input::placeholder{color:var(--text-muted)}.search-clear{background:var(--border);border:none;width:22px;height:22px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.9rem;line-height:1;transition:all .2s}.search-clear:hover{background:var(--text-muted);color:#fff}.search-clear.visible{display:flex}.search-dropdown{position:absolute;top:calc(100% + 8px);left:0;right:0;background:var(--surface);border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.15);max-height:400px;overflow-y:auto;display:flex;z-index:100;border:1px solid var(--border)}.search-dropdown.active{display:block;animation:dropdownSlide .2s ease}@keyframes dropdownSlide{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.search-result-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--border)}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--bg)}.search-result-img{width:50px;height:50px;border-radius:10px;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:1.5rem;overflow:hidden;flex-shrink:0}.search-result-img img{width:100%;height:100%;object-fit:cover}.search-result-info{flex:1;min-width:0}.search-result-name{font-weight:600;font-size:.9rem;margin-bottom:.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-result-name mark{background:rgba(22,163,74,.2);color:var(--primary);padding:0 2px;border-radius:2px}.search-result-cat{font-size:.75rem;color:var(--text-muted)}.search-result-price{font-weight:700;color:var(--primary);font-size:.95rem;flex-shrink:0}.search-no-result{padding:2rem;text-align:center;color:var(--text-muted)}.search-no-result svg{width:48px;height:48px;fill:var(--border);margin-bottom:.75rem}.search-hint{padding:.5rem 1rem;font-size:.75rem;color:var(--text-muted);background:var(--bg);border-radius:0 0 16px 16px}.flash-banner{display:none}.flash-banner.visible{display:block}.flash-banner-inner{position:relative;background:linear-gradient(135deg,#065f46 0,#047857 50%,#059669 100%);border-radius:12px;padding:.85rem;display:flex;align-items:center;gap:.5rem;cursor:pointer;overflow:hidden;box-shadow:0 4px 15px rgba(5,150,105,.4);transition:transform .2s,box-shadow .2s;box-sizing:border-box}.flash-banner-inner:active{transform:scale(.98)}.flash-banner-inner::before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.1) 50%,transparent 60%);animation:flashShine 3s ease-in-out infinite}@keyframes flashShine{0%{transform:translateX(-100%) rotate(45deg)}100%{transform:translateX(100%) rotate(45deg)}}.flash-badge{position:absolute;top:0;right:0;background:#fbbf24;color:#065f46;font-size:.65rem;font-weight:700;padding:.3rem .75rem .3rem 1rem;border-radius:0 16px 0 12px;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:.3rem;animation:flashPulse 1.5s ease-in-out infinite}@keyframes flashPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}}.flash-badge svg{width:12px;height:12px;fill:currentColor}.flash-img{width:50px;height:50px;border-radius:10px;background:#fff;overflow:hidden;flex-shrink:0;box-shadow:0 2px 10px rgba(0,0,0,.2);position:relative;z-index:1;border:2px solid rgba(255,255,255,.2)}.flash-img img{width:100%;height:100%;object-fit:cover}.flash-info{flex:1;min-width:0;position:relative;z-index:1}.flash-title{font-size:.7rem;font-weight:600;color:#a7f3d0;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.2rem}.flash-name{font-size:.9rem;font-weight:700;color:#fff;margin-bottom:.15rem;text-shadow:0 1px 2px rgba(0,0,0,.2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.flash-price-row{display:flex;align-items:center;gap:.4rem}.flash-price{font-size:1rem;font-weight:800;color:#fbbf24;text-shadow:0 1px 3px rgba(0,0,0,.2)}.flash-old-price{font-size:.75rem;color:rgba(255,255,255,.6);text-decoration:line-through}.flash-add-btn{position:relative;z-index:1;background:#fbbf24;color:#065f46;border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.2);transition:all .2s;flex-shrink:0}.flash-add-btn:active{transform:scale(.9);background:#f59e0b}.flash-add-btn svg{width:20px;height:20px;fill:currentColor}.quick-reorder{display:none;padding:.5rem 1rem}.quick-reorder.visible{display:block}.quick-reorder-btn{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .75rem;background:linear-gradient(135deg,var(--primary),var(--primary));border:none;border-radius:10px;cursor:pointer;color:#fff;transition:all .2s;box-shadow:0 2px 8px rgba(22,163,74,.3)}.quick-reorder-btn:active{transform:scale(.98)}.qr-icon{width:32px;height:32px;background:rgba(255,255,255,.2);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem}.qr-text{flex:1;text-align:left}.qr-title{font-weight:600;font-size:.8rem;opacity:.9}.qr-subtitle{font-size:.7rem;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.qr-action{font-size:.7rem;font-weight:600;background:rgba(255,255,255,.2);padding:.35rem .6rem;border-radius:6px;white-space:nowrap}.featured-slider{padding:.5rem 0;background:linear-gradient(135deg,#1a1a1a 0,#2d2d2d 100%)}.featured-slider.hidden{visibility:hidden;opacity:0;max-height:0;overflow:hidden;transition:none}.featured-inner-wrapper{overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none}.featured-inner-wrapper::-webkit-scrollbar{display:none}.featured-inner{display:flex;gap:1rem;padding:0 1rem;width:max-content}.featured-card{position:relative;width:280px;height:160px;border-radius:16px;overflow:hidden;cursor:pointer;flex-shrink:0;box-shadow:0 8px 32px rgba(0,0,0,.3);transition:transform .3s ease}.featured-card:hover{transform:scale(1.03)}.featured-card img{width:100%;height:100%;object-fit:cover}.featured-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.85) 0,rgba(0,0,0,.3) 50%,rgba(0,0,0,.1) 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:1rem}.featured-badge{position:absolute;top:12px;left:12px;background:var(--primary-dark);color:#fff;font-size:.7rem;font-weight:700;padding:.3rem .7rem;border-radius:100px;text-transform:uppercase;letter-spacing:.5px}.featured-name{color:#fff;font-size:1.1rem;font-weight:700;margin-bottom:.25rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.featured-desc{color:rgba(255,255,255,.7);font-size:.8rem;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.featured-price{color:var(--primary-light);font-size:1.2rem;font-weight:800}.categories{background:rgba(255,255,255,.98);backdrop-filter:blur(10px);padding:.5rem 0;overflow-x:auto;-ms-overflow-style:none;scrollbar-width:none;border-bottom:1px solid var(--border);box-shadow:0 2px 20px var(--shadow);position:sticky;top:0;z-index:200}.categories::-webkit-scrollbar{display:none}.categories-inner{display:flex;gap:0;padding:0 1rem;width:max-content}.cat-btn{background:0 0;border:1px solid var(--border);padding:.7rem 1.3rem;border-radius:100px;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;color:var(--text-light);white-space:nowrap;transition:all .3s ease}.cat-btn:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-glow)}.cat-btn.active{background:var(--primary-dark);border-color:var(--primary);color:#fff;font-weight:600}.main{padding:0;max-width:1400px;margin:0 auto}.section-title{font-size:1.5rem;font-weight:800;margin-bottom:1rem;display:flex;align-items:center;gap:0;color:var(--text)}.section-title span{color:var(--primary)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;margin-bottom:2rem}.card{background:#fff;border-radius:24px;overflow:hidden;border:none;transition:all .4s cubic-bezier(.175, .885, .32, 1.275);cursor:pointer;box-shadow:0 8px 30px rgba(0,0,0,.06);position:relative}.card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary) 0,var(--primary-light) 100%);opacity:0;transition:opacity .3s ease}.card:hover{transform:translateY(-12px);box-shadow:0 25px 50px rgba(0,0,0,.12)}.card:hover::before{opacity:1}.card-img{aspect-ratio:4/3;height:auto;background:#fafafa;display:flex;align-items:center;justify-content:center;font-size:3.5rem;position:relative;overflow:hidden}.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.175, .885, .32, 1.275),filter .3s ease}.card:hover .card-img img{transform:scale(1.12)}.badge{position:absolute;top:14px;left:14px;background:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:50px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.out-of-stock{background:#e74c3c}.happy-hour-badge{background:linear-gradient(135deg,#f39c12 0,#e74c3c 100%);animation:pulse-badge 2s infinite;left:auto;right:14px}@keyframes pulse-badge{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}.card-body{padding:1.25rem 1.25rem 1rem}.card-title{font-size:1.1rem;font-weight:800;margin-bottom:.5rem;color:#2d3436;letter-spacing:-.3px}.card-desc{font-size:.8rem;color:#7f8c8d;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.5em;margin-bottom:1rem}.card-footer{display:flex;justify-content:space-between;align-items:center;padding:0 1.25rem 1.25rem;background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.02) 100%);margin:0 -1.25rem -1rem;padding-top:.75rem}.price-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem}.market-price{font-size:.82rem;color:#bdc3c7;text-decoration:line-through;font-weight:500}.price{font-size:1.4rem;font-weight:900;color:var(--primary);letter-spacing:-.5px}.price small{font-size:.85rem;font-weight:600}.add-btn{width:48px;height:48px;border-radius:16px;background:var(--primary);border:none;color:#fff;font-size:1.4rem;cursor:pointer;transition:all .3s cubic-bezier(.175, .885, .32, 1.275);display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.15)}.add-btn:hover{transform:scale(1.15) rotate(90deg);box-shadow:0 8px 25px rgba(0,0,0,.2)}.add-btn:active{transform:scale(.95);height:20px;fill:currentColor}.modal-img{height:280px;background:#fff;position:relative;overflow:hidden;flex-shrink:0;border-radius:24px 24px 0 0}.modal-img img{width:100%;height:100%;object-fit:contain;border-radius:24px 24px 0 0}.modal-img .badge{top:14px;left:14px;font-size:.75rem;padding:.4rem .9rem}#productModal .modal-body{padding:1.25rem}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.modal-title{font-size:1.3rem;font-weight:800}.modal-price-wrapper{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.modal-market-price{font-size:.9rem;color:var(--text-muted);text-decoration:line-through;font-weight:500}.modal-price{font-size:1.3rem;font-weight:800;color:var(--primary)}.modal-desc{color:var(--text-light);font-size:.9rem;line-height:1.5;margin-bottom:1.25rem}.options-section{margin-bottom:1rem}.options-title{font-size:.85rem;font-weight:700;margin-bottom:.5rem;display:flex;align-items:center;gap:.4rem}.options-title .tag{font-size:.65rem;padding:.15rem .4rem;border-radius:100px;font-weight:600}.options-title .required{background:#ff4757;color:#fff}.options-title .optional{background:#fff;color:var(--text-light)}.option-item{display:flex;align-items:center;padding:.6rem;background:var(--bg);border-radius:10px;margin-bottom:.4rem;cursor:pointer;border:2px solid transparent;transition:all .2s}.option-item:hover{border-color:var(--primary-glow)}.option-item.selected{border-color:var(--primary);background:var(--primary-glow)}.option-checkbox,.option-radio{width:18px;height:18px;border:2px solid var(--border);margin-right:.6rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.option-radio{border-radius:50%}.option-checkbox{border-radius:5px}.option-item.selected .option-checkbox,.option-item.selected .option-radio{border-color:var(--primary);background:var(--primary-dark)}.option-item.selected .option-checkbox::after,.option-item.selected .option-radio::after{content:'✓';color:#fff;font-size:.6rem;font-weight:700}.option-info{flex:1}.option-name{font-weight:600;font-size:.85rem}.option-price{font-size:.8rem;color:var(--primary);font-weight:600}.modal-footer{padding:.75rem 1.25rem 1.25rem;background:var(--surface);border-top:1px solid var(--border);display:flex;gap:.5rem;align-items:center;flex-shrink:0;position:relative;z-index:50}.qty-selector{display:flex;align-items:center;gap:0;background:var(--bg);padding:.4rem;border-radius:10px}.qty-selector button{width:32px;height:32px;border-radius:8px;border:none;background:var(--surface);color:var(--text);font-size:1.1rem;cursor:pointer;transition:all .2s}.qty-selector button:hover{background:var(--primary-dark);color:#fff}.qty-selector span{font-size:1rem;font-weight:700;min-width:24px;text-align:center}.add-to-cart-btn{flex:1;padding:.9rem;border-radius:12px;background:var(--primary-dark);border:none;color:#fff;font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;transition:all .3s;position:relative;z-index:100;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.add-to-cart-btn:hover{background:var(--primary-dark)}.add-to-cart-btn:disabled{background:#fff;color:var(--text-muted);cursor:not-allowed}.add-to-cart-btn .total-price{background:rgba(255,255,255,.2);padding:.2rem .6rem;border-radius:100px;font-size:.85rem}@media (max-width:768px){.main{padding:.5rem}.grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.card-img{aspect-ratio:550/378;height:auto}.card-body{padding:.75rem}.card-title{font-size:.9rem}.price{font-size:1rem}.add-btn{width:36px;height:36px;border-radius:10px}.add-btn svg{width:18px;height:18px}}@media (max-width:480px){.grid{gap:.5rem}.card-img{aspect-ratio:550/378;height:auto}.section-title{font-size:1.2rem}}.banners-row{overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;display:flex;gap:.5rem;padding:0 .5rem .5rem .5rem;align-items:flex-start}.banners-row::-webkit-scrollbar{display:none}.banners-row .flash-banner{min-width:280px;flex-shrink:0;flex:1}.banners-row .campaigns-banner-card{flex:1;min-width:280px;flex-shrink:0}.banners-row .loyalty-banner{flex:1;min-width:280px;flex-shrink:0}.campaigns-banner-card{display:flex;position:relative;background:linear-gradient(135deg,#7c3aed 0,#a855f7 50%,#c084fc 100%);border-radius:12px;padding:.85rem;align-items:center;gap:.5rem;cursor:pointer;overflow:hidden;box-shadow:0 4px 15px rgba(124,58,237,.35);transition:transform .2s,box-shadow .2s;text-decoration:none;color:#fff;height:100%;box-sizing:border-box}.campaigns-banner-card.visible{display:flex}.campaigns-banner-card:active{transform:scale(.98)}.campaigns-banner-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.1) 50%,transparent 60%);animation:campaignShine 3s ease-in-out infinite}@keyframes campaignShine{0%{transform:translateX(-100%) rotate(45deg)}100%{transform:translateX(100%) rotate(45deg)}}.campaigns-banner-badge{position:absolute;top:0;right:0;background:#fbbf24;color:#7c3aed;font-size:.65rem;font-weight:700;padding:.3rem .75rem .3rem 1rem;border-radius:0 12px 0 12px;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:.3rem;animation:flashPulse 1.5s ease-in-out infinite}.campaigns-banner-icon{width:50px;height:50px;border-radius:10px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;z-index:1;border:2px solid rgba(255,255,255,.2)}.campaigns-banner-icon svg{width:24px;height:24px;fill:#fff}.campaigns-banner-info{flex:1;min-width:0;position:relative;z-index:1}.campaigns-banner-label{font-size:.7rem;font-weight:600;color:#e9d5ff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.2rem}.campaigns-banner-title{font-size:.9rem;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2);margin-bottom:.15rem}.campaigns-banner-subtitle{font-size:.85rem;font-weight:800;color:#fbbf24;text-shadow:0 1px 3px rgba(0,0,0,.2)}@media (max-width:600px){.banners-row{flex-direction:column;overflow-x:visible}.banners-row .campaigns-banner-card,.banners-row .flash-banner,.banners-row .loyalty-banner{width:100%;min-width:unset;flex-shrink:1}}#modalIngredients{margin-top:1rem}.ingredients-section{background:var(--bg);border-radius:12px;padding:1rem}.ingredients-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;font-weight:600;color:var(--text)}.ingredients-hint{font-size:.75rem;font-weight:400;color:var(--text-muted)}.ingredients-list{display:flex;flex-wrap:wrap;gap:0}.ingredient-item{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;background:var(--surface);border:2px solid var(--border);border-radius:50px;cursor:pointer;transition:all .2s ease;font-size:.85rem}.ingredient-item:hover{border-color:var(--primary)}.ingredient-icon{font-size:1rem}.ingredient-name{color:var(--text)}.ingredient-check{display:flex;color:var(--success);font-weight:700}.ingredient-item.removed{background:#fee2e2;border-color:#ef4444;text-decoration:line-through;opacity:.7}.ingredient-item.removed .ingredient-name{color:#dc2626}.ingredient-item.removed .ingredient-check{display:inline;color:#dc2626}.ingredient-item.removed .ingredient-check::before{content:'✕'}.card-img{aspect-ratio:550/378;height:auto!important;background:#fff}.card-img img{width:100%;height:100%;object-fit:cover}.main{padding:.75rem!important}.grid{gap:.75rem!important}.card{border-radius:12px!important}@media (max-width:768px){.main{padding:.5rem!important}.grid{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important}}@media (max-width:480px){.main{padding:.35rem!important}.grid{gap:.35rem!important}}.campaigns-banner-badge,.flash-badge,.happy-hour-badge{will-change:transform,opacity}.campaigns-banner-card::before,.flash-banner-inner::before{will-change:transform}.featured-slider{contain:layout style}.categories{contain:layout style}.main{contain:layout style}.featured-slider.hidden{display:none!important;padding:0!important;margin:0!important;min-height:0!important}.category-section{scroll-margin-top:120px}