:root{--color-primary: #e74c3c;--color-primary-dark: #c0392b;--color-success: #2ecc71;--color-text: #111827;--color-text-light: #6b7280;--color-text-lighter: #9ca3af;--color-bg: #f9fafb;--color-bg-white: #ffffff;--color-border: #e5e7eb;--color-border-dark: #d1d5db;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, Avenir, Helvetica, Arial, sans-serif;font-family:var(--font-family);line-height:1.5;font-weight:400;color-scheme:light;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;text-size-adjust:100%}html{scroll-behavior:smooth;overflow-x:clip}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{margin:0;min-width:320px;min-height:100dvh;background-color:var(--color-bg);overflow-x:clip;width:100%;max-width:100vw}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}img,video{max-width:100%}#root{width:100%;max-width:100vw}button{font-family:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media(max-width:768px){:root{--color-bg: #ffffff}body{background-color:#fff;padding-top:env(safe-area-inset-top)}}.app-header{background:transparent;margin-bottom:0;position:relative}.mobile-menu-btn{display:none;position:absolute;top:1rem;left:1rem;z-index:100;background:#fffc;border:none;border-radius:8px;padding:8px;cursor:pointer;color:#333;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0000001a}.mobile-menu-btn svg{width:24px;height:24px}@media(max-width:1024px){.mobile-menu-btn{display:flex;align-items:center;justify-content:center}}.header-cover{height:140px;position:relative;overflow:hidden}.cover-image{width:100%;height:100%;object-fit:cover}.cover-overlay{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(transparent,#0000004d)}.header-content{padding:0 1rem;margin-top:-60px;position:relative;z-index:20}.logo-container{width:85px;height:85px;border-radius:16px;background:#fff;padding:4px;box-shadow:0 4px 15px #0000001a;margin:0 auto 12px;position:relative;z-index:25}.restaurant-card{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:1.25rem;background:#fff;padding:1.25rem;border-radius:20px;box-shadow:0 8px 30px #00000014;border:1px solid rgba(0,0,0,.05);width:100%}.logo-image{width:100%;height:100%;object-fit:contain;border-radius:14px}.restaurant-details{flex:1;text-align:center;display:block}.restaurant-name{margin:0;font-size:1.5rem;font-weight:800;color:#111;line-height:1.2;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.restaurant-address{margin:2px 0;font-size:.8rem;color:#666;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;line-clamp:1;-webkit-line-clamp:1;-webkit-box-orient:vertical}.status-badge{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:700;padding:4px 10px;border-radius:20px;margin-top:6px}.status-badge.open{background:#ecfdf5;color:#059669;border:1px solid #d1fae5}.status-badge.open:before{content:"";width:8px;height:8px;background:#10b981;border-radius:50%;animation:pulse 2s infinite}.status-badge.closed{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}.status-badge.closed:before{content:"";width:8px;height:8px;background:#ef4444;border-radius:50%}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.search-container{margin-top:.75rem}.search-input{width:100%;padding:10px 14px;border:1px solid #e5e5e5;border-radius:10px;background:#f8f8f8;font-size:.9rem;box-sizing:border-box;transition:all .2s}.search-input:focus{outline:none;border-color:#e74c3c;background:#fff;box-shadow:0 0 0 3px #e74c3c1a}.search-input::placeholder{color:#aaa}@media(max-width:768px){.header-cover{height:130px}.header-content{padding:0 .75rem;margin-top:-50px}.logo-container{width:68px;height:68px;min-width:68px;border-radius:14px;padding:3px;margin:0 auto 8px}.restaurant-card{padding:.75rem 1rem;gap:.75rem;border-radius:14px;box-shadow:0 4px 16px #0000000f;max-width:100%}.restaurant-details{min-width:0;flex:1 1 0%;overflow:hidden;text-align:center!important}.restaurant-name{font-size:1.37rem;-webkit-line-clamp:2;line-clamp:2;word-break:break-word;overflow-wrap:break-word}.restaurant-address{font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.status-badge{font-size:.78rem;padding:3px 8px;margin-top:3px;gap:4px}.status-badge.open:before{width:6px;height:6px}.mobile-menu-btn{top:.6rem;left:.6rem;padding:6px;border-radius:10px}.mobile-menu-btn svg{width:22px;height:22px}}@media(max-width:400px){.header-cover{height:110px}.header-content{padding:0 .5rem;margin-top:-44px}.logo-container{width:60px;height:60px;min-width:60px;border-radius:12px;margin:0 auto 6px}.restaurant-card{padding:.625rem .75rem;gap:.5rem}.restaurant-name{font-size:1.3rem}}@media(min-width:1025px){.header-cover{height:240px;border-radius:0 0 24px 24px}.header-content{padding:0 2rem 2rem;margin-top:-80px}.logo-container{width:120px;height:120px;border-radius:20px;padding:4px;margin:0 auto 16px}.restaurant-name{font-size:2.75rem}}@media(prefers-reduced-motion:reduce){.status-badge.open:before{animation:none}}.category-nav{position:sticky;top:0;background:var(--color-bg);z-index:100;padding:1rem 0;border-bottom:1px solid var(--color-border)}.category-list{display:flex;overflow-x:auto;gap:.75rem;padding:0 1rem;margin:0;list-style:none;scrollbar-width:none}.category-list::-webkit-scrollbar{display:none}.category-item{flex-shrink:0}.category-button{background:var(--color-bg-white);border:1px solid var(--color-border);padding:.625rem 1.25rem;font-size:.9375rem;font-weight:500;color:var(--color-text-light);cursor:pointer;border-radius:99px;transition:all .2s ease;white-space:nowrap;box-shadow:0 1px 2px #0000000d}.category-button:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-bg-white)}.category-button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary);font-weight:600;box-shadow:0 4px 6px #e74c3c33}@media(max-width:768px){.category-nav{padding:.625rem 0;background:#fff;border-bottom:1px solid #f0f0f0}.category-list{gap:.375rem;padding:0 .75rem}.category-button{padding:.5rem 1rem;font-size:1.07rem;border:1px solid #eee;box-shadow:none}.category-button.active{box-shadow:none}}@media(prefers-reduced-motion:reduce){.category-button{transition:none}}.product-card{display:flex;flex-direction:column;padding:0;background:var(--color-bg-white);transition:transform .2s ease,box-shadow .2s ease;border-radius:var(--spacing-md);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;margin-bottom:1rem;border:1px solid var(--color-border);overflow:hidden}.product-card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.product-image-container{position:relative;width:100%;height:200px;flex-shrink:0;overflow:hidden}.product-image-container .smoke-container{position:absolute;bottom:0;left:0;right:0;height:80px;pointer-events:none;z-index:5}.product-image-container .smoke{position:absolute;bottom:0;width:40px;height:50px;background:radial-gradient(circle,#ffffffd9,#ffffff4d 50%,#fff0 70%);border-radius:50%;filter:blur(10px);opacity:0;animation:smoke-rise-small 2.5s infinite ease-out}.product-image-container .smoke:nth-child(1){left:20%;animation-delay:0s}.product-image-container .smoke:nth-child(2){left:50%;transform:translate(-50%);animation-delay:.8s;width:50px;height:60px}.product-image-container .smoke:nth-child(3){right:20%;left:auto;animation-delay:1.6s;width:35px;height:45px}@keyframes smoke-rise-small{0%{transform:translateY(5px) scale(.6);opacity:0}20%{opacity:.7}60%{opacity:.3}to{transform:translateY(-50px) scale(1.4);opacity:0}}.product-image-container .ice-container{position:absolute;top:0;left:0;right:0;height:100%;pointer-events:none;z-index:5;overflow:hidden}.product-image-container .ice{position:absolute;top:-15px;font-size:12px;opacity:0;animation:ice-fall-small 2.5s infinite ease-in;filter:drop-shadow(0 0 2px rgba(255,255,255,.8)) brightness(1.5) grayscale(.3)}.product-image-container .ice:nth-child(1){left:25%;animation-delay:0s;font-size:10px}.product-image-container .ice:nth-child(2){left:50%;animation-delay:.8s;font-size:14px}.product-image-container .ice:nth-child(3){left:75%;animation-delay:1.6s;font-size:11px}@keyframes ice-fall-small{0%{transform:translateY(0) rotate(0);opacity:0}15%{opacity:.75}70%{opacity:.45}to{transform:translateY(160px) rotate(360deg);opacity:0}}.product-image-container .flames-container{position:absolute;bottom:0;left:0;right:0;height:80px;pointer-events:none;z-index:5;overflow:hidden}.product-image-container .fire-smoke{position:absolute;bottom:20px;left:0;right:0;height:50px;display:flex;justify-content:space-around}.product-image-container .fire-smoke .smoke-particle{width:25px;height:30px;background:radial-gradient(circle,rgba(80,80,80,.35) 0%,rgba(60,60,60,.15) 50%,transparent 70%);border-radius:50%;filter:blur(6px);animation:smoke-rise-fire-small 1.8s infinite ease-out}.product-image-container .fire-smoke .smoke-particle:nth-child(1){animation-delay:0s}.product-image-container .fire-smoke .smoke-particle:nth-child(2){animation-delay:.9s}@keyframes smoke-rise-fire-small{0%{transform:translateY(0) scale(.7);opacity:0}20%{opacity:.4}to{transform:translateY(-40px) scale(1.3);opacity:0}}.product-image-container .fire{position:absolute;bottom:0;left:0;right:0;height:100%;display:flex;justify-content:space-between;align-items:flex-end;padding:0 3%}.product-image-container .flame{width:15%;background:linear-gradient(to top,transparent 0%,rgba(255,80,0,.95) 15%,rgba(255,120,20,.9) 30%,rgba(255,160,40,.8) 50%,rgba(255,200,60,.5) 70%,rgba(255,220,100,.2) 85%,transparent 100%);border-radius:50% 50% 20% 20%;filter:blur(1.5px);animation:fire-flicker-small .3s infinite alternate ease-in-out;transform-origin:bottom center}.product-image-container .flame.f1{height:45px;animation-delay:0s}.product-image-container .flame.f2{height:60px;animation-delay:.05s}.product-image-container .flame.f3{height:40px;animation-delay:.1s}.product-image-container .flame.f4{height:65px;animation-delay:.15s}.product-image-container .flame.f5{height:50px;animation-delay:.08s}.product-image-container .flame.f6{height:55px;animation-delay:.12s}@keyframes fire-flicker-small{0%{transform:scaleY(1) scaleX(1) rotate(-2deg);opacity:.85}to{transform:scaleY(1.12) scaleX(.88) rotate(2deg);opacity:1}}.product-image-container .freeze-container{position:absolute;inset:0;pointer-events:none;z-index:5;background:linear-gradient(to top,#c8e6ff8c,#b4dcff59,#96c8ff26 60%,#96c8ff00);animation:freeze-pulse-small 3s infinite alternate ease-in-out;-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px)}@keyframes freeze-pulse-small{0%{opacity:.7}to{opacity:1}}.product-info{flex:1;padding:1.25rem;display:flex;flex-direction:column}.product-title{font-size:1.125rem;font-weight:700;margin:0 0 .5rem;color:var(--color-text)}.product-description{font-size:.875rem;color:var(--color-text-light);margin:0 0 1rem;line-height:1.5;display:-webkit-box;line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1}.ingredient-icons{display:flex;align-items:center;gap:3px;margin-bottom:8px;flex-wrap:wrap}.ingredient-icon{width:22px;height:22px;border-radius:50%;background:#fff;border:1px solid #e0e0e0;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 1px 2px #0000000f;transition:transform .2s ease,box-shadow .2s ease}.ingredient-icon:hover{transform:scale(1.15);box-shadow:0 2px 4px #0000001f;z-index:1}.ingredient-icon .ingredient-emoji{font-size:11px;line-height:1}.ingredient-icon.ingredient-more{background:linear-gradient(135deg,#e74c3c,#c0392b);border-color:#c0392b;color:#fff;font-size:8px;font-weight:700}.product-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;gap:.5rem}.product-price{display:flex;flex-direction:column;justify-content:center;gap:1px}.original-price{font-size:.75rem;color:#9ca3af;text-decoration:line-through;font-weight:500;line-height:1}.current-price{color:var(--color-primary);font-weight:800;font-size:1.2rem;line-height:1.1}.customize-button{height:36px;padding:0 12px;border-radius:99px;background:#fff;color:var(--color-primary);border:1.5px solid var(--color-primary);font-size:.8rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.customize-button:hover{background:var(--color-primary);color:#fff}.customize-button:active{transform:scale(.95)}.add-button{height:30px;padding:0 12px;border-radius:99px;background:var(--color-primary);color:#fff;border:none;font-size:.75rem;font-weight:700;letter-spacing:.3px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 4px #e74c3c26;flex-shrink:0}.add-button:hover{transform:scale(1.05);box-shadow:0 3px 8px #e74c3c59}.add-button:active{transform:scale(.95)}.add-button:disabled{background:#9ca3af;cursor:not-allowed;opacity:.7}.add-button:disabled:hover{transform:none;box-shadow:none}.image-skeleton{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:0}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.product-image{width:100%;height:100%;object-fit:cover;border-radius:0;opacity:0;transition:opacity .3s ease}.product-image.loaded{opacity:1}.product-badge{position:absolute;top:10px;right:10px;padding:4px 12px;border-radius:20px;color:#fff;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 12px #0003;z-index:6;pointer-events:none;animation:badge-fadeIn .3s ease-out}@keyframes badge-fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.product-card,.product-image,.add-button,.ingredient-icon{transition:none}.image-skeleton{animation:none}}@media(max-width:400px){.product-image-container{min-height:120px}.ingredient-icon{width:18px;height:18px}.ingredient-icon .ingredient-emoji{font-size:9px}}.featured-product-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 25px #0000001a;margin-bottom:2rem;position:relative;display:flex;flex-direction:column;transition:transform .3s ease}.featured-product-card:hover{transform:translateY(-5px)}.featured-image-container{position:relative;height:250px;overflow:hidden}.featured-product-image{width:100%;height:100%;object-fit:cover}.featured-badge{position:absolute;top:1rem;left:1rem;background:#e74c3c;color:#fff;padding:.5rem 1rem;border-radius:20px;font-weight:700;font-size:.9rem;box-shadow:0 4px 10px #e74c3c66;z-index:10}.smoke-container{position:absolute;bottom:0;left:0;right:0;height:150px;pointer-events:none;z-index:5}.smoke{position:absolute;bottom:0;width:80px;height:100px;background:radial-gradient(circle,#ffffffd9,#ffffff4d 50%,#fff0 70%);border-radius:50%;filter:blur(18px);opacity:0;animation:smoke-rise 3s infinite ease-out}.smoke:nth-child(1){left:10%;animation-delay:0s}.smoke:nth-child(2){left:30%;animation-delay:.6s;width:60px;height:80px}.smoke:nth-child(3){left:50%;transform:translate(-50%);animation-delay:1.2s;width:90px;height:110px}.smoke:nth-child(4){left:auto;right:30%;animation-delay:.3s;width:70px;height:90px}.smoke:nth-child(5){left:auto;right:10%;animation-delay:.9s;width:60px;height:80px}@keyframes smoke-rise{0%{transform:translateY(10px) scale(.7);opacity:0}20%{opacity:.8}60%{opacity:.4}to{transform:translateY(-90px) scale(1.8);opacity:0}}.ice-container{position:absolute;top:0;left:0;right:0;height:100%;pointer-events:none;z-index:5;overflow:hidden}.ice{position:absolute;top:-25px;font-size:18px;opacity:0;animation:ice-fall 3s infinite ease-in;filter:drop-shadow(0 0 3px rgba(255,255,255,.9)) brightness(1.5) grayscale(.3)}.ice:nth-child(1){left:15%;animation-delay:0s;font-size:16px}.ice:nth-child(2){left:30%;animation-delay:.5s;font-size:14px}.ice:nth-child(3){left:50%;animation-delay:1s;font-size:22px}.ice:nth-child(4){left:70%;animation-delay:1.5s;font-size:15px}.ice:nth-child(5){left:85%;animation-delay:2s;font-size:18px}@keyframes ice-fall{0%{transform:translateY(0) rotate(0);opacity:0}15%{opacity:.8}70%{opacity:.5}to{transform:translateY(250px) rotate(360deg);opacity:0}}.flames-container{position:absolute;bottom:0;left:0;right:0;height:120px;pointer-events:none;z-index:5;overflow:hidden}.fire-smoke{position:absolute;bottom:30px;left:0;right:0;height:80px;display:flex;justify-content:space-around}.fire-smoke .smoke-particle{width:40px;height:50px;background:radial-gradient(circle,rgba(80,80,80,.4) 0%,rgba(60,60,60,.2) 50%,transparent 70%);border-radius:50%;filter:blur(8px);animation:smoke-rise-fire 2s infinite ease-out}.fire-smoke .smoke-particle:nth-child(1){animation-delay:0s}.fire-smoke .smoke-particle:nth-child(2){animation-delay:.7s}.fire-smoke .smoke-particle:nth-child(3){animation-delay:1.4s}@keyframes smoke-rise-fire{0%{transform:translateY(0) scale(.8);opacity:0}20%{opacity:.5}to{transform:translateY(-60px) scale(1.5);opacity:0}}.fire{position:absolute;bottom:0;left:0;right:0;height:100%;display:flex;justify-content:space-between;align-items:flex-end;padding:0 2%}.flame{width:12%;background:linear-gradient(to top,transparent 0%,rgba(255,80,0,.95) 15%,rgba(255,120,20,.9) 30%,rgba(255,160,40,.8) 50%,rgba(255,200,60,.5) 70%,rgba(255,220,100,.2) 85%,transparent 100%);border-radius:50% 50% 20% 20%;filter:blur(2px);animation:fire-flicker .3s infinite alternate ease-in-out;transform-origin:bottom center}.flame.f1{height:70px;animation-delay:0s}.flame.f2{height:90px;animation-delay:.05s}.flame.f3{height:60px;animation-delay:.1s}.flame.f4{height:100px;animation-delay:.15s}.flame.f5{height:75px;animation-delay:.2s}.flame.f6{height:85px;animation-delay:.08s}.flame.f7{height:55px;animation-delay:.12s}.flame.f8{height:95px;animation-delay:.18s}@keyframes fire-flicker{0%{transform:scaleY(1) scaleX(1) rotate(-3deg);opacity:.85}to{transform:scaleY(1.15) scaleX(.85) rotate(3deg);opacity:1}}.freeze-container{position:absolute;inset:0;pointer-events:none;z-index:5;background:linear-gradient(to top,#c8e6ff99,#b4dcff66,#96c8ff33 60%,#96c8ff00);animation:freeze-pulse 3s infinite alternate ease-in-out;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}@keyframes freeze-pulse{0%{opacity:.7}to{opacity:1}}.featured-content{padding:1.5rem}.featured-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.featured-title{font-size:1.5rem;font-weight:800;color:#2c3e50;margin:0}.featured-rating{display:flex;align-items:center;gap:.5rem;background:#fff9c4;padding:.25rem .5rem;border-radius:8px}.featured-stars{color:#f1c40f;font-size:1rem}.featured-rating-text{font-size:.85rem;font-weight:600;color:#f39c12}.featured-description{color:#666;font-size:.95rem;line-height:1.5;margin-bottom:1.5rem}.featured-footer{display:flex;justify-content:space-between;align-items:center}.featured-price{display:flex;flex-direction:column}.featured-price-label{font-size:.8rem;color:#999;text-transform:uppercase;letter-spacing:1px}.featured-price-value{font-size:1.8rem;font-weight:800;color:#2c3e50}.featured-button{background:#e74c3c;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;font-weight:700;font-size:1rem;cursor:pointer;transition:background .2s;box-shadow:0 4px 15px #e74c3c4d}.featured-button:hover{background:#c0392b}.product-list{padding-bottom:80px}.category-section{margin-bottom:0}.category-title{font-size:1.1rem;font-weight:700;padding:1.5rem 1rem .75rem;margin:0;color:#333;background:transparent}.products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:0 .75rem}@media(min-width:768px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;padding:0 1rem}}@media(max-width:400px){.products-grid{grid-template-columns:1fr;padding:0 .5rem}}.floating-menu{position:fixed;bottom:12px;left:50%;transform:translate(-50%);display:flex;justify-content:center;align-items:center;gap:.5rem;background:linear-gradient(135deg,#e74c3c,#c0392b);padding:.6rem 1rem;padding-bottom:calc(.6rem + env(safe-area-inset-bottom));box-shadow:0 8px 32px #e74c3c66;z-index:1000;border-radius:99px;max-width:calc(100vw - 24px);width:auto;border:none}.menu-item{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .8rem;background:transparent;border:none!important;outline:none!important;cursor:pointer;position:relative;transition:all .2s ease;border-radius:99px;min-width:auto;color:#fff}.menu-item:hover{background:#ffffff26}.menu-item:active{transform:scale(.95)}.menu-item.active{background:#ffffff40}.menu-item.disabled{opacity:.4;cursor:not-allowed}.menu-icon{width:20px;height:20px;color:#fff;position:relative;display:flex;align-items:center;justify-content:center}.menu-icon svg{width:100%;height:100%}.menu-label{font-size:.85rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px}.menu-badge{position:absolute;top:-4px;right:-2px;font-size:.65rem;font-weight:800;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;box-shadow:0 2px 4px #0003}.menu-badge.count{background:#fff;color:#e74c3c}.menu-badge.time{background:#ffffff4d;color:#fff;font-size:.65rem;top:0;right:-5px;position:static;margin-left:4px}.delivery-item{background:transparent;padding:.4rem .8rem}.delivery-item .menu-label{font-size:.85rem}.cart-item{background:transparent!important;padding:.4rem .8rem;gap:.6rem}.cart-item .menu-label{font-size:.85rem;text-transform:uppercase}.cart-count-badge{position:absolute;top:-8px;right:-8px;background:#fff;color:#e74c3c;font-size:.65rem;font-weight:800;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003}.cart-total{font-size:1rem;font-weight:800;color:#fff;background:#0000001a;padding:.2rem .6rem;border-radius:8px;margin-left:2px}.delivery-popup-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;z-index:1001}.delivery-popup{background:#fff;border-radius:24px 24px 0 0;width:100%;max-width:500px;padding:1.5rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #00000026}.popup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.popup-close{background:#f3f4f6;border:none;width:32px;height:32px;border-radius:50%;font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center;color:#6b7280;cursor:pointer;transition:all .2s ease}.popup-close:active{background:#e5e7eb;transform:scale(.9)}.popup-content{display:flex;flex-direction:column;gap:1.5rem}.popup-address-section{padding:1.25rem 1rem;background:#f9fafb;border-radius:20px;cursor:pointer;border:1.5px solid #f3f4f6;transition:all .2s ease}.popup-address-section:active{background:#f3f4f6;transform:scale(.98)}.popup-address-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.popup-address-label{font-size:.8rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.popup-address-change{font-size:.85rem;font-weight:800;color:#ef4444}.popup-address-value{display:flex;flex-direction:column;gap:4px}.address-street{font-size:1.1rem;font-weight:800;color:#1f2937;line-height:1.3}.address-neighborhood{font-size:.9rem;color:#6b7280;font-weight:500}.popup-address-empty{padding:1rem 0;text-align:center;color:#9ca3af;font-weight:600;font-size:.9rem}.popup-delivery-details{display:flex;flex-direction:column;gap:1.25rem;padding:0 .5rem;margin-bottom:.5rem}.delivery-detail-item{display:flex;align-items:center;gap:1rem}.detail-icon{font-size:1.25rem;width:40px;height:40px;background:#fef2f2;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.detail-info{display:flex;flex-direction:column;gap:1px}.detail-label{font-size:.75rem;font-weight:600;color:#9ca3af;text-transform:uppercase}.detail-value{font-size:1.1rem;font-weight:800;color:#1f2937}.detail-value.highlight{color:#ef4444}.detail-value.free{color:#10b981}.popup-hint{background:#f0fdf4;color:#166534;padding:.85rem 1rem;border-radius:16px;text-align:center;font-size:.85rem;font-weight:700;border:1px solid #bbfcce;animation:popupSlideUp .3s ease-out}.popup-error{background:#fef2f2;color:#ef4444;padding:1rem;border-radius:16px;text-align:center;font-weight:700;font-size:.95rem;border:1px solid #fee2e2;animation:popupSlideUp .3s ease-out}.popup-no-address{background:#f9fafb;color:#6b7280;padding:1.25rem;border-radius:16px;text-align:center;font-weight:600;border:1.5px dashed #e5e7eb}@keyframes popupSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(min-width:768px){.floating-menu{max-width:600px;padding:.8rem 1.5rem}.menu-item{min-width:100px;gap:.75rem}.menu-label{font-size:.95rem}.cart-total{font-size:1.1rem}}@supports (padding-bottom: env(safe-area-inset-bottom)){.floating-menu{padding-bottom:calc(.8rem + env(safe-area-inset-bottom))}}@media(max-width:480px){.cart-total,.menu-badge.time{display:flex!important}.floating-menu{gap:.25rem;padding:.5rem .6rem;bottom:8px}.menu-item{padding:.35rem .5rem;gap:.25rem}.menu-label{font-size:.98rem;letter-spacing:.25px}.menu-icon{width:20px;height:20px}.cart-total{font-size:1.1rem;padding:.15rem .35rem}}@media(max-width:380px){.floating-menu{gap:.15rem;padding:.4rem .5rem}.menu-item{padding:.3rem .4rem;gap:.2rem}.menu-label{font-size:.85rem}.menu-icon{width:18px;height:18px}.cart-total{font-size:.98rem;padding:.1rem .3rem}.cart-count-badge{width:16px;height:16px;font-size:.6rem;top:-6px;right:-6px}}.app-sidebar{width:260px;background:var(--color-primary);color:#fff;height:100vh;position:fixed;left:0;top:0;display:flex;flex-direction:column;padding:2rem 0;box-shadow:4px 0 10px #0000001a;z-index:200}.sidebar-header{padding:0 1.5rem 2rem;text-align:center;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:1rem}.sidebar-logo{width:100px;height:100px;margin:0 auto 1rem;border-radius:16px;background:#fff;padding:4px;overflow:hidden;box-shadow:0 4px 12px #0003}.sidebar-logo img{width:100%;height:100%;object-fit:cover;border-radius:12px}.sidebar-title{font-size:1.25rem;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav ul{list-style:none;padding:0;margin:0}.sidebar-nav a{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;color:#fffc;text-decoration:none;font-weight:500;transition:all .2s ease;position:relative}.sidebar-nav a:hover{background:#ffffff1a;color:#fff}.sidebar-nav a.active{background:#ffffff26;color:#fff;font-weight:700}.sidebar-nav a.active:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#fff}.nav-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0}.nav-badge{background:#fff;color:var(--color-primary);font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:99px;margin-left:auto}.sidebar-footer{margin-top:auto;padding:1rem 1.5rem;border-top:1px solid rgba(255,255,255,.1)}.status-indicator{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#ffffffe6}.status-indicator .dot{width:8px;height:8px;background:#2ecc71;border-radius:50%;box-shadow:0 0 8px #2ecc71}.status-indicator.closed{color:#fca5a5}.status-indicator.closed .dot{background:#ef4444;box-shadow:0 0 8px #ef4444}@media(max-width:1024px){.app-sidebar{transform:translate(-100%);transition:transform .3s ease-in-out;box-shadow:none;box-sizing:border-box;display:flex}.app-sidebar.open{transform:translate(0);box-shadow:10px 0 30px #0000004d}.sidebar-close{display:block;position:absolute;top:1rem;right:1rem;background:none;border:none;color:#fff;font-size:2.5rem;cursor:pointer;line-height:1;z-index:101}}@media(min-width:1025px){.sidebar-close{display:none}}.app-sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:199;display:block}@media(min-width:1025px){.app-sidebar-overlay{display:none}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:#fff;gap:1rem;position:relative;overflow:hidden}.falling-food-container{position:absolute;inset:0;pointer-events:none;overflow:hidden}.falling-food{position:absolute;top:-60px;font-size:2.5rem;animation:fall linear infinite;opacity:.9;filter:drop-shadow(0 4px 6px rgba(0,0,0,.15))}@keyframes fall{0%{transform:translateY(0) rotate(0);opacity:0}10%{opacity:.9}80%{opacity:.9}to{transform:translateY(100vh) rotate(360deg);opacity:0}}.falling-food:nth-child(odd){animation:fall-wobble linear infinite}@keyframes fall-wobble{0%{transform:translateY(0) translate(0) rotate(0);opacity:0}10%{opacity:.9}25%{transform:translateY(25vh) translate(10px) rotate(90deg)}50%{transform:translateY(50vh) translate(-10px) rotate(180deg)}75%{transform:translateY(75vh) translate(10px) rotate(270deg)}80%{opacity:.9}to{transform:translateY(100vh) translate(0) rotate(360deg);opacity:0}}.loading-content{display:flex;flex-direction:column;align-items:center;gap:1rem;z-index:10}.plate-emoji{font-size:4rem;animation:plate-pulse 1.5s ease-in-out infinite}@keyframes plate-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.loading-text{color:#e74c3c;font-size:1.1rem;font-weight:600;margin:0;animation:text-fade 1.5s ease-in-out infinite}@keyframes text-fade{0%,to{opacity:1}50%{opacity:.6}}@media(prefers-reduced-motion:reduce){.falling-food,.plate-emoji,.loading-text{animation:none}.falling-food{opacity:.7;top:50%;transform:translateY(-50%)}}.api-version-footer{padding:1.5rem 1rem;border-top:1px solid var(--color-border);background-color:transparent;width:100%;margin-top:auto}.footer-content{display:flex;align-items:center;justify-content:space-between;font-size:.7rem;color:silver;font-weight:400;letter-spacing:.02em;max-width:1200px;margin:0 auto}.version-tag{color:silver;font-family:monospace;font-size:.65rem}@media(max-width:1024px){.api-version-footer{padding-bottom:calc(1.5rem + 80px)}}.image-carousel{width:100%;background:#fff}.carousel-container{position:relative;width:100%;height:300px;overflow:hidden;background:#f5f5f5}.carousel-track{display:flex;height:100%;transition:transform .3s ease-in-out}.carousel-slide{min-width:100%;height:100%;display:flex;align-items:center;justify-content:center}.carousel-image{width:100%;height:100%;object-fit:cover}.carousel-button{position:absolute;top:50%;transform:translateY(-50%);background:transparent;border:none;width:auto;height:auto;border-radius:0;font-size:3.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding-bottom:8px;box-shadow:none;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:all .2s ease;color:#e74c3c;z-index:10}.carousel-button:hover{background:transparent;transform:translateY(-50%) scale(1.1)}.carousel-button:focus{outline:none}.carousel-button.prev{left:1rem}.carousel-button.next{right:1rem}.carousel-dots{display:flex;justify-content:center;gap:.5rem;padding:1rem}.dot{width:8px;height:8px;border-radius:50%;border:none;background:#ddd;cursor:pointer;padding:0;transition:all .2s ease}.dot:hover{background:#bbb;transform:scale(1.2)}.dot.active{background:#e74c3c;width:24px;border-radius:4px}@media(min-width:768px){.carousel-container{height:400px}}@media(prefers-reduced-motion:reduce){.carousel-track,.carousel-button,.dot{transition:none}}.quantity-selector{display:flex;align-items:center;gap:1rem;background:#f9f9f9;border-radius:8px;padding:.5rem;width:fit-content}.quantity-button{width:36px;height:36px;border-radius:50%;border:1px solid #e0e0e0;background:#fff;color:#e74c3c;font-size:1.5rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.quantity-button:hover:not(:disabled){background:#e74c3c;color:#fff;transform:scale(1.1);border-color:#e74c3c}.quantity-button:focus{outline:2px solid #e74c3c;outline-offset:2px}.quantity-button:disabled{opacity:.3;cursor:not-allowed}.quantity-display{min-width:40px;text-align:center;font-size:1.2rem;font-weight:600;color:#333}@media(prefers-reduced-motion:reduce){.quantity-button{transition:none}}.customization-options{margin-bottom:1.5rem}.customization-title{font-size:1.1rem;font-weight:600;margin-bottom:.75rem;color:#333}.options-grid{display:flex;flex-wrap:wrap;gap:.5rem}.option-button{background:#fff;border:1px solid #ddd;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;color:#666;cursor:pointer;transition:all .2s ease}.option-button:hover{border-color:#bbb;background:#f9f9f9}.option-button.selected{background:#e74c3c;color:#fff;border-color:#e74c3c;box-shadow:0 2px 5px #e74c3c4d}.other-observation-container{margin-top:1rem;width:100%}.other-observation-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-family:inherit;font-size:.95rem;resize:vertical;transition:border-color .2s;box-sizing:border-box}.other-observation-input:focus{outline:none;border-color:#e74c3c;box-shadow:0 0 0 3px #e74c3c1a}.fade-in{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.accompaniments-selector{margin-bottom:1.5rem}.accompaniments-grid{display:flex;flex-direction:column;gap:.75rem}.accompaniment-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f9f9f9;border-radius:12px;transition:all .2s ease}.accompaniment-item:hover{background:#f0f0f0}.accompaniment-image{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid #e0e0e0}.accompaniment-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.accompaniment-name{font-size:.95rem;font-weight:500;color:#333}.accompaniment-price,.accompaniment-free{font-size:.85rem;color:#e74c3c;font-weight:600}.accompaniment-controls{display:flex;align-items:center;gap:.5rem}.acc-btn{width:32px;height:32px;border-radius:50%;border:1px solid #e0e0e0;background:#fff;color:#e74c3c;font-size:1.25rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.acc-btn:hover{background:#e74c3c;color:#fff;border-color:#e74c3c;transform:scale(1.1)}.acc-quantity{min-width:24px;text-align:center;font-size:1rem;font-weight:600;color:#333}.acc-add-btn{padding:.5rem 1rem;border:1px solid #e74c3c;border-radius:20px;background:#fff;color:#e74c3c;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.acc-add-btn:hover{background:#e74c3c;color:#fff}.acc-btn:disabled,.acc-btn.disabled{opacity:.35;cursor:not-allowed;pointer-events:none;transform:none;background:#fff;color:#ccc;border-color:#e0e0e0}.acc-add-btn:disabled,.acc-add-btn.disabled{opacity:.35;cursor:not-allowed;pointer-events:none;background:#fff;color:#ccc;border-color:#ccc}@media(prefers-reduced-motion:reduce){.accompaniment-item,.acc-btn,.acc-add-btn{transition:none}}.drinks-selector{display:flex;flex-direction:column;gap:1rem}.drink-price-info{background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:.75rem;margin-bottom:.5rem;font-size:.95rem;font-weight:600;color:#856404;text-align:center}.drink-selector-item{background:#fff;border:none;border-radius:12px;padding:1rem;box-shadow:0 2px 8px #0000000d;transition:box-shadow .2s;display:flex;align-items:center;gap:.75rem}.drink-selector-item:hover{box-shadow:0 4px 12px #0000001a}.drink-header{display:flex;align-items:center;gap:1rem;flex:1}.drink-image{width:60px;height:60px;object-fit:cover;border-radius:50%}.drink-info{flex:1}.drink-name{font-size:1rem;font-weight:600;color:#333;margin:0}.drink-types{display:flex;gap:.5rem;flex-shrink:0;flex-direction:column}.drink-type-control{display:flex;align-items:center;gap:.75rem;position:relative;padding:.5rem;background:#fff;border:2px solid #e0e0e0;border-radius:20px;transition:border-color .2s}.drink-type-control:hover{border-color:#e74c3c}.type-label{flex:1;font-size:.9rem;font-weight:600;color:#333}.quantity-controls{display:flex;align-items:center;gap:.5rem}.qty-control-btn{width:32px;height:32px;border-radius:50%;border:2px solid #e74c3c;background:#fff;color:#e74c3c;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;line-height:1}.qty-control-btn:hover:not(:disabled){background:#e74c3c;color:#fff;transform:scale(1.1)}.qty-control-btn:disabled{opacity:.35;cursor:not-allowed;pointer-events:none;border-color:#ccc;color:#ccc}.qty-display{min-width:24px;text-align:center;font-size:1rem;font-weight:700;color:#333}.extra-cost-badge{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:12px;box-shadow:0 2px 4px #0003;white-space:nowrap;z-index:10}.included-badge{position:absolute;top:-8px;right:-8px;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .5rem;border-radius:12px;box-shadow:0 2px 4px #0003;white-space:nowrap;z-index:10}.product-detail{min-height:100vh;background:#fff;padding-bottom:80px}.product-detail-header{position:sticky;top:0;z-index:100;background:#fff;padding:1rem;box-shadow:0 2px 4px #0000000d;display:flex;justify-content:space-between;align-items:center}.mobile-menu-btn-detail{display:none;background:none;border:none;color:#333;cursor:pointer;padding:8px;border-radius:8px}.mobile-menu-btn-detail svg{width:24px;height:24px}@media(max-width:1024px){.mobile-menu-btn-detail{display:flex;align-items:center;justify-content:center}}.back-button-icon{background:none;border:none;font-size:1rem;color:#333;cursor:pointer;padding:.5rem;display:flex;align-items:center;gap:.5rem;font-weight:500}.back-button-icon:hover{color:#e74c3c}.product-detail-content{padding:1.5rem;gap:.75rem}.price-original{font-size:1rem;color:#999;text-decoration:line-through}.price-current{font-size:1.5rem;font-weight:700;color:#e74c3c}.product-description-full{color:#666;line-height:1.6;margin-bottom:1rem}.product-meta{display:flex;gap:1rem;margin-bottom:1.5rem;padding:.75rem;background:#f9f9f9;border-radius:8px}.product-weight{font-size:.9rem;color:#666}.product-rating{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.stars-container{display:flex;align-items:center;gap:.25rem}.review-snippet{margin-left:.5rem;font-size:.85rem;color:#666;display:flex;gap:.5rem;align-items:flex-start;border-left:2px solid #e0e0e0;padding-left:.75rem;opacity:0;animation:fadeIn .5s forwards;flex:1;min-width:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.review-user{font-weight:600;color:#333;white-space:nowrap;flex-shrink:0}.review-comment{font-style:italic;word-break:break-word}@media(max-width:480px){.review-snippet{width:100%;margin-left:0;border-left:none;padding-left:0;margin-top:.5rem}}.star{font-size:1rem;color:orange}.star.filled{color:orange}.star.empty{color:#ddd}.rating-value{font-size:.9rem;color:#666;margin-left:.25rem;font-weight:600}.novidade-badge{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:20px;font-size:.9rem;font-weight:600}.ingredients-list{display:flex;flex-wrap:wrap;gap:.5rem}.ingredient-item{display:flex;align-items:center;gap:.5rem;background:#f5f5f5;padding:.5rem 1rem;border-radius:20px;border:1px solid #e0e0e0}.ingredient-icon{font-size:1.2rem}.ingredient-name{color:#555;font-size:.9rem;font-weight:500}.quantity-section{margin-top:1.5rem}.drinks-section{margin-bottom:1.5rem}.drinks-section .options-grid{display:flex;flex-wrap:wrap;gap:.5rem}.drinks-section .option-button{border:1px solid #e0e0e0;border-radius:20px;background:#fff;color:#666;font-size:.9rem;cursor:pointer;transition:all .2s ease;min-height:36px;display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem .5rem .5rem}.drink-thumb{width:28px;height:28px;border-radius:50%;object-fit:cover}.drinks-section .option-button:hover{border-color:#e74c3c;color:#e74c3c;background:#e74c3c0d}.drinks-section .option-button.selected{background:#e74c3c;color:#fff;border-color:#e74c3c}.refrigerante-options{margin-top:1rem;padding-left:1rem;border-left:3px solid #e74c3c}.subsection-title{font-size:.9rem;font-weight:600;margin:0 0 .5rem;color:#666}.quantity-distribution{display:flex;flex-direction:column;gap:.75rem}.distribution-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f9f9f9;border-radius:8px}.distribution-label{font-size:.9rem;font-weight:500;color:#333}.distribution-controls{display:flex;align-items:center;gap:.75rem}.qty-btn{width:32px;height:32px;border-radius:50%;border:1px solid #e0e0e0;background:#fff;color:#e74c3c;font-size:1.25rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.qty-btn:hover:not(:disabled){background:#e74c3c;color:#fff;border-color:#e74c3c;transform:scale(1.1)}.qty-btn:disabled{opacity:.3;cursor:not-allowed}.qty-display{min-width:30px;text-align:center;font-size:1rem;font-weight:600;color:#333}.distribution-total{margin-top:.5rem;font-size:.85rem;color:#666;text-align:right;font-weight:500}.product-detail-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;padding:1rem;z-index:1000;display:flex;flex-direction:column;gap:.75rem;box-shadow:0 -4px 20px #0000001a}@media(min-width:480px){.product-detail-footer{flex-direction:row;justify-content:center;gap:1rem}}.add-to-cart-button{width:100%;max-width:600px;display:flex;justify-content:center;align-items:center;padding:.875rem 1rem;border:none;border-radius:99px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-height:52px;gap:.75rem}@media(min-width:480px){.add-to-cart-button{margin:0 auto}}.add-to-cart-button.primary{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;box-shadow:0 8px 24px #e74c3c66}.add-to-cart-button.primary:hover{transform:translateY(-2px);box-shadow:0 12px 32px #e74c3c80}.add-to-cart-button.secondary{background:#fff;color:#e74c3c;border:2px solid #e74c3c;box-shadow:none}.add-to-cart-button.secondary:hover{background:#fff5f5;transform:translateY(-2px)}.cart-total{font-size:1rem;font-weight:700}.add-to-cart-button.secondary .cart-total{color:#e74c3c}.add-to-cart-button:active{transform:translateY(0)}.add-to-cart-button:disabled{background:#9ca3af;color:#fff;cursor:not-allowed;opacity:.7;box-shadow:none;border:none}.add-to-cart-button:disabled:hover{transform:none;box-shadow:none}.product-detail-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center}.product-detail-error h2{margin-bottom:1rem;color:#333}.back-button{padding:.75rem 1.5rem;background:#e74c3c;color:#fff;border:none;border-radius:99px;font-size:1rem;cursor:pointer}.drink-builder{margin-top:1rem;padding:1rem;background:#f8f8f8;border-radius:12px}.builder-selectors{display:flex;gap:.75rem;align-items:flex-end;flex-wrap:wrap}.builder-field{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:140px}.builder-label{font-size:.85rem;font-weight:600;color:#555}.drink-select{padding:.6rem;border:2px solid #ddd;border-radius:8px;font-size:.95rem;background:#fff;cursor:pointer;transition:border-color .2s}.drink-select:focus{outline:none;border-color:#e74c3c}.add-drink-button{padding:.6rem 1.25rem;background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff;border:none;border-radius:99px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;height:fit-content}.add-drink-button:hover:not(:disabled){background:#c0392b;transform:translateY(-1px)}.add-drink-button:disabled{background:#ccc;cursor:not-allowed}.selected-drinks{margin-top:1.5rem}.drink-items{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.drink-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px}.drink-item-name{font-size:.95rem;font-weight:600;color:#333;flex:1}.drink-item-controls{display:flex;align-items:center;gap:.5rem}.drink-qty-btn{width:28px;height:28px;border:2px solid #e74c3c;background:#fff;color:#e74c3c;border-radius:6px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.drink-qty-btn:hover:not(:disabled){background:#e74c3c;color:#fff}.drink-qty-btn:disabled{border-color:#ccc;color:#ccc;cursor:not-allowed}.drink-qty-display{font-size:.9rem;font-weight:600;color:#666;min-width:20px;text-align:center}.drink-remove-btn{width:28px;height:28px;border:2px solid #e74c3c;background:#e74c3c;color:#fff;border-radius:6px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;margin-left:.25rem}.drink-remove-btn:hover{background:#c0392b;border-color:#c0392b}.selected-drinks-summary{margin-top:1.5rem;padding:1rem;background:#f8f8f8;border-radius:12px}.drink-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.drink-tag{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:2px solid #e74c3c;border-radius:20px;font-size:.9rem;font-weight:600;color:#333}.drink-tag-remove{width:20px;height:20px;border:none;background:#e74c3c;color:#fff;border-radius:50%;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.drink-tag-remove:hover{background:#c0392b}.scroll-indicator{position:fixed;bottom:100px;right:20px;width:50px;height:50px;background:#e74c3c;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #e74c3c66;animation:bounce 2s infinite;z-index:100;pointer-events:none}.scroll-indicator.hidden{display:none}.scroll-arrow{color:#fff;font-size:1.5rem;font-weight:700}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media(min-width:768px){.product-detail{max-width:800px;margin:0 auto}}@media(prefers-reduced-motion:reduce){.add-to-cart-button{transition:none}.scroll-indicator{animation:none}}.combo-items-section{margin-top:2rem}.combo-items-list{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.combo-item{background:#f8f8f8;border-radius:12px;padding:1rem;border:2px solid #e0e0e0}.combo-item-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.combo-item-icon{font-size:1.8rem}.combo-item-name{font-size:1.05rem;font-weight:600;color:#333}.combo-item-observations{margin-top:.75rem}.combo-obs-label{font-size:.9rem;font-weight:600;color:#555;display:block;margin-bottom:.5rem}.combo-obs-options{display:flex;flex-wrap:wrap;gap:.5rem}.combo-obs-button{padding:.5rem 1rem;background:#fff;border:2px solid #ddd;border-radius:8px;font-size:.9rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s}.combo-obs-button:hover{border-color:#e74c3c;color:#e74c3c}.combo-obs-button.selected{background:#e74c3c;border-color:#e74c3c;color:#fff}.product-wizard{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh;min-height:-webkit-fill-available;background:linear-gradient(180deg,#fef2f2,#fff 40%);position:relative;max-width:540px;margin:0 auto;overflow:clip}.wizard-progress{display:flex;gap:6px;padding:16px 24px 0}.wizard-progress-segment{flex:1;height:6px;border-radius:99px;background:#e5e7eb;transition:background .4s ease,box-shadow .4s ease}.wizard-progress-segment.active{background:#ef4444;box-shadow:0 0 8px #ef44444d}.wizard-step-label{text-align:center;font-size:.75rem;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:1.5px;padding:10px 0 0}.wizard-content{flex:1;padding-bottom:90px;animation:wizardFadeIn .35s ease-out}@keyframes wizardFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.wizard-step{padding:16px 24px}.wizard-step-center{display:flex;flex-direction:column;align-items:center;text-align:center}.wizard-image-carousel{position:relative;width:100%;margin-bottom:16px}.wizard-carousel-track{width:100%;aspect-ratio:1 / 1;overflow:hidden;border-radius:24px;box-shadow:0 8px 30px #ef444426;background:#f9f9f9;flex-shrink:0}.wizard-carousel-image{width:100%;height:100%;object-fit:cover;display:block;animation:wizardFadeIn .25s ease-out}.wizard-carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;width:32px;height:32px;border-radius:50%;font-size:1.4rem;line-height:1;color:#ef4444;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:background .15s;z-index:5}.wizard-carousel-arrow:active{background:#ef44441a}.wizard-carousel-arrow-left{left:10px}.wizard-carousel-arrow-right{right:10px}.wizard-carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:10px}.wizard-carousel-dot{width:8px;height:8px;border-radius:50%;border:none;background:#d1d5db;cursor:pointer;padding:0;transition:background .2s,transform .2s}.wizard-carousel-dot.active{background:#ef4444;transform:scale(1.25)}.wizard-product-name{font-size:1.6rem;font-weight:800;color:#1f2937;margin:0 0 4px}.wizard-product-price{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:20px}.wizard-product-original-price{font-size:.95rem;font-weight:600;color:#9ca3af;text-decoration:line-through}.wizard-product-current-price{font-size:1.4rem;font-weight:800;color:#ef4444}.wizard-ingredients{width:100%;margin-bottom:20px}.wizard-ingredients-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.wizard-ingredient{display:flex;flex-direction:column;align-items:center;gap:4px;width:72px;padding:10px 4px 8px;background:#fff;border-radius:14px;font-size:.7rem;color:#374151;font-weight:600;border:1.5px solid #f3f4f6;box-shadow:0 2px 8px #0000000a;text-align:center;line-height:1.2}.wizard-ingredient-icon{font-size:1.5rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#fef2f2;border-radius:50%;flex-shrink:0}.wizard-product-description{font-size:.875rem;color:#6b7280;line-height:1.5;margin:0 0 20px;max-width:400px;padding:0 16px;font-weight:400}.wizard-quantity{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:4px}.wizard-quantity .quantity-selector{background:#fef2f2;border-radius:99px;padding:6px 8px}.wizard-quantity .quantity-button{border:2px solid #ef4444;background:#fff;color:#ef4444}.wizard-quantity .quantity-button.increase{background:#ef4444;color:#fff}.wizard-quantity .quantity-display{font-size:1.3rem;font-weight:800;color:#1f2937}.wizard-question-card{display:flex;flex-direction:column;align-items:center;padding:8px 0 20px}.wizard-question-emoji{font-size:2.5rem;margin-bottom:8px}.wizard-question{font-size:1.25rem;font-weight:700;color:#1f2937;margin:0 0 4px}.wizard-question-sub{font-size:.9rem;color:#6b7280;margin:0}.wizard-options-area{width:100%;text-align:left}.wizard-options-area .customization-options{margin-bottom:0}.wizard-options-area .customization-title{display:none}.wizard-options-area .options-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wizard-options-area .option-button{display:flex;align-items:center;justify-content:center;padding:16px 12px;border:2px solid #f3f4f6;border-radius:16px;background:#fff;font-size:.9rem;font-weight:600;color:#374151;box-shadow:0 2px 8px #0000000a;transition:all .2s ease;text-align:center;min-height:56px}.wizard-options-area .option-button:active{transform:scale(.96)}.wizard-options-area .option-button.selected{background:#fef2f2;border-color:#ef4444;color:#ef4444;box-shadow:0 4px 12px #ef444426}.wizard-options-area .other-observation-container{grid-column:1 / -1}.wizard-options-area .other-observation-input{border:2px solid #f3f4f6;border-radius:16px;padding:14px 16px;font-size:.9rem}.wizard-options-area .other-observation-input:focus{border-color:#ef4444;box-shadow:0 0 0 4px #ef444414}.wizard-free-observation{width:100%}.wizard-free-observation-input{width:100%;border:2px solid #f3f4f6;border-radius:16px;padding:16px;font-family:inherit;font-size:.95rem;color:#374151;resize:vertical;box-sizing:border-box;transition:border-color .2s ease,box-shadow .2s ease}.wizard-free-observation-input::placeholder{color:#9ca3af}.wizard-free-observation-input:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 4px #ef444414}.wizard-options-area .accompaniments-selector .section-title{display:none}.wizard-options-area .accompaniments-grid{display:grid;grid-template-columns:1fr;gap:14px}.wizard-options-area .accompaniment-item{flex-direction:row;text-align:left;padding:12px;background:#fff;border-radius:16px;border:2px solid #f3f4f6;box-shadow:0 2px 8px #0000000a;transition:border-color .2s ease,box-shadow .2s ease,transform .15s ease;cursor:pointer;gap:14px;align-items:center}.wizard-options-area .accompaniment-item:active{transform:scale(.97)}.wizard-options-area .accompaniment-image{width:90px;height:90px;flex-shrink:0;border-radius:12px;box-shadow:0 4px 12px #ef44441a;object-fit:cover;margin:0}.wizard-options-area .accompaniment-info{align-items:flex-start;flex:1}.wizard-options-area .accompaniment-name{font-size:.9rem;font-weight:700;color:#1f2937}.wizard-options-area .accompaniment-price{font-size:.82rem;font-weight:700;color:#ef4444}.wizard-options-area .accompaniment-free{font-size:.82rem;font-weight:700;color:#10b981}.wizard-options-area .acc-add-btn{padding:8px 20px;border-radius:99px;border:2px solid #ef4444;background:#fff;color:#ef4444;font-weight:700;font-size:.85rem;transition:all .15s ease}.wizard-options-area .acc-add-btn:active{background:#ef4444;color:#fff}.wizard-options-area .acc-btn{width:34px;height:34px;border-radius:50%;border:2px solid #ef4444;background:#fff;color:#ef4444;font-size:1.2rem;font-weight:700}.wizard-options-area .acc-btn.increase{background:#ef4444;color:#fff}.wizard-options-area .acc-quantity{font-size:1.1rem;font-weight:800;color:#1f2937;min-width:28px}.wizard-footer{position:fixed;bottom:0;left:0;right:0;max-width:540px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 20px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid #f3f4f6;z-index:20}.wizard-footer-right{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.wizard-btn{padding:14px 24px;border-radius:99px;font-size:.9rem;font-weight:700;cursor:pointer;border:none;transition:transform .15s ease,box-shadow .15s ease;white-space:nowrap}.wizard-btn:active{transform:scale(.95)}.wizard-btn-back{background:#fff;color:#ef4444;border:2px solid #ef4444}.wizard-btn-back:active{background:#fef2f2}.wizard-btn-next{background:#ef4444;color:#fff;box-shadow:0 4px 14px #ef44444d}.wizard-btn-next:active{box-shadow:0 2px 8px #ef444433}.wizard-btn-cart{background:#ef4444;color:#fff;box-shadow:0 4px 14px #ef44444d}.wizard-btn-cart:active{box-shadow:0 2px 8px #ef444433}.wizard-btn-cart:disabled{background:#9ca3af;cursor:not-allowed;opacity:.7;box-shadow:none}.wizard-lightbox-backdrop{position:fixed;inset:0;background:#000000e0;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:lightboxFadeIn .2s ease-out;cursor:zoom-out}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}@media(min-width:1025px){.wizard-footer{left:260px}}.wizard-lightbox-image{max-width:100%;max-height:85dvh;object-fit:contain;border-radius:16px;box-shadow:0 20px 60px #00000080;cursor:default;animation:lightboxScaleIn .2s ease-out}@keyframes lightboxScaleIn{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.wizard-lightbox-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:#ffffff26;border:none;color:#fff;font-size:1.6rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}.wizard-lightbox-close:hover{background:#ffffff40}.wizard-lightbox-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#ffffff26;border:none;width:48px;height:48px;border-radius:50%;color:#fff;font-size:2rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s;z-index:10}.wizard-lightbox-arrow:hover{background:#ffffff47}.wizard-lightbox-arrow-left{left:16px}.wizard-lightbox-arrow-right{right:16px}.wizard-lightbox-dots{position:absolute;bottom:24px;left:50%;transform:translate(-50%);display:flex;gap:10px}.wizard-lightbox-dot{width:10px;height:10px;border-radius:50%;border:none;background:#fff6;cursor:pointer;padding:0;transition:background .2s,transform .2s}.wizard-lightbox-dot.active{background:#fff;transform:scale(1.3)}.combo-wizard .wizard-content{padding-bottom:24px}.combo-badge-label{display:inline-block;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;padding:4px 14px;border-radius:99px;margin-bottom:8px}.combo-sections{padding:0 24px 16px;text-align:left}.combo-section-title{font-size:1rem;font-weight:700;color:#1f2937;margin:0 0 12px}.combo-drinks-section{margin-top:20px}.free-delivery-progress{background:linear-gradient(135deg,#fff8f0,#fff);border:1px solid #ffe0cc;border-radius:12px;padding:12px 16px;margin:12px 0}.free-delivery-progress.achieved{background:linear-gradient(135deg,#e8f5e9,#fff);border-color:#a5d6a7}.progress-header{margin-bottom:8px}.progress-text{font-size:13px;color:#666}.progress-text strong{color:#ff6b00}.progress-text.success,.progress-text.success strong{color:#28a745}.progress-bar-container{height:8px;background:#eee;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#ff6b00,#ff8c00);border-radius:4px;transition:width .4s ease}.free-delivery-progress.achieved .progress-bar-fill{background:linear-gradient(90deg,#28a745,#34c759)}.progress-footer{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:#999}.checkout-page{min-height:100vh;background-color:var(--color-bg);padding-bottom:90px}.checkout-header{background-color:var(--color-bg-white);padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;box-shadow:0 1px 3px #00000014;position:sticky;top:0;z-index:100;justify-content:space-between}.checkout-header h1{font-size:1.2rem;font-weight:700;margin:0;color:var(--color-text)}.back-button-icon{background:none;border:none;font-size:.95rem;color:var(--color-text-light);cursor:pointer;padding:.5rem 0;font-weight:600;transition:color .2s;white-space:nowrap}.back-button-icon:hover{color:var(--color-primary)}.mobile-menu-btn-page{display:none;background:none;border:none;color:var(--color-text);cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s}.mobile-menu-btn-page:hover{background-color:var(--color-bg)}.mobile-menu-btn-page svg{width:24px;height:24px}@media(max-width:1024px){.mobile-menu-btn-page{display:flex;align-items:center;justify-content:center}}.checkout-progress-wrapper{background:var(--color-bg-white);padding:1rem 1.5rem .75rem;border-bottom:1px solid var(--color-border)}.checkout-progress-track{height:8px;background:#f0f0f0;border-radius:99px;overflow:hidden;margin-bottom:.5rem}.checkout-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary) 0%,#ff7043 100%);border-radius:99px;transition:width .5s cubic-bezier(.4,0,.2,1)}.checkout-progress-labels{display:flex;justify-content:space-between;margin-bottom:.4rem}.progress-label{font-size:.7rem;font-weight:600;color:var(--color-text-lighter);text-transform:uppercase;letter-spacing:.04em;transition:color .3s}.progress-label.active{color:var(--color-primary)}.progress-label.current{font-weight:800}.checkout-progress-hint{font-size:.8rem;color:var(--color-text-light);margin:0;text-align:center;font-weight:500}.checkout-content{padding:1.5rem 1rem 2rem;max-width:600px;margin:0 auto}.checkout-step-card{background:var(--color-bg-white);border-radius:16px;padding:1.75rem 1.5rem;box-shadow:0 4px 20px #00000012;border:1px solid var(--color-border);animation:slide-in .3s ease-out}@keyframes slide-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.step-icon-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:1px solid var(--color-border)}.step-emoji{font-size:2.5rem;line-height:1}.step-title{font-size:1.25rem;font-weight:800;margin:0 0 .2rem;color:var(--color-text)}.step-subtitle{font-size:.875rem;color:var(--color-text-light);margin:0}.form-group{margin-bottom:1.25rem}.form-group label,.cash-change-section label{display:block;margin-bottom:.5rem;color:var(--color-text-light);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.form-group input[type=text],.form-group input[type=tel],.address-search-input{width:100%;padding:.9rem 1rem;border:1.5px solid var(--color-border-dark);border-radius:12px;font-size:1rem;color:var(--color-text);transition:all .2s;background-color:#fff;box-sizing:border-box}.form-group input:focus,.address-search-input:focus{border-color:var(--color-primary);background-color:#fff;box-shadow:0 0 0 4px #e74c3c1a;outline:none}.form-group input::placeholder,.address-search-input::placeholder{color:#c4c9d4;font-weight:400}.address-search-input{width:100%;padding:.9rem 1rem;border:1.5px solid var(--color-border-dark);border-radius:12px;font-size:1rem;color:var(--color-text);transition:all .2s;background-color:#fff;box-sizing:border-box}.address-search-input:focus{border-color:var(--color-primary);background-color:#fff;box-shadow:0 0 0 4px #e74c3c1a;outline:none}.address-search-input::placeholder{color:#c4c9d4;font-weight:400}.pac-container{border-radius:12px;border:1px solid var(--color-border);box-shadow:0 8px 24px #0000001f;margin-top:4px;font-family:inherit;z-index:10000}.pac-item{padding:.6rem 1rem;font-size:.9rem;cursor:pointer;border-top:1px solid var(--color-border)}.pac-item:first-child{border-top:none}.pac-item:hover{background-color:#fff5f5}.pac-item-selected{background-color:#fff1f0}.saved-address-box{display:flex;align-items:center;gap:.75rem;background:#fff1f0;border:1.5px solid #fecaca;border-radius:12px;padding:.875rem 1rem;margin-bottom:1.25rem}.saved-address-box-icon{font-size:1.25rem;flex-shrink:0}.saved-address-box-content{flex:1;min-width:0}.saved-address-box-text{font-size:.9rem;font-weight:600;color:var(--color-text);margin:0;line-height:1.4}.saved-address-tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.saved-address-tag{display:inline-flex;align-items:center;gap:.25rem;background:#fee2e2;border:1px solid #fecaca;border-radius:99px;color:var(--color-primary-dark);font-size:.75rem;font-weight:600;padding:.2rem .6rem}.saved-address-complement{font-size:.8rem;color:var(--color-text-light);margin:.25rem 0 0;font-style:italic}.saved-address-condo-badge{display:inline-block;margin-top:.35rem;font-size:.72rem;font-weight:700;color:var(--color-primary-dark);background:#fee2e2;border:1px solid #fecaca;border-radius:99px;padding:.15rem .6rem}.change-address-btn{background:none;border:1.5px solid var(--color-primary);border-radius:99px;color:var(--color-primary);font-size:.8rem;font-weight:700;padding:.35rem .875rem;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .2s}.change-address-btn:hover{background:var(--color-primary);color:#fff}.address-search-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.address-search-header label{display:block;color:var(--color-text-light);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin:0}.cancel-search-btn{background:none;border:none;color:var(--color-text-lighter);font-size:.8rem;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;transition:color .2s}.cancel-search-btn:hover{color:var(--color-text)}.label-optional{font-weight:400;color:var(--color-text-lighter);text-transform:none;letter-spacing:0;font-size:.8rem}.label-required{font-weight:700;color:var(--color-primary);text-transform:none;letter-spacing:0;font-size:.8rem}.condominium-check{display:flex;align-items:flex-start;gap:.875rem;cursor:pointer;padding:.875rem 1rem;background:#f8f9fb;border:1.5px solid var(--color-border);border-radius:12px;margin-bottom:1.25rem;transition:border-color .2s,background .2s}.condominium-check:hover{border-color:var(--color-primary);background:#fff9f9}.condominium-check input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin-top:2px}.condominium-check-text{display:flex;flex-direction:column;gap:.2rem}.condominium-check-text strong{font-size:.95rem;color:var(--color-text);font-weight:700}.condominium-hint{font-size:.8rem;color:var(--color-text-light)}.address-substep-dots{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.25rem}.substep-dot{width:8px;height:8px;border-radius:50%;background:#e0e0e0;transition:all .3s ease}.substep-dot.active{width:24px;border-radius:99px;background:var(--color-primary)}.substep-dot.completed{background:var(--color-primary);opacity:.5}.address-preview-box{display:flex;align-items:center;gap:.75rem;background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:12px;padding:.875rem 1rem;margin-bottom:1.25rem;animation:slide-in .3s ease-out}.address-preview-icon{width:28px;height:28px;border-radius:50%;background:#22c55e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;flex-shrink:0}.address-preview-text{font-size:.9rem;font-weight:600;color:#15803d;margin:0;line-height:1.4}.substep-advance-btn{margin-top:.5rem}.address-parsed-info{background:#f8fdf9;border:1px solid #c6f6d5;border-radius:10px;padding:.875rem 1rem;margin:-.25rem 0 1.25rem}.address-parsed-row{display:flex;gap:.75rem;align-items:baseline;margin-bottom:.35rem}.address-parsed-row:last-child{margin-bottom:0}.address-parsed-label{font-size:.72rem;font-weight:700;color:#2f855a;text-transform:uppercase;letter-spacing:.04em;min-width:48px;flex-shrink:0}.address-parsed-value{font-size:.9rem;font-weight:600;color:#22543d}.checkout-map-container{margin-top:1.25rem;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;border:1px solid var(--color-border)}.map-hint{font-size:.82rem;color:var(--color-text-light);text-align:center;margin:.6rem 0 0;font-style:italic}.map-placeholder{background:var(--color-bg);height:200px;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--color-text-lighter);margin-top:1.25rem;border:2px dashed var(--color-border)}.map-placeholder p{font-size:.9rem;margin:.25rem 0 0}.map-pin{font-size:2rem}.calculating-delivery-badge{display:flex;align-items:center;gap:.6rem;margin-top:1rem;font-size:.875rem;color:var(--color-primary);font-weight:600}.spinner-ring{width:16px;height:16px;border:2px solid rgba(231,76,60,.2);border-top-color:var(--color-primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.pay-on-arrival-badge{display:flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,#f0fff4,#e6fffa);border:1px solid #9ae6b4;border-radius:12px;padding:.875rem 1rem;margin-bottom:1.25rem;font-size:.9rem;color:#276749;font-weight:500;line-height:1.4}.pay-arrival-icon{font-size:1.5rem;flex-shrink:0}.payment-options{display:flex;flex-direction:column;gap:.75rem}.payment-option{display:flex;align-items:center;gap:.875rem;padding:1rem 1.25rem;border:2px solid var(--color-border);border-radius:12px;cursor:pointer;transition:all .2s ease;background-color:var(--color-bg-white);font-size:1rem;font-weight:500;color:var(--color-text)}.payment-option input[type=radio]{width:1.2rem;height:1.2rem;accent-color:var(--color-primary)}.payment-method-icon{font-size:1.3rem}.payment-option:hover{border-color:var(--color-primary);background-color:#fff9f9}.payment-option.selected{border-color:var(--color-primary);background-color:#fff5f5;box-shadow:0 4px 12px #e74c3c1a;font-weight:700;color:var(--color-primary)}.cash-change-section{margin-top:1.5rem;padding-top:1.25rem;border-top:1px dashed var(--color-border)}.change-input-wrapper{display:flex;align-items:center;border:1.5px solid var(--color-border-dark);border-radius:12px;overflow:hidden;background:#fafafa;transition:all .2s}.change-input-wrapper:focus-within{border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 4px #e74c3c1a}.change-currency{padding:.9rem .875rem;font-weight:700;color:var(--color-text-light);background:#f3f4f6;border-right:1px solid var(--color-border);font-size:1rem}.change-input-field{flex:1;border:none!important;background:transparent!important;padding:.9rem 1rem!important;font-size:1rem!important;box-shadow:none!important;outline:none;color:var(--color-text)}.change-hint{font-size:.8rem;color:var(--color-text-lighter);margin:.5rem 0 0;font-style:italic}.review-section{padding:1rem 0;border-bottom:1px solid var(--color-border);margin-bottom:.25rem}.review-section:last-of-type{border-bottom:none}.review-section-title{font-size:.875rem;font-weight:700;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .75rem}.review-items-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.review-item{display:flex;align-items:center;gap:.75rem;font-size:.95rem}.review-item-qty{font-weight:800;color:var(--color-primary);min-width:24px;font-size:.875rem}.review-item-name{flex:1;color:var(--color-text);font-weight:500}.review-item-price{font-weight:700;color:var(--color-text)}.review-address{font-size:.95rem;color:var(--color-text);margin:0;line-height:1.5}.review-delivery-time{font-size:.85rem;color:var(--color-text-light);margin:.5rem 0 0}.review-payment{font-size:1rem;font-weight:600;color:var(--color-text);margin:0}.review-change{font-weight:500;color:var(--color-text-light)}.review-totals{background:var(--color-bg);border-radius:12px;padding:1rem;margin:1rem 0;display:flex;flex-direction:column;gap:.625rem}.summary-row{display:flex;justify-content:space-between;font-size:.95rem;color:var(--color-text-light)}.delivery-free{color:#27ae60;font-weight:700}.summary-total-row{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:2px solid var(--color-border);margin-top:.25rem}.summary-total-row span:first-child{font-size:1rem;font-weight:700;color:var(--color-text)}.total-value{color:var(--color-primary);font-size:1.6rem;font-weight:900}.delivery-error-message{padding:.875rem 1rem;border-radius:10px;font-size:.9rem;font-weight:500;display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.error-accent{background-color:#fff5f5;color:#c0392b;border:1px solid #feb2b2}.checkout-footer-fixed{position:fixed;bottom:0;left:0;right:0;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:14px 20px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border);z-index:100;display:flex;justify-content:center}@media(min-width:1025px){.checkout-footer-fixed{left:260px}}.step-next-btn{max-width:600px;width:100%;padding:1.1rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:none;border-radius:99px;font-size:1.1rem;font-weight:700;cursor:pointer;box-shadow:0 8px 20px #e74c3c4d;transition:all .3s ease;letter-spacing:.3px}.step-next-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px #e74c3c66}.step-next-btn:disabled{background:var(--color-text-lighter);cursor:not-allowed;box-shadow:none}.finalize-button{width:100%;padding:1.1rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:none;border-radius:99px;font-size:1.1rem;font-weight:700;cursor:pointer;box-shadow:0 8px 20px #e74c3c4d;transition:all .3s ease;margin-top:.5rem}.finalize-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 28px #e74c3c66}.finalize-button:disabled{background:var(--color-text-lighter);cursor:not-allowed;box-shadow:none}.below-minimum-btn{display:block;text-align:center;text-decoration:none;margin-bottom:.75rem}.below-minimum-btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px #e74c3c66}.minimum-order-warning{background-color:#fffcf0;color:#856404;padding:.875rem 1rem;border-radius:10px;margin-bottom:1rem;text-align:center;font-weight:600;font-size:.9rem;border:1px solid #ffeeba}@media(max-width:480px){.checkout-step-card{padding:1.25rem 1rem}.progress-label{font-size:.62rem}.total-value{font-size:1.35rem}}.review-item{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:.5rem 0;border-bottom:1px solid var(--color-bg)}.review-item:last-child{border-bottom:none}.review-item-main{display:flex;align-items:baseline;gap:.5rem;width:100%;text-align:left}.review-item-qty{flex-shrink:0;font-weight:700;color:var(--color-primary);min-width:2rem;font-size:.9rem;text-align:left}.review-item-name{flex:1;font-weight:500;font-size:.95rem;text-align:left}.review-item-price{flex-shrink:0;font-weight:600;font-size:.9rem;color:var(--color-text);white-space:nowrap;text-align:right}.review-item-extras{list-style:none;padding:0;margin:.25rem 0 0 2rem;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;text-align:left}.review-item-extras li{font-size:.8rem;color:var(--color-text-light);line-height:1.4;text-align:left}.review-item-obs{margin:.2rem 0 0 2rem;font-size:.8rem;color:var(--color-text-light);font-style:italic;line-height:1.4}.review-card,.review-card *{text-align:left}.cart-page{min-height:100vh;background-color:var(--color-bg);padding-bottom:90px}.cart-header{background-color:var(--color-bg-white);padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);box-shadow:0 1px 2px #0000000d;position:sticky;top:0;z-index:100;justify-content:space-between;border-bottom:1px solid var(--color-border)}.cart-header h1{font-size:1.125rem;margin:0;font-weight:700;color:var(--color-text);flex:1;text-align:center}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm);min-width:40px;justify-content:flex-end}.empty-cart-button{padding:.4rem;background:none;border:none;cursor:pointer;transition:background-color .2s,color .2s;display:flex;align-items:center;justify-content:center;color:#9ca3af;border-radius:8px}.empty-cart-button:hover{background-color:#fef2f2;color:#ef4444}.cart-content{padding:var(--spacing-md);max-width:800px;margin:0 auto}.cart-empty-container{padding:var(--spacing-xl) var(--spacing-md);display:flex;justify-content:center;align-items:center}.cart-empty-card{background-color:var(--color-bg-white);border-radius:var(--spacing-md);padding:3rem 2rem;text-align:center;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid var(--color-border);width:100%;max-width:400px}.empty-icon{font-size:3.5rem;margin-bottom:1.5rem;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}.cart-empty-card h2{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0 0 .5rem}.cart-empty-card p{font-size:.95rem;color:var(--color-text-light);margin:0 0 2rem}.browse-button{width:100%;padding:1rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:99px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .2s,background-color .2s;box-shadow:0 4px 12px #e74c3c33}.browse-button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}.cart-items{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.cart-product-card{background-color:var(--color-bg-white);border-radius:var(--spacing-md);padding:var(--spacing-md);display:flex;gap:var(--spacing-md);box-shadow:0 1px 3px #0000001a;border:1px solid var(--color-border)}.cart-item-image{width:80px;height:80px;flex-shrink:0;border-radius:var(--spacing-sm);overflow:hidden;border:1px solid var(--color-border)}.cart-item-image img{width:100%;height:100%;object-fit:cover}.cart-item-details{flex:1;display:flex;flex-direction:column;gap:.5rem}.cart-item-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.cart-item-name{font-size:1rem;font-weight:700;color:var(--color-text);margin:0;flex:1}.cart-item-actions{display:flex;gap:.25rem}.cart-action-btn{background:none;border:none;cursor:pointer;padding:.4rem;border-radius:8px;transition:background-color .2s,color .2s;display:flex;align-items:center;justify-content:center;color:#9ca3af}.cart-action-btn.edit-btn:hover{background-color:#f0f9ff;color:#3b82f6}.cart-action-btn.remove-btn:hover{background-color:#fef2f2;color:#ef4444}.cart-item-quantity{display:flex;align-items:center;gap:.75rem}.quantity-label{font-weight:600;color:var(--color-text-light);font-size:.8125rem}.quantity-controls-cart{display:flex;align-items:center;background-color:var(--color-bg);border-radius:99px;padding:2px}.qty-btn{width:28px;height:28px;border-radius:50%;border:1px solid rgba(0,0,0,.08);background-color:#fff;color:var(--color-text);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001f,0 1px 3px #00000014}.qty-btn:hover:not(:disabled){background-color:var(--color-primary);color:#fff}.qty-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.qty-value{min-width:32px;text-align:center;font-size:.9375rem;font-weight:700;color:var(--color-text)}.cart-item-section{display:flex;flex-direction:column;gap:.25rem}.section-label{font-size:.75rem;font-weight:700;color:var(--color-text-lighter);text-transform:uppercase;letter-spacing:.025em}.accompaniments-list,.observations-list,.preferences-list{padding:0;margin:0;list-style:none;display:flex;flex-direction:column;gap:.125rem}.accompaniments-list li,.observations-list li,.preferences-list li{font-size:.875rem;color:var(--color-text-light);line-height:1.4}.cart-item-price{font-size:1.125rem;font-weight:700;color:var(--color-primary);margin-top:.5rem;margin-left:auto;align-self:flex-end;text-align:right}.combo-item-display{display:flex;align-items:baseline;gap:.25rem}.combo-item-obs{font-size:.8125rem;color:var(--color-text-lighter);font-style:italic}.extra-drink-cost{color:var(--color-primary)!important;font-weight:600}.other-observation-text{font-size:.875rem;color:var(--color-text-light);background-color:#fffbeb;padding:.5rem .75rem;border-radius:var(--spacing-xs);border-left:3px solid #fbbf24;font-style:italic}.minimum-order-warning{background-color:#fffbeb;color:#92400e;padding:1rem;border-radius:var(--spacing-sm);font-size:.875rem;font-weight:600;margin-bottom:var(--spacing-md);text-align:center;border:1px solid #fde68a}.minimum-order-warning span{color:var(--color-primary)}.cart-summary{background-color:var(--color-bg-white);border-radius:var(--spacing-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:0 1px 3px #0000001a;border:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-sm)}.summary-row{display:flex;justify-content:space-between;align-items:center;font-size:.9375rem;color:var(--color-text-light)}.delivery-row{padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-xs)}.free-delivery{color:var(--color-success);font-weight:700}.total-row{color:var(--color-text);font-size:1.125rem;font-weight:800;padding-top:var(--spacing-xs)}.summary-total{color:var(--color-primary);font-size:1.25rem}.cart-footer-fixed{position:fixed;bottom:0;left:0;right:0;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:14px 20px;padding-bottom:calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border);z-index:100;display:flex;justify-content:center}@media(min-width:1025px){.cart-footer-fixed{left:260px}}.proceed-button{width:100%;max-width:600px;padding:1.125rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:99px;font-size:1.125rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #e74c3c4d;transition:all .2s ease}.proceed-button:hover:not(:disabled){background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px #e74c3c66}.proceed-button:active:not(:disabled){transform:translateY(0)}.proceed-button:disabled{background-color:var(--color-text-lighter);box-shadow:none;cursor:not-allowed;opacity:.7}@media(max-width:768px){.cart-page{background-color:#fff;padding-bottom:90px}.cart-header{padding:.75rem 1rem;border-bottom:1px solid #f0f0f0;box-shadow:none}.cart-header h1{font-size:1.05rem}.back-button{font-size:.875rem}.back-button span{display:none}.cart-empty-container{padding:0 1.5rem;min-height:calc(100vh - 60px);align-items:center}.cart-empty-card{border:none;box-shadow:none;background:transparent;padding:2rem 1rem;max-width:100%}.empty-icon{font-size:4rem;margin-bottom:1.25rem;opacity:.7}.cart-empty-card h2{font-size:1.2rem;color:#333}.cart-empty-card p{font-size:.9rem;color:#999;margin-bottom:2.5rem}.browse-button{padding:.9rem;font-size:.95rem;border-radius:99px;max-width:280px;margin:0 auto;display:block}.cart-content{padding:.75rem}.cart-items{gap:0;margin-bottom:1rem}.cart-product-card{background-color:#fff;border-radius:0;box-shadow:none;border:none;border-bottom:1px solid #f0f0f0;padding:.875rem .5rem;gap:.75rem}.cart-item-image{width:64px;height:64px;border-radius:10px;border:none}.cart-item-name{font-size:.9rem}.cart-action-btn{font-size:1rem;padding:.25rem}.cart-item-price{font-size:1rem}.quantity-label{font-size:.75rem}.qty-btn{width:30px;height:30px}.cart-summary{border-radius:12px;border:none;background:#fff;box-shadow:0 1px 3px #0000000f;padding:1rem;margin-bottom:1rem}.summary-row{font-size:.875rem}.total-row{font-size:1rem}.summary-total{font-size:1.1rem}.proceed-button{font-size:1rem;padding:.95rem}.section-label{font-size:.7rem}.accompaniments-list li,.observations-list li,.preferences-list li{font-size:.8rem}}.address-page{min-height:100vh;background-color:var(--color-bg);padding-bottom:5rem}.address-header{background-color:var(--color-bg-white);padding:var(--spacing-md) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-md);box-shadow:0 1px 2px #0000000d;position:sticky;top:0;z-index:100;justify-content:space-between;border-bottom:1px solid var(--color-border)}.address-header h1{font-size:1.125rem;margin:0;font-weight:700;color:var(--color-text);flex:1;text-align:center}.back-button{background:none;border:none;color:var(--color-primary);font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;padding:.5rem;margin-left:-.5rem;transition:opacity .2s}.back-button:hover{opacity:.7}.address-page-content{padding:var(--spacing-md);max-width:600px;margin:0 auto}.address-error-banner{background-color:#fff5f5;color:#e74c3c;padding:1rem;border-radius:var(--spacing-sm);margin-bottom:var(--spacing-md);font-size:.9rem;border:1px solid #fed7d7;font-weight:500}.section-title{font-size:.875rem;font-weight:700;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;margin:1.5rem 0 .75rem}.address-sections-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.saved-addresses-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.saved-address-card{display:flex;align-items:center;background-color:var(--color-bg-white);padding:var(--spacing-md);border-radius:var(--spacing-md);box-shadow:0 1px 3px #0000001a;border:1px solid var(--color-border);transition:transform .2s,box-shadow .2s}.saved-address-content{flex:1;display:flex;align-items:center;gap:var(--spacing-md);cursor:pointer;min-width:0}.address-icon{font-size:1.25rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.05))}.address-text-container{display:flex;flex-direction:column;min-width:0}.address-main-text{font-size:.9375rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.address-sub-text{font-size:.8125rem;color:var(--color-text-light)}.delete-address-action{background:none;border:none;font-size:1.125rem;cursor:pointer;padding:.5rem;opacity:.4;transition:opacity .2s,transform .2s}.delete-address-action:hover{opacity:1;transform:scale(1.1)}.address-card{background-color:var(--color-bg-white);border-radius:var(--spacing-md);padding:var(--spacing-lg);box-shadow:0 4px 6px -1px #0000001a;border:1px solid var(--color-border)}.address-card .section-title{margin-top:0;margin-bottom:1.25rem}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:.5rem;color:var(--color-text);font-size:.875rem;font-weight:600}.address-input{width:100%;padding:.75rem 1rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--spacing-sm);font-size:1rem;color:var(--color-text);transition:all .2s}.address-input:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-bg-white);box-shadow:0 0 0 3px #e74c3c1a}.form-row{display:flex;gap:var(--spacing-md)}.checkbox-row{margin:var(--spacing-lg) 0}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;color:var(--color-text);font-size:.9375rem;font-weight:500}.checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer}.address-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.clear-address-btn{flex:1;padding:1rem;background-color:var(--color-bg);color:var(--color-text-light);border:1px solid var(--color-border);border-radius:99px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s}.clear-address-btn:hover{background-color:#f3f4f6;color:var(--color-text)}.save-address-btn{flex:2;padding:1rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:99px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #e74c3c33}.save-address-btn:hover:not(:disabled){background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px #e74c3c4d}.save-address-btn:disabled{background-color:var(--color-text-lighter);cursor:not-allowed;opacity:.7;box-shadow:none}.address-search-input-full{width:100%;box-sizing:border-box}.address-preview-box-simple{display:flex;align-items:flex-start;gap:.5rem;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--spacing-sm);padding:.75rem 1rem;margin-bottom:var(--spacing-md)}.address-preview-icon-simple{color:#16a34a;font-weight:700;font-size:1rem;flex-shrink:0;margin-top:1px}.address-preview-text-simple{font-size:.9rem;color:#166534;margin:0;line-height:1.4}.address-map-container{margin-bottom:var(--spacing-sm)}.address-map-hint{font-size:.8125rem;color:var(--color-text-light);text-align:center;margin:.5rem 0 0}.map-loading-placeholder{height:200px;background:#f3f4f6;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--color-text-light);font-size:.9rem}@media(max-width:640px){.address-header{padding:var(--spacing-sm) var(--spacing-md)}.address-card{padding:var(--spacing-md)}.address-actions{flex-direction:column-reverse}.clear-address-btn,.save-address-btn{width:100%}}.order-tracking-page{min-height:100vh;background-color:var(--color-bg);display:flex;flex-direction:column}.tracking-loading,.tracking-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;gap:1.5rem;background-color:var(--color-bg-white)}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-bg);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.error-icon{font-size:3.5rem}.tracking-error h2{margin:0;color:var(--color-text);font-weight:700}.tracking-error p{color:var(--color-text-light);margin:0}.tracking-error button{margin-top:1rem;padding:.875rem 2rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;border:none;border-radius:99px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #e74c3c33;transition:all .2s}.tracking-error button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #e74c3c4d}.success-banner{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);padding:1.25rem 1.5rem;animation:slideDown .6s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 12px #00000026}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.success-content{display:flex;align-items:center;gap:1rem;max-width:650px;margin:0 auto}.success-icon{font-size:2.5rem}.success-text{display:flex;flex-direction:column;color:#fff}.success-text strong{font-size:1.125rem;font-weight:700}.success-text span{font-size:.9rem;opacity:.95;font-weight:500}.tracking-header{display:flex;align-items:center;padding:1rem 1.5rem;background-color:var(--color-bg-white);box-shadow:0 1px 3px #0000001a;position:sticky;top:0;z-index:100}.back-button{display:flex;align-items:center;gap:.5rem;background:none;border:none;font-size:1rem;color:var(--color-text-light);cursor:pointer;padding:.5rem;margin-left:-.5rem;font-weight:500;transition:color .2s}.back-button:hover{color:var(--color-primary)}.back-button span{display:none}@media(min-width:480px){.back-button span{display:inline}}.tracking-header h1{flex:1;text-align:center;font-size:1.125rem;font-weight:700;color:var(--color-text);margin:0;margin-right:2rem}.map-section{height:240px;position:relative;max-width:calc(650px - 2rem);width:calc(100% - 2rem);margin:1.5rem auto;border-radius:var(--spacing-md);overflow:hidden;box-shadow:0 10px 15px -3px #0000001a;border:1px solid var(--color-border)}.tracking-content{flex:1;padding:0 1rem 2rem;position:relative;z-index:50;display:flex;flex-direction:column;gap:1.25rem;max-width:650px;width:100%;margin-left:auto;margin-right:auto}.status-card,.details-card{background-color:var(--color-bg-white);border-radius:var(--spacing-md);padding:1.5rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;border:1px solid var(--color-border)}.current-status{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-bg)}.status-emoji{font-size:3rem;animation:pulse-soft 2s infinite ease-in-out;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}@keyframes pulse-soft{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.status-info{display:flex;flex-direction:column}.status-label{font-size:1.5rem;font-weight:800;color:var(--color-text);line-height:1.2}.estimated-time{font-size:1rem;color:var(--color-text-light);font-weight:500}.status-progress{position:relative}.progress-bar{height:8px;background-color:var(--color-bg);border-radius:4px;margin-bottom:.75rem;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-primary-dark));border-radius:4px;transition:width .8s cubic-bezier(.16,1,.3,1)}.status-steps{display:flex;justify-content:space-between}.status-step{display:flex;flex-direction:column;align-items:center;flex:1}.step-dot{width:24px;height:24px;border-radius:50%;background-color:var(--color-bg);display:flex;align-items:center;justify-content:center;font-size:.75rem;margin-bottom:.5rem;transition:all .3s ease;border:2px solid transparent}.status-step.active .step-dot{background-color:var(--color-bg-white);border-color:var(--color-primary)}.status-step.current .step-dot{background-color:var(--color-primary);box-shadow:0 0 0 4px #e74c3c26;animation:dot-pulse 2s infinite;color:#fff}@keyframes dot-pulse{0%,to{box-shadow:0 0 0 4px #e74c3c26}50%{box-shadow:0 0 0 8px #e74c3c14}}.step-label{font-size:.7rem;color:var(--color-text-lighter);text-align:center;font-weight:500}.status-step.active .step-label{color:var(--color-text);font-weight:700}.details-header{margin-bottom:1.25rem}.details-header h2{font-size:1.125rem;font-weight:700;color:var(--color-text);margin:0}.detail-row{display:flex;align-items:flex-start;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--color-bg)}.detail-row:last-of-type{border-bottom:none}.detail-icon{font-size:1.5rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.05))}.detail-content{display:flex;flex-direction:column;flex:1}.detail-label{font-size:.75rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.05em;font-weight:700;margin-bottom:.125rem}.detail-value{font-size:1rem;color:var(--color-text);font-weight:600}.detail-sub{font-size:.875rem;color:var(--color-text-light)}.items-section{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid var(--color-bg)}.items-section h3{font-size:.875rem;color:var(--color-text-light);margin:0 0 1rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.items-list{display:flex;flex-direction:column;gap:0}.order-item{padding:1rem 0;border-bottom:1px solid var(--color-bg)}.order-item:last-child{border-bottom:none}.order-item-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.item-qty{font-size:1rem;font-weight:800;color:var(--color-primary);min-width:28px}.item-name{flex:1;font-size:1rem;color:var(--color-text);font-weight:600}.item-price{font-size:1rem;color:var(--color-text);font-weight:700}.order-item-customizations{margin-left:28px;padding-left:1rem;border-left:2px solid var(--color-bg);display:flex;flex-direction:column;gap:.75rem}.customization-section{display:flex;flex-direction:column;gap:.25rem}.customization-label{font-size:.75rem;color:var(--color-text-light);font-weight:700}.customization-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.25rem}.customization-list li{font-size:.875rem;color:var(--color-text);font-weight:500}.customization-text{font-size:.875rem;color:var(--color-text);font-style:italic;background-color:var(--color-bg);padding:.5rem;border-radius:6px}.totals-section{margin-top:1.5rem;padding-top:1.25rem;border-top:2px solid var(--color-bg);display:flex;flex-direction:column;gap:.5rem}.total-row{display:flex;justify-content:space-between;font-size:1rem;color:var(--color-text-light);font-weight:500}.total-row.total-final{font-size:1.5rem;font-weight:800;color:var(--color-text);padding-top:.5rem}.total-row.total-final span:last-child{color:var(--color-primary)}.confirm-button{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1.125rem 1.5rem;background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;border:none;border-radius:99px;font-size:1.125rem;font-weight:700;cursor:pointer;box-shadow:0 8px 16px #2ecc7140;transition:all .3s cubic-bezier(.16,1,.3,1);margin-top:.5rem}.confirm-button:hover{transform:translateY(-2px);box-shadow:0 12px 24px #2ecc7159}.confirm-button:active{transform:translateY(0)}.btn-icon{font-size:1.5rem}@media(min-width:768px){.map-section{height:320px;max-width:650px}.tracking-content{gap:1.5rem}.status-card,.details-card{padding:2.5rem}.step-label{font-size:.875rem}.success-icon{font-size:3.5rem}}.order-review-page{padding:20px 20px 80px;max-width:600px;margin:0 auto}.review-header{text-align:center;margin-bottom:30px}.review-header h1{margin-bottom:10px;color:#333}.review-header p{color:#666}.review-item-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px}.review-item-card h3{margin:0 0 5px;color:#333}.item-details{color:#999;font-size:.9rem;margin-bottom:15px}.rating-container{margin-bottom:15px}.rating-container label{display:block;margin-bottom:5px;font-weight:700;color:#555}.stars{font-size:2rem;color:#ddd;cursor:pointer}.star{transition:color .2s}.star.filled{color:#f1c40f}.comment-container label{display:block;margin-bottom:5px;font-weight:700;color:#555}.comment-container textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;resize:vertical;font-family:inherit}.submit-review-button{width:100%;padding:15px;background:#e74c3c;color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;box-shadow:0 4px 6px #e74c3c33;margin-top:20px}.submit-review-button:hover{background:#c0392b}.submit-review-button:disabled{background:#ccc;cursor:not-allowed;box-shadow:none}.review-success-page{min-height:100vh;background:linear-gradient(135deg,#e74c3c,#c0392b);display:flex;align-items:center;justify-content:center;padding:20px}.success-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;max-width:400px;width:100%;padding:20px}.success-icon{width:100px;height:100px;margin:0 auto 30px;color:#fff;animation:scaleIn .5s ease-out}.success-icon svg{width:100%;height:100%}.success-icon circle{animation:drawCircle .6s ease-out forwards;stroke-dasharray:166;stroke-dashoffset:166}.success-icon path{animation:drawCheck .4s .4s ease-out forwards;stroke-dasharray:48;stroke-dashoffset:48}@keyframes drawCircle{to{stroke-dashoffset:0}}@keyframes drawCheck{to{stroke-dashoffset:0}}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.success-content h1{font-size:1.8rem;margin-bottom:15px;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.success-content p{font-size:1.1rem;opacity:.9;margin-bottom:30px;line-height:1.5}.back-to-menu-button{background:#fff;color:#e74c3c;border:none;padding:15px 40px;border-radius:99px;font-size:1.1rem;font-weight:600;cursor:pointer;box-shadow:0 4px 15px #00000026;transition:all .3s ease}.back-to-menu-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.back-to-menu-button:active{transform:translateY(0)}@media(max-width:480px){.review-success-page{padding:15px}.success-icon{width:80px;height:80px;margin-bottom:20px}.success-content h1{font-size:1.5rem;margin-bottom:12px}.success-content p{font-size:1rem;margin-bottom:25px;padding:0 10px}.back-to-menu-button{width:100%;padding:14px 30px;font-size:1rem}}.success-content h1,.success-content p,.back-to-menu-button{display:block;width:auto}.order-history-page{min-height:100vh;background:#f5f5f5}.order-history-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--color-primary, #ef4444);color:#fff;position:sticky;top:0;z-index:10}.order-history-header h1{font-size:1.1rem;font-weight:600;margin:0}.order-history-header .back-btn{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center}.order-history-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:#888}.order-history-loading .loading-spinner{width:32px;height:32px;border:3px solid #eee;border-top-color:var(--color-primary, #ef4444);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.order-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.order-history-empty h2{font-size:1.1rem;color:#555;margin:1rem 0 .25rem}.order-history-empty p{color:#999;font-size:.9rem;margin:0}.order-history-empty .browse-btn{margin-top:1.5rem;padding:.7rem 1.5rem;background:var(--color-primary, #ef4444);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.order-history-list{padding:1rem;display:flex;flex-direction:column;gap:.75rem}.order-history-card{background:#fff;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 1px 3px #00000014;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.order-history-card:active{transform:scale(.98)}.order-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.order-number{font-weight:700;font-size:.95rem;color:#333}.order-status-badge{color:#fff;font-size:.7rem;font-weight:600;padding:3px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.3px}.order-card-body{display:flex;gap:1rem;font-size:.85rem;color:#777;margin-bottom:.5rem}.order-card-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:.5rem;border-top:1px solid #f0f0f0}.order-total{font-weight:700;font-size:1rem;color:#333}.order-card-bottom svg{color:#ccc}.restaurant-card{background-color:var(--color-bg-white);border-radius:20px;overflow:hidden;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;border:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;width:100%;min-width:0;position:relative}.restaurant-card:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border-color:#e74c3c33}.restaurant-card-cover{height:140px;background-size:cover;background-position:center;position:relative;background-color:#f3f4f6;overflow:hidden}.cover-overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0000,#0006);z-index:1}.restaurant-status-badge{position:absolute;top:12px;right:12px;background-color:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:5px 12px;border-radius:20px;font-size:.7rem;font-weight:700;color:#059669;display:flex;align-items:center;gap:6px;box-shadow:0 4px 6px #0000001a;z-index:2;text-transform:uppercase;letter-spacing:.5px}.status-dot{width:6px;height:6px;background-color:#10b981;border-radius:50%;display:inline-block;animation:pulse-green 2s infinite}@keyframes pulse-green{0%{transform:scale(.95);box-shadow:0 0 #10b981b3}70%{transform:scale(1);box-shadow:0 0 0 6px #10b98100}to{transform:scale(.95);box-shadow:0 0 #10b98100}}.restaurant-card-content{padding:1.25rem;flex:1;display:flex;flex-direction:column;gap:12px;background:#fff;position:relative;min-width:0}.restaurant-card-header{display:flex;gap:16px;margin-top:-45px;position:relative;z-index:10;min-width:0}.restaurant-card-logo-box{width:64px;height:64px;border-radius:16px;background:#fff;padding:4px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;flex-shrink:0;border:1px solid rgba(0,0,0,.05)}.restaurant-card-logo{width:100%;height:100%;object-fit:cover;border-radius:12px}.restaurant-card-logo-placeholder{width:100%;height:100%;border-radius:12px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800}.restaurant-card-title-area{flex:1;min-width:0;padding-top:38px}.restaurant-card-name{font-size:1.15rem;font-weight:800;color:#1f2937;margin:0 0 4px;letter-spacing:-.02em}.restaurant-card-cuisines{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap}.cuisine-tag{font-size:.65rem;font-weight:700;color:#6b7280;background-color:#f3f4f6;padding:2px 8px;border-radius:6px;text-transform:uppercase}.restaurant-card-address{font-size:.8rem;color:#6b7280;margin:0;line-height:1.4;font-weight:500}.restaurant-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:8px;border-top:1px dashed #f3f4f6}.restaurant-card-stars{display:flex;align-items:center;gap:3px}.restaurant-card-stars .star{font-size:.85rem;color:#fbbf24}.restaurant-card-stars .star.empty{color:#e5e7eb}.restaurant-card-stars .rating-value{font-size:.85rem;color:#1f2937;margin-left:4px;font-weight:800}.restaurant-card-distance{font-size:.75rem;font-weight:800;color:var(--color-primary);background-color:#e74c3c14;padding:4px 10px;border-radius:99px}@media(max-width:640px){.restaurant-card-name{font-size:1rem}.restaurant-card-header{margin-top:-35px;gap:12px}.restaurant-card-logo-box{width:54px;height:54px;border-radius:12px}.restaurant-card-title-area{padding-top:30px}}@media(max-width:480px){.restaurant-card-content{padding:1rem}.restaurant-card-header{margin-top:-30px;gap:10px}.restaurant-card-logo-box{width:48px;height:48px}.restaurant-card-title-area{padding-top:25px}.restaurant-card-name{font-size:.95rem}.restaurant-card-address{font-size:.75rem}}.homepage{min-height:100vh;background-color:var(--color-bg)}.homepage-address-mode{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.homepage-header{background-color:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:1rem var(--spacing-lg);box-shadow:0 1px 2px #0000000d;position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(0,0,0,.05)}.discovery-header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.homepage-brand{display:flex;align-items:center;gap:var(--spacing-md)}.homepage-logo{flex-shrink:0}.homepage-logo .logo-img{width:44px;height:44px;object-fit:contain;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;border:4px solid white}.brand-text{display:flex;flex-direction:column}.brand-name{font-size:1.35rem;font-weight:900;color:#111;line-height:1;letter-spacing:-.04em}.brand-tagline{font-size:.75rem;color:#6b7280;font-weight:600}.homepage-location{display:flex;align-items:center;gap:var(--spacing-md);background-color:#f3f4f6;padding:6px 16px;border-radius:99px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid transparent;max-width:400px;flex:1}.homepage-location:hover{background-color:#fff;border-color:var(--color-primary);box-shadow:0 10px 15px -3px #0000001a}.location-info{display:flex;flex-direction:column;min-width:0;flex:1}.location-label{font-size:.65rem;font-weight:800;color:#9ca3af;text-transform:uppercase;letter-spacing:.1em}.location-text{font-size:.875rem;font-weight:700;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.location-change{font-size:.7rem;font-weight:800;color:var(--color-primary);text-transform:uppercase;letter-spacing:.5px}.homepage-search-container{background-color:transparent;padding:var(--spacing-lg);margin-top:-35px;position:relative;z-index:20}.homepage-search{max-width:700px;margin:0 auto;display:flex;align-items:center;gap:1rem;background-color:#fff;padding:1rem 1.75rem;border-radius:20px;border:1px solid rgba(0,0,0,.05);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;transition:all .3s ease}.homepage-search:focus-within{transform:translateY(-2px);border-color:var(--color-primary);box-shadow:0 25px 30px -5px #e74c3c26}.homepage-search .search-icon{font-size:1.25rem;color:var(--color-primary)}.homepage-search input{flex:1;border:none;background:transparent;font-size:1.05rem;color:var(--color-text);outline:none;font-weight:600}.homepage-hero{background:linear-gradient(#0006,#0009),url(https://images.unsplash.com/photo-1504674900247-0877df9cc836?q=80&w=1200&auto=format&fit=crop);background-size:cover;background-position:center;height:380px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 var(--spacing-lg);margin-bottom:0;position:relative;overflow:hidden}.hero-content{max-width:800px;animation:hero-fade-in 1s ease-out}@keyframes hero-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-content h1{font-size:3.5rem;font-weight:900;margin:0 0 1rem;letter-spacing:-.05em;text-shadow:0 4px 20px rgba(0,0,0,.5);line-height:1.05}.hero-content p{font-size:1.25rem;opacity:.95;font-weight:600;margin:0;letter-spacing:.5px}.homepage-cuisine-container{background-color:transparent;padding:2.5rem 0 1rem;border-bottom:none}.homepage-cuisine-scroll{display:flex;gap:1.5rem;overflow-x:auto;padding:0 var(--spacing-lg);scrollbar-width:none;-ms-overflow-style:none;max-width:1200px;margin:0 auto}.cuisine-pill{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:0;background:none;border:none;cursor:pointer;transition:all .3s ease;white-space:nowrap}.cuisine-image-container{width:84px;height:84px;border-radius:28px;overflow:hidden;border:3px solid white;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 10px 15px -3px #0000001a;background-color:#fff}.cuisine-photo{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;filter:grayscale(.2) contrast(1.1)}.cuisine-pill:hover .cuisine-image-container{border-color:var(--color-primary);transform:translateY(-8px) rotate(3deg);box-shadow:0 20px 25px -5px #e74c3c33}.cuisine-pill:hover .cuisine-photo{transform:scale(1.15);filter:grayscale(0)}.cuisine-pill.active .cuisine-image-container{border-color:var(--color-primary);background-color:var(--color-primary);transform:translateY(-4px);box-shadow:0 15px 20px -5px #e74c3c4d}.cuisine-pill.active .cuisine-photo{filter:grayscale(0)}.cuisine-pill .cuisine-name{font-size:.85rem;font-weight:800;color:#4b5563;transition:color .3s;letter-spacing:-.01em}.cuisine-pill.active .cuisine-name{color:var(--color-primary)}.homepage-content{padding:var(--spacing-xl) var(--spacing-lg);max-width:1200px;margin:0 auto}.homepage-section-title{font-size:1.5rem;font-weight:800;color:var(--color-text);margin:0 0 1.5rem;letter-spacing:-.025em}.homepage-stores-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-lg)}.homepage-address-container{padding:var(--spacing-xl) var(--spacing-lg);display:flex;justify-content:center;align-items:flex-start;min-height:calc(100vh - 100px)}.address-card{background-color:var(--color-bg-white);border-radius:var(--spacing-lg);padding:var(--spacing-xl);width:100%;max-width:480px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border:1px solid var(--color-border)}.address-card h2{font-size:1.5rem;font-weight:800;color:var(--color-text);margin:0 0 .5rem;text-align:center;letter-spacing:-.025em}.address-subtitle{font-size:.9375rem;color:var(--color-text-light);text-align:center;margin:0 0 2rem}.address-search-group{margin-bottom:var(--spacing-md)}.address-search-group label{display:block;font-size:.8125rem;font-weight:700;color:var(--color-text-light);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.address-search-input{width:100%;padding:.875rem 1rem;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--spacing-sm);font-size:1rem;color:var(--color-text);transition:all .2s;box-sizing:border-box}.address-search-input:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-bg-white);box-shadow:0 0 0 3px #e74c3c1a}.address-map-hint{font-size:.8125rem;color:var(--color-text-light);text-align:center;margin:0 0 .75rem;font-style:italic}.address-preview{display:flex;align-items:center;gap:var(--spacing-md);background-color:#f0fdf4;padding:1rem;border-radius:var(--spacing-md);margin-bottom:var(--spacing-md);border:1px solid #bbf7d0}.address-preview-icon{width:32px;height:32px;background-color:#22c55e;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.address-preview-text .address-line{font-weight:700;color:#166534;margin:0 0 .125rem;font-size:.9375rem}.address-preview-text .address-detail{font-size:.8125rem;color:#15803d;margin:0}.homepage-map{height:240px;border-radius:var(--spacing-md);overflow:hidden;margin-bottom:var(--spacing-lg);background-color:var(--color-bg);border:1px solid var(--color-border)}.address-submit-btn{width:100%;padding:1.125rem;background-color:var(--color-primary);color:#fff;border:none;border-radius:99px;font-size:1.125rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #e74c3c4d;transition:all .2s}.address-submit-btn:hover:not(:disabled){background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px #e74c3c66}.address-submit-btn:disabled{background-color:var(--color-text-lighter);opacity:.7;cursor:not-allowed;box-shadow:none}.homepage-error{background-color:#fef2f2;color:#991b1b;padding:1rem;border-radius:var(--spacing-md);text-align:center;margin-bottom:var(--spacing-md);font-weight:600;border:1px solid #fecaca}.homepage-empty{text-align:center;padding:4rem 1rem;color:var(--color-text-light)}.homepage-empty .empty-icon{font-size:4rem;display:block;margin-bottom:1.5rem;filter:grayscale(1);opacity:.5}.homepage-empty p{font-size:1.125rem;font-weight:600;margin:0 0 1.5rem}.empty-clear-btn{background-color:var(--color-primary);color:#fff;border:none;padding:.75rem 2rem;border-radius:99px;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #e74c3c33;transition:all .2s}.empty-clear-btn:hover{background-color:var(--color-primary-dark);transform:translateY(-2px)}@media(max-width:768px){.discovery-header-content{flex-direction:column;gap:var(--spacing-md)}.homepage-location{max-width:100%;width:100%}.homepage-header{padding:1rem var(--spacing-md)}.homepage-hero{min-height:280px;height:auto;padding:60px 20px}.hero-content h1{font-size:2rem}.hero-content p{font-size:1.1rem}.homepage-search-container{margin-top:-25px;padding:var(--spacing-md)}.homepage-search{padding:.8rem 1.25rem}}@media(max-width:480px){.homepage-hero{min-height:200px;height:auto;padding:40px 15px}.hero-content h1{font-size:1.5rem}.hero-content p{font-size:1rem}.homepage-stores-grid{grid-template-columns:1fr}.cuisine-pill{min-width:75px;padding:var(--spacing-sm)}.cuisine-image-container{width:64px;height:64px;border-radius:20px}.cuisine-pill .cuisine-icon,.homepage-section-title{font-size:1.25rem}.homepage-search input{font-size:.95rem}.address-card{padding:var(--spacing-lg)}.address-form-row{flex-direction:column;gap:var(--spacing-sm)}}.app-container{display:flex;min-height:100vh;background-color:var(--color-bg)}.app{width:100%;max-width:100%;margin:0 auto;padding-bottom:80px;background-color:var(--color-bg)}.main-content-area{flex:1;display:flex;flex-direction:column}@media(min-width:1025px){.main-content-area{margin-left:260px}.app{max-width:1200px;background:transparent;box-shadow:none;padding-bottom:2rem}}@media(max-width:1024px){.app{background:#fff;min-height:100dvh;max-width:100vw}}
