:root{--bg: #F9F7F4;--surface: #FFFFFF;--text-primary: #1A1A1A;--text-secondary: #6B6B6B;--brand: #FF2400;--cta: #FF2400;--cta-hover: #D61E00;--success: #2D7D46;--border: #EEEBE6;--shadow: 0 2px 12px rgba(0,0,0,.08);--radius-card: 12px;--radius-pill: 50px;--font-display: "Outfit", sans-serif;--font-ui: "Inter", sans-serif}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-ui);background-color:var(--bg);color:var(--text-primary);line-height:1.5;padding-bottom:100px}h1,h2,h3{font-family:var(--font-display);font-weight:700}button{font-family:var(--font-ui);border:none;background:none;cursor:pointer}input,select{font-family:var(--font-ui)}.hidden{display:none!important}.view-container{display:none}.view-container.active{display:block;animation:uiFadeIn .5s ease-out}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.p-4{padding:1rem}.text-brand{color:var(--brand)}.font-bold{font-weight:700}.w-full{width:100%}.text-center{text-align:center}.header{position:fixed;top:0;left:0;right:0;background:var(--surface);padding:0 1rem;z-index:50;box-shadow:var(--shadow);display:flex;justify-content:space-between;align-items:center;height:60px}.header-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.header-logo-img{width:28px;height:28px;border-radius:8px;object-fit:contain;background-color:transparent;flex-shrink:0}.logo{font-size:clamp(.9rem,4.5vw,1.2rem);color:#000;line-height:1.1;white-space:normal}.badge{display:flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-pill);font-size:.8rem;font-weight:500}.badge.open{background:#e6f4ea;color:var(--success)}.badge.closed{background:#fce8e6;color:var(--brand)}.badge.reserving{background:#fef7e0;color:#b08800}.dot{width:8px;height:8px;border-radius:50%;background:currentColor}.pulse{animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}#mercadopago-section{animation:fadeIn .3s ease-out}.mercadopago-banner{background:linear-gradient(135deg,#f0f7ff,#e1effe);border:1px solid #bfdbfe;padding:1.5rem;border-radius:1rem;display:flex;flex-direction:column;align-items:center;text-align:center}.mp-logo{height:28px;margin-bottom:.75rem;filter:drop-shadow(0 2px 4px rgba(0,158,227,.1))}#mp-btn{background:#009ee3;color:#fff;font-weight:700;margin-top:1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}#mp-btn:hover{background:#0087c1;transform:translateY(-2px);box-shadow:0 4px 12px #009ee34d}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.selector-section{margin-top:76px;padding:0 1rem}.tabs{display:flex;background:#eeebe6;padding:4px;border-radius:var(--radius-pill);margin-bottom:1rem}.tab{flex:1;padding:8px;text-align:center;border-radius:var(--radius-pill);font-weight:500;color:var(--text-secondary);transition:all .2s}.tab.active{background:var(--surface);color:var(--text-primary);box-shadow:0 2px 4px #0000000d}.input-group{margin-bottom:1rem}.input-field{width:100%;padding:12px;border:1px solid var(--border);border-radius:var(--radius-card);font-size:1rem;outline:none;transition:border-color .2s}.input-field:focus{border-color:var(--brand)}.time-selector{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}.time-chip{padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);white-space:nowrap;font-size:.9rem}.time-chip.active{background:var(--brand);color:#fff;border-color:var(--brand)}.time-chip:disabled{opacity:.5;cursor:not-allowed}.categories-nav{position:sticky;top:60px;background:var(--bg);padding:1rem 0;z-index:40;overflow-x:auto;white-space:nowrap;scrollbar-width:none;margin-bottom:1rem}.cat-link{display:inline-block;padding:0 1rem;color:var(--text-secondary);font-weight:500;text-decoration:none;position:relative}.cat-link.active{color:var(--brand)}.cat-link.active:after{content:"";position:absolute;bottom:-4px;left:1rem;right:1rem;height:2px;background:var(--brand)}.menu-container{padding:0 1rem}.category-section{margin-bottom:2rem;scroll-margin-top:120px}.category-title{font-size:1.5rem;margin-bottom:1rem;color:var(--text-primary)}.product-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.product-card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow);transition:transform .2s;cursor:pointer;display:flex;flex-direction:column;overflow:hidden}.product-card:active{transform:scale(.98)}.product-image-container{width:100%;height:200px;overflow:hidden;background:#f0f0f0}.product-image{width:100%;height:100%;object-fit:cover;transition:transform .3s}.product-card:hover .product-image{transform:scale(1.05)}.product-info{padding:1rem;display:flex;flex-direction:column;flex:1}.product-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:.5rem}.product-name{font-weight:700;font-size:1.1rem;line-height:1.2}.product-desc{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.product-price{font-weight:700;font-size:1.1rem}.btn-add{background:var(--surface);border:1px solid var(--border);padding:6px 12px;border-radius:var(--radius-pill);color:var(--brand);font-weight:500;font-size:.9rem;transition:all .2s}.btn-add:hover{background:var(--brand);color:#fff;border-color:var(--brand)}.bottom-bar{position:fixed;bottom:0;left:0;right:0;background:var(--surface);padding:1rem;box-shadow:0 -4px 12px #0000000d;z-index:100;display:flex;justify-content:space-between;align-items:center;transform:translateY(100%);transition:transform .3s}.bottom-bar.visible{transform:translateY(0)}.cart-summary{font-weight:500}.btn-checkout{background:var(--brand);color:#fff;padding:12px 24px;border-radius:var(--radius-pill);font-weight:700;box-shadow:0 4px 12px #c8371a4d;display:flex;align-items:center;gap:8px}.btn-checkout:active{transform:scale(.98);background:var(--cta-hover)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;opacity:0;pointer-events:none;transition:opacity .3s;display:flex;align-items:flex-end;justify-content:center}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-content{background:var(--surface);width:100%;max-width:600px;border-radius:24px 24px 0 0;padding:0;max-height:90vh;transform:translateY(100%);transition:transform .3s cubic-bezier(.16,1,.3,1);position:relative;display:flex;flex-direction:column;overflow:hidden}.modal-overlay.open .modal-content{transform:translateY(0)}.modal-fullscreen .modal-content{max-width:100%;max-height:100vh;height:100vh;border-radius:0}.modal-hero-image{width:100%;height:250px;object-fit:cover}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-title{font-size:1.5rem;line-height:1.2}.btn-close{font-size:1.5rem;padding:8px;color:#fff;background:#00000080;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;position:absolute;top:1rem;right:1rem;z-index:10;border:none;cursor:pointer}.option-group{margin-bottom:1.5rem}.option-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-weight:500}.checkbox-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--border);cursor:pointer}.checkbox-label{display:flex;align-items:center;gap:12px;flex:1}.custom-checkbox{width:20px;height:20px;border:2px solid #ccc;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}input:checked+.custom-checkbox{background:var(--brand);border-color:var(--brand)}input:checked+.custom-checkbox:after{content:"✓";color:#fff;font-size:12px}.quantity-control{display:flex;align-items:center;gap:1rem;margin:2rem 0;justify-content:center}.btn-qty{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);font-size:1.2rem;display:flex;align-items:center;justify-content:center}.qty-value{font-size:1.2rem;font-weight:700;width:30px;text-align:center}.btn-help{width:100%;background:#f97316;color:#fff;padding:14px;border-radius:12px;font-weight:700;text-decoration:none;transition:all .2s ease;border:none}.btn-help:hover{background:#ea580c;transform:translateY(-2px);box-shadow:0 4px 12px #f973164d}.btn-secondary-text{width:100%;background:transparent;color:#64748b;padding:10px;font-size:.9rem;font-weight:500;border:none;cursor:pointer;transition:color .2s}.btn-secondary-text:hover{color:var(--text-primary)}.btn-primary-block{width:100%;background:var(--brand);color:#fff;padding:16px;border-radius:var(--radius-pill);font-weight:700;font-size:1.1rem;margin-top:1rem}.cart-item{display:flex;justify-content:space-between;align-items:start;padding:1.5rem 0;border-bottom:1px solid var(--border)}.cart-item:last-child{border-bottom:none}.cart-item-details{flex:1;padding-right:1rem}.cart-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.25rem}.cart-item-title{font-weight:700;font-size:1.05rem}.cart-item-remove{color:#ef4444;font-size:1.2rem;line-height:1;padding:4px;cursor:pointer;margin-left:8px}.cart-item-mods{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.cart-item-actions{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.cart-item-price{font-weight:700;font-size:1rem}.cart-qty-btn{width:34px;height:34px;border:1px solid var(--border);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.1rem}.order-card{background:#fff;border-radius:20px;padding:24px;box-shadow:0 10px 25px #00000014;border:1px solid #f1f5f9}.radar-status-bar{display:flex;justify-content:center;margin-bottom:2rem}.status-bubble{padding:10px 24px;border-radius:50px;font-weight:700;font-size:.95rem;letter-spacing:-.01em}.status-validating{background:#fff7ed;color:#f97316;border:1px solid #ffedd5}.status-cooking{background:#f0fdf4;color:#16a34a;border:1px solid #dcfce7}.status-ready{background:#eff6ff;color:#2563eb;border:1px solid #dbeafe}.radar-stepper{display:flex;justify-content:space-between;align-items:center;position:relative;padding:0 5px;margin-bottom:1.5rem}.radar-connector{flex:1;height:4px;background:#f1f5f9;margin:0 -5px;z-index:0;transition:background .3s ease}.radar-step{display:flex;flex-direction:column;align-items:center;gap:12px;z-index:1;width:70px;text-align:center}.step-dot{width:44px;height:44px;background:#f8fafc;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#cbd5e1;transition:all .5s cubic-bezier(.4,0,.2,1);border:3px solid white;box-shadow:0 0 0 2px #f1f5f9}.step-label{font-size:.75rem;font-weight:700;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;transition:color .3s}.radar-step.active .step-dot,.radar-step.active-cooking .step-dot{background:#f97316;color:#fff;box-shadow:0 0 0 4px #f9731626;animation:pulse-orange-premium 2s infinite}.radar-step.active-delivery .step-dot{background:#22c55e;color:#fff;box-shadow:0 0 0 4px #22c55e26;animation:pulse-green-premium 2s infinite}.radar-step.active .step-label,.radar-step.active-cooking .step-label{color:#f97316}.radar-step.active-delivery .step-label{color:#22c55e}.radar-step.completed .step-dot{background:#22c55e;color:#fff;box-shadow:0 0 0 2px #22c55e}.radar-step.completed .step-label{color:#22c55e}@keyframes pulse-orange-premium{0%{transform:scale(1);box-shadow:0 0 #f9731699}70%{transform:scale(1.08);box-shadow:0 0 0 12px #f9731600}to{transform:scale(1);box-shadow:0 0 #f9731600}}@keyframes pulse-green-premium{0%{transform:scale(1);box-shadow:0 0 #22c55e99}70%{transform:scale(1.08);box-shadow:0 0 0 12px #22c55e00}to{transform:scale(1);box-shadow:0 0 #22c55e00}}.ticket-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px dashed #e2e8f0}.ticket-row:last-child{border-bottom:none}.ticket-label{color:#64748b;font-weight:600;font-size:.9rem}.ticket-value{font-weight:800;color:#0f172a;font-size:1rem}.upsell-section{margin-top:2rem;padding-top:1.5rem;border-top:1px dashed var(--border)}.upsell-title{font-size:1rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary)}.upsell-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.upsell-card{background:#fafafa;border-radius:8px;overflow:hidden;border:1px solid var(--border);cursor:pointer;transition:transform .2s}.upsell-card:active{transform:scale(.95)}.upsell-img{width:100%;height:80px;object-fit:cover}.upsell-info{padding:.5rem;text-align:center}.upsell-name{font-size:.8rem;font-weight:600;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upsell-price{font-size:.85rem;font-weight:700;color:var(--brand)}.upsell-add{font-size:.75rem;color:var(--text-secondary);margin-top:2px}.checkout-id{background:#f3f4f6;padding:8px;border-radius:8px;font-family:monospace;text-align:center;margin-bottom:1.5rem;color:var(--text-secondary);font-size:.9rem;letter-spacing:1px}.bank-card{border:1px solid var(--border);padding:1rem;border-radius:12px;margin-top:1rem;background:#fafafa}.copy-row{display:flex;justify-content:space-between;align-items:center;margin-top:8px;background:#fff;padding:8px;border-radius:8px;border:1px solid var(--border)}.copy-text{font-family:monospace;font-size:.9rem}.btn-copy{color:var(--brand);font-size:.8rem;font-weight:700;text-transform:uppercase}.success-checkmark{width:80px;height:80px;margin:0 auto 1rem}.check-icon{width:80px;height:80px;border-radius:50%;display:block;stroke-width:2;stroke:var(--success);stroke-miterlimit:10;box-shadow:inset 0 0 0 var(--success);animation:fill .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both}.check-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:var(--success);fill:none;animation:stroke .6s cubic-bezier(.65,0,.45,1) forwards}.check-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:stroke .3s cubic-bezier(.65,0,.45,1) .8s forwards}@keyframes stroke{to{stroke-dashoffset:0}}@keyframes scale{0%,to{transform:none}50%{transform:scale3d(1.1,1.1,1)}}@keyframes fill{to{box-shadow:inset 0 0 0 30px #fff}}.btn-success-anim{background-color:#22c55e!important;color:#fff!important;transition:all .6s cubic-bezier(.16,1,.3,1);transform:scale(1.02);pointer-events:none}.full-screen-transition{position:fixed;top:0;left:0;width:100%;height:100%;background:#22c55e;z-index:9999;transform:translateY(100%);transition:transform .8s cubic-bezier(.16,1,.3,1);display:flex;justify-content:center;align-items:center;color:#fff}.full-screen-transition.active{transform:translateY(0)}.success-full-screen.open{background:#fff;z-index:3000}.success-full-screen .modal-content{max-width:100%;height:100vh;max-height:100vh;border-radius:0;transform:translateY(0);box-shadow:none}.success-full-screen .modal-body{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-20px)}}.toast{position:fixed;top:80px;left:50%;transform:translate(-50%);background:#1a1a1a;color:#fff;padding:12px 24px;border-radius:50px;font-weight:500;z-index:2000;box-shadow:0 10px 30px #00000026;display:none;text-align:center;width:max-content;max-width:90%;font-family:var(--font-ui)}.toast.show{display:block;animation:toastIn .5s cubic-bezier(.16,1,.3,1) forwards}.toast.hide{display:block;animation:toastOut .5s cubic-bezier(.16,1,.3,1) forwards}.loader-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg);z-index:9999;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity .8s ease-in-out;pointer-events:all;-webkit-user-select:none;user-select:none}.loader-content{text-align:center;display:flex;flex-direction:column;align-items:center;animation:scaleUp 1.5s cubic-bezier(.16,1,.3,1) forwards}.loader-logo{width:100px;height:100px;border-radius:20px;object-fit:contain;margin-bottom:24px;box-shadow:0 12px 32px #0000001a;animation:float 3s ease-in-out infinite}.loader-title{font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:8px;letter-spacing:-.02em;opacity:0;animation:slideUpFade .8s cubic-bezier(.16,1,.3,1) .3s forwards}.loader-subtitle{font-family:var(--font-ui);font-size:1rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.2em;opacity:0;animation:slideUpFade .8s cubic-bezier(.16,1,.3,1) .5s forwards}@keyframes fadeOut{0%{opacity:1;pointer-events:all}to{opacity:0;pointer-events:none;visibility:hidden}}@keyframes scaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes slideUpFade{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@keyframes uiFadeIn{0%{opacity:0}to{opacity:1}}@keyframes uiFadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.header{animation:uiFadeIn 1.2s ease-out both}.selector-section,.categories-nav,.menu-container{animation:uiFadeInUp 1.2s ease-out both}#promo-popup{z-index:5000}#promo-popup .modal-content{background:#fff;max-width:450px;border-radius:28px;margin:auto;overflow:hidden;box-shadow:0 25px 50px -12px #0006;border:1px solid rgba(255,255,255,.1)}.promo-carousel{width:100%;position:relative;min-height:400px}.promo-slide{display:none;flex-direction:column;animation:fadeIn .5s ease-out}.promo-slide.active{display:flex}.promo-image-container{position:relative;width:100%;height:300px}.promo-img{width:100%;height:100%;object-fit:cover}.promo-badge{position:absolute;top:20px;left:20px;background:#ff2400e6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:6px 14px;border-radius:50px;font-weight:700;font-size:.75rem;letter-spacing:.1em;box-shadow:0 4px 12px #ff24004d}.promo-info{padding:2rem;text-align:center}.promo-title{font-size:1.75rem;margin-bottom:.75rem;color:#1a1a1a;line-height:1.1}.promo-desc{color:#6b6b6b;font-size:1rem;margin-bottom:2rem;line-height:1.5}.btn-promo-action{width:100%;background:var(--brand);color:#fff;padding:16px;border-radius:16px;font-weight:700;font-size:1.1rem;box-shadow:0 10px 20px #ff240033;transition:all .3s ease}.btn-promo-action:hover{transform:translateY(-2px);box-shadow:0 15px 30px #ff24004d}.promo-dots{display:flex;justify-content:center;gap:8px;padding:1rem 0;background:#fff}.promo-dot{width:8px;height:8px;border-radius:50%;background:#e5e7eb;cursor:pointer;transition:all .3s}.promo-dot.active{background:var(--brand);width:24px}@media(max-width:640px){#promo-popup .modal-content{max-width:90%;border-radius:24px}.promo-image-container{height:250px}}
