.kiosk{--rouge:#e8262b;--rouge-dark:#b81a1f;--cocoa:#1a0f0d;--cocoa-2:#2b1a16;--cream:#faf5ef;--sand:#f1e7dc;--line:#e4d6c8;--text:#2a1d19;--muted:#8a7468;--radius:22px;--shadow:0 10px 30px rgba(40,20,10,.10);--serif:var(--font-cormorant),Georgia,serif;--sans:var(--font-jost),system-ui,-apple-system,sans-serif;position:fixed;inset:0;font-family:var(--sans);color:var(--text);background:var(--cream);overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overscroll-behavior:none}.kiosk,.kiosk *{box-sizing:border-box;-webkit-tap-highlight-color:transparent}.kiosk [hidden]{display:none!important}.kiosk button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;touch-action:manipulation}.kiosk img{-webkit-user-drag:none}.kiosk .muted{color:var(--muted)}.kiosk .small{font-size:14px}.kiosk .display{font-family:var(--serif);font-weight:600;font-size:clamp(30px,4vw,46px);line-height:1.1;margin:0 0 24px}.kiosk .screen{position:fixed;inset:0;display:none;flex-direction:column;background:var(--cream)}.kiosk .screen.active{display:flex;animation:fade .25s ease}@keyframes fade{0%{opacity:0}to{opacity:1}}.kiosk .btn{border-radius:999px;padding:14px 28px;font-weight:500;font-size:18px;transition:transform .1s,background .2s}.kiosk .btn:active{transform:scale(.97)}.kiosk .btn-primary{background:var(--rouge);color:#fff}.kiosk .btn-primary:active{background:var(--rouge-dark)}.kiosk .btn-primary:disabled{background:#d9c9bd}.kiosk .btn-outline{border:2px solid var(--line);background:#fff}.kiosk .btn-lg{padding:18px 36px;font-size:20px}.kiosk .btn-xl{padding:24px 64px;font-size:26px;letter-spacing:.02em}.kiosk .btn-block{width:100%}.kiosk .btn-ghost{padding:10px 14px;font-size:17px;color:var(--muted);border-radius:12px}.kiosk .btn-ghost:active{background:var(--sand)}.kiosk .pulse{animation:pulse 2.2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 0 rgba(232,38,43,.55)}60%{box-shadow:0 0 0 22px rgba(232,38,43,0)}}.kiosk #screen-welcome{background:var(--cocoa);cursor:pointer}.kiosk .welcome-bg{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:6px;opacity:.55}.kiosk .welcome-bg div{background-size:cover;background-position:50%;animation:drift 24s ease-in-out infinite alternate}@keyframes drift{0%{transform:scale(1)}to{transform:scale(1.08)}}.kiosk .welcome-shade{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(26,15,13,.55) 0,rgba(26,15,13,.92) 75%)}.kiosk .welcome-content{position:relative;margin:auto;text-align:center;color:#fff;padding:24px}.kiosk .welcome-logo{width:min(460px,70vw);filter:drop-shadow(0 4px 20px rgba(0,0,0,.4))}.kiosk .welcome-tag{font-family:var(--serif);font-style:italic;font-size:clamp(22px,3vw,32px);margin:18px 0 48px;opacity:.9}.kiosk .topbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 20px;background:#fff;border-bottom:1px solid var(--line);flex:none}.kiosk .topbar>:first-child{justify-self:start}.kiosk .topbar>:last-child{justify-self:end}.kiosk .topbar-logo{height:34px}.kiosk .cat-bar{flex:none;display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;padding:12px 24px;background:#fff;border-bottom:1px solid var(--line);scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 40px),transparent)}.kiosk .cat-bar::-webkit-scrollbar{display:none}.kiosk .cat-btn{flex:none;white-space:nowrap;padding:11px 20px;border-radius:999px;font-size:16px;font-weight:500;color:var(--text);background:var(--sand);transition:background .2s,color .2s}.kiosk .cat-btn:first-child{margin-left:0}.kiosk .cat-btn:last-child{margin-right:24px}.kiosk .cat-btn.active{color:#fff;background:var(--rouge)}.kiosk .menu-main{position:relative;flex:1;min-height:0;overflow-y:auto;padding:8px 24px 130px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}.kiosk .cat-section h2{font-family:var(--serif);font-size:34px;font-weight:600;margin:22px 0 14px}.kiosk .pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:20px}.kiosk .card{position:relative;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);text-align:left;display:flex;flex-direction:column;transition:transform .12s}.kiosk .card:active{transform:scale(.97)}.kiosk .card-img{aspect-ratio:1;background:var(--sand) center/cover no-repeat}.kiosk .card-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px;flex:1}.kiosk .card-name{font-size:16px;font-weight:500;line-height:1.3;flex:1;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kiosk .card-weight{font-size:14px;color:var(--muted);margin-top:-4px}.kiosk .card-share{position:absolute;top:10px;right:10px;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.95);color:var(--text);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(40,20,10,.15);z-index:1}.kiosk .card-share:active{transform:scale(.92);background:var(--sand)}.kiosk .card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.kiosk .price{font-weight:600;color:var(--rouge);font-size:17px}.kiosk .add-dot{flex:none;width:40px;height:40px;border-radius:50%;background:var(--rouge);color:#fff;font-size:26px;line-height:40px;text-align:center}.kiosk .qty-badge{position:absolute;top:10px;left:10px;background:var(--rouge);min-width:34px;height:34px;border-radius:17px;padding:0 8px;font-weight:600;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.2)}.kiosk .cart-bar,.kiosk .qty-badge{color:#fff;display:flex;align-items:center}.kiosk .cart-bar{position:fixed;z-index:30;left:0;right:0;bottom:0;justify-content:space-between;padding:14px 24px calc(14px + env(safe-area-inset-bottom));background:var(--cocoa);transform:translateY(110%);transition:transform .3s ease}.kiosk .cart-bar.show{transform:none}.kiosk .cart-bar-info{display:flex;align-items:center;gap:14px;font-size:19px}.kiosk .cart-bar-info strong{font-size:24px;margin-left:8px}.kiosk .cart-count{background:var(--rouge);min-width:36px;height:36px;border-radius:18px;display:flex;align-items:center;justify-content:center;font-weight:600}.kiosk .bump{animation:bump .35s}@keyframes bump{50%{transform:scale(1.35)}}.kiosk .stepper{display:inline-flex;align-items:center;background:var(--sand);border-radius:999px}.kiosk .stepper button{width:52px;height:52px;font-size:28px;border-radius:50%}.kiosk .stepper button:active{background:var(--line)}.kiosk .stepper span{min-width:40px;text-align:center;font-size:22px;font-weight:600}.kiosk .stepper.sm button{width:42px;height:42px;font-size:22px}.kiosk .stepper.sm span{min-width:30px;font-size:18px}.kiosk .modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px}.kiosk .modal[hidden]{display:none}.kiosk .modal-backdrop{position:absolute;inset:0;background:rgba(26,15,13,.6);animation:fade .2s}.kiosk .modal-card{position:relative;background:#fff;border-radius:28px;width:100%;max-width:880px;max-height:100%;overflow:auto;animation:rise .25s ease}@keyframes rise{0%{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}.kiosk .pm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.kiosk .pm-img{aspect-ratio:1;width:calc(100% - 40px);margin:20px;background:#fff 50%/contain no-repeat;border-radius:20px}.kiosk .pm-body{padding:36px 32px 28px;display:flex;flex-direction:column;gap:14px;min-width:0;max-height:min(640px,calc(100vh - 48px))}.kiosk .pm-body h2{font-family:var(--serif);font-size:34px;font-weight:600;margin:0;padding-right:48px;line-height:1.15}.kiosk .pm-body .price{font-size:26px}.kiosk .pm-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.kiosk .weight-chip{background:var(--sand);padding:6px 14px}.kiosk .pm-share,.kiosk .weight-chip{border-radius:999px;font-size:15px;font-weight:500}.kiosk .pm-share{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:2px solid var(--line)}.kiosk .type-wrap{margin:auto;text-align:center;padding:24px;width:100%;max-width:900px}.kiosk .type-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}.kiosk .type-cards.single{grid-template-columns:minmax(0,420px);justify-content:center}.kiosk .type-card{background:#fff;border:2px solid var(--line);border-radius:28px;padding:44px 24px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:var(--shadow);transition:transform .12s,border-color .2s}.kiosk .type-card:active{transform:scale(.97);border-color:var(--rouge)}.kiosk .type-card:disabled{opacity:.7}.kiosk .type-icon{font-size:72px;line-height:1;margin-bottom:8px}.kiosk .type-card strong{font-family:var(--serif);font-size:32px;font-weight:600}.kiosk .type-card small{color:var(--muted);font-size:17px}.kiosk .pay-total{font-size:22px;margin:-8px 0 28px}.kiosk .pay-total strong{color:var(--rouge);font-size:30px}.kiosk .fulfil{margin-top:30px;scroll-margin-top:16px}.kiosk .fulfil h3{font-family:var(--serif);font-size:28px;font-weight:600;margin:0 0 14px}.kiosk .fulfil-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.kiosk .fulfil-opt{background:#fff;border:2px solid var(--line);border-radius:20px;padding:18px 14px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;transition:border-color .2s,box-shadow .2s,transform .1s}.kiosk .fulfil-opt:active{transform:scale(.98)}.kiosk .fulfil-opt.active{border-color:var(--rouge);box-shadow:0 0 0 3px rgba(232,38,43,.12);background:#fffafa}.kiosk .fulfil-icon{font-size:34px;line-height:1}.kiosk .fulfil-opt strong{font-size:18px;font-weight:600}.kiosk .fulfil-opt small{color:var(--muted);font-size:14px;line-height:1.3}.kiosk .f-section{margin:22px 0 8px;font-weight:600;font-size:17px}.kiosk .f-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin-top:16px}.kiosk .f-section+.f-grid{margin-top:0}.kiosk .f-wide{grid-column:1/-1}.kiosk .f-field{display:flex;flex-direction:column;gap:6px}.kiosk .f-field>span{font-size:15px;font-weight:500}.kiosk .f-check em,.kiosk .f-field em{color:var(--muted);font-style:normal;font-weight:400}.kiosk .f-field input,.kiosk .f-field textarea{width:100%;font:inherit;font-size:18px;padding:13px 14px;border-radius:14px;border:2px solid var(--line);background:#fff;resize:none;user-select:text;-webkit-user-select:text}.kiosk .f-field input:focus,.kiosk .f-field textarea:focus{outline:none;border-color:var(--rouge)}.kiosk .f-field.has-error input,.kiosk .f-field.has-error textarea{border-color:#d93025;background:#fff6f5}.kiosk .f-field small{color:#c5221f;font-size:14px}.kiosk .f-check{display:flex;align-items:center;gap:12px;font-size:16px;padding:4px 0;cursor:pointer}.kiosk .f-check input{width:24px;height:24px;accent-color:var(--rouge);flex:none}.kiosk .f-disabled{opacity:.45;pointer-events:none}.kiosk .pay-note{margin:-4px 0 4px;text-align:center;color:var(--muted);font-size:15px}.kiosk .share-modal{z-index:60}.kiosk .share-card{max-width:460px;padding:30px 28px 26px;text-align:center}.kiosk .share-title{font-family:var(--serif);font-size:26px;white-space:nowrap;font-weight:600;margin:0 40px 18px}.kiosk .share-product{display:flex;align-items:center;gap:14px;text-align:left;background:var(--cream);border-radius:18px;padding:10px}.kiosk .share-thumb{flex:none;width:64px;height:64px;border-radius:12px;background:#fff 50%/contain no-repeat}.kiosk .share-name{font-weight:500;line-height:1.25}.kiosk .share-meta{color:var(--rouge);font-weight:600;font-size:15px;margin-top:2px}.kiosk .share-qr{margin:18px auto 6px}.kiosk .share-qr img,.kiosk .share-qr-ph{width:180px;height:180px;border-radius:12px;display:block;margin:0 auto;background:var(--sand)}.kiosk .share-qr p{color:var(--muted);font-size:14px;margin:8px 0 0}.kiosk .share-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:16px}.kiosk .share-actions .btn{padding:12px 20px;font-size:16px;text-decoration:none}.kiosk .btn-whatsapp{background:#25d366;color:#fff}.kiosk .pm-desc{color:var(--muted);font-size:16px;line-height:1.55;margin:0;flex:1;min-height:60px;overflow-y:auto;padding-right:6px;overflow-wrap:anywhere}.kiosk .pm-actions{display:flex;gap:16px;align-items:center}.kiosk .pm-actions .btn{flex:1;white-space:nowrap;padding-left:20px;padding-right:20px}.kiosk .modal-close{position:absolute;top:14px;right:14px;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.92);font-size:22px;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.15)}.kiosk .review-layout{flex:1;display:grid;grid-template-columns:1fr 380px;min-height:0}.kiosk .review-items{overflow-y:auto;padding:28px 32px 60px}.kiosk .line{display:grid;grid-template-columns:84px 1fr auto auto;gap:18px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.kiosk .line-img{width:84px;height:84px;border-radius:16px;background:var(--sand) center/cover}.kiosk .line-name{font-size:18px;font-weight:500}.kiosk .line-unit{color:var(--muted);font-size:15px}.kiosk .line-total{font-weight:600;font-size:18px;min-width:110px;text-align:right}.kiosk .empty{padding:40px 0;color:var(--muted);font-size:20px}.kiosk .review-summary{background:#fff;border-left:1px solid var(--line);padding:28px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.kiosk .totals-row{display:flex;justify-content:space-between;font-size:18px;padding:6px 0}.kiosk .totals-row.muted{font-size:15px}.kiosk .totals-row.grand{font-size:26px;font-weight:600;border-top:2px solid var(--line);margin-top:8px;padding-top:16px;margin-bottom:12px}.kiosk .totals-row.grand span:last-child{color:var(--rouge)}.kiosk .gift-msg{margin-top:28px}.kiosk .gift-msg label{display:block;font-weight:500;margin-bottom:8px}.kiosk .gift-msg textarea{width:100%;font:inherit;font-size:18px;padding:14px;border-radius:16px;border:2px solid var(--line);resize:none;user-select:text;-webkit-user-select:text}.kiosk .gift-msg textarea:focus{outline:none;border-color:var(--rouge)}.kiosk .upsell h3{font-family:var(--serif);font-size:28px;margin:36px 0 14px}.kiosk .upsell .pgrid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.kiosk .center-msg{margin:auto;text-align:center;padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px;max-width:700px}.kiosk .spinner{width:72px;height:72px;border-radius:50%;border:6px solid var(--sand);border-top-color:var(--rouge);animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(1turn)}}.kiosk .done-logo{width:240px;margin-bottom:24px}.kiosk .order-number{font-family:var(--sans);font-size:clamp(80px,12vw,130px);letter-spacing:.02em;font-weight:600;color:var(--rouge);line-height:1;margin:6px 0 12px}.kiosk .done-msg{font-size:22px;margin:0 0 24px}.kiosk .idle-card{max-width:560px;padding:40px;text-align:center}.kiosk .idle-actions{display:flex;gap:16px;justify-content:center;margin-top:24px;flex-wrap:wrap}.kiosk .toast{position:fixed;left:50%;top:80px;transform:translateX(-50%);background:var(--cocoa);color:#fff;padding:14px 26px;border-radius:999px;font-size:17px;z-index:60;box-shadow:var(--shadow);animation:rise .2s}.kiosk .toast[hidden]{display:none}@media (max-width:900px){.kiosk .review-layout{grid-template-columns:1fr}.kiosk .review-summary{border-left:0;border-top:1px solid var(--line)}.kiosk .pm{grid-template-columns:1fr}.kiosk .pm-img{aspect-ratio:4/3}}@media (max-width:640px){.kiosk .cat-bar{padding:10px 16px;gap:8px}.kiosk .btn-ghost{white-space:nowrap}.kiosk .fulfil-options{grid-template-columns:1fr}.kiosk .fulfil-opt{flex-direction:row;text-align:left;padding:12px 14px;gap:12px}.kiosk .fulfil-opt small{margin-left:auto;text-align:right;max-width:45%}.kiosk .f-grid{grid-template-columns:1fr}.kiosk .modal{padding:12px}.kiosk .pm-img{aspect-ratio:auto;height:26vh;width:calc(100% - 24px);margin:12px}.kiosk .pm-body{padding:4px 20px 20px;gap:12px;max-height:none}.kiosk .pm-body h2{font-size:26px;padding-right:0}.kiosk .pm-desc{max-height:20vh;font-size:15px}.kiosk .pm-share{margin-left:0;padding:6px 12px}.kiosk .pm-actions{gap:10px}.kiosk .pm-actions .btn{padding:14px 16px;font-size:17px}.kiosk .stepper button{width:44px;height:44px}.kiosk .share-card{padding:26px 18px 20px}.kiosk .share-title{font-size:22px;margin:0 36px 14px}.kiosk .cat-btn{padding:9px 16px;font-size:15px}.kiosk .menu-main{padding:8px 16px 130px}.kiosk .pgrid{gap:12px}.kiosk .pgrid,.kiosk .welcome-bg{grid-template-columns:repeat(2,1fr)}.kiosk .line{grid-template-columns:64px 1fr auto}.kiosk .line-img{width:64px;height:64px}.kiosk .line-total{grid-column:2/-1;text-align:left}.kiosk .cart-bar-info>span:nth-child(2){display:none}}.kiosk .card{cursor:pointer}