@font-face{font-family:Google Sans Flex;font-style:normal;src:url(/fonts/GoogleSansFlex_36pt-Regular.ttf) format("truetype");font-display:swap}@font-face{font-family:Google Sans Flex;font-weight:700;src:url(/fonts/GoogleSansFlex_36pt-SemiBold.ttf) format("truetype");font-display:swap}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;font-family:MiFont,sans-serif}html{font-size:16px!important;text-size-adjust:100%!important;overflow:hidden}body,html{height:100%}body{font-family:Google Sans Flex,sans-serif;background-color:var(--fondo);color:var(--texto);margin:0;padding-top:160px!important;padding-bottom:90px!important;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;-moz-text-size-adjust:none;-webkit-text-size-adjust:none}.app-header{position:fixed;top:0;left:0;right:0;width:100%;background:var(--fondo);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:1000;border-bottom:1px solid var(--fondo);display:flex;flex-direction:column;padding:0;height:auto!important;margin-left:0!important;margin-right:0!important;width:100%!important;box-sizing:border-box!important}.header-content-row{display:flex;justify-content:flex-end;align-items:center;padding:10px 20px;width:100%;height:80px;position:relative;box-sizing:border-box}.category-scroll-container{box-sizing:border-box;width:100%!important}.logo-wrapper{position:absolute;left:25%;top:50%;transform:translate(-50%,-50%);z-index:10;cursor:pointer}.app-logo{height:60px;display:block;max-width:220px}.app-logo,.theme-logo{width:auto;object-fit:contain}.theme-logo{height:40px}.header-icons{display:flex;align-items:center;gap:12px}.icon-trigger{width:60px;height:60px;border-radius:12px;background:var(--fondo);border:1px solid var(--fondo)}.icon-trigger,.mesa-circle{display:flex;align-items:center;justify-content:center;cursor:pointer}.mesa-circle{width:55px;height:55px;border-radius:50%;background-color:var(--primario)!important;color:var(--fondo)!important;font-weight:800;font-size:20px;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color .4s ease-in-out,transform .3s ease-out}.mesa-circle:hover{transform:scale(1.08);filter:brightness(1.1)}.category-scroll-container{padding:0 20px 10px;width:100%;overflow-x:auto}.nav-categories{display:flex;overflow-x:auto;gap:10px;scrollbar-width:none;width:100%;padding-bottom:5px;animation:slide-in-left .4s ease-out;position:relative}@keyframes slide-in-left{0%{transform:translateX(60px);opacity:0}to{transform:translateX(0);opacity:1}}.nav-categories::-webkit-scrollbar{display:none}.cat-pill{display:flex!important;align-items:center!important;justify-content:center!important;height:40px!important;padding:6px 8px!important;background:transparent;color:var(--texto);border-radius:12px;font-size:21px;font-weight:700;text-decoration:none;white-space:nowrap;border:none;line-height:1!important;cursor:pointer;position:relative;z-index:1;flex-shrink:0;transition:color .2s ease}.cat-pill.active{color:var(--fondo)}.cat-pill-slider{position:absolute;height:40px;top:0;background:var(--primario);border-radius:12px;pointer-events:none;z-index:0;transition:left .4s cubic-bezier(.34,1.56,.64,1),width .4s cubic-bezier(.34,1.56,.64,1)}.product-grid{padding:10px 15px 20px;display:flex;flex-direction:column;gap:15px;height:auto!important;overflow:visible!important}.product-grid::-webkit-scrollbar{display:none}.card{background:var(--card);border-radius:16px;padding:12px;display:flex;gap:15px;align-items:center;border:1px solid var(--fondo);position:relative;cursor:pointer}.card:active{transform:scale(.98)}.card img,.card:active{background:var(--fondo)}.card img{width:130px;height:100px;border-radius:12px;object-fit:cover}.card-info{flex:1 1;display:flex;flex-direction:column;align-items:flex-end;width:100%}.card-title{font-weight:700;font-size:20px;margin-bottom:5px;line-height:1.3;width:100%}.card-price{color:var(--primario);font-weight:800;font-size:25px;text-align:right;width:100%}.btn-delete-card{position:absolute;top:-10px;left:-10px;width:30px;height:30px;background-color:var(--rojo);color:var(--texto);border-radius:50%;display:none;align-items:center;justify-content:center;font-weight:700;font-size:16px;z-index:10;border:2px solid var(--fondo)}.destacados-slider{display:flex;overflow-x:auto;gap:15px;padding:10px 20px 20px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;position:relative;z-index:1}.destacados-slider::-webkit-scrollbar{display:none}.slider-item{flex:0 0 80%;max-width:300px;scroll-snap-align:center;position:relative;border-radius:15px;overflow:hidden;height:180px;cursor:pointer}.slider-item img{width:100%;height:100%;object-fit:cover}.slider-price-top{right:20px;background:var(--rojo);color:var(--texto-destacado);font-size:21px;padding:7px 15px}.slider-price-top,.slider-tag{position:absolute;top:10px;font-weight:700;border-radius:20px;z-index:20}.slider-tag{left:10px;background:var(--primario);color:var(--fondo);padding:4px 10px;font-size:12px}.slider-info{position:absolute;bottom:0;left:0;right:0;padding:15px}.slider-title{font-weight:700;font-size:21px;color:var(--texto-destacado);display:block;margin-bottom:15px;text-shadow:0 2px 5px rgba(0,0,0,.8)}.bottom-bar{position:fixed;bottom:0;left:0;width:100%;background:var(--fondo);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px 20px max(15px,env(safe-area-inset-bottom));border-top:1px solid var(--fondo);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;z-index:2000;transform:translateY(100%);transition:transform .3s ease}.bottom-bar.visible{transform:translateY(0)}.total-section{display:flex;flex-direction:column}.total-label{font-size:18px;color:var(--text-gray)}.total-price{font-size:26px;font-weight:800;color:var(--primario)}.btn-checkout{background:var(--primario);color:var(--fondo);border:none;padding:14px 28px;border-radius:14px;font-size:22px;font-weight:700;cursor:pointer;flex:1 1}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:3000;display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease}.modal-overlay.open{opacity:1;pointer-events:all}.modal-content{background:var(--card);width:100%;max-height:90vh;border-radius:20px 20px 0 0;display:flex;flex-direction:column;transform:translateY(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overflow:hidden}.modal-overlay.open .modal-content{transform:translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--fondo);flex-shrink:0}.modal-title{font-size:22px;font-weight:700;color:var(--texto);margin:0}.btn-close{position:absolute;top:20px;right:20px;width:44px;height:44px;background-color:var(--rojo);color:#f5f5f5;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:38px;cursor:pointer;z-index:100;border:2px solid hsla(0,0%,100%,.2);line-height:1}#modalProducto .modal-content{position:fixed;bottom:0;left:0;right:0;top:5%;height:auto;max-height:none;border-radius:20px 20px 0 0;display:flex;flex-direction:column;overflow:hidden}#modalImagenContainer{width:100%;height:182px;overflow:hidden;border-radius:20px 20px 0 0;flex-shrink:0}#modalImagenContainer img{width:100%;height:100%;object-fit:cover;display:block}.modal-body-inner{display:flex;flex-direction:column;flex:1 1;overflow:hidden;min-height:0;padding:20px}.modal-body-inner #modalCuerpo{flex:1 1;overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none;min-height:0}.modal-body-inner #modalCuerpo::-webkit-scrollbar{display:none}.option-row{display:flex;align-items:center;gap:15px;padding:14px 16px;border-radius:12px;margin-bottom:10px;border:2px solid var(--texto);cursor:pointer;transition:border-color .2s;font-size:22px!important}.option-row.selected-option{border-color:var(--primario);background:color-mix(in srgb,var(--primario) 40%,transparent)}.radio-circle,.radio-inner{display:none}.option-name{font-size:22px;font-weight:600;color:var(--texto)}.option-desc{font-size:14px;color:var(--text-gray);margin-top:2px}.counter-wrapper{gap:20px}.btn-count,.counter-wrapper{display:flex;align-items:center}.btn-count{width:44px;height:44px;border-radius:50%;border:2px solid var(--primario);background:transparent;color:var(--primario);font-size:24px;font-weight:700;cursor:pointer;justify-content:center}.count-display{font-size:28px;font-weight:800;color:var(--texto);min-width:50px;text-align:center}.btn-confirm{background:var(--primario);color:var(--fondo);border:none;padding:16px;border-radius:14px;font-size:18px;font-weight:700;cursor:pointer;width:100%;margin-top:15px;flex-shrink:0}.cart-list{flex:1 1;overflow-y:auto;padding:0 20px}.cart-item{padding:15px 0;border-bottom:1px solid var(--fondo)}.cart-item-title{font-size:18px;font-weight:600;color:var(--texto)}.cart-footer{padding:20px;border-top:1px solid var(--fondo);flex-shrink:0}.cart-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.summary-label{font-size:28px!important;color:var(--text-gray)}.summary-total{font-size:28px;font-weight:800;color:var(--primario)}.input-nombre{width:100%;height:52px;font-size:18px;padding:0 15px;border-radius:12px;border:1px solid var(--secundario);background:var(--fondo);color:var(--texto);margin-top:8px}.input-nombre.input-error{border-color:var(--rojo);animation:shake .3s ease}.btn-finalize{background:var(--primario);color:var(--fondo);border:none;padding:16px;border-radius:14px;font-size:24px!important;font-weight:700;cursor:pointer;width:100%;margin-top:15px}.btn-finalize:disabled{opacity:.6;cursor:not-allowed}#modalSearch .modal-content{background:var(--fondo);padding:25px 20px 30px!important;border-radius:0 0 25px 25px!important;transform:translateY(-100%);top:0;border-radius:0 0 25px 25px}#modalSearch.open .modal-content{transform:translateY(0)}.search-container{display:flex;gap:10px;align-items:center;width:100%}.search-input{flex:1 1;height:52px;font-size:18px;padding:0 15px;border-radius:12px!important;border:1px solid var(--secundario);background:var(--fondo);color:var(--texto)}.btn-close-search{width:52px;height:52px;min-width:52px;background-color:var(--rojo);color:#f5f5f5;border:none;border-radius:50%;font-size:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;line-height:1}.toast-notificacion{position:fixed;top:20px;left:50%;transform:translateX(-50%);background:var(--verde);color:var(--texto-destacado);padding:15px 20px;border-radius:12px;z-index:6000;font-weight:700;font-size:25px;width:85%;text-align:center;pointer-events:none;opacity:0;transition:opacity .3s}.toast-notificacion.visible{opacity:1}.banner-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:9999;display:none}.banner-overlay.activo{display:block}.banner-personalizado{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);min-width:300px;max-width:90%;padding:25px 30px;border-radius:20px;background:var(--card);border:2px solid;z-index:10000;display:flex;flex-direction:column;align-items:center;gap:15px;animation:aparecerBanner .3s ease}.banner-personalizado.advertencia{border-color:var(--primario)}.banner-icono{font-size:48px;line-height:1}.banner-mensaje{font-size:18px;font-weight:500;color:var(--texto);text-align:center;margin:0}.banner-boton{background:var(--primario);color:var(--texto);border:none;padding:12px 30px;border-radius:50px;font-weight:700;font-size:16px;cursor:pointer;transition:.2s;margin-top:5px}.gps-box{background:var(--fondo);color:var(--texto);padding:25px;border-radius:14px;text-align:center;max-width:320px;margin:auto}.gps-box p{font-size:16px;margin-bottom:20px}.gps-box button{background:var(--primario);color:var(--fondo);padding:12px 25px;border:none;border-radius:8px;font-weight:700;cursor:pointer;font-size:16px}.qr-banner-content{background:var(--fondo);color:var(--texto);padding:30px;border-radius:20px;text-align:center;width:100%;max-width:360px;border:2px solid var(--primario);overflow:hidden}.qr-banner-content h2{color:var(--primario);margin-bottom:20px;font-size:clamp(18px,5vw,26px)}.qr-banner-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.qr-banner-button{background:var(--primario);color:var(--fondo);border:none;padding:15px 25px;border-radius:12px;font-weight:700;font-size:clamp(14px,4vw,18px);cursor:pointer;flex:1 1;justify-content:center}@keyframes bounceDown{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}#scrollArrow{animation:bounceDown .9s ease-in-out infinite}@keyframes aparecerBanner{0%{opacity:0;transform:translate(-50%,-40%)}to{opacity:1;transform:translate(-50%,-50%)}}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@-moz-document url-prefix(){body{zoom:.7}.bottom-bar,.modal-content,.modal-overlay{zoom:reset}}body::-webkit-scrollbar,html::-webkit-scrollbar{display:none}@keyframes skeleton-shine{0%{background-position:200% 0}to{background-position:-200% 0}}.restaurante-nombre{text-align:center;font-size:18px;font-weight:600;color:var(--text-gray);padding:4px 20px 6px;letter-spacing:.5px;text-transform:uppercase}