@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--primary: #D91A3D;--primary-dark: #b8152f;--primary-glow: rgba(217, 26, 61, .35);--emerald: #10b981;--emerald-dark: #059669;--emerald-glow: rgba(16, 185, 129, .25);--gold: #f59e0b;--gold-dark: #d97706;--gold-glow: rgba(245, 158, 11, .3);--carbon: #0f0f1a;--carbon-mid: #1a1a2e;--carbon-light: #2d2d44;--surface: rgba(255, 255, 255, .06);--surface-hover: rgba(255, 255, 255, .12);--surface-glass: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .15);--glass-strong: rgba(255, 255, 255, .95);--text-primary: #ffffff;--text-secondary: #b8b8cc;--text-muted: rgba(255, 255, 255, .6);--text-dark: #1a1a2e;--text-dark-secondary: #4a4a6a;--healthy-bg: rgba(16, 185, 129, .12);--healthy-border: rgba(16, 185, 129, .3);--healthy-text: #6ee7b7;--z-base: 1;--z-sticky: 100;--z-overlay: 200;--z-modal: 300;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 14px;--radius-lg: 20px;--radius-xl: 24px;--radius-full: 9999px;--touch-min: 44px;--ease: cubic-bezier(.4, 0, .2, 1);--dur-fast: .15s;--dur-normal: .25s;--dur-slow: .35s;--font-body: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: "Outfit", "Inter", sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}body{font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--text-primary);background:var(--carbon);min-height:100vh;padding-bottom:100px;overflow-x:hidden;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::selection{background:var(--primary);color:#fff}[x-cloak]{display:none!important}.animated-bg{position:fixed;inset:0;background:linear-gradient(-45deg,#024873,#0a0a1a,#d91a3d,#1a1a2e,#024873);background-size:400% 400%;animation:gradientFlow 20s ease-in-out infinite;z-index:-1}.animated-bg:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%,rgba(217,26,61,.12) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(16,185,129,.1) 0%,transparent 50%);animation:pulseGlow 8s ease-in-out infinite alternate}@keyframes gradientFlow{0%,to{background-position:0% 50%}25%{background-position:50% 100%}50%{background-position:100% 50%}75%{background-position:50% 0%}}@keyframes pulseGlow{0%{opacity:.5}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes badgePop{0%{transform:scale(0)}70%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes heartBeat{0%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1)}75%{transform:scale(1.15)}to{transform:scale(1)}}.header{background:var(--glass-strong);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--space-md) var(--space-lg);position:sticky;top:0;z-index:var(--z-sticky);box-shadow:0 4px 30px #0000001a;border-bottom:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.header__center{flex:1;text-align:center}.header__title{font-family:var(--font-display);color:var(--primary);font-size:clamp(1.4rem,5vw,1.8rem);font-weight:800;text-transform:uppercase;letter-spacing:-.5px}.header__subtitle{font-size:.875rem;color:var(--text-dark-secondary);margin-top:2px;font-weight:500}.btn-auth{min-height:var(--touch-min);min-width:var(--touch-min);padding:8px 14px;border:1.5px solid rgba(0,0,0,.15);border-radius:var(--radius-md);background:var(--surface-hover);color:var(--text-dark);font-family:var(--font-body);font-size:.8rem;font-weight:700;cursor:pointer;transition:all var(--dur-normal) var(--ease);flex-shrink:0}.btn-auth:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.category-nav{position:sticky;top:72px;z-index:calc(var(--z-sticky) - 1);background:var(--surface-glass);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);padding:var(--space-sm) 0;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--glass-border);-webkit-overflow-scrolling:touch}.category-nav::-webkit-scrollbar{display:none}.nav-container{display:flex;gap:var(--space-sm);padding:0 var(--space-md);width:max-content}.nav-pill{display:inline-flex;align-items:center;gap:6px;min-height:var(--touch-min);padding:10px 18px;background:var(--surface);backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius-full);font-size:.85rem;font-weight:600;color:var(--text-primary);cursor:pointer;text-decoration:none;white-space:nowrap;transition:all var(--dur-normal) var(--ease)}.nav-pill:hover,.nav-pill:focus-visible{background:var(--surface-hover);outline:none}.nav-pill.active{background:var(--primary);border-color:var(--primary);box-shadow:0 4px 15px var(--primary-glow)}.nav-pill--healthy.active{background:var(--emerald);border-color:var(--emerald);box-shadow:0 4px 15px var(--emerald-glow)}.main-container{padding:var(--space-lg) var(--space-md);max-width:1200px;margin:0 auto}.category-section{margin-bottom:var(--space-xl);scroll-margin-top:150px;animation:slideUp var(--dur-slow) var(--ease)}.category-title{display:inline-flex;align-items:center;gap:10px;background:var(--glass-strong);backdrop-filter:blur(20px);color:var(--text-dark);font-family:var(--font-display);font-size:1.1rem;font-weight:700;margin-bottom:var(--space-md);padding:14px 20px;border-radius:var(--radius-lg);box-shadow:0 4px 20px #00000026;border-left:4px solid var(--primary)}.category-title--healthy{border-left-color:var(--emerald);background:linear-gradient(135deg,#fffffff2,#10b98114)}.category-icon{font-size:1.3rem}.menu-grid{display:grid;gap:var(--space-sm);grid-template-columns:repeat(2,1fr)}@media(min-width:768px){.menu-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-md)}}@media(min-width:1024px){.menu-grid{grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}}.card{position:relative;background:var(--surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-md);min-height:var(--touch-min);cursor:pointer;display:flex;flex-direction:column;gap:var(--space-sm);transition:transform var(--dur-normal) var(--ease),box-shadow var(--dur-normal) var(--ease),border-color var(--dur-normal) var(--ease);overflow:hidden}.card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.08) 0%,transparent 60%);pointer-events:none}.card:active{transform:scale(.97)}.card:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-glow)}.card--selected{background:#fff3;border:2px solid var(--primary);box-shadow:0 0 30px var(--primary-glow)}.card--healthy{background:var(--healthy-bg);border-color:var(--healthy-border)}.card--healthy.card--selected{border-color:var(--emerald);box-shadow:0 0 30px var(--emerald-glow)}@media(min-width:1024px){.card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #0003}}.card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm)}.card__info{flex:1}.card__title{font-size:.95rem;color:var(--text-primary);font-weight:600;line-height:1.3}.card__desc{font-size:.8rem;color:var(--text-muted);line-height:1.4;margin-top:2px}.card__badge{display:inline-flex;padding:3px 10px;border-radius:var(--radius-full);font-size:.7rem;font-weight:600;white-space:nowrap;background:#024873b3;color:#fff}.card__badge--breakfast{background:var(--gold);color:var(--carbon);font-weight:700;animation:badgePop var(--dur-normal) var(--ease)}.card__check{position:absolute;top:10px;right:10px;width:26px;height:26px;background:var(--primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;opacity:0;transform:scale(0);transition:all var(--dur-normal) var(--ease);z-index:10}.card--selected .card__check{opacity:1;transform:scale(1)}.btn-fav{flex-shrink:0;width:32px;height:32px;border:none;background:transparent;cursor:pointer;transition:transform var(--dur-fast) var(--ease);padding:0;display:flex;align-items:center;justify-content:center}.btn-fav:hover{transform:scale(1.15)}.btn-fav:active{transform:scale(.9)}.btn-fav svg{width:22px;height:22px;stroke:var(--text-muted);stroke-width:2;fill:none;transition:all var(--dur-normal) var(--ease)}.btn-fav--active svg{fill:var(--primary);stroke:var(--primary);filter:drop-shadow(0 0 8px var(--primary-glow));animation:heartBeat .5s var(--ease)}.admin-controls{display:flex;gap:var(--space-sm);position:absolute;bottom:8px;right:8px;z-index:20}.btn-admin{width:var(--touch-min);height:var(--touch-min);border:none;border-radius:50%;color:#fff;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(10px);transition:all var(--dur-fast) var(--ease)}.btn-admin--edit{background:#3b82f6d9}.btn-admin--delete{background:#ef4444d9}.btn-admin:hover{transform:scale(1.1)}.floating-bar{position:fixed;bottom:0;left:0;right:0;background:var(--glass-strong);backdrop-filter:blur(20px);padding:var(--space-md) var(--space-lg);padding-bottom:max(var(--space-md),env(safe-area-inset-bottom));box-shadow:0 -5px 30px #00000026;display:flex;gap:var(--space-sm);z-index:var(--z-overlay)}.btn{min-height:var(--touch-min);padding:16px 20px;border:none;border-radius:var(--radius-lg);font-weight:700;font-size:.95rem;cursor:pointer;font-family:var(--font-body);flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:transform var(--dur-fast) var(--ease)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--primary-glow)}.btn:active{transform:scale(.98)}.btn--primary{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);color:#fff;box-shadow:0 4px 15px var(--primary-glow)}.btn--secondary{background:#fff;color:var(--text-dark);border:2px solid var(--text-dark-secondary);flex:0 0 56px;font-size:1.3rem}.btn--whatsapp{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;box-shadow:0 4px 15px #25d36659}.cart-badge{background:#fff;color:var(--primary);font-size:.8rem;font-weight:800;padding:2px 8px;border-radius:12px;animation:badgePop var(--dur-normal) var(--ease)}.checkout{background:var(--glass-strong);backdrop-filter:blur(20px);min-height:80vh;padding:var(--space-xl) var(--space-lg) 120px;max-width:700px;margin:var(--space-lg) auto;border-radius:var(--radius-xl);box-shadow:0 20px 60px #0000004d;animation:slideUp var(--dur-slow) var(--ease)}.checkout__title{color:var(--primary);text-align:center;margin-bottom:var(--space-lg);font-family:var(--font-display);font-size:1.4rem}.order-summary{background:linear-gradient(135deg,#f0f4f8,#e8ecf0);padding:var(--space-lg);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);border-left:5px solid var(--primary)}.order-summary__title{font-size:1rem;margin-bottom:var(--space-sm);color:var(--text-dark);font-weight:700}.summary-list{list-style:none}.summary-list li{margin-bottom:var(--space-sm);font-size:.9rem;border-bottom:1px dashed #ccc;padding-bottom:var(--space-sm);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);color:#444}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;font-size:.875rem;font-weight:700;margin-bottom:var(--space-sm);color:var(--text-dark)}.form-input{width:100%;min-height:var(--touch-min);padding:14px 16px;border:2px solid #e0e0e0;border-radius:var(--radius-md);font-family:var(--font-body);font-size:1rem;background:#f8f9fa;color:#333;transition:all var(--dur-normal) var(--ease)}.form-input:focus{border-color:var(--primary);background:#fff;outline:none;box-shadow:0 0 0 4px #d91a3d1a}.modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#0f0f1acc;backdrop-filter:blur(6px);padding:var(--space-md);animation:fadeIn var(--dur-normal) var(--ease)}.modal{background:#fff;border-radius:var(--radius-xl);box-shadow:0 25px 80px #0006;width:100%;max-width:400px;overflow:hidden;animation:slideUp var(--dur-slow) var(--ease)}.modal__header{display:flex}.modal__tab{flex:1;padding:16px;font-weight:700;font-size:.95rem;text-align:center;border:none;border-bottom:3px solid #e0e0e0;background:transparent;color:var(--text-dark-secondary);cursor:pointer;font-family:var(--font-body);transition:all var(--dur-normal) var(--ease)}.modal__tab--active{border-bottom-color:var(--primary);color:var(--primary)}.modal__body{padding:var(--space-lg)}.modal__error{margin-bottom:var(--space-md);font-size:.85rem;font-weight:600;color:#dc2626;background:#fef2f2;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);text-align:center}.modal--admin .modal__header{background:var(--primary);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);font-weight:700;font-size:1.1rem}.modal--admin .btn-close{width:var(--touch-min);height:var(--touch-min);border:none;background:transparent;color:#fff;font-size:1.5rem;cursor:pointer}.suggestions{background:linear-gradient(135deg,#fff8e1,#ffecb3);border:2px solid var(--gold);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg);text-align:center}.suggestions__title{color:var(--gold-dark);font-weight:700;margin-bottom:var(--space-sm)}.suggestions__text{color:#5d4037;font-size:.9rem;margin-bottom:var(--space-md);line-height:1.5}.btn-suggestion{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);color:#fff;border:none;min-height:var(--touch-min);padding:12px 24px;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer}.toast{position:fixed;bottom:96px;left:50%;transform:translate(-50%);z-index:999;background:var(--carbon-mid);color:#fff;font-size:.85rem;font-weight:500;padding:12px 24px;border-radius:var(--radius-full);box-shadow:0 8px 30px #0000004d;white-space:nowrap;animation:slideUp var(--dur-normal) var(--ease)}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.scrollbar-hide{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-hide::-webkit-scrollbar{display:none}
