@import url("./mobile.css?v=20260916");
@font-face {
  font-family: "BuildStudio SC";
  src: url("/showcase/order/assets/buildstudio_self_order_ui/static/brand/fonts/NotoSansSC-Variable.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "BuildStudio JP";
  src: url("/showcase/order/assets/buildstudio_self_order_ui/static/brand/fonts/NotoSansJP-Variable.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "BuildStudio EN";
  src: url("/showcase/order/assets/buildstudio_self_order_ui/static/brand/Inter-Variable.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --bs-ui-font: "BuildStudio EN", sans-serif;
  --bs-text-body: 16px;
  --bs-text-small: 14px;
  --bs-text-title: 32px;
  --bs-text-section: 22px;
  --bs-text-card: 18px;
}
html:lang(zh), html[data-bs-order-language="zh"] { --bs-ui-font: "BuildStudio SC", sans-serif; }
html:lang(ja), html[data-bs-order-language="ja"] { --bs-ui-font: "BuildStudio JP", sans-serif; }
html:lang(en), html[data-bs-order-language="en"] { --bs-ui-font: "BuildStudio EN", sans-serif; }
html body {
  --bs-body-font-family: var(--bs-ui-font);
  font-family: var(--bs-ui-font) !important;
  font-size: var(--bs-text-body);
  line-height: 1.6;
  font-synthesis: none;
}
html body :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,table,th,td,small,strong,output,summary,aside,.btn) {
  font-family: var(--bs-ui-font) !important;
}
html body :is(p,button,input,select,textarea,label,table,.btn) {
  font-size: var(--bs-text-body) !important;
  line-height: 1.6 !important;
}
html body h1 { font-size: var(--bs-text-title) !important; line-height: 1.35 !important; font-weight: 700 !important; }
html body h2 { font-size: var(--bs-text-section) !important; line-height: 1.4 !important; font-weight: 700 !important; }
html body :is(h3,h4,h5,h6) { font-size: var(--bs-text-card) !important; line-height: 1.4 !important; font-weight: 600 !important; }
html body :is(small,.form-text,.text-muted,aside) { font-size: var(--bs-text-small); line-height: 1.6; }
html body .btn { font-weight: 600; }
html body .bs-quantity-stepper button { font-size: 24px !important; line-height: 1 !important; }
html body .bs-quantity-stepper output { font-size: 18px !important; line-height: 1.5 !important; }
html.bs-order-customer :is(.fs-2,.fs-3) { font-size: 20px !important; line-height: 1.4 !important; }
@media (max-width: 600px) { :root { --bs-text-title: 28px; --bs-text-section: 20px; } }

/* Customer action colors must not depend on an optional logo component. */
html.bs-order-customer {
  --bs-order-gold: #a7730d;
  --bs-order-gold-line: #d6ac48;
}
html.bs-order-customer body .btn.btn-primary,
html.bs-order-customer body .bs-quantity-stepper button:not(:disabled) {
  --bs-btn-color: #fff;
  --bs-btn-bg: #a7730d;
  --bs-btn-border-color: #d6ac48;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #94630b;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #855907;
  color: #fff !important;
  background: linear-gradient(180deg, #b78217, #a7730d) !important;
  border-color: #d6ac48 !important;
}
html.bs-order-customer body .btn.btn-primary:hover:not(:disabled):not(.disabled),
html.bs-order-customer body .bs-quantity-stepper button:hover:not(:disabled) {
  background: #94630b !important;
  color: #fff !important;
}
html.bs-order-customer body .bs-quantity-stepper { border-color: #d6ac48 !important; background: #fff !important; }
html.bs-order-customer body .bs-quantity-stepper output { color: #785309 !important; }
html.bs-order-customer body .btn.btn-primary:is(:disabled,.disabled),
html.bs-order-customer body .bs-quantity-stepper button:disabled {
  color: #9b7c38 !important;
  background: #f8f0d9 !important;
  border-color: #e5d4a3 !important;
  opacity: 1 !important;
  cursor: not-allowed;
}
html.bs-order-customer body .btn.btn-primary:focus-visible,
html.bs-order-customer body .bs-quantity-stepper button:focus-visible {
  outline: 3px solid #94630b;
  outline-offset: 3px;
}

/* Green surface contract: white text, without changing light content surfaces. */
html body :is(.btn-primary:not(:disabled):not(.disabled),.bg-primary,.text-bg-primary,.bg-success,.text-bg-success) {
  --bs-btn-color: #fff;
  --bs-btn-hover-color: #fff;
  --bs-btn-active-color: #fff;
  color: #fff !important;
}
html body :is(.btn-primary:not(:disabled):not(.disabled),.bg-primary,.text-bg-primary) > :is(span,strong,b,small,a) { color: #fff !important; }
html body.bs-admin button:not(:disabled):not(.bs-staff-secondary),
html body.bs-preview .primary,
html body.bs-admin > header,
html body.bs-admin > header :is(a,nav,span,label),
html body.bs-preview aside,
html body.bs-preview aside :is(p,span,a,strong,small),
html body.bs-preview .aside-note,
html body.bs-preview .nav button:not(.active),
html body.bs-merchant nav a[aria-current="page"],
html body .bs-delivery-grid button:not(:disabled),
html body :is(.bs-preview .bar,.bs-preview .progress i) {
  color: #fff !important;
}
html body.bs-admin > header a:hover,
html body.bs-admin > header nav a[aria-current="page"] {
  color: #fff !important;
  background: rgba(0,0,0,.12) !important;
}
html body .o_main_navbar,
html body .o_main_navbar :is(.o_menu_brand,.o_nav_entry,.dropdown-toggle) {
  color: #fff !important;
}
html body .o_main_navbar .dropdown-menu :is(a,button,span) { color: #29361e !important; }
html body .o_main_navbar .dropdown-menu .dropdown-item:is(.active,:active),
html body .o_main_navbar .dropdown-menu .dropdown-item:is(.active,:active) span { color: #fff !important; }
html body .o_home_menu_background :is(.o_app_name,.o_caption) { color: #fff !important; }
html body .o_main_navbar .o_menu_brand::before {
  background: url('/showcase/order/assets/buildstudio_self_order_ui/static/brand/order-gear-v1.svg?v=green-white1') center/contain no-repeat !important;
}
/* White secondary actions retain dark text; gold customer actions keep their palette. */
html body.bs-admin button.bs-staff-secondary { color: #4a612f !important; }
html body.bs-preview .nav button.active { color: #4a612f !important; }
/* Unified green reference: the approved lower homepage notice surface. */
:root {
  --bs-brand-green: #7c9845;
  --bs-brand-green-light: #91ac59;
  --bs-brand-green-fill: linear-gradient(115deg, #7c9845, #91ac59);
  --bs-brand-green-shadow: 0 3px 8px rgba(61, 83, 32, .14);
}
html:not(.bs-order-customer) body .btn.btn-primary:not(:disabled):not(.disabled),
html body :is(.bg-primary,.text-bg-primary,.bg-success,.text-bg-success),
html body.bs-admin button:not(:disabled):not(.bs-staff-secondary),
html body.bs-admin > header,
html body.bs-preview aside,
html body.bs-preview .primary,
html body.bs-home main nav a,
html body .o_main_navbar,
html body .o_home_menu_background,
html body .dropdown-item:is(.active,:active),
html body :is(.bs-preview .bar,.bs-preview .progress i) {
  --bs-btn-bg: var(--bs-brand-green);
  --bs-btn-border-color: var(--bs-brand-green);
  --bs-btn-color: #fff;
  --bs-btn-hover-bg: var(--bs-brand-green);
  --bs-btn-hover-border-color: var(--bs-brand-green);
  --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--bs-brand-green);
  --bs-btn-active-color: #fff;
  background-color: var(--bs-brand-green) !important;
  background-image: var(--bs-brand-green-fill) !important;
  border-color: var(--bs-brand-green-light) !important;
  color: #fff !important;
}
html body.bs-home main nav a:hover,
html body.bs-home main nav a:active,
html body.bs-admin > header a:hover,
html body.bs-admin > header nav a[aria-current="page"] {
  background-color: var(--bs-brand-green) !important;
  background-image: var(--bs-brand-green-fill) !important;
  border-color: var(--bs-brand-green-light) !important;
  color: #fff !important;
}
html body .form-check-input:checked { background-color: var(--bs-brand-green); border-color: var(--bs-brand-green); }
html body :is(button,.btn,.home-function-links a) { font-size: 16px !important; font-weight: 600; line-height: 1.6 !important; }
html body :is(p,aside) { font-weight: 400; }
html body :is(input,select,textarea) { font-weight: 400; }
html body .bs-quantity-stepper button { font-size: 24px !important; font-weight: 600; line-height: 1 !important; }
/* Hover changes elevation, not the approved green palette. */
@media (hover: hover) and (pointer: fine) {
  html body.bs-home main nav a:hover { box-shadow: 0 9px 18px rgba(61,83,32,.23); }
  html body.bs-admin button:not(:disabled):not(.bs-staff-secondary):hover { box-shadow: 0 4px 12px rgba(61,83,32,.23); }
}
/* Olive-charcoal typography, with lighter form labels and restrained headings. */
html body { --bs-body-color:#43513c; --bs-body-color-rgb:67,81,60; --bs-heading-color:#354a2c; }
html body :is(h1,h2,h3,h4,h5,h6):not(.text-danger):not(.text-white) { color:#354a2c; font-weight:600!important; letter-spacing:.015em; }
html body.bs-login-page :is(h1,h2) { font-size:28px!important; font-weight:600!important; color:#354a2c!important; line-height:1.45!important; letter-spacing:.04em; }
html body.bs-login-page label { font-size:14px!important; font-weight:500!important; color:#627056!important; letter-spacing:.025em; }
html body.bs-login-page :is(input,select,textarea) { color:#43513c!important; }
html body.bs-login-page input::placeholder { color:#85907c!important; font-weight:400; opacity:1; }
html body.bs-login-page a:not(.btn) { color:#687f46; font-weight:500; }
html body.bs-login-page .bs-login-footer { color:#7b876f; font-size:14px; font-weight:400; letter-spacing:.035em; }
html body :is(.bg-primary,.bg-success,.text-bg-primary,.text-bg-success) :is(h1,h2,h3,h4,h5,h6),
html body.bs-admin > header :is(h1,h2,h3), html body.bs-preview aside :is(h1,h2,h3) { color:#fff!important; }
/* Original wordmark surface integration. Preserve the original artwork. */
html body img[src*="buildstudio-order-wordmark"] {
  background: transparent !important;
  mix-blend-mode: darken;
}
html body .bs-order-brand,
html body .bs-workspace-brand,
html body .app-brand {
  background: transparent !important;
  box-shadow: none !important;
}
@media print {
  html body img[src*="buildstudio-order-wordmark"] {
    mix-blend-mode: normal;
  }
}
/* Customer ordering is phone-first; operational workspaces are landscape-first. */
html:root.bs-order-customer .bs-order-brand {
  min-height: 0 !important;
  flex-shrink: 0;
  padding: 10px 18px !important;
  border-bottom: 1px solid #e1e7d6;
}
html:root.bs-order-customer .bs-order-brand .bs-order-wordmark {
  display: block;
  width: min(260px, 75vw) !important;
  max-width: 100%;
  height: auto !important;
  margin: 0 auto;
  object-fit: contain !important;
}
html:root.bs-order-customer .bs-language-toolbar {
  min-height: 48px;
  padding: 6px 16px !important;
  background: #f8f9f3 !important;
}
html:root.bs-order-customer .o_self_product_box {
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
  padding: 16px !important;
  border: 1px solid #e1e7d6 !important;
  border-radius: 16px !important;
  box-shadow: 0 3px 12px #35462e06 !important;
}
html:root.bs-order-customer :is(div, section):has(> .o_self_product_box) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
}
html:root.bs-order-customer .o_self_product_box article {
  gap: 14px;
  min-height: 92px;
}
html:root.bs-order-customer .o_self_product_box :is(h3, h4, h5) {
  font-size: 16px !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
  overflow-wrap: anywhere;
}
html:root.bs-order-customer .product_img,
html:root.bs-order-customer .bs-product-placeholder {
  width: 92px !important;
  height: 92px !important;
  min-width: 92px !important;
}
html:root.bs-order-customer .bs-quantity-row {
  justify-content: flex-end !important;
  margin-top: 12px !important;
}
html:root.bs-order-customer .bs-quantity-stepper {
  border-color: #dec68e !important;
  background: #fffaf0 !important;
  border-radius: 12px !important;
}
html:root.bs-order-customer .bs-quantity-stepper button {
  width: 44px !important;
  height: 44px !important;
  background: #956c19 !important;
  color: #fff !important;
  font-size: 24px !important;
}
html:root.bs-order-customer .bs-quantity-stepper button:disabled {
  opacity: .38 !important;
}
html:root.bs-order-customer .bs-quantity-stepper output {
  min-width: 40px !important;
  color: #35462e !important;
  font-size: 16px !important;
}
html:root.bs-order-customer :is(.btn-primary, .btn-primary:active, .btn-primary:focus) {
  min-height: 48px;
  background: #956c19 !important;
  border-color: #956c19 !important;
  color: #fff !important;
}
html:root.bs-order-customer :is(input:not([type=checkbox]):not([type=radio]), select) {
  min-height: 46px;
  font-size: 16px !important;
}
html body.bs-app .bs-language-picker { flex-shrink: 0; }
html body.bs-app .app-content :is(button, select, input:not([type=checkbox]):not([type=radio])) {
  min-height: 44px;
}
html body.bs-app .app-content .bs-kitchen-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 310px), 1fr)) !important;
  align-items: start;
  gap: 20px !important;
}
html body.bs-app .app-content .panel { overflow-x: auto; }
@media (min-width: 900px) and (max-width: 1200px) {
  html body.bs-app .app-frame { grid-template-columns: 210px minmax(0, 1fr); }
  html body.bs-app .app-content { padding: 24px; }
  html body.bs-app .app-topbar { padding-inline: 24px; }
  html body.bs-app .app-navigation a { min-height: 48px; font-size: 14px; }
}
@media (min-width: 1201px) {
  html body.bs-app .app-frame { grid-template-columns: 238px minmax(0, 1fr); }
  html body.bs-app .app-content { max-width: 1560px; }
}
@media (min-width: 768px) {
  html:root.bs-order-customer { background: #eef2e5 !important; }
  html:root.bs-order-customer body {
    position: relative;
    width: 520px !important;
    max-width: 100%;
    min-height: 100dvh;
    margin-inline: auto !important;
    border-inline: 1px solid #dfe6d2;
    box-shadow: 0 0 60px #35462e0a;
    transform: translateZ(0);
  }
}

.bs-language-picker{position:relative;display:inline-block;flex:0 0 auto;color:#35462e;font-size:13px;line-height:1.4;z-index:1055}
.bs-language-picker summary{display:flex;align-items:center;gap:8px;min-height:38px;padding:6px 10px;list-style:none;cursor:pointer;border:1px solid #dfe6d2;border-radius:8px;background:#fffefa;color:#526045;white-space:nowrap}
.bs-language-picker summary::-webkit-details-marker{display:none}
.bs-language-flag{display:inline-block!important;width:21px!important;height:14px!important;max-width:none!important;margin:0!important;flex:0 0 auto;vertical-align:middle;object-fit:cover;border-radius:2px}
.bs-language-chevron{margin-left:2px;transition:transform .15s ease}.bs-language-picker[open] .bs-language-chevron{transform:rotate(180deg)}
.bs-language-options{position:absolute;right:0;top:calc(100% + 6px);z-index:1056;min-width:160px;padding:5px;border:1px solid #dfe6d2;border-radius:8px;background:#fffefa;box-shadow:0 12px 30px #35462e26}
.bs-language-options a,.bs-language-options button{display:flex!important;align-items:center;gap:10px;width:100%;min-height:38px;padding:9px!important;border:0;border-radius:5px;background:transparent!important;color:#526045!important;text-align:left;text-decoration:none!important;white-space:nowrap;cursor:pointer}
.bs-language-options :is(a,button):hover,.bs-language-options :is(a,button):focus-visible{background:#edf2e3!important;color:#35462e!important}
.bs-language-options :is(a,button)[aria-current=true],.bs-language-options button[aria-pressed=true]{color:#35462e!important;font-weight:600}
.bs-language-options [lang=zh-CN],.bs-language-picker summary [lang=zh-CN]{font-family:'BuildStudio SC',sans-serif}.bs-language-options [lang=ja-JP],.bs-language-picker summary [lang=ja-JP]{font-family:'BuildStudio JP',sans-serif}.bs-language-options [lang=en-US],.bs-language-picker summary [lang=en-US]{font-family:'BuildStudio EN',sans-serif}
.bs-language-check{margin-left:auto;color:#7c9845}
.bs-native-language{position:fixed;top:8px;right:16px}
html.bs-has-language body{padding-top:52px}
