:root{--accent: #1387c9;--accent-dark: #066da9;--accent-soft: #e5f4fc;--ink: #22272b;--ink-soft: #71777c;--line: #e3e6e8;--bg: #f7f8f8;--card: #ffffff;--danger: #c0392b;--danger-soft: #fdecea;--warning: #8a6116;--warning-soft: #fdf3dd;--info-soft: #fff1e3;--radius: 16px;--shadow: 0 2px 8px rgba(28, 48, 61, .08)}*{box-sizing:border-box}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;background:var(--bg);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100dvh}.page-shell{min-height:100dvh;display:flex;flex-direction:column;max-width:720px;margin:0 auto}.page{flex:1;width:100%;max-width:720px;margin:0 auto;padding:20px 16px 120px}.page-center{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:48px 24px}.muted{color:var(--ink-soft);margin:0}.small{font-size:.85rem}.app-header{position:relative;min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);box-shadow:0 2px 8px #1c303d0d}.app-header-text{display:flex;flex-direction:column;gap:3px;min-width:0}.app-header-hotel{font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:800}.app-header-title{font-size:1.15rem;margin:0;font-weight:800;letter-spacing:-.02em}.app-header-room{align-self:flex-start;font-size:.8rem;font-weight:700;color:var(--accent-dark);background:transparent;border-radius:999px;padding:0;margin-top:2px}.app-header-right{flex-shrink:0}.app-header-ordering{position:sticky;top:0;z-index:30;min-height:52px;justify-content:flex-end;padding:6px 12px;border-bottom-color:#eceeef;box-shadow:none}.app-header-ordering.has-search-action .app-header-destination{max-width:calc(100% - 234px)}.app-header-destination{position:absolute;left:50%;max-width:calc(100% - 154px);overflow:hidden;color:var(--ink);font-size:.82rem;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap;transform:translate(-50%)}.app-header-actions{display:flex;align-items:center;gap:2px}.app-header-destination,.header-back-button,.locale-compact,.header-cart-link{transition:opacity .12s ease}.app-header-ordering.is-searching .app-header-destination,.app-header-ordering.is-searching .header-back-button,.app-header-ordering.is-searching .locale-compact,.app-header-ordering.is-searching .header-cart-link{opacity:0;pointer-events:none}.locale-compact,.header-back-button,.header-search-button,.header-cart-link{position:relative;display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;border:0;border-radius:50%;color:var(--ink);background:transparent;font:inherit;cursor:pointer;text-decoration:none}.header-back-button{position:absolute;left:12px}.locale-compact{flex-direction:column;gap:0;padding:3px 0 2px}.locale-compact span{margin-top:-1px;font-size:.52rem;font-weight:800;letter-spacing:.03em}.locale-compact:active,.header-back-button:active,.header-search-button:active,.header-cart-link:active{background:#f0f2f3}.locale-compact:focus-visible,.header-back-button:focus-visible,.header-search-button:focus-visible,.header-cart-link:focus-visible{outline:2px solid var(--accent);outline-offset:0}.header-cart-count{position:absolute;top:2px;left:2px;min-width:17px;height:17px;padding:0 4px;border:0;border-radius:999px;color:#fff;background:var(--accent);font-size:.6rem;font-weight:800;line-height:17px;text-align:center}.header-search-button{z-index:3;animation:header-search-pop .18s cubic-bezier(.2,.8,.3,1.25) both}.header-search-button.is-exiting{animation:header-search-pop-out .16s ease-in both;pointer-events:none}@keyframes header-search-pop{0%{opacity:0;transform:scale(.55) rotate(-10deg)}75%{opacity:1;transform:scale(1.08) rotate(0)}to{opacity:1;transform:scale(1)}}@keyframes header-search-pop-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.55) rotate(10deg)}}.header-search-form{position:absolute;top:6px;right:12px;bottom:6px;left:12px;display:flex;align-items:center;gap:9px;padding:0 8px 0 12px;border:1px solid #d9dde0;border-radius:4px;color:var(--ink-soft);background:#fff;animation:header-search-expand .18s ease-out both;transform-origin:right center;z-index:2}.header-search-form.is-exiting{animation:header-search-collapse .16s ease-in both;pointer-events:none}@keyframes header-search-expand{0%{opacity:0;transform:scaleX(.72)}to{opacity:1;transform:scaleX(1)}}@keyframes header-search-collapse{0%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(.72)}}.header-search-form:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.header-search-form input{min-width:0;flex:1;height:100%;border:0;outline:0;color:var(--ink);background:transparent;font:inherit;font-size:.95rem}.header-search-form input::-webkit-search-cancel-button{display:none}.header-search-close{display:inline-flex;width:32px;height:32px;flex:0 0 auto;align-items:center;justify-content:center;border:0;border-radius:50%;color:var(--ink-soft);background:transparent;font:inherit;font-size:1.25rem;line-height:1;cursor:pointer}.header-search-close:active{background:#f0f2f3}@media (prefers-reduced-motion: reduce){.header-search-button,.header-search-form{animation:none}.header-search-button.is-exiting,.header-search-form.is-exiting{opacity:0}}.locale-toggle{display:inline-flex;border:1px solid var(--line);background:var(--card);border-radius:999px;overflow:hidden;box-shadow:none}.locale-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-soft);font:inherit;font-size:.82rem;padding:6px 12px;cursor:pointer}.locale-toggle button.active{background:var(--accent);color:#fff;font-weight:600}.banner{border-radius:var(--radius);padding:12px 14px;margin:0 0 14px;font-size:.92rem}.banner-info{background:var(--info-soft);color:var(--accent-dark)}.banner-warning{background:var(--warning-soft);color:var(--warning)}.banner-error{background:var(--danger-soft);color:var(--danger)}.banner-link{color:inherit;font-weight:700}.banner-link-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:transparent;font:inherit;text-decoration:underline;cursor:pointer}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:14px 24px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;transition:background-color .12s ease,opacity .12s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 16px #1387c933}.btn-primary:not(:disabled):active{background:var(--accent-dark)}.btn-secondary{background:var(--accent-soft);color:var(--accent)}.btn-block{width:100%;margin-top:14px}.link-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;font:inherit;font-size:.85rem;color:var(--danger);cursor:pointer;text-decoration:underline}.back-link{display:inline-block;color:var(--accent);text-decoration:none;font-weight:600;margin-bottom:20px}.field{display:block;margin:16px 0}.field-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--ink)}textarea,.field input{width:100%;font:inherit;border:1px solid var(--line);border-radius:10px;padding:10px 12px;resize:vertical;background:var(--card);color:var(--ink)}textarea:focus,.field input:focus{outline:2px solid var(--accent);outline-offset:1px}.cutlery-option{display:flex;align-items:center;gap:12px;min-height:48px;margin:16px 0;cursor:pointer}.cutlery-option input{width:22px;height:22px;flex-shrink:0;accent-color:var(--accent)}.contact-fieldset{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:4px 14px 12px;margin:16px 0}.contact-fieldset legend{padding:0 6px}.contact-fieldset .field{margin:10px 0 0}.form-error{color:var(--danger);font-size:.9rem;margin:10px 0 0}.spinner{width:28px;height:28px;border:3px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.spinner-small{width:18px;height:18px;border-width:2px}@keyframes spin{to{transform:rotate(360deg)}}.welcome-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px 22px;width:100%;max-width:400px;display:flex;flex-direction:column;gap:6px;text-align:center}.welcome-hotel{margin:0;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.welcome-eyebrow{margin:12px 0 0;font-size:.9rem;color:var(--ink-soft)}.welcome-room{margin:0 0 10px;font-size:1.7rem;font-weight:700;color:var(--accent)}.menu-toolbar{position:relative;background:var(--bg);margin:0 -16px 16px;padding:8px 16px 0;box-shadow:0 8px 8px -8px #7848141a}.search-collapse-sentinel{width:100%;height:0}.search-box{position:relative;display:flex;align-items:center}.search-icon{position:absolute;left:16px;color:var(--ink-soft);pointer-events:none}.search-box input{width:100%;font:inherit;font-size:.95rem;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:12px 42px 12px 44px;box-shadow:var(--shadow)}.search-box input::placeholder{color:var(--ink-soft)}.search-box input:focus{outline:2px solid var(--accent);outline-offset:-1px}.search-box input::-webkit-search-cancel-button{display:none}.search-clear{position:absolute;right:8px;width:30px;height:30px;border:0;border-radius:50%;background:var(--accent-soft);color:var(--accent-dark);font-size:1.1rem;line-height:1;cursor:pointer}.cat-chips{display:flex;gap:8px;overflow-x:auto;padding:12px 0 10px;scrollbar-width:none}.cat-chips::-webkit-scrollbar{display:none}.cat-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex-shrink:0;border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;font-size:.86rem;font-weight:600;border-radius:999px;padding:7px 15px;cursor:pointer;transition:background-color .12s ease,color .12s ease}.cat-chip.active{background:var(--ink);border-color:var(--ink);color:#fff}.featured-carousel{position:relative;margin:0 -16px}.featured-carousel-viewport{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.featured-carousel-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.featured-carousel-viewport::-webkit-scrollbar{display:none}.featured-carousel-track{--featured-slide-width: min(73vw, 500px);display:flex;gap:18px;width:max-content;list-style:none;margin:0;padding:0 max(16px,calc((100vw - var(--featured-slide-width)) / 2))}.featured-carousel-slide{flex:0 0 var(--featured-slide-width);aspect-ratio:1.74;scroll-snap-align:center;scroll-snap-stop:always;opacity:.48;transform:scale(.975);transition:opacity .16s ease,transform .16s ease}.featured-carousel-slide.is-active{opacity:1;transform:scale(1)}.featured-banner{position:relative;display:block;width:100%;height:100%;overflow:hidden;border-radius:4px;background:#eef0f4}.featured-banner-image{position:absolute;z-index:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.featured-carousel-controls{display:none}.menu-category{margin-bottom:28px}.menu-category-title{font-size:1.2rem;font-weight:800;letter-spacing:-.01em;margin:0 0 12px;color:var(--ink)}.menu-items{display:flex;flex-direction:column;gap:12px}.menu-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;width:100%;gap:14px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;font:inherit;color:inherit;cursor:pointer;transition:transform .1s ease,box-shadow .1s ease}.menu-card:not(:disabled):active{transform:scale(.985)}.menu-card:disabled{cursor:not-allowed}.menu-card-soldout{opacity:.55}.menu-card-photo{width:96px;height:96px;object-fit:cover;border-radius:12px;flex-shrink:0;align-self:center}.menu-card-photo-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ffedd5,#fcd9b0);color:var(--accent-dark)}.menu-card-body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.menu-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.menu-card-name{font-weight:700;font-size:1.02rem}.menu-card-description{font-size:.85rem;color:var(--ink-soft);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.menu-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:6px}.menu-card-price{font-weight:700;color:var(--ink)}.add-pill{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-size:1.15rem;font-weight:700;line-height:1;box-shadow:0 2px 6px #e8590c59}.soldout-badge{flex-shrink:0;background:var(--ink-soft);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.05em;border-radius:6px;padding:2px 7px}.chip-list{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0}.chip{background:var(--accent-soft);color:var(--accent-dark);font-size:.72rem;border-radius:999px;padding:2px 9px}.product-detail-shell{background:#fff}.product-detail-page{width:100%;padding-bottom:calc(32px + env(safe-area-inset-bottom));background:#fff}.product-hero-image{display:flex;width:calc(100% - 32px);aspect-ratio:1.6;margin:6px 16px 0;object-fit:cover}.product-hero-placeholder{align-items:center;justify-content:center;color:var(--accent-dark);background:linear-gradient(135deg,#edf7fb,#d7edf7)}.product-summary{padding:14px 32px 24px}.product-category-badge{display:inline-flex;align-items:center;min-height:22px;margin-bottom:8px;padding:2px 10px;border-radius:999px;color:#fff;background:var(--accent);font-size:.7rem;font-weight:800;line-height:1.2}.product-summary h1{margin:0 0 6px;font-size:clamp(1.2rem,5vw,1.55rem);line-height:1.35}.product-summary p{margin:0 0 10px;color:#474d51;font-size:.9rem;line-height:1.65}.product-summary .chip-list{margin-bottom:14px}.product-price{display:block;margin-top:12px;font-size:1.35rem;letter-spacing:-.02em}.product-option-section,.product-note-section{min-width:0;margin:0;padding:0 32px 12px;border:0;border-top:12px solid #f0f1f1}.product-section-heading{display:flex;width:100%;min-height:48px;align-items:center;gap:8px;padding:12px 0;color:var(--ink);font-size:.9rem;font-weight:750}legend.product-section-heading{float:left}legend.product-section-heading+.product-option-list{clear:both}.product-section-heading small{margin-left:auto;color:var(--ink-soft);font-size:.7rem;font-weight:500}.product-requirement{flex:0 0 auto;padding:1px 7px;border-radius:2px;color:#71777c;background:#edf0f1;font-size:.65rem;font-weight:800}.product-requirement.is-required{color:#fff;background:var(--accent)}.product-option-list{border-top:1px solid var(--line)}.product-option-row{display:flex;min-height:54px;align-items:center;gap:12px;border-bottom:1px solid var(--line);cursor:pointer}.product-option-row input{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-grid;width:21px;height:21px;flex:0 0 auto;place-content:center;margin:0;border:1.5px solid #aeb4b8;border-radius:3px;background:#fff}.product-option-row input[type=radio]{border-radius:50%}.product-option-row input:before{width:11px;height:11px;content:"";background:var(--accent);transform:scale(0);transition:transform .1s ease-out}.product-option-row input[type=radio]:before{border-radius:50%}.product-option-row input[type=checkbox]:before{clip-path:polygon(14% 44%,0 58%,38% 96%,100% 22%,84% 8%,37% 66%)}.product-option-row input:checked{border-color:var(--accent)}.product-option-row input:checked:before{transform:scale(1)}.product-option-row input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.product-option-row.is-disabled{opacity:.45;cursor:not-allowed}.product-option-name{display:flex;min-width:0;flex:1;flex-direction:column;font-size:.9rem}.product-option-name small{color:var(--danger);font-size:.68rem;font-weight:700}.product-option-price{flex:0 0 auto;color:#5f666a;font-size:.85rem}.product-note-section textarea{width:100%;min-height:88px;margin-bottom:4px;resize:vertical;border:1px solid #cfd4d7;border-radius:2px;padding:10px 12px;background:#fff;font:inherit;font-size:.88rem}.product-note-section textarea:focus{border-color:var(--accent);outline:1px solid var(--accent)}.product-validation-error{margin:0;padding:10px 32px;color:var(--danger);background:var(--danger-soft);font-size:.85rem;font-weight:700}.product-purchase-row{display:flex;align-items:center;gap:20px;padding:22px 32px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.product-quantity{display:grid;grid-template-columns:34px 28px 34px;align-items:center;gap:6px}.product-quantity button{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;color:#4d5458;background:#fff;font:inherit;font-size:1.25rem;line-height:1;cursor:pointer}.product-quantity button:disabled{opacity:.35}.product-quantity>span{text-align:center;font-size:1rem}.product-quantity-symbol{display:inline-block;line-height:1;transform:translateY(-2px)}.product-add-button{display:flex;min-height:52px;min-width:0;flex:1;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;color:#fff;background:var(--accent);box-shadow:0 4px 10px #1387c933;font:inherit;font-size:.98rem;font-weight:800;cursor:pointer}.product-add-button small{font-size:.76rem;font-weight:650;opacity:.9}.product-add-button:disabled{box-shadow:none;opacity:.45;cursor:not-allowed}.product-related-section{padding:24px 32px 12px}.product-related-section h2{margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid #aeb4b8;font-size:1rem}.product-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}.product-related-card{display:flex;min-width:0;flex-direction:column;color:var(--ink);text-decoration:none}.product-related-card.is-sold-out{opacity:.5}.product-related-image{display:flex;width:100%;aspect-ratio:1;align-items:center;justify-content:center;object-fit:cover;background:#edf7fb}.product-related-card>span{margin-top:7px;overflow:hidden;font-size:.78rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.product-related-card>small{color:#555c60;font-size:.72rem}@media (max-width: 359px){.product-summary,.product-option-section,.product-note-section,.product-purchase-row,.product-related-section{padding-right:20px;padding-left:20px}.product-purchase-row{gap:12px}.product-add-button small{display:none}}.cart-bar{position:fixed;right:0;bottom:0;z-index:20;display:inline-flex;min-height:52px;align-items:center;gap:9px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-radius:5px 0 0;background:var(--accent);color:#fff;font-weight:750;text-decoration:none;box-shadow:0 5px 16px #1c303d38}.cart-bar:focus-visible{outline:3px solid #fff;outline-offset:-5px}.cart-bar>svg{width:24px;height:24px;flex:0 0 auto}.cart-bar-count{margin-left:4px;font-size:.72rem;font-weight:500;white-space:nowrap}.cart-bar-label{font-size:.96rem;white-space:nowrap}.qty-row{display:flex;align-items:center;justify-content:space-between;margin-top:18px}.qty-label{font-weight:600;font-size:.9rem}.qty-stepper{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:999px;padding:4px}.qty-stepper button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:1.1rem;font-weight:700;cursor:pointer}.qty-stepper-small button{width:28px;height:28px;font-size:1rem}.qty-value{min-width:32px;text-align:center;font-weight:600}.cart-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.cart-line{display:flex;justify-content:space-between;gap:12px;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}.cart-line-main{display:flex;flex-direction:column;gap:2px;min-width:0}.cart-line-name{font-weight:600}.cart-line-shop,.summary-line-shop{display:block;color:var(--ink-soft);font-size:.78rem;font-weight:500;line-height:1.3;margin-bottom:2px}.cart-line-detail{font-size:.85rem;color:var(--ink-soft)}.cart-line-note{font-size:.85rem;color:var(--accent-dark);font-style:italic}.cart-line-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex-shrink:0}.cart-line-price{font-weight:600;color:var(--accent)}.summary-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 16px;margin-top:18px}.summary-title{margin:0 0 4px;font-size:1.1rem}.summary-destination{margin:0 0 12px;font-size:.88rem;color:var(--ink-soft)}.summary-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.summary-line{display:flex;justify-content:space-between;gap:12px;font-size:.93rem}.summary-line-name{min-width:0}.summary-line-detail{color:var(--ink-soft)}.summary-totals{margin:14px 0 8px;border-top:1px solid var(--line);padding-top:12px}.summary-totals div{display:flex;justify-content:space-between;font-size:.93rem;margin-bottom:4px}.summary-totals dt{color:var(--ink-soft)}.summary-totals dd{margin:0}.summary-total{font-weight:700;font-size:1.05rem!important}.summary-total dt{color:var(--ink)!important}.pay-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px 18px}.pay-order-code{margin:0;color:var(--ink-soft);font-size:.9rem}.pay-total{margin:6px 0 16px;font-size:2rem;font-weight:700;color:var(--accent)}#card-container{min-height:44px;margin:8px 0 4px}.order-code-card{background:var(--accent);color:#fff;border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:18px}.order-code-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.order-code-value{font-size:2.6rem;font-weight:800;letter-spacing:.04em}.order-code-room{font-size:.9rem;opacity:.9}.confirming-row{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--accent-dark);margin-bottom:14px}.timeline{list-style:none;margin:6px 0 18px;padding:0}.timeline-step{position:relative;padding:0 0 22px 30px}.timeline-step:last-child{padding-bottom:0}.timeline-step:before{content:"";position:absolute;left:8px;top:18px;bottom:0;width:2px;background:var(--line)}.timeline-step:last-child:before{display:none}.timeline-dot{position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:var(--card);border:2px solid var(--line)}.timeline-done .timeline-dot{background:var(--accent);border-color:var(--accent)}.timeline-done:before{background:var(--accent)}.timeline-active .timeline-dot{border-color:var(--accent);background:var(--card);box-shadow:0 0 0 4px var(--accent-soft)}.timeline-label{color:var(--ink-soft)}.timeline-done .timeline-label{color:var(--ink)}.timeline-active .timeline-label{color:var(--ink);font-weight:700}.timeline-hint{display:block;font-size:.83rem;color:var(--ink-soft);margin-top:2px}.iab-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--warning-soft);border-bottom:1px solid var(--warning);padding:10px 14px}.iab-banner-text{display:flex;flex-direction:column;gap:2px;font-size:.82rem;min-width:0}.iab-banner-text strong{color:var(--warning)}.iab-banner-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-small{padding:6px 12px;font-size:.85rem}.iab-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-soft);font-size:1rem;line-height:1;padding:6px;cursor:pointer}.active-order-card{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;display:flex;flex-direction:column;gap:10px}.active-order-title{margin:0;font-weight:700;color:var(--accent-dark)}.active-order-sub{margin:0;font-size:.88rem;color:var(--ink)}.active-order-row{display:flex;justify-content:space-between;gap:10px;font-size:.95rem}.active-order-status{color:var(--ink-soft)}.active-order-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.active-order-listrow{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:12px;border:1px solid var(--accent);border-radius:12px;background:var(--card);font:inherit;text-align:left;cursor:pointer}.active-order-more{align-self:center;font-size:.84rem;font-weight:600;color:var(--accent-dark);text-decoration:none}.verify-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 16px;margin-top:18px;display:flex;flex-direction:column;gap:12px}.verify-title{margin:0;font-size:1.05rem}.verify-done{margin:0;color:var(--accent-dark);font-weight:600}.seg-toggle{display:inline-flex;align-self:flex-start;border:1px solid var(--line);border-radius:999px;overflow:hidden}.seg-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-soft);font:inherit;font-size:.85rem;padding:7px 18px;cursor:pointer}.seg-toggle button.active{background:var(--accent);color:#fff;font-weight:600}.recover-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:10px}.recover-row{width:100%;display:flex;align-items:baseline;gap:10px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);font:inherit;text-align:left;cursor:pointer}.recover-row-code{font-weight:700;font-size:1.05rem}.recover-row-meta{flex:1;min-width:0;color:var(--ink-soft);font-size:.88rem}.recover-row-total{font-weight:600}.recover-back{display:inline-block;margin-top:18px}.menu-page{padding-top:12px}.menu-toolbar{padding-top:0;background:var(--bg);box-shadow:0 8px 12px -12px #1c303d59}.search-box input{height:48px;border-radius:2px;border-color:#e5e7e9;box-shadow:0 2px 8px #1c303d0f}.cat-chips{gap:8px;margin:16px 0;padding:0;background:transparent}.food-court-selector{margin:18px -16px 0}.food-court-heading{margin:0 16px 10px;color:var(--ink);font-size:.9rem;font-weight:700}.shop-tiles{display:flex;gap:10px;overflow-x:auto;padding:6px 16px 8px;scroll-padding-inline:16px;scroll-snap-type:x proximity;scrollbar-width:none}.shop-tiles::-webkit-scrollbar{display:none}.shop-tile{position:relative;isolation:isolate;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;flex:0 0 142px;min-height:78px;align-items:flex-end;justify-content:space-between;gap:8px;overflow:hidden;scroll-snap-align:start;border:0;border-radius:8px;padding:11px 12px;color:#fff;background:linear-gradient(135deg,#176a8c,#2d97ba);box-shadow:0 3px 10px #1c303d29;font:inherit;text-align:left;cursor:pointer;transition:box-shadow .14s ease,transform .14s ease}.shop-tile:after{content:"";position:absolute;z-index:-1;width:90px;height:90px;top:-42px;right:-34px;border-radius:50%;background:#ffffff29}.shop-tile:active{transform:scale(.98)}.shop-tile:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.shop-tile.active{box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--accent),0 5px 14px #1c303d33}.shop-tile-all{background:linear-gradient(135deg,#155f92,#1387c9)}.shop-theme-0{background:linear-gradient(135deg,#9f3f35,#d66a4f)}.shop-theme-1{background:linear-gradient(135deg,#2f6f59,#4da27e)}.shop-theme-2{background:linear-gradient(135deg,#6d4c91,#9872bd)}.shop-theme-3{background:linear-gradient(135deg,#8a641f,#c18e32)}.shop-tile-art{display:inline-flex;flex:0 0 auto;opacity:.9}.shop-tile-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-end;text-align:right}.shop-tile-name{min-width:0;font-size:.88rem;font-weight:750;line-height:1.18;overflow-wrap:anywhere}.shop-menu-group{margin:24px 0 36px}.shop-menu-group+.shop-menu-group{padding-top:22px;border-top:1px solid var(--line)}.shop-menu-heading{display:flex;align-items:center;gap:10px;margin:0 0 14px}.shop-menu-heading h2{margin:0;color:var(--ink);font-size:1.2rem;line-height:1.2}.shop-menu-mark{display:inline-flex;width:38px;height:38px;flex:0 0 auto;align-items:center;justify-content:center;border-radius:8px;color:#fff;box-shadow:0 2px 6px #1c303d1f}.shop-menu-mark .shop-tile-icon{width:23px;height:23px}.cat-chip{flex:0 0 auto;border:1px solid #d8dde5;border-radius:999px;padding:7px 15px;color:var(--ink-soft);background:#fff;font-weight:500}.cat-chip.active{color:#fff;background:var(--accent);border-color:var(--accent)}.menu-category-title{margin:0 -16px 14px;padding:9px 16px;color:#fff;background:#56c765;font-size:1rem;letter-spacing:.04em}.menu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.menu-card{position:relative;display:flex;flex-direction:column-reverse;gap:0;overflow:hidden;border:0;border-radius:2px;padding:0;box-shadow:0 2px 7px #1c303d21}.menu-card-photo{width:100%;height:148px;border-radius:0;align-self:stretch}.menu-card-body{width:100%;min-height:106px;padding:10px}.menu-card-name{font-size:.96rem;text-decoration:underline;text-underline-offset:2px}.menu-card-description,.menu-card .chip-list{display:none}.menu-card-price{color:#60666a}.add-pill{position:absolute;top:126px;left:10px;width:34px;height:34px;color:#4b5256;background:#fff;border:1px solid var(--line);box-shadow:0 2px 5px #00000024}.qty-stepper button{border-color:var(--line);background:#fff}.cart-page,.checkout-page,.order-page{background:#fff;padding-top:24px}.cart-lines{gap:18px}.cart-line{padding:18px;background:#f4f5f5;border:0;border-radius:2px;box-shadow:none}.cart-line-name,.cart-line-price{font-weight:800}.cart-line-side{gap:12px}.contact-fieldset,.summary-card,.pay-card{border-radius:2px;border-color:var(--line);box-shadow:none}.summary-card{background:#fff}.summary-title{padding-bottom:10px;border-bottom:2px solid #3f4549}.summary-total{padding-top:14px;font-size:1.18rem}.pay-card{padding:24px 20px}.pay-total{color:var(--ink);font-size:2rem}.order-status-hero{margin:-8px 0 22px;text-align:center}.order-status-kicker,.order-status-message{margin:0;color:var(--accent);font-weight:800}.order-status-message{margin-top:3px;font-size:1.15rem}.delivery-illustration{display:block;width:min(260px,80vw);height:auto;margin:12px auto 0}.order-code-card{border:0;border-top:1px dotted #c8ccce;border-bottom:1px dotted #c8ccce;border-radius:0;color:var(--ink);background:#fff;box-shadow:none}.order-code-label,.order-code-room{color:var(--ink-soft)}.timeline{background:#f5f7f8;border-radius:2px;padding:18px}@media (min-width: 560px){.featured-carousel-controls{display:block}.featured-carousel-control{position:absolute;z-index:2;top:50%;width:38px;height:38px;border:0;border-radius:50%;color:var(--ink);background:#fffffff0;box-shadow:0 3px 12px #1c303d33;font:inherit;font-size:1.65rem;line-height:1;cursor:pointer;transform:translateY(-50%)}.featured-carousel-control:disabled{opacity:.35;cursor:default}.featured-carousel-control-previous{left:18px}.featured-carousel-control-next{right:18px}.menu-items{grid-template-columns:repeat(3,minmax(0,1fr))}.menu-card-photo{height:164px}.add-pill{top:142px}}@media (min-width: 720px){.featured-carousel-track{padding-inline:max(16px,calc((720px - var(--featured-slide-width)) / 2))}}
