.checkout-container{max-width:520px;margin:0 auto;padding:24px 16px 100px;min-height:100vh}.checkout-header{display:flex;align-items:center;gap:12px;margin-bottom:24px}.checkout-back{width:40px;height:40px;border-radius:50%;border:1px solid var(--border);background:var(--bg-surface);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-main);font-size:18px;transition:background var(--transition);flex-shrink:0}.checkout-back:hover{background:var(--bg-soft)}.checkout-title{font-size:var(--font-2xl);font-weight:var(--weight-extrabold);letter-spacing:-.5px;color:var(--text-main)}.checkout-card{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow-card);overflow:hidden;margin-bottom:16px}.checkout-card-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);padding:16px 20px 12px;border-bottom:1px solid var(--border-soft)}.checkout-items-list{padding:4px 0}.checkout-item{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;font-size:var(--font-md);color:var(--text-main);border-bottom:1px solid var(--border-soft);gap:12px}.checkout-item:last-child{border-bottom:none}.checkout-item-name{flex:1;font-weight:var(--weight-medium)}.checkout-item-price{font-weight:var(--weight-semibold);white-space:nowrap;color:var(--text-soft)}.checkout-totals{padding:12px 20px 16px;border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:8px}.checkout-line{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-md);color:var(--text-muted)}.checkout-line input{width:100px;padding:6px 10px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-surface-soft);color:var(--text-main);font-size:var(--font-md);font-family:var(--font-family);text-align:right;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.checkout-line input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-soft);background:#fff}.checkout-total{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--border-soft);font-size:var(--font-xl);font-weight:var(--weight-extrabold);color:var(--text-main);letter-spacing:-.3px}.checkout-nota-label{font-size:13px;font-weight:600;color:var(--text-soft);margin-bottom:8px;display:block}.checkout-nota{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1.5px solid var(--border);background:var(--bg-surface);color:var(--text-main);font-size:var(--font-md);font-family:var(--font-family);resize:none;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.checkout-nota:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-soft)}.checkout-nota::-moz-placeholder{color:var(--text-placeholder)}.checkout-nota::placeholder{color:var(--text-placeholder)}.checkout-sticky-footer{position:fixed;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(to top,#fff 70%,#fffc);border-top:1px solid var(--border-soft);z-index:20}.checkout-button{width:100%;padding:15px;font-size:var(--font-lg);font-weight:var(--weight-bold);font-family:var(--font-family);border-radius:var(--radius-lg);border:none;background:var(--brand-primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-brand);transition:background var(--transition),transform var(--transition-fast),box-shadow var(--transition);letter-spacing:-.2px}.checkout-button:hover:not(:disabled){background:var(--brand-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-brand),0 8px 24px #0000001a}.checkout-button:active:not(:disabled){transform:scale(.98);box-shadow:none}.checkout-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.checkout-tipo-container{display:flex;gap:10px;margin-bottom:16px}.checkout-tipo-btn{flex:1;padding:12px;border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg-surface);color:var(--text-muted);font-size:var(--font-md);font-weight:var(--weight-semibold);font-family:var(--font-family);cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition);text-align:center}.checkout-tipo-btn.active{border-color:var(--brand-primary);background:var(--brand-primary-soft);color:var(--brand-primary)}.checkout-tipo-btn:hover:not(.active){border-color:var(--border-medium);background:var(--bg-soft)}.estado-container{max-width:520px;margin:0 auto;padding:32px 16px 100px;min-height:100vh}.estado-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:var(--font-md);color:var(--text-muted)}.estado-title{font-size:var(--font-2xl);font-weight:var(--weight-extrabold);letter-spacing:-.5px;color:var(--text-main);margin-bottom:4px}.estado-referencia{font-size:var(--font-sm);color:var(--text-muted);font-weight:var(--weight-medium);margin-bottom:24px}.estado-card{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow-card);overflow:hidden;margin-bottom:16px}.estado-chip-wrapper{padding:24px;text-align:center;border-bottom:1px solid var(--border-soft)}.estado-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);margin-bottom:8px}.estado-valor{font-size:var(--font-xl);font-weight:var(--weight-bold);color:var(--text-main);text-transform:capitalize}.estado-progress-track{width:100%;height:6px;background:var(--border-soft);border-radius:var(--radius-pill);overflow:hidden;margin:20px 0 8px}.estado-progress-fill{height:100%;background:var(--brand-primary);border-radius:var(--radius-pill);transition:width .7s cubic-bezier(.22,1,.36,1)}.estado-timeline{padding:20px 24px;display:flex;flex-direction:column;gap:20px}.estado-step{display:flex;align-items:flex-start;gap:14px}.estado-step-dot{width:16px;height:16px;border-radius:50%;background:var(--border);border:2px solid var(--border-medium);flex-shrink:0;margin-top:2px;transition:background var(--transition),border-color var(--transition)}.estado-step.activo .estado-step-dot{background:var(--brand-primary);border-color:var(--brand-primary);box-shadow:0 0 0 4px var(--brand-primary-soft)}.estado-step-label{font-size:var(--font-base);font-weight:var(--weight-semibold);color:var(--text-muted);text-transform:capitalize;line-height:1.3}.estado-step.activo .estado-step-label{color:var(--text-main)}.estado-step-desc{font-size:var(--font-sm);color:var(--text-muted);margin-top:2px;line-height:1.5}.estado-tiempo{font-size:var(--font-md);color:var(--text-muted);padding:0 24px 20px}.estado-error{text-align:center;padding:20px;color:var(--danger);font-size:var(--font-md)}.btn-volver,.btn-finalizar{width:100%;margin-top:12px;padding:14px;font-size:var(--font-base);font-weight:var(--weight-bold);font-family:var(--font-family);border-radius:var(--radius-lg);border:none;cursor:pointer;transition:background var(--transition),transform var(--transition-fast),box-shadow var(--transition)}.btn-volver{background:var(--bg-soft);color:var(--text-soft);border:1px solid var(--border)}.btn-volver:hover{background:var(--bg-hover);color:var(--text-main)}.btn-finalizar{background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-brand-sm)}.btn-finalizar:hover{background:var(--brand-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-brand)}.btn-finalizar:active{transform:scale(.98)}.fo-bottomsheet-overlay{position:fixed;inset:0;background:#00000080;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:40;animation:overlay-fade-in .2s ease forwards}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.fo-bottomsheet{position:fixed;left:0;bottom:0;width:100%;max-height:88vh;background:#fff;border-radius:22px 22px 0 0;z-index:50;display:flex;flex-direction:column;box-shadow:0 -8px 32px #0000002e;animation:sheet-up .28s cubic-bezier(.22,1,.36,1) forwards}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.fo-bottomsheet.closing{animation:sheet-down .22s ease-in forwards}@keyframes sheet-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}.fo-bottomsheet-handle{width:36px;height:4px;background:#e5e7eb;border-radius:999px;margin:12px auto 6px;flex-shrink:0}.fo-bottomsheet-content{overflow:hidden;flex:1;display:flex;flex-direction:column;min-height:0}.fo-bottomsheet-cta{position:sticky;bottom:0;background:linear-gradient(to top,#fff 60%,#ffffffb3);padding:16px 20px;border-top:1px solid #f3f4f6}@supports (padding: env(safe-area-inset-bottom)){.fo-bottomsheet{padding-bottom:env(safe-area-inset-bottom)}}.fo-bottomsheet.snap-half{max-height:60vh}.producto-configuracion{padding:0;flex:1;min-height:0}.producto-config-layout{display:grid;grid-template-columns:1fr 1.3fr;height:100%;overflow:hidden}.producto-config-imagen{background:#f0f2f5;overflow:hidden;min-height:340px}.producto-config-imagen img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .4s ease}.producto-config-imagen img:hover{transform:scale(1.03)}.producto-config-body{display:flex;flex-direction:column;flex:1;overflow-y:auto;padding:24px 24px 0;scrollbar-width:thin;scrollbar-color:#e5e7eb transparent}.producto-config-body::-webkit-scrollbar{width:4px}.producto-config-body::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:4px}.producto-config-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:6px}.producto-config-header h2{font-size:18px;font-weight:700;letter-spacing:-.3px;line-height:1.25;color:#111827;flex:1}.producto-config-header .precio{font-size:18px;font-weight:800;color:#111827;letter-spacing:-.3px;white-space:nowrap;flex-shrink:0}.descripcion{font-size:13px;color:#6b7280;line-height:1.6;margin:8px 0 16px}.loading{font-size:13px;color:#9ca3af;padding:20px 0;text-align:center}.bloque-config{margin-top:20px;border-top:1px solid #f3f4f6;padding-top:16px}.bloque-config:first-of-type{border-top:none;padding-top:0}.bloque-config h3{font-size:13px;font-weight:600;color:#374151;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}.opcion{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 14px;margin-bottom:6px;border-radius:10px;background:#f9fafb;border:1.5px solid transparent;cursor:pointer;transition:border-color .15s ease,background .15s ease;position:relative;font-size:14px}.opcion:hover{background:#f3f4f6}.opcion.activa{border-color:#f12954;background:#f129540f}.opcion.activa:after{content:"✓";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-weight:700;font-size:13px;color:#f12954}.opcion .precio{font-weight:600;font-size:13px;color:#374151}.opcion-extra{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid #f3f4f6;cursor:pointer;font-size:14px;color:#374151;transition:color .15s ease}.opcion-extra:last-child{border-bottom:none}.opcion-extra:hover{color:#111827}.opcion-extra.activa{color:#f12954;font-weight:600}textarea{width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid #e5e7eb;background:#f9fafb;font-family:inherit;font-size:13px;color:#111827;resize:none;transition:border-color .15s ease,box-shadow .15s ease;outline:none}textarea:focus{border-color:#f12954;box-shadow:0 0 0 3px #f129541a;background:#fff}textarea::-moz-placeholder{color:#9ca3af}textarea::placeholder{color:#9ca3af}.footer-confirmacion{position:sticky;bottom:0;background:linear-gradient(to top,#fff 70%,#fffc);border-top:1px solid #f3f4f6;padding:16px 24px calc(env(safe-area-inset-bottom) + 8px);display:flex;gap:10px;margin-top:auto}.footer-confirmacion .fo-btn{flex:1;padding:13px;font-size:14px;border-radius:12px}@media(max-width:768px){.producto-config-layout{grid-template-columns:1fr;overflow-y:auto}.producto-config-imagen{aspect-ratio:16 / 9;min-height:unset;max-height:240px}.producto-config-body{padding:20px 20px 0;overflow-y:visible}.footer-confirmacion{padding:14px 20px calc(env(safe-area-inset-bottom) + 8px)}}.category-nav-enterprise{position:sticky;top:0;width:100%;background:var(--menu-brand-primary, #f12954);z-index:30;box-shadow:0 2px 12px #00000038}.category-nav-inner{max-width:1600px;margin:0 auto;display:flex;align-items:stretch;gap:0;padding:0 24px;height:52px;overflow-x:auto;scrollbar-width:none}.category-nav-inner::-webkit-scrollbar{display:none}.category-nav-item{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;color:#fffc;font-size:13px;font-weight:600;letter-spacing:.7px;text-transform:uppercase;font-family:inherit;padding:0 20px;height:100%;flex-shrink:0;cursor:pointer;position:relative;transition:color .18s ease,opacity .18s ease;white-space:nowrap;-webkit-tap-highlight-color:transparent}.category-nav-item-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;font-size:14px}.category-nav-item:hover,.category-nav-item.active{color:#fff}.category-nav-item.active:after{content:"";position:absolute;left:20px;right:20px;bottom:0;height:3px;background:#fff;border-radius:3px 3px 0 0}@media(max-width:640px){.category-nav-inner{padding:0 16px;gap:0;height:48px}.category-nav-item{padding:0 14px;font-size:12px;letter-spacing:.5px}.category-nav-item.active:after{left:14px;right:14px}}:root{--menu-brand-primary: #f12954;--menu-brand-secondary: #111827}body{background:var(--bg-body);margin:0;overflow-x:hidden}.menu-page{width:100%;max-width:100%;font-family:var(--font-family);color:var(--text-main)}.menu-hero{position:relative;width:100%}.menu-hero-cover{position:relative;width:100%;height:220px;overflow:hidden;background:var(--menu-brand-secondary)}@media(min-width:640px){.menu-hero-cover{height:280px}}@media(min-width:1024px){.menu-hero-cover{height:340px}}.menu-hero-cover-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;display:block}.menu-hero-cover-placeholder{width:100%;height:100%}.menu-hero-cover-gradient{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 30%,rgba(0,0,0,.55) 100%)}.menu-hero-strip{display:flex;align-items:flex-end;gap:16px;padding:0 20px 20px;margin-top:-52px;position:relative;z-index:2}@media(min-width:640px){.menu-hero-strip{padding:0 28px 24px;margin-top:-60px;gap:20px}}@media(min-width:1024px){.menu-hero-strip{max-width:1360px;margin-left:auto;margin-right:auto;padding:0 48px 28px;margin-top:-68px}}.menu-hero-logo{width:88px;height:88px;border-radius:50%;border:4px solid var(--menu-brand-primary);background:#fff;overflow:hidden;flex-shrink:0;box-shadow:0 8px 24px #00000038,0 2px 6px #00000024;display:flex;align-items:center;justify-content:center}@media(min-width:640px){.menu-hero-logo{width:104px;height:104px;border-width:4px}}@media(min-width:1024px){.menu-hero-logo{width:120px;height:120px;border-width:5px}}.menu-hero-logo-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.menu-hero-logo-monogram{font-size:36px;font-weight:900;letter-spacing:-.04em}@media(min-width:1024px){.menu-hero-logo-monogram{font-size:44px}}.menu-hero-copy{flex:1;min-width:0;padding-bottom:4px}.menu-hero-name{margin:0 0 6px;font-size:clamp(22px,4vw,34px);font-weight:900;letter-spacing:-.04em;line-height:1;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-hero-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.menu-hero-status{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.03em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.menu-hero-status.open{background:#22c55e2e;color:#86efac;border:1px solid rgba(34,197,94,.3)}.menu-hero-status.closed{background:#ef44442e;color:#fca5a5;border:1px solid rgba(239,68,68,.3)}.menu-hero-status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.menu-hero-status.open .menu-hero-status-dot{background:#22c55e}.menu-hero-status.closed .menu-hero-status-dot{background:#ef4444}.menu-hero-mesa-badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:700;background:#ffffff26;color:#ffffffe6;border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.menu-hero-desc{margin:6px 0 0;font-size:12.5px;line-height:1.45;color:#ffffffbf;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-hero-skeleton-name{height:28px;width:180px;border-radius:8px;margin-bottom:8px}.menu-content{padding:20px 16px 120px;max-width:100%}@media(min-width:640px){.menu-content{padding:24px 24px 120px}}@media(min-width:768px){.menu-content{padding:28px 32px 120px}}@media(min-width:1024px){.menu-content{padding:32px 48px 120px;max-width:1360px;margin:0 auto}}.menu-aviso-cerrado{margin-bottom:20px;padding:14px 18px;border-radius:12px;background:#fffbeb;border:1px solid #fcd34d;color:#92400e;font-size:13px;font-weight:500;text-align:center;line-height:1.5}.menu-section-header{display:flex;align-items:flex-start;margin-bottom:18px;padding-bottom:12px;border-bottom:2px solid var(--border-soft)}.menu-section-copy{display:flex;flex-direction:column;gap:6px}.menu-section-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.menu-section-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:12px;background:color-mix(in srgb,var(--menu-brand-primary) 10%,transparent);font-size:18px}.menu-section-title{font-size:clamp(18px,2.5vw,24px);font-weight:800;letter-spacing:-.4px;color:var(--text-main);margin:0;text-transform:capitalize;line-height:1.2}.menu-section-count{font-size:12px;font-weight:600;color:var(--text-muted);background:var(--bg-soft);border:1px solid var(--border);padding:2px 9px;border-radius:var(--radius-pill);letter-spacing:.2px;white-space:nowrap}.menu-section-description{margin:0;max-width:720px;font-size:13px;line-height:1.5;color:var(--text-muted)}.menu-productos-grid{width:100%;display:flex;flex-direction:column;gap:10px}@media(min-width:640px)and (max-width:1023px){.menu-productos-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;align-items:start}}@media(min-width:1024px)and (max-width:1279px){.menu-productos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}}@media(min-width:1280px){.menu-productos-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;align-items:start}}.producto-card-enterprise{background:var(--bg-surface);border-radius:14px;border:1px solid var(--border-soft);box-shadow:0 1px 4px #0000000d,0 2px 8px #0000000a;overflow:hidden;transition:box-shadow .18s ease,transform .18s ease;display:flex;flex-direction:row;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent}.producto-card-enterprise:hover{box-shadow:0 4px 16px #0000001a,0 1px 4px #0000000f;transform:translateY(-2px)}.producto-card-enterprise:active{transform:scale(.99);box-shadow:0 1px 4px #0000000f}.producto-card-enterprise.agotado{opacity:.52;cursor:not-allowed}.producto-img-wrapper{width:112px;min-width:112px;height:112px;position:relative;background:var(--bg-soft);overflow:hidden;flex-shrink:0}.producto-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .35s ease}.producto-card-enterprise:hover .producto-img{transform:scale(1.05)}.badge-agotado{position:absolute;top:7px;left:7px;padding:3px 8px;border-radius:var(--radius-pill);background:#dc2626e0;color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.4px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.producto-info{flex:1;padding:13px 14px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.producto-info-top{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.producto-info-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px}.producto-nombre{font-size:14px;font-weight:700;letter-spacing:-.15px;line-height:1.3;color:var(--text-main);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.producto-descripcion{font-size:11.5px;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.producto-precio{font-size:15px;font-weight:800;color:var(--text-main);letter-spacing:-.3px;white-space:nowrap;flex-shrink:0}.producto-info .fo-btn-primary,.producto-info .fo-btn{padding:6px 13px;font-size:12px;font-weight:700;border-radius:var(--radius-pill);white-space:nowrap;flex-shrink:0;letter-spacing:.1px;box-shadow:0 2px 8px #f1295438}.producto-info .fo-btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}@media(min-width:640px)and (max-width:1023px){.producto-card-enterprise{flex-direction:column;border-radius:16px}.producto-img-wrapper{width:100%;height:168px;min-width:unset}.producto-info{padding:14px 16px}.producto-nombre{font-size:14px}.producto-precio{font-size:15px}}@media(min-width:1024px){.producto-card-enterprise{flex-direction:column;border-radius:16px;box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a}.producto-img-wrapper{width:100%;height:172px;min-width:unset}.producto-info{padding:14px 16px 16px}.producto-info-top{gap:4px}.producto-info-bottom{margin-top:12px}.producto-nombre{font-size:14.5px;-webkit-line-clamp:2}.producto-descripcion{font-size:12px;-webkit-line-clamp:2;margin-top:2px}.producto-precio{font-size:16px}.producto-info .fo-btn-primary{padding:7px 14px;font-size:12.5px}}@media(max-width:400px){.menu-content{padding:16px 12px 110px}.producto-img-wrapper{width:96px;min-width:96px;height:96px}.producto-info{padding:11px 12px}.producto-nombre{font-size:13px}.producto-precio{font-size:14px}}.carrito-flotante{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:50;width:calc(100% - 32px);max-width:460px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 20px;border-radius:16px;background:var(--brand-primary);color:#fff;border:none;cursor:pointer;box-shadow:0 8px 24px #f1295459,0 4px 12px #0000001f;font-family:var(--font-family);font-weight:700;transition:background var(--transition),box-shadow var(--transition),transform .12s ease;-webkit-tap-highlight-color:transparent}.carrito-flotante:hover{background:var(--brand-primary-hover);box-shadow:0 12px 32px #f1295466,0 6px 16px #00000024;transform:translate(-50%) translateY(-2px)}.carrito-flotante:active{transform:translate(-50%) scale(.97)}.carrito-icono{position:relative;display:flex;align-items:center;font-size:20px}.carrito-info{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:1px}.carrito-items{font-size:10px;font-weight:500;opacity:.82;letter-spacing:.2px}.carrito-total{font-size:16px;font-weight:800;letter-spacing:-.3px}.carrito-flotante:after{content:"→";font-size:18px;font-weight:600;opacity:.88}@media(max-width:400px){.carrito-flotante{bottom:16px;width:calc(100% - 24px);padding:12px 16px;border-radius:14px}.carrito-total{font-size:15px}}@keyframes menuShimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.menu-skeleton-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.skeleton{pointer-events:none}.skeleton-box{background:linear-gradient(90deg,#f1f5f9 25%,#e8ecf0,#f1f5f9 75%);background-size:1000px 100%;animation:menuShimmer 1.6s infinite linear}.skeleton-line{height:12px;border-radius:6px;margin-bottom:8px;background:linear-gradient(90deg,#f1f5f9 25%,#e8ecf0,#f1f5f9 75%);background-size:1000px 100%;animation:menuShimmer 1.6s infinite linear;width:100%}.skeleton-line.short{width:55%}.menu-error,.menu-empty{text-align:center;padding:52px 24px;font-size:14px;color:var(--text-muted);background:var(--bg-surface);border-radius:var(--radius-lg);border:1px dashed var(--border-medium);margin-top:16px}.menu-error{color:var(--danger);border-color:#dc262638;background:var(--danger-soft)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn .3s ease forwards}.fade-in-up{animation:fadeInUp .35s ease forwards}.pedidoex-container{text-align:center;padding:40px 20px 100px;max-width:420px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;align-items:center}.pedidoex-check{width:88px;height:88px;background:var(--success-soft);border:2px solid rgba(22,163,74,.2);border-radius:50%;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;animation:popIn .55s cubic-bezier(.34,1.56,.64,1) forwards}.pedidoex-checkmark{font-size:36px;color:var(--success);font-weight:700;line-height:1}@keyframes popIn{0%{transform:scale(.3);opacity:0}75%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}.pedidoex-title{font-size:var(--font-3xl);font-weight:var(--weight-extrabold);letter-spacing:-.5px;color:var(--text-main);margin-bottom:10px}.pedidoex-subtitle{font-size:var(--font-md);color:var(--text-muted);margin-bottom:28px;line-height:1.6;max-width:320px}.pedidoex-card{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-soft);box-shadow:var(--shadow-card);padding:24px;margin-bottom:28px;width:100%;text-align:left}.pedidoex-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:4px}.pedidoex-id{font-size:36px;margin:0 0 20px;font-weight:var(--weight-extrabold);letter-spacing:-1px;color:var(--text-main)}.pedidoex-folio{font-size:16px;background:var(--bg-soft);border:1px solid var(--border);padding:8px 14px;border-radius:var(--radius-sm);display:inline-block;margin-bottom:20px;font-family:Courier New,monospace;font-weight:600;color:var(--text-soft);letter-spacing:.5px}.pedidoex-qr{margin:20px auto;display:flex;justify-content:center;padding:16px;background:#fff;border-radius:var(--radius-md);border:1px solid var(--border-soft)}.pedidoex-info{font-size:13px;color:var(--text-muted);line-height:1.6;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-soft)}.pedidoex-total{font-size:var(--font-xl);font-weight:var(--weight-extrabold);color:var(--text-main);margin-top:16px;padding-top:16px;border-top:1px solid var(--border-soft);letter-spacing:-.3px}.pedidoex-button{width:100%;border:none;padding:15px;font-size:var(--font-base);font-weight:var(--weight-bold);font-family:var(--font-family);border-radius:var(--radius-lg);cursor:pointer;margin-top:10px;transition:background var(--transition),transform var(--transition-fast),box-shadow var(--transition);letter-spacing:-.2px}.pedidoex-primary{background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-brand-sm)}.pedidoex-primary:hover{background:var(--brand-primary-hover);box-shadow:var(--shadow-brand);transform:translateY(-1px)}.pedidoex-primary:active{transform:scale(.98)}.pedidoex-secondary{background:var(--bg-soft);color:var(--text-soft);border:1px solid var(--border)}.pedidoex-secondary:hover{background:var(--bg-hover);color:var(--text-main)}:root{--brand-primary: #f12954;--brand-primary-hover: #d4173f;--brand-primary-active: #b8122f;--brand-primary-soft: rgba(241, 41, 84, .1);--brand-primary-soft-hover: rgba(241, 41, 84, .16);--brand-primary-gradient: linear-gradient(135deg, #f12954 0%, #d4173f 100%);--brand-accent: #22c55e;--brand-accent-soft: rgba(34, 197, 94, .12);--brand-accent-hover: #16a34a}:root{--bg-body: #f6f7f9;--bg-surface: #ffffff;--bg-surface-soft: #f9fafb;--bg-soft: #f0f2f5;--bg-hover: rgba(0, 0, 0, .035);--bg-pressed: rgba(0, 0, 0, .06);--bg-dark: rgba(8, 15, 30, .97);--bg-dark-soft: rgba(12, 20, 40, .9);--bg-dark-card: rgba(15, 23, 42, .48);--bg-dark-hover: rgba(255, 255, 255, .06)}:root{--text-main: #111827;--text-soft: #374151;--text-muted: #6b7280;--text-faint: rgba(0, 0, 0, .38);--text-placeholder: #9ca3af;--text-light: #f9fafb;--text-light-soft: #e5e7eb;--text-light-muted: #9ca3af;--text-white-90: rgba(255, 255, 255, .92);--text-white-70: rgba(255, 255, 255, .7);--text-white-50: rgba(255, 255, 255, .5)}:root{--success: #16a34a;--success-light: #22c55e;--success-soft: rgba(22, 163, 74, .12);--warning: #d97706;--warning-soft: rgba(217, 119, 6, .12);--danger: #dc2626;--danger-soft: rgba(220, 38, 38, .1);--info: #0ea5e9;--info-soft: rgba(14, 165, 233, .12)}:root{--border: #e5e7eb;--border-soft: #f3f4f6;--border-medium: #d1d5db;--border-dark: rgba(255, 255, 255, .07);--border-dark-strong: rgba(255, 255, 255, .18)}:root{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 8px 24px rgba(0, 0, 0, .1), 0 2px 8px rgba(0, 0, 0, .06);--shadow-lg: 0 20px 48px rgba(0, 0, 0, .14), 0 8px 20px rgba(0, 0, 0, .08);--shadow-card: 0 4px 16px rgba(0, 0, 0, .08), 0 1px 4px rgba(0, 0, 0, .04);--shadow-brand: 0 8px 24px rgba(241, 41, 84, .3);--shadow-brand-sm: 0 4px 12px rgba(241, 41, 84, .22)}:root{--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px}:root{--gradient-primary: linear-gradient(135deg, #f12954 0%, #d4173f 100%);--gradient-primary-soft: linear-gradient(135deg, rgba(241,41,84,.12), rgba(212,23,63,.06));--gradient-accent: linear-gradient(135deg, #22c55e, #16a34a);--gradient-surface: linear-gradient(180deg, #ffffff 0%, #f9fafb 100%);--gradient-hero: linear-gradient( 180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .55) 100% )}:root{--font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-xs: 11px;--font-sm: 12px;--font-md: 14px;--font-base: 15px;--font-lg: 16px;--font-xl: 18px;--font-2xl: 22px;--font-3xl: 28px;--font-4xl: 34px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--space-xs: 4px;--space-sm: 8px;--space-md: 14px;--space-lg: 20px;--space-xl: 32px;--space-2xl: 48px;--transition-fast: .1s ease;--transition: .16s ease;--transition-slow: .24s ease;--transition-spring: cubic-bezier(.34, 1.56, .64, 1)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-body);color:var(--text-main);font-family:var(--font-family);font-size:var(--font-base);line-height:1.5;overflow-x:hidden}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#0000001a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#0003}h1,h2,h3,h4,h5{font-weight:var(--weight-bold);color:var(--text-main);line-height:1.2}p{font-size:var(--font-md);color:var(--text-muted);line-height:1.6}.fo-title-page{font-size:var(--font-3xl);font-weight:var(--weight-extrabold);letter-spacing:-.5px}.fo-subtitle{font-size:var(--font-md);color:var(--text-muted);font-weight:var(--weight-regular)}.fo-card{background:var(--bg-surface);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:18px 22px;box-shadow:var(--shadow-card);transition:box-shadow var(--transition),transform var(--transition)}.fo-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.fo-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:var(--radius-pill);font-size:var(--font-md);font-weight:var(--weight-semibold);font-family:var(--font-family);cursor:pointer;border:none;transition:background var(--transition),transform var(--transition-fast),box-shadow var(--transition),opacity var(--transition);white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.fo-btn-primary{background:var(--brand-primary);color:#fff;box-shadow:var(--shadow-brand-sm)}.fo-btn-primary:hover:not(:disabled){background:var(--brand-primary-hover);box-shadow:var(--shadow-brand);transform:translateY(-1px)}.fo-btn-primary:active:not(:disabled){background:var(--brand-primary-active);transform:scale(.97);box-shadow:none}.fo-btn-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.fo-btn-outline{background:transparent;color:var(--brand-primary);border:1.5px solid var(--brand-primary)}.fo-btn-outline:hover:not(:disabled){background:var(--brand-primary-soft)}.fo-btn-outline:active:not(:disabled){transform:scale(.97)}.fo-btn-neutral{background:var(--bg-soft);color:var(--text-soft);border:1px solid var(--border)}.fo-btn-neutral:hover:not(:disabled){background:var(--bg-hover)}.fo-btn-ghost{background:transparent;color:var(--text-muted)}.fo-btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-main)}.fo-btn-danger{background:var(--danger-soft);color:var(--danger);border:1px solid rgba(220,38,38,.2)}.fo-btn-danger:hover:not(:disabled){background:var(--danger);color:#fff}.fo-btn-sm{padding:6px 12px;font-size:var(--font-sm)}.fo-btn-lg{padding:14px 28px;font-size:var(--font-lg)}.fo-btn-block{width:100%}a{color:var(--brand-primary);text-decoration:none;transition:color var(--transition)}a:hover{color:var(--brand-primary-hover)}.fo-input{width:100%;padding:11px 14px;border-radius:var(--radius-md);background:var(--bg-surface-soft);border:1.5px solid var(--border);font-size:var(--font-md);font-family:var(--font-family);color:var(--text-main);transition:border-color var(--transition),box-shadow var(--transition)}.fo-input::-moz-placeholder{color:var(--text-placeholder)}.fo-input::placeholder{color:var(--text-placeholder)}.fo-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-soft);background:#fff;outline:none}textarea.fo-input{resize:none}.fo-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:var(--radius-pill);font-size:var(--font-xs);font-weight:var(--weight-semibold);letter-spacing:.3px;line-height:1.6}.fo-badge-brand{background:var(--brand-primary-soft);color:var(--brand-primary)}.fo-badge-success{background:var(--success-soft);color:var(--success)}.fo-badge-warning{background:var(--warning-soft);color:var(--warning)}.fo-badge-danger{background:var(--danger-soft);color:var(--danger)}.fo-badge-neutral{background:var(--bg-soft);color:var(--text-muted);border:1px solid var(--border)}.fo-divider{width:100%;height:1px;background:var(--border-soft);margin:16px 0}.fo-flex{display:flex;align-items:center}.fo-flex-between{display:flex;align-items:center;justify-content:space-between}.fo-flex-center{display:flex;align-items:center;justify-content:center}.fo-flex-col{display:flex;flex-direction:column}.fo-glass{background:#ffffffb8;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}html,body{margin:0;padding:0;width:100%;height:100%}body{background:var(--bg-body);color:var(--text-main);font-family:var(--font-family);-webkit-font-smoothing:antialiased}.qr-app-container{width:100%;min-height:100vh;background:var(--bg-body)}@media(min-width:768px)and (max-width:1023px){.qr-app-container{max-width:640px;margin:0 auto;box-shadow:0 0 60px #00000014}}
