:root{--brand: #3d5afe;--primary: #3d5afe;--on-primary: #ffffff;--secondary: #5a6472;--on-secondary: #ffffff;--tertiary: #00796b;--on-tertiary: #ffffff;--primary-bright: #8ea2ff;--bg: #f4f5f8;--surface: #ffffff;--surface-2: color-mix(in srgb, var(--primary) 6%, #ffffff);--text: #171922;--text-2: #5d6473;--outline: rgba(23, 25, 34, .09);--accent-text: var(--primary);--shadow-1: 0 1px 2px rgba(16, 24, 40, .05), 0 4px 16px rgba(16, 24, 40, .06);--shadow-2: 0 12px 40px rgba(16, 24, 40, .16);--success: #16a34a;--danger: #dc2626;--whatsapp: #22c55e;--radius: 24px;--radius-sm: 14px;--page-max: 640px;--font: "Inter Tight", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #0e0f13;--surface: #1a1c22;--surface-2: color-mix(in srgb, var(--primary) 14%, #1a1c22);--text: #f3f4f6;--text-2: #9aa1ae;--outline: rgba(243, 244, 246, .08);--accent-text: var(--primary-bright);--shadow-1: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 20px rgba(0, 0, 0, .35);--shadow-2: 0 16px 48px rgba(0, 0, 0, .6)}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#app{max-width:var(--page-max);margin:0 auto;min-height:100dvh;background:var(--bg);position:relative;overflow-x:clip}@media(min-width:700px){body{background:radial-gradient(80% 60% at 20% 0%,color-mix(in srgb,var(--primary) 32%,transparent),transparent),radial-gradient(70% 50% at 90% 100%,color-mix(in srgb,var(--tertiary) 22%,transparent),transparent),#0a0b0e;background-attachment:fixed}#app{box-shadow:var(--shadow-2)}}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}img{display:block}h1,h2,h3,p{margin:0}.page{min-height:100dvh;display:flex;flex-direction:column;position:relative}.ambient{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none}.ambient img{width:100%;height:100%;object-fit:cover;filter:blur(72px) saturate(1.5);transform:scale(1.35);opacity:.16}@media(prefers-color-scheme:dark){.ambient img{opacity:.14}}.home-page>*:not(.ambient){position:relative;z-index:1}.hero{position:relative;min-height:372px;display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;animation:hero-zoom 1.6s cubic-bezier(.22,1,.36,1) both}@keyframes hero-zoom{0%{transform:scale(1.08)}to{transform:scale(1)}}.hero-bg-fallback{display:grid;place-items:center;background:radial-gradient(120% 120% at 15% 0%,color-mix(in srgb,var(--tertiary) 55%,transparent),transparent 60%),linear-gradient(155deg,color-mix(in srgb,var(--primary) 88%,#000),color-mix(in srgb,var(--primary) 55%,#000));color:#ffffff80;animation:none}.hero-scrim{position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,#00000080,#0000000a 42%,#00000085 78%,#000000db)}.hero-status{position:absolute;top:max(16px,env(safe-area-inset-top));left:0;right:0;display:flex;justify-content:center}.hero-content{display:flex;align-items:center;gap:18px;padding:26px 22px;width:100%;animation:rise .6s cubic-bezier(.22,1,.36,1) both .1s}.hero-avatar{width:86px;height:86px;border-radius:50%;object-fit:cover;border:3.5px solid #fff;box-shadow:0 6px 20px #00000073;flex-shrink:0}.hero-name{font-size:clamp(28px,8vw,40px);font-weight:900;line-height:1.02;color:#fff;letter-spacing:-.03em;text-shadow:0 2px 12px rgba(0,0,0,.35)}.hero-description{margin-top:7px;color:#ffffffe0;font-size:15.5px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;border-radius:999px;font-size:12.5px;font-weight:800;letter-spacing:.01em;color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.22);box-shadow:0 4px 16px #00000040}.status-pill.is-open{background:color-mix(in srgb,var(--success) 82%,transparent)}.status-pill.is-closed{background:color-mix(in srgb,var(--danger) 82%,transparent)}.inactive-banner{background:var(--danger);color:#fff;font-weight:700;text-align:center;padding:10px 16px;font-size:14px}.home-body{display:flex;flex-direction:column;gap:16px;padding:24px 18px calc(44px + env(safe-area-inset-bottom))}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.home-body>*{animation:rise .55s cubic-bezier(.22,1,.36,1) both}.home-body>:nth-child(1){animation-delay:.05s}.home-body>:nth-child(2){animation-delay:.12s}.home-body>:nth-child(3){animation-delay:.19s}.home-body>:nth-child(4){animation-delay:.26s}.home-body>:nth-child(5){animation-delay:.33s}.home-body>:nth-child(6){animation-delay:.4s}.home-body>:nth-child(n+7){animation-delay:.47s}.actions{display:flex;flex-direction:column;gap:12px;margin-bottom:6px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:16px 22px;border-radius:18px;font-size:17px;font-weight:800;letter-spacing:-.01em;transition:transform .15s cubic-bezier(.22,1,.36,1),filter .15s ease,box-shadow .2s ease}.btn:active{transform:scale(.97)}.btn:hover{filter:brightness(1.06)}.btn-action{min-height:58px}.btn-fill-primary{background:linear-gradient(150deg,color-mix(in srgb,var(--primary) 88%,#fff),var(--primary));color:var(--on-primary);box-shadow:0 8px 24px color-mix(in srgb,var(--primary) 42%,transparent)}.btn-fill-tertiary{background:linear-gradient(150deg,color-mix(in srgb,var(--tertiary) 88%,#fff),var(--tertiary));color:var(--on-tertiary);box-shadow:0 8px 24px color-mix(in srgb,var(--tertiary) 38%,transparent)}.btn-fill-secondary{background:linear-gradient(150deg,color-mix(in srgb,var(--secondary) 88%,#fff),var(--secondary));color:var(--on-secondary);box-shadow:0 8px 24px color-mix(in srgb,var(--secondary) 36%,transparent)}.btn-whatsapp{background:linear-gradient(150deg,#2ce07a,var(--whatsapp));color:#053019;width:100%;box-shadow:0 8px 24px color-mix(in srgb,var(--whatsapp) 40%,transparent)}.icon-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:var(--text);transition:background .15s ease}.icon-btn:hover{background:var(--outline)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.info-grid>.card:only-child{grid-column:1 / -1}.card{background:color-mix(in srgb,var(--surface) 92%,transparent);border:1px solid var(--outline);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:14px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.card-header{display:flex;align-items:center;gap:11px}.card-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:color-mix(in srgb,var(--primary) 14%,transparent);color:var(--accent-text);flex-shrink:0}.card:nth-of-type(2n) .card-icon{background:color-mix(in srgb,var(--tertiary) 14%,transparent);color:var(--tertiary)}@media(prefers-color-scheme:dark){.card:nth-of-type(2n) .card-icon{color:color-mix(in srgb,var(--tertiary) 55%,#fff)}}.card-title{font-size:16.5px;font-weight:800;letter-spacing:-.01em}.card-text{color:var(--text-2);font-size:14.5px;line-height:1.5}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{display:inline-flex;align-items:center;gap:7px;padding:10px 15px;border-radius:999px;background:var(--surface-2);border:1px solid var(--outline);color:var(--text);font-size:13.5px;font-weight:700;text-decoration:none;transition:transform .14s ease,border-color .15s ease}.chip:hover{border-color:color-mix(in srgb,var(--primary) 45%,transparent)}.chip:active{transform:scale(.95)}.chip svg{color:var(--accent-text)}.schedule-list{display:flex;flex-direction:column;gap:2px}.schedule-row{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-radius:12px;font-size:14.5px}.schedule-row.is-today{background:color-mix(in srgb,var(--primary) 11%,transparent);font-weight:800}.schedule-row.is-today .schedule-day:after{content:"•";color:var(--accent-text);margin-left:7px}.schedule-day{font-weight:600}.schedule-hours{font-weight:800;color:var(--accent-text);font-variant-numeric:tabular-nums}.schedule-closed{color:var(--text-2);font-size:12.5px;font-weight:600;background:var(--surface-2);border:1px solid var(--outline);padding:3px 10px;border-radius:999px}.promo-ad{position:relative;display:flex;align-items:center;gap:14px;margin:10px 10px 0;padding:14px 18px;border-radius:16px;background:linear-gradient(120deg,#101014,#1c1d24);border:1px solid rgba(255,255,255,.08);color:#fff;text-decoration:none}.promo-ad-info{flex:1}.promo-ad-title{font-weight:800;font-size:17px}.promo-ad-subtitle{font-size:13px;color:#ffffffa6}.promo-ad-badge{position:absolute;top:0;right:0;background:#2563eb;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:0 16px 0 10px}.powered-by{display:flex;justify-content:center;padding-top:20px}.powered-by a{display:inline-flex;align-items:center;gap:6px;color:var(--text-2);font-size:13px;font-weight:700;text-decoration:none}.powered-by a:hover{color:var(--accent-text)}.menu-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--outline);padding-top:env(safe-area-inset-top)}.menu-header-top{display:flex;align-items:center;gap:8px;padding:10px 12px 4px}.menu-header-title{font-size:19px;font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chip-bar{display:flex;gap:8px;overflow-x:auto;padding:8px 16px 13px;scrollbar-width:none}.chip-bar::-webkit-scrollbar{display:none}.chip-tab{flex-shrink:0;padding:9px 17px;border-radius:999px;background:var(--surface);border:1px solid var(--outline);font-size:14px;font-weight:700;color:var(--text-2);transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .15s ease}.chip-tab:active{transform:scale(.95)}.chip-tab.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:0 5px 16px color-mix(in srgb,var(--primary) 45%,transparent)}.menu-sections{padding:8px 18px calc(116px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:28px}.menu-section{scroll-margin-top:122px;display:flex;flex-direction:column;gap:12px}.menu-section-title{font-size:22px;font-weight:900;letter-spacing:-.03em;padding-top:14px}.empty-menu{text-align:center;color:var(--text-2);padding:60px 20px}.item-row{display:flex;gap:14px;background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow-1);cursor:pointer;transition:transform .15s cubic-bezier(.22,1,.36,1),box-shadow .2s ease}.item-row:hover{box-shadow:var(--shadow-2);transform:translateY(-1px)}.item-row:active{transform:scale(.99)}.item-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.item-row-name{font-size:16.5px;font-weight:800;letter-spacing:-.01em}.item-row-description{font-size:13.5px;color:var(--text-2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-row-price{margin-top:auto;font-weight:900;font-size:16px;color:var(--accent-text);font-variant-numeric:tabular-nums}.item-row-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:8px}.item-row-image{width:92px;height:92px;border-radius:18px;object-fit:cover;box-shadow:var(--shadow-1)}.stepper-add{display:grid;place-items:center;min-width:48px;height:40px;padding:0 13px;border-radius:999px;background:color-mix(in srgb,var(--primary) 15%,var(--surface));border:1px solid color-mix(in srgb,var(--primary) 25%,transparent);color:var(--accent-text);transition:transform .14s ease,background .15s ease}.stepper-add:hover{background:color-mix(in srgb,var(--primary) 24%,var(--surface))}.stepper-add:active{transform:scale(.9)}.stepper-controls{display:inline-flex;align-items:center;border-radius:999px;background:var(--surface);border:1.5px solid color-mix(in srgb,var(--primary) 35%,transparent);box-shadow:var(--shadow-1)}.stepper-btn{display:grid;place-items:center;width:38px;height:38px;color:var(--accent-text);border-radius:50%}.stepper-qty{min-width:22px;text-align:center;font-weight:900;font-size:15px;font-variant-numeric:tabular-nums}.stepper-lg .stepper-btn{width:54px;height:54px}.stepper-lg .stepper-add{min-width:68px;height:54px}.stepper-lg .stepper-qty{font-size:19px;min-width:32px}.cart-bar{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%,100px);width:min(92%,calc(var(--page-max) - 36px));display:flex;align-items:center;gap:12px;padding:17px 22px;border-radius:19px;background:linear-gradient(150deg,color-mix(in srgb,var(--primary) 86%,#fff),var(--primary));color:var(--on-primary);font-size:15.5px;font-weight:800;box-shadow:0 10px 32px color-mix(in srgb,var(--primary) 55%,transparent);transition:transform .32s cubic-bezier(.32,.72,0,1);z-index:30}.cart-bar.visible{transform:translate(-50%)}.cart-bar-label{flex:1;text-align:left}.cart-bar-total{font-weight:900;font-variant-numeric:tabular-nums}.sheet-backdrop{position:fixed;inset:0;z-index:50;background:#06080c00;display:flex;align-items:flex-end;justify-content:center;transition:background .22s ease}.sheet-backdrop.open{background:#06080c94}.sheet-panel{width:min(100%,var(--page-max));max-height:92dvh;overflow-y:auto;background:var(--bg);border-radius:26px 26px 0 0;padding:8px 18px calc(24px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}.sheet-backdrop.open .sheet-panel{transform:translateY(0)}.sheet-grip{width:42px;height:4.5px;border-radius:999px;background:color-mix(in srgb,var(--text) 18%,transparent);margin:7px auto 2px}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:6px 0 10px}.sheet-title{font-size:21px;font-weight:900;letter-spacing:-.02em}.item-sheet{display:flex;flex-direction:column;gap:16px}.item-sheet-image{width:100%;max-height:300px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-1)}.item-sheet-body{display:flex;flex-direction:column;gap:10px}.item-sheet-name{font-size:24px;font-weight:900;letter-spacing:-.03em}.item-sheet-description{color:var(--text-2);font-size:15px;line-height:1.55}.item-sheet-price{font-size:22px;font-weight:900;color:var(--accent-text);font-variant-numeric:tabular-nums}.item-sheet-actions{display:flex;justify-content:center;padding:6px 0}.tag-row{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:12px;font-weight:800;padding:5px 11px;border-radius:999px;background:color-mix(in srgb,var(--tertiary) 15%,transparent);color:var(--tertiary)}@media(prefers-color-scheme:dark){.tag{color:color-mix(in srgb,var(--tertiary) 55%,#fff)}}.cart-sheet{display:flex;flex-direction:column;gap:16px}.cart-lines{display:flex;flex-direction:column;gap:10px}.cart-line{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--outline);border-radius:var(--radius-sm);padding:10px 12px;box-shadow:var(--shadow-1)}.cart-line-image{width:58px;height:58px;border-radius:13px;object-fit:cover;flex-shrink:0}.cart-line-image.placeholder{background:var(--surface-2)}.cart-line-info{flex:1;min-width:0}.cart-line-name{font-weight:800;font-size:14.5px}.cart-line-price{color:var(--text-2);font-size:12.5px;margin-top:2px}.cart-line-subtotal{font-weight:900;font-size:14px;margin-top:2px;color:var(--accent-text);font-variant-numeric:tabular-nums}.cart-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:46px 20px;color:var(--text-2);text-align:center}.cart-empty-title{font-size:18px;font-weight:800;color:var(--text)}.cart-checkout{display:flex;flex-direction:column;gap:14px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--surface-2);border:1px solid var(--outline);border-radius:15px;padding:4px}.segmented-btn{padding:12px;border-radius:12px;font-weight:800;font-size:14.5px;color:var(--text-2);transition:background .18s ease,color .18s ease,box-shadow .2s ease}.segmented-btn.active{background:var(--primary);color:var(--on-primary);box-shadow:0 4px 12px color-mix(in srgb,var(--primary) 40%,transparent)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:13px;font-weight:800;color:var(--text-2)}.field-input{font-family:inherit;font-size:15px;color:var(--text);background:var(--surface);border:1.5px solid var(--outline);border-radius:14px;padding:13px 14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease;width:100%;resize:none}.field-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.bank-hint{font-size:13px;font-weight:600;color:var(--text-2);background:color-mix(in srgb,var(--tertiary) 8%,var(--surface));border:1px dashed color-mix(in srgb,var(--tertiary) 35%,transparent);border-radius:var(--radius-sm);padding:11px 14px}.cart-totals{display:flex;flex-direction:column;gap:6px;padding:4px 2px}.total-row{display:flex;justify-content:space-between;color:var(--text-2);font-size:14.5px;font-variant-numeric:tabular-nums}.total-row-main{color:var(--text);font-size:20px;font-weight:900}.booking-sheet{display:flex;flex-direction:column;gap:14px;padding-bottom:6px}.toast-container{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:90;display:flex;flex-direction:column;gap:8px;width:min(92%,420px)}.toast{padding:13px 18px;border-radius:14px;background:var(--text);color:var(--bg);font-size:14px;font-weight:700;text-align:center;box-shadow:var(--shadow-2);opacity:0;transform:translateY(10px);transition:opacity .25s ease,transform .25s ease}.toast.show{opacity:1;transform:translateY(0)}.toast-error{background:var(--danger);color:#fff}.skeleton{border-radius:var(--radius);background:linear-gradient(100deg,var(--surface) 40%,var(--surface-2) 50%,var(--surface) 60%);background-size:200% 100%;animation:shimmer 1.4s infinite linear}@keyframes shimmer{to{background-position:-200% 0}}.skeleton-hero{height:340px;border-radius:0}.skeleton-btn{height:58px;border-radius:18px}.skeleton-card{height:130px}.not-found{align-items:center;justify-content:center;gap:12px;text-align:center;padding:40px 24px;color:var(--text-2)}.not-found h1{font-size:22px;color:var(--text);letter-spacing:-.02em}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
