*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:Inter,Kantumruy Pro,PingFang SC,Noto Sans SC,Microsoft YaHei,system-ui,sans-serif;background:#faf8f5;color:#1f1d1a;-webkit-font-smoothing:antialiased}[lang=km]{font-family:Kantumruy Pro,Inter,system-ui,sans-serif;line-height:1.6}button{font:inherit;cursor:pointer}a{color:inherit}img{display:block;max-width:100%}.center-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}.center-screen h1{margin:12px 0 4px;font-size:22px}.empty-icon{font-size:48px;opacity:.4}.offline-logo{width:88px;height:88px;border-radius:20px;object-fit:cover}.muted{color:color-mix(in srgb,var(--text, #1f1d1a) 62%,transparent)}.small{font-size:13px}.pad{padding:24px 0}.center{text-align:center}.spinner{width:34px;height:34px;border:3px solid #0002;border-top-color:#0008;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.menu{min-height:100vh;background:var(--bg);color:var(--text);padding-bottom:96px;max-width:760px;margin:0 auto}.hero{color:var(--on-primary);background-size:cover;background-position:center;position:relative;overflow:hidden;background-color:var(--primary);background-image:radial-gradient(120% 90% at 100% 0%,color-mix(in srgb,var(--secondary) 45%,transparent) 0%,transparent 60%),linear-gradient(160deg,var(--primary) 0%,color-mix(in srgb,var(--primary) 70%,#000) 100%)}.hero.has-cover:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0000,#0000004d 45%,#000c)}.hero.has-cover{color:#fff;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end}.hero-inner{position:relative;display:flex;align-items:center;gap:14px;padding:24px 18px 22px}.logo{width:64px;height:64px;border-radius:18px;object-fit:cover;background:#fff;flex:none;box-shadow:0 0 0 3px #ffffff40,0 6px 16px #0000004d}.hero-text{flex:1;min-width:0}.hero h1{margin:0;font-size:24px;line-height:1.2;font-weight:700;letter-spacing:-.02em}.hero-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.badge{font-size:12px;font-weight:500;padding:4px 10px;border-radius:99px;background:#ffffff26;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid #ffffff26}.badge.ok{cursor:pointer}.badge.off{cursor:pointer;opacity:.85}.badge.table{background:var(--accent);color:#fff;font-weight:600}.lang-switch{display:flex;background:#0003;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:99px;padding:3px;align-self:flex-start}.lang-switch button{border:0;background:transparent;color:inherit;padding:5px 9px;border-radius:99px;font-size:12px;font-weight:600}.lang-switch button.active{background:#fff;color:#111}.hours{position:relative;padding:0 16px 16px;font-size:13px;display:grid;gap:2px}.hours-row{display:flex;justify-content:space-between;max-width:260px}.catnav{position:sticky;top:0;z-index:20;padding:12px 0 0;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);box-shadow:0 1px color-mix(in srgb,var(--text) 8%,transparent)}.search{display:flex;align-items:center;gap:8px;margin:0 16px 10px;padding:0 14px;height:44px;border-radius:14px;background:color-mix(in srgb,var(--text) 5%,var(--bg));color:color-mix(in srgb,var(--text) 50%,transparent);border:1px solid color-mix(in srgb,var(--text) 7%,transparent);transition:border-color .15s,box-shadow .15s}.search:focus-within{border-color:color-mix(in srgb,var(--primary) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 14%,transparent)}.search input{flex:1;border:0;background:transparent;outline:none;font:inherit;color:var(--text);min-width:0}.tabs{display:flex;gap:6px;overflow-x:auto;padding:0 16px 10px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:none;border:1px solid color-mix(in srgb,var(--text) 12%,transparent);background:color-mix(in srgb,var(--bg) 70%,#fff);color:var(--text);padding:8px 16px;border-radius:99px;font-size:14px;font-weight:500;white-space:nowrap;transition:all .18s}.tabs button.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary);box-shadow:0 4px 12px -4px color-mix(in srgb,var(--primary) 70%,transparent)}.sections{padding:0 16px}.section{padding-top:22px;scroll-margin-top:120px}.section h2{font-size:20px;font-weight:700;letter-spacing:-.015em;margin:6px 0 12px}.items{display:grid;gap:12px}.item{display:flex;flex-direction:row-reverse;gap:14px;padding:12px;border-radius:18px;cursor:pointer;background:color-mix(in srgb,#fff 78%,var(--bg));border:1px solid color-mix(in srgb,var(--text) 6%,transparent);box-shadow:0 1px 2px #0000000a,0 4px 14px -8px #0000001f;transition:transform .12s,box-shadow .2s}@media(hover:hover){.item:hover{box-shadow:0 1px 2px #0000000a,0 12px 28px -12px #0003;transform:translateY(-1px)}}.item:active{transform:scale(.985)}.item.soldout{opacity:.55}.item-img{width:100px;height:100px;flex:none;border-radius:14px;overflow:hidden;position:relative;background:color-mix(in srgb,var(--secondary) 35%,var(--bg))}.item-img img{width:100%;height:100%;object-fit:cover}.ph-letter{position:absolute;inset:0;display:grid;place-items:center;font-size:34px;font-weight:700;color:var(--primary);opacity:.5}.ribbon{position:absolute;left:6px;top:6px;background:var(--accent);color:#fff;font-size:10px;font-weight:700;padding:3px 7px;border-radius:99px;box-shadow:0 2px 6px #0003}.item-body{flex:1;min-width:0;display:flex;flex-direction:column}.item-title{display:flex;align-items:baseline;gap:8px}.item-title h3{margin:0;font-size:16px;font-weight:600;flex:1;letter-spacing:-.01em;line-height:1.3}.item-price{font-weight:700;color:var(--primary);white-space:nowrap;font-variant-numeric:tabular-nums}.item-desc{margin:4px 0 0;font-size:13.5px;line-height:1.4;color:color-mix(in srgb,var(--text) 65%,transparent);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.item-foot{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:auto;padding-top:8px}.tag{font-size:11px;font-weight:500;padding:3px 8px;border-radius:99px;background:color-mix(in srgb,var(--secondary) 22%,transparent);text-transform:capitalize}.tag.sold{background:#d0342c;color:#fff;font-weight:600}.tag.big{display:inline-block;font-size:14px;padding:8px 14px;margin-top:12px}.add-btn{margin-left:auto;width:34px;height:34px;border-radius:50%;border:0;background:var(--btn);color:var(--on-btn);font-size:21px;line-height:1;display:grid;place-items:center;box-shadow:0 4px 10px -3px color-mix(in srgb,var(--btn) 80%,transparent);transition:transform .12s}.add-btn:active{transform:scale(.9)}.tpl-grid .items{grid-template-columns:1fr 1fr}.tpl-grid .item{flex-direction:column;padding:0;overflow:hidden}.tpl-grid .item-img{width:100%;height:auto;aspect-ratio:1;border-radius:0}.tpl-grid .item-body{padding:10px}.tpl-grid .item-title{flex-direction:column;gap:2px}.tpl-grid .item-title h3{font-size:14.5px}@media(min-width:620px){.tpl-grid .items{grid-template-columns:repeat(3,1fr)}}.tpl-minimal .item{background:transparent;box-shadow:none;padding:10px 0;border-radius:0;border-bottom:1px solid color-mix(in srgb,var(--text) 10%,transparent)}.tpl-minimal .item-img{display:none}.tpl-minimal .items{gap:0}.tpl-minimal .leader{flex:1;border-bottom:1.5px dotted color-mix(in srgb,var(--text) 35%,transparent);transform:translateY(-4px)}.tpl-minimal .item-title h3{flex:none}.tpl-minimal .section h2{text-transform:uppercase;letter-spacing:.08em;font-size:14px;color:var(--primary)}.tpl-minimal .hero{background:var(--bg);color:var(--text);border-bottom:2px solid var(--primary)}.tpl-minimal .lang-switch,.tpl-minimal .badge{background:color-mix(in srgb,var(--text) 8%,transparent)}.tpl-elegant{--bg: #151413;--text: #efe9df;background:var(--bg)}.tpl-elegant .hero{background:#0d0c0b;color:#efe9df}.tpl-elegant h1,.tpl-elegant .section h2,.tpl-elegant .item-title h3{font-family:Playfair Display,Kantumruy Pro,serif}.tpl-elegant .section h2{color:var(--secondary);font-size:22px;font-weight:500}.tpl-elegant .item{background:#1f1d1b;box-shadow:none}.tpl-elegant .item-price{color:var(--secondary)}.tpl-elegant .tabs button.active{background:var(--secondary);border-color:var(--secondary);color:#111}.footer{text-align:center;padding:32px 0 12px;font-size:14px;display:grid;gap:6px}.socials{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:6px}.socials a{text-decoration:none;padding:6px 12px;border-radius:99px;border:1px solid color-mix(in srgb,var(--text) 18%,transparent);font-size:13px}.powered{font-size:11px;opacity:.45;margin-top:12px}.cart-bar{position:fixed;left:50%;transform:translate(-50%);bottom:max(16px,env(safe-area-inset-bottom));z-index:30;width:min(728px,calc(100% - 32px));display:flex;align-items:center;gap:12px;padding:15px 20px;border:0;border-radius:99px;background:var(--btn);color:var(--on-btn);font-weight:600;font-size:15px;box-shadow:0 14px 32px -10px color-mix(in srgb,var(--btn) 70%,#000),0 4px 10px #00000026;animation:pop .25s ease-out}@keyframes pop{0%{transform:translate(-50%,20px);opacity:0}}.cart-count{background:#fff3;border-radius:99px;min-width:26px;height:26px;padding:0 8px;display:grid;place-items:center;font-size:13px}.cart-total{margin-left:auto;font-variant-numeric:tabular-nums}.overlay{position:fixed;inset:0;z-index:50;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-end;justify-content:center;animation:fade .15s}.center-overlay{align-items:center;padding:20px}@keyframes fade{0%{opacity:0}}@keyframes up{0%{transform:translateY(40px);opacity:0}}.sheet{position:relative;width:min(760px,100%);max-height:92vh;overflow-y:auto;background:var(--bg);color:var(--text);border-radius:26px 26px 0 0;animation:up .22s cubic-bezier(.2,.8,.2,1);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -10px 40px #00000040}.sheet:before{content:"";position:sticky;top:8px;z-index:3;display:block;width:40px;height:5px;margin:8px auto -13px;border-radius:99px;background:color-mix(in srgb,var(--text) 22%,transparent)}.sheet-img{width:100%;max-height:300px;object-fit:cover}.sheet-body{padding:18px 18px 22px}.sheet-body h2{margin:0 0 4px;font-size:22px;font-weight:700;letter-spacing:-.02em}.sheet-price{font-weight:700;color:var(--primary);font-size:18px;margin-bottom:8px}.sheet-close{position:absolute;right:14px;top:14px;z-index:4;width:36px;height:36px;border-radius:50%;border:0;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;font-size:22px;line-height:1;display:grid;place-items:center}.opt-group{margin-top:16px}.opt-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.opt-badge{font-size:11px;padding:2px 8px;border-radius:6px;background:color-mix(in srgb,var(--text) 8%,transparent)}.opt-badge.req{background:var(--accent);color:#fff}.opt-row{display:flex;align-items:center;gap:10px;padding:11px 2px;border-bottom:1px solid color-mix(in srgb,var(--text) 8%,transparent);cursor:pointer}.opt-row input{width:20px;height:20px;accent-color:var(--btn)}.opt-name{flex:1}.text-input{width:100%;margin-top:12px;padding:12px;border-radius:12px;font:inherit;color:var(--text);border:1px solid color-mix(in srgb,var(--text) 16%,transparent);background:transparent;resize:none}.sheet-actions{display:flex;gap:12px;margin-top:16px}.qty{display:flex;align-items:center;gap:4px;border:1px solid color-mix(in srgb,var(--text) 16%,transparent);border-radius:12px;padding:4px}.qty button{width:36px;height:36px;border:0;border-radius:9px;background:color-mix(in srgb,var(--text) 7%,transparent);color:var(--text);font-size:18px}.qty button:disabled{opacity:.4}.qty span{min-width:24px;text-align:center;font-weight:600}.qty.sm button{width:28px;height:28px}.primary-btn{flex:1;display:block;width:100%;text-align:center;text-decoration:none;border:0;border-radius:14px;padding:15px;margin-top:10px;background:var(--btn);color:var(--on-btn);font-weight:600;font-size:15px;box-shadow:0 8px 20px -10px color-mix(in srgb,var(--btn) 80%,#000);transition:transform .1s,opacity .15s}.primary-btn:active:not(:disabled){transform:scale(.98)}.sheet-actions .primary-btn{margin-top:0}.primary-btn:disabled{opacity:.5}.primary-btn.wa{background:#25d366;color:#fff}.ghost-btn{display:block;width:100%;margin-top:10px;padding:12px;border-radius:12px;border:1px solid color-mix(in srgb,var(--text) 16%,transparent);background:transparent;color:var(--text)}.cart-line{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--text) 8%,transparent)}.cart-name{flex:1}.cart-price{font-variant-numeric:tabular-nums;font-weight:600}.cart-total-row{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0 4px;font-size:18px}.cart-total-row strong{font-size:22px;letter-spacing:-.02em}.sum-row.incl{padding-top:0;font-size:12.5px}.error{color:#d0342c;font-size:14px}.big-check{width:64px;height:64px;margin:8px auto;border-radius:50%;display:grid;place-items:center;font-size:34px;background:#1a8a4a;color:#fff}.ref{font-size:28px;font-weight:800;letter-spacing:2px;margin:8px 0 16px}.promo{position:relative;width:min(380px,100%);border-radius:26px;box-shadow:0 30px 60px -20px #00000080;overflow:hidden;background:var(--bg);color:var(--text);animation:up .25s ease-out;text-align:center}.promo-img{width:100%;max-height:260px;object-fit:cover}.promo-banner{background:var(--accent);color:#fff;font-size:40px;font-weight:800;padding:40px 16px}.promo-body{padding:18px 20px 20px}.promo-body h2{margin:4px 0 6px;font-size:21px}.promo-chip{display:inline-block;background:var(--accent);color:#fff;font-weight:700;padding:4px 12px;border-radius:99px;font-size:13px}.code{display:flex;width:100%;justify-content:space-between;align-items:center;margin-top:12px;padding:12px 14px;border-radius:12px;border:2px dashed var(--accent);background:transparent;color:var(--text)}.code span{font-weight:800;letter-spacing:2px;font-size:18px}.code small{color:var(--accent);font-weight:600}.book-btn{border:0;cursor:pointer;color:inherit;font:inherit;font-size:12px;font-weight:600;background:#ffffff38}.seg{display:flex;gap:6px;margin:6px 0 14px;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--text) 6%,transparent)}.seg button{flex:1;border:0;border-radius:10px;padding:10px 6px;background:transparent;color:var(--text);font-weight:600;font-size:14px}.seg button.active{background:var(--btn);color:var(--on-btn)}.seg-ico{margin-right:4px}.sub{margin:4px 0 0;font-size:16px}.sum-row{display:flex;justify-content:space-between;padding-top:8px;font-size:14px;color:color-mix(in srgb,var(--text) 70%,transparent)}.hint-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.hint-row span{font-size:12px;padding:3px 8px;border-radius:6px;background:color-mix(in srgb,var(--secondary) 25%,transparent)}.info{font-size:13px;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--accent) 12%,transparent);margin:10px 0 0}.warn{font-size:14px;padding:10px 12px;border-radius:10px;background:#d0342c1a;color:#b3261e;margin:0 0 8px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:block;font-size:12px;margin-top:12px;color:color-mix(in srgb,var(--text) 70%,transparent)}.field .text-input{margin-top:4px}.field-row{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.ghost-btn.ok{border-color:#1a8a4a;color:#1a8a4a}
