:root {
  --ox-bg: #0b0b0c;
  --ox-panel: #141416;
  --ox-panel-2: #1a1a1d;
  --ox-line: #303035;
  --ox-text: #f8f6f1;
  --ox-muted: #aaa49a;
  --ox-gold: #d5ae61;
  --ox-gold-2: #f0d08a;
  --ox-danger: #ff9d9d;
  --ox-green: #8de0ae;
}
* {
  box-sizing: border-box;
}
.ox-launch {
  max-width: 1080px;
  margin: 0 auto;
  padding: 72px 22px 90px;
  text-align: center;
}
.ox-launch-mark {
  width: 68px;
  height: 68px;
  margin: 0 auto 22px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: linear-gradient(145deg, #e4c274, #8d6338);
  color: #111;
  font:
    900 28px Georgia,
    serif;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
}
.ox-launch h1 {
  margin: 0;
  font-size: clamp(2.4rem, 7vw, 5.8rem);
  line-height: 0.95;
  letter-spacing: -0.055em;
}
.ox-launch p {
  max-width: 680px;
  margin: 20px auto 28px;
  color: var(--fr-muted, #767676);
  font-size: clamp(1rem, 2vw, 1.22rem);
  line-height: 1.65;
}
.ox-launch-location {
  max-width: 610px;
  margin: 0 auto 24px;
  padding: 16px 18px;
  border: 1px solid rgba(196, 154, 108, 0.32);
  border-radius: 18px;
  background: rgba(196, 154, 108, 0.08);
  text-align: left;
}
.ox-launch-location strong,
.ox-launch-location span {
  display: block;
}
.ox-launch-location span {
  margin-top: 4px;
  color: var(--fr-muted, #777);
  line-height: 1.45;
}
.ox-launch-button {
  min-height: 58px;
  padding: 0 28px;
  border: 0;
  border-radius: 16px;
  background: #111;
  color: #fff;
  font-weight: 900;
  font-size: 16px;
  cursor: pointer;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.22);
}
.ox-app {
  position: fixed;
  inset: 0;
  z-index: 3000;
  display: none;
  background: var(--ox-bg);
  color: var(--ox-text);
  overflow: hidden;
}
.ox-app.is-open {
  display: grid;
  grid-template-rows: auto 1fr auto;
}
.ox-topbar {
  min-height: 74px;
  padding: 12px 20px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--ox-line);
  background: rgba(11, 11, 12, 0.96);
  backdrop-filter: blur(16px);
}
.ox-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}
.ox-brand-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: linear-gradient(145deg, #e4c274, #8d6338);
  color: #111;
  font:
    900 18px Georgia,
    serif;
}
.ox-brand strong,
.ox-brand span {
  display: block;
}
.ox-brand span {
  color: var(--ox-muted);
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ox-progress {
  display: flex;
  align-items: center;
  gap: 6px;
}
.ox-progress i {
  width: 32px;
  height: 6px;
  border-radius: 999px;
  background: #333;
}
.ox-progress i.is-done,
.ox-progress i.is-current {
  background: var(--ox-gold);
}
.ox-top-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}
.ox-cart-pill,
.ox-close {
  min-height: 43px;
  border: 1px solid var(--ox-line);
  border-radius: 13px;
  background: var(--ox-panel);
  color: var(--ox-text);
  font-weight: 900;
  cursor: pointer;
}
.ox-cart-pill {
  padding: 0 14px;
}
.ox-close {
  width: 43px;
  font-size: 22px;
}
.ox-body {
  overflow: auto;
  overscroll-behavior: contain;
}
.ox-stage {
  display: none;
  max-width: 1280px;
  margin: 0 auto;
  padding: 34px 22px 130px;
}
.ox-stage.is-active {
  display: block;
}
.ox-kicker {
  margin-bottom: 9px;
  color: var(--ox-gold-2);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.ox-title {
  margin: 0;
  font-size: clamp(2.1rem, 5vw, 4.3rem);
  line-height: 1;
  letter-spacing: -0.045em;
}
.ox-subtitle {
  max-width: 720px;
  margin: 12px 0 26px;
  color: var(--ox-muted);
  font-size: 15px;
  line-height: 1.65;
}
.ox-search {
  position: relative;
  max-width: 720px;
  margin-bottom: 18px;
}
.ox-search input {
  width: 100%;
  min-height: 54px;
  padding: 0 18px 0 48px;
  border: 1px solid var(--ox-line);
  border-radius: 16px;
  background: var(--ox-panel);
  color: var(--ox-text);
  font-size: 15px;
}
.ox-search span {
  position: absolute;
  left: 17px;
  top: 15px;
  color: var(--ox-muted);
}
.ox-location-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.ox-location {
  position: relative;
  padding: 20px;
  border: 1px solid var(--ox-line);
  border-radius: 20px;
  background: var(--ox-panel);
  cursor: pointer;
  text-align: left;
  color: var(--ox-text);
}
.ox-location:hover {
  border-color: #5f5135;
}
.ox-location.is-selected {
  border-color: var(--ox-gold);
  box-shadow: inset 0 0 0 1px var(--ox-gold);
  background: linear-gradient(
    145deg,
    rgba(213, 174, 97, 0.13),
    var(--ox-panel)
  );
}
.ox-location-badge {
  position: absolute;
  right: 14px;
  top: 14px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(213, 174, 97, 0.14);
  color: var(--ox-gold-2);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.ox-location strong {
  display: block;
  padding-right: 75px;
  font-size: 18px;
}
.ox-location-address {
  display: block;
  margin-top: 9px;
  color: var(--ox-muted);
  line-height: 1.55;
}
.ox-location-meta {
  display: block;
  margin-top: 14px;
  color: var(--ox-gold-2);
  font-size: 12px;
  font-weight: 800;
}
.ox-location-empty {
  padding: 30px;
  border: 1px dashed var(--ox-line);
  border-radius: 18px;
  color: var(--ox-muted);
  text-align: center;
}
.ox-menu-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 20px;
}
.ox-category-bar {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  gap: 8px;
  padding: 12px 0 16px;
  background: linear-gradient(var(--ox-bg) 75%, transparent);
  overflow-x: auto;
}
.ox-category-chip {
  white-space: nowrap;
  min-height: 39px;
  padding: 0 14px;
  border: 1px solid var(--ox-line);
  border-radius: 999px;
  background: var(--ox-panel);
  color: var(--ox-muted);
  font-weight: 850;
  cursor: pointer;
}
.ox-category-chip.is-active {
  background: var(--ox-gold);
  border-color: var(--ox-gold);
  color: #111;
}
.ox-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.ox-product.is-unavailable{opacity:.52;filter:grayscale(.35)}
.ox-availability-filter{display:flex;align-items:center;gap:7px;margin:0 0 4px;flex-wrap:wrap}.ox-availability-filter>span{color:var(--ox-muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.ox-availability-filter button{min-height:36px;padding:0 12px;border:1px solid var(--ox-line);border-radius:999px;background:var(--ox-panel);color:var(--ox-muted);font-weight:850}.ox-availability-filter button.is-active{border-color:var(--ox-gold);background:var(--ox-gold);color:#111}
.ox-cart-popup-list{display:grid;gap:0;text-align:left}.ox-cart-popup-list>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:9px;padding:11px 0;border-bottom:1px solid var(--ox-line)}.ox-cart-popup-list b{display:grid;width:27px;height:27px;place-items:center;border-radius:8px;background:rgba(213,174,97,.16);color:var(--ox-gold-2)}.ox-cart-popup-list span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ox-cart-popup-list strong{white-space:nowrap}.ox-cart-popup-total{display:flex;justify-content:space-between;gap:16px;padding-top:15px;font-size:19px;font-weight:950}.ox-cart-popup-empty{display:block;padding:14px 0;color:var(--ox-muted)}
@media(max-width:1050px) and (min-width:701px){.ox-products{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ox-product {
  min-height: 152px;
  padding: 18px;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--ox-line);
  border-radius: 20px;
  background: var(--ox-panel);
}
.ox-product-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}
.ox-product h3 {
  margin: 0;
  font-size: 17px;
  line-height: 1.25;
}
.ox-product-price {
  color: var(--ox-gold-2);
  font-size: 17px;
  font-weight: 950;
  white-space: nowrap;
}
.ox-product-meta {
  margin-top: 8px;
  color: var(--ox-muted);
  font-size: 12px;
}
.ox-product-bottom {
  margin-top: auto;
  padding-top: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.ox-add {
  min-height: 40px;
  padding: 0 16px;
  border: 0;
  border-radius: 12px;
  background: var(--ox-gold);
  color: #111;
  font-weight: 950;
  cursor: pointer;
}
.ox-qty {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ox-qty button {
  width: 38px;
  height: 38px;
  border: 1px solid var(--ox-line);
  border-radius: 11px;
  background: #0d0d0f;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
}
.ox-qty strong {
  min-width: 28px;
  text-align: center;
}
.ox-mini-cart {
  position: sticky;
  top: 16px;
  height: max-content;
  border: 1px solid var(--ox-line);
  border-radius: 22px;
  background: var(--ox-panel);
  overflow: hidden;
}
.ox-mini-head {
  padding: 18px;
  border-bottom: 1px solid var(--ox-line);
}
.ox-mini-head h3 {
  margin: 0;
}
.ox-mini-location {
  margin-top: 5px;
  color: var(--ox-muted);
  font-size: 12px;
}
.ox-mini-items {
  max-height: 46vh;
  padding: 7px 16px;
  overflow: auto;
}
.ox-mini-row {
  padding: 11px 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  border-bottom: 1px solid #29292d;
}
.ox-mini-row span {
  color: var(--ox-muted);
  font-size: 12px;
}
.ox-mini-empty {
  padding: 30px 14px;
  color: var(--ox-muted);
  text-align: center;
}
.ox-mini-total {
  padding: 16px 18px;
  display: flex;
  justify-content: space-between;
  font-size: 18px;
  font-weight: 950;
}
.ox-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.ox-field {
  min-width: 0;
}
.ox-field.is-wide {
  grid-column: 1/-1;
}
.ox-label {
  display: block;
  margin-bottom: 7px;
  color: var(--ox-muted);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.ox-input,
.ox-textarea {
  width: 100%;
  min-height: 54px;
  padding: 12px 14px;
  border: 1px solid var(--ox-line);
  border-radius: 15px;
  background: var(--ox-panel);
  color: var(--ox-text);
  font-size: 16px;
}
.ox-textarea {
  min-height: 110px;
  resize: vertical;
}
.ox-input:focus,
.ox-textarea:focus {
  outline: 0;
  border-color: var(--ox-gold);
  box-shadow: 0 0 0 3px rgba(213, 174, 97, 0.12);
}
.ox-review {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
  gap: 18px;
}
.ox-review-card {
  border: 1px solid var(--ox-line);
  border-radius: 21px;
  background: var(--ox-panel);
  overflow: hidden;
}
.ox-review-head {
  padding: 17px 19px;
  border-bottom: 1px solid var(--ox-line);
  font-weight: 900;
}
.ox-review-body {
  padding: 18px;
}
.ox-review-row {
  padding: 11px 0;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid #29292d;
}
.ox-review-row:last-child {
  border: 0;
}
.ox-review-row span {
  color: var(--ox-muted);
}
.ox-address-block {
  padding: 15px;
  border-radius: 15px;
  background: var(--ox-panel-2);
  line-height: 1.55;
}
.ox-footer {
  min-height: 82px;
  padding: 12px 20px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 14px;
  border-top: 1px solid var(--ox-line);
  background: rgba(11, 11, 12, 0.97);
  backdrop-filter: blur(16px);
}
.ox-footer-summary span,
.ox-footer-summary strong {
  display: block;
}
.ox-footer-summary span {
  color: var(--ox-muted);
  font-size: 11px;
}
.ox-footer-summary strong {
  font-size: 17px;
}
.ox-next,
.ox-back {
  min-height: 52px;
  padding: 0 24px;
  border-radius: 14px;
  font-weight: 950;
  cursor: pointer;
}
.ox-next {
  border: 0;
  background: var(--ox-gold);
  color: #111;
  min-width: 180px;
}
.ox-next:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}
.ox-back {
  justify-self: end;
  border: 1px solid var(--ox-line);
  background: var(--ox-panel);
  color: var(--ox-text);
}
.ox-footer-spacer {
  justify-self: end;
}
.ox-modal-layer {
  position: fixed;
  inset: 0;
  z-index: 3500;
  display: none;
  place-items: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(8px);
}
.ox-modal-layer.is-open {
  display: grid;
}
.ox-modal {
  width: min(100%, 470px);
  padding: 24px;
  border: 1px solid #4a4336;
  border-radius: 24px;
  background: #171719;
  color: #fff;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.5);
}
.ox-modal-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  background: rgba(213, 174, 97, 0.15);
  color: var(--ox-gold-2);
  font-size: 22px;
}
.ox-modal h3 {
  margin: 15px 0 7px;
  font-size: 24px;
}
.ox-modal p {
  margin: 0;
  color: var(--ox-muted);
  line-height: 1.6;
}
.ox-modal-actions {
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.ox-modal-actions button {
  min-height: 46px;
  padding: 0 17px;
  border-radius: 12px;
  font-weight: 900;
  cursor: pointer;
}
.ox-modal-secondary {
  border: 1px solid var(--ox-line);
  background: var(--ox-panel-2);
  color: #fff;
}
.ox-modal-primary {
  border: 0;
  background: var(--ox-gold);
  color: #111;
}
.ox-toast {
  position: fixed;
  right: 20px;
  bottom: 100px;
  z-index: 3600;
  max-width: min(420px, calc(100vw - 40px));
  padding: 14px 17px;
  border: 1px solid #4a4336;
  border-radius: 14px;
  background: #19191c;
  color: #fff;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
  transform: translateY(18px);
  opacity: 0;
  pointer-events: none;
  transition: 0.22s;
}
.ox-toast.is-showing {
  transform: none;
  opacity: 1;
}
.ox-success {
  text-align: center;
  padding: 20px;
}
.ox-success-mark {
  width: 72px;
  height: 72px;
  margin: 0 auto 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #173723;
  color: var(--ox-green);
  font-size: 34px;
}
.ox-success h2 {
  font-size: 34px;
  margin: 0 0 8px;
}
.ox-success-ref {
  margin: 18px auto;
  padding: 16px;
  border: 1px solid #44664f;
  border-radius: 15px;
  background: #13271a;
  color: var(--ox-green);
  font-weight: 950;
  font-size: 18px;
}
@media (max-width: 900px) {
  .ox-menu-layout,
  .ox-review {
    grid-template-columns: 1fr;
  }
  .ox-mini-cart {
    display: none;
  }
  .ox-products {
    grid-template-columns: 1fr;
  }
  .ox-location-grid {
    grid-template-columns: 1fr;
  }
  .ox-topbar {
    grid-template-columns: 1fr auto;
  }
  .ox-progress {
    display: none;
  }
  .ox-form-grid {
    grid-template-columns: 1fr;
  }
  .ox-field.is-wide {
    grid-column: auto;
  }
  .ox-footer {
    grid-template-columns: auto 1fr auto;
  }
  .ox-footer-summary {
    display: none;
  }
  .ox-footer-spacer {
    display: none;
  }
}
@media (max-width: 600px) {
  .ox-topbar {
    min-height: 64px;
    padding: 9px 11px;
  }
  .ox-brand-mark {
    width: 38px;
    height: 38px;
  }
  .ox-brand strong {
    font-size: 13px;
  }
  .ox-brand span {
    max-width: 145px;
  }
  .ox-cart-pill {
    padding: 0 10px;
    font-size: 12px;
  }
  .ox-stage {
    padding: 24px 13px 120px;
  }
  .ox-title {
    font-size: 2.2rem;
  }
  .ox-footer {
    min-height: 72px;
    padding: 9px 11px;
  }
  .ox-next {
    min-width: 0;
    padding: 0 17px;
  }
  .ox-back {
    padding: 0 15px;
  }
  .ox-product {
    min-height: 142px;
    padding: 15px;
  }
}

/* Bright public-site theme. Dark mode can be added later as an explicit toggle. */
:root {
  --ox-bg: #f8f8f6;
  --ox-panel: #ffffff;
  --ox-panel-2: #f7f2e8;
  --ox-line: #e5e2dc;
  --ox-text: #171717;
  --ox-muted: #707074;
  --ox-gold: #d6b369;
  --ox-gold-2: #a77b26;
  --ox-danger: #b94343;
  --ox-green: #287a49;
}
.ox-launch {
  background: #fff;
  color: #171717;
}
.ox-launch p,
.ox-launch-location span {
  color: #707074;
}
.ox-launch-location {
  border-color: #eadbbd;
  background: #fffaf1;
  box-shadow: 0 12px 34px rgba(41, 34, 22, 0.06);
}
.ox-launch-button {
  background: var(--ox-gold);
  color: #171717;
  box-shadow: 0 16px 38px rgba(174, 129, 47, 0.2);
}
.ox-app,
.ox-body {
  background: var(--ox-bg);
}
.ox-topbar,
.ox-footer {
  background: rgba(255, 255, 255, 0.97);
  color: var(--ox-text);
  box-shadow: 0 5px 20px rgba(30, 30, 30, 0.04);
}
.ox-cart-pill,
.ox-close,
.ox-back,
.ox-category-chip,
.ox-qty button {
  background: #fff;
  color: #171717;
}
.ox-category-bar {
  background: linear-gradient(var(--ox-bg) 75%, transparent);
}
.ox-category-chip.is-active,
.ox-add,
.ox-next {
  background: var(--ox-gold);
  color: #171717;
}
.ox-location,
.ox-product,
.ox-mini-cart,
.ox-review-card {
  background: #fff;
  box-shadow: 0 10px 30px rgba(26, 26, 26, 0.045);
}
.ox-location.is-selected {
  background: linear-gradient(145deg, #fffaf0, #fff);
}
.ox-search input,
.ox-input,
.ox-textarea {
  background: #fff;
  color: #171717;
}
.ox-mini-row,
.ox-review-row {
  border-bottom-color: #ece9e3;
}
.ox-modal-layer {
  background: rgba(40, 36, 30, 0.36);
}
.ox-modal {
  border-color: #e3d7c1;
  background: #fff;
  color: #171717;
  box-shadow: 0 30px 90px rgba(35, 31, 25, 0.2);
}
.ox-modal-secondary {
  background: #fff;
  color: #171717;
}
.ox-modal-primary {
  background: var(--ox-gold);
  color: #171717;
}
.ox-toast {
  border-color: #e3d7c1;
  background: #fff;
  color: #171717;
}
.ox-success-mark {
  background: #e8f6ed;
}
.ox-success-ref {
  border-color: #b9ddc6;
  background: #f0faf4;
}
.ox-price-stack{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.ox-price-stack strong{color:var(--ox-gold-2);font-size:1.08rem}.ox-price-original{color:#8a8a8d;font-size:.88rem;text-decoration:line-through}.ox-price-stack small{width:100%;color:var(--ox-green);font-weight:800}
@media(max-width:700px){.ox-app{height:100dvh}.ox-topbar{grid-template-columns:minmax(0,1fr) auto;gap:8px}.ox-brand,.ox-brand>div{min-width:0}.ox-brand span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ox-stage{padding:18px 12px calc(102px + env(safe-area-inset-bottom))}.ox-title{font-size:clamp(1.85rem,9vw,2.35rem);line-height:1.02}.ox-category-bar{margin-right:-12px;margin-left:-12px;padding-right:12px;padding-left:12px;scrollbar-width:none}.ox-category-bar::-webkit-scrollbar{display:none}.ox-product{min-height:0;padding:14px}.ox-product-top{align-items:flex-start}.ox-product-bottom{gap:10px}.ox-add,.ox-qty button{min-height:44px}.ox-add{padding-right:18px;padding-left:18px}.ox-qty button{width:44px;height:44px}.ox-footer{display:flex;min-height:68px;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.ox-back{order:1;min-width:76px;padding:0 14px}.ox-next{order:2;flex:1;min-width:0;padding:0 14px}.ox-modal-layer{align-items:flex-end;padding:0}.ox-modal{width:100%;max-height:88dvh;overflow-y:auto;border-right:0;border-bottom:0;border-left:0;border-radius:24px 24px 0 0;padding-bottom:calc(22px + env(safe-area-inset-bottom))}.ox-input,.ox-textarea,.ox-search input,.ox-select{font-size:16px}}
@media(max-width:390px){.ox-brand span{max-width:118px}.ox-cart-pill{padding:0 8px}.ox-back{min-width:64px;padding:0 10px}}
.ox-product.has-image{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px}.ox-product-content{display:flex;min-width:0;flex-direction:column}.ox-product-thumb{width:72px;height:72px;border-radius:14px;object-fit:cover;background:#f3f0e9}
.ox-product.has-image{position:relative;grid-template-columns:minmax(112px,33%) minmax(0,1fr);gap:0;padding:0;overflow:hidden}.ox-product.has-image .ox-product-thumb{width:100%;height:100%;min-height:174px;border-radius:0;align-self:stretch}.ox-product.has-image .ox-product-content{padding:16px}.ox-product h3{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ox-unavailable{display:inline-flex;min-height:40px;align-items:center;color:#a84444;font-size:13px;font-weight:900}.ox-mini-row{display:grid;grid-template-columns:32px minmax(0,1fr) auto 30px;gap:8px;align-items:center}.ox-mini-qty{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;background:#f4ead7;color:#171717}.ox-mini-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ox-text)!important}.ox-mini-line{white-space:nowrap}.ox-mini-remove{width:30px;height:30px;padding:0;border:1px solid var(--ox-line);border-radius:9px;background:#fff;color:#8f3434;font-size:19px;font-weight:900;cursor:pointer}
@media(max-width:700px){.ox-product.has-image{grid-template-columns:minmax(105px,34%) minmax(0,1fr)}.ox-product.has-image .ox-product-thumb{min-height:156px}.ox-product.has-image .ox-product-content{padding:13px}.ox-product-top{gap:7px}.ox-product-price{font-size:15px}.ox-price-stack{justify-content:flex-end}.ox-mini-row{grid-template-columns:30px minmax(0,1fr) auto 30px}}
.ox-reset{min-height:43px;padding:0 12px;border:1px solid var(--ox-line);border-radius:13px;background:#fff;color:#6f5a30;font-size:12px;font-weight:900;cursor:pointer}@media(max-width:600px){.ox-reset{min-height:40px;padding:0 8px;font-size:11px}.ox-close{width:40px}.ox-top-actions{gap:6px}}
.ox-mini-columns{display:grid;grid-template-columns:32px minmax(0,1fr) auto 30px;gap:8px;padding:0 0 8px;border-bottom:1px solid var(--ox-line);color:var(--ox-muted);font-size:10px;font-weight:900;text-transform:uppercase}.ox-mini-columns span:nth-child(3){text-align:right}
.ox-input.is-invalid,.ox-select.is-invalid{border-color:#b42318!important;box-shadow:0 0 0 3px rgba(180,35,24,.1)!important}
.ox-field-error{display:block;margin-top:7px;color:#b42318;font-size:13px;font-weight:750}
.ox-control-wrap{position:relative}.ox-control-icon{position:absolute;left:17px;top:50%;transform:translateY(-50%);z-index:2;color:#ae8130;font-size:18px;pointer-events:none}.ox-control-wrap .ox-input{padding-left:48px}.ox-date-input,.ox-time-select{min-height:62px;border:1px solid #ded8ce!important;border-radius:16px!important;background:#fff!important;color:#171717;font-size:17px;font-weight:700;box-shadow:0 7px 20px rgba(31,25,16,.04);color-scheme:light}.ox-date-input:focus,.ox-time-select:focus{border-color:#d6b369!important;box-shadow:0 0 0 4px rgba(214,179,105,.16)!important}.ox-time-select:disabled{background:#f5f2ec!important;color:#8a857e;opacity:1}.ox-field-hint{display:block;margin-top:8px;color:#77716a;font-size:12px;font-weight:650}
html,body,.ox-app,.ox-body,.ox-stage,.ox-menu-layout,.ox-products,.ox-product,.ox-product-content{min-width:0;max-width:100%}.ox-product-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.ox-product-price,.ox-price-stack{min-width:0;max-width:100%}
@media(max-width:700px){.ox-app{width:100vw;max-width:100vw;overflow:hidden}.ox-body{width:100%;overflow-x:hidden}.ox-topbar{width:100%;grid-template-columns:minmax(0,1fr) auto!important;padding:8px!important}.ox-brand-mark{flex:0 0 36px;width:36px!important;height:36px!important}.ox-brand strong{max-width:92px;white-space:normal;line-height:1.05}.ox-brand span{display:none!important}.ox-top-actions{min-width:0;gap:5px}.ox-cart-pill{min-height:40px;padding:0 8px!important;white-space:nowrap;font-size:11px!important}.ox-reset{width:40px;min-width:40px;padding:0!important;font-size:0!important}.ox-reset::before{content:"↻";font-size:22px}.ox-close{width:40px;min-width:40px}.ox-stage{width:100%;padding-left:10px!important;padding-right:10px!important}.ox-menu-layout,.ox-products{width:100%;min-width:0}.ox-product.has-image{width:100%!important;max-width:100%!important;grid-template-columns:112px minmax(0,1fr)!important}.ox-product.has-image .ox-product-thumb{display:block;width:112px!important;min-width:0!important;max-width:112px!important;height:156px!important;min-height:156px!important;object-fit:cover}.ox-product.has-image .ox-product-content{width:auto!important;min-width:0!important;overflow:hidden;padding:12px!important}.ox-product-top{grid-template-columns:minmax(0,1fr)!important;gap:5px}.ox-product h3{font-size:15px}.ox-price-stack{justify-content:flex-start!important}.ox-product-bottom{align-items:flex-end}.ox-add{min-width:70px;padding:0 13px!important}.ox-footer{width:100%;max-width:100vw}.ox-category-bar{width:calc(100% + 20px);max-width:none}.ox-launch{min-height:calc(100dvh - 76px);padding:52px 18px}.ox-launch h1{font-size:clamp(2.5rem,11vw,3.45rem)}.ox-launch-location{width:100%;padding:18px}.ox-launch-button{min-height:56px}}
@media(max-width:360px){.ox-brand strong{max-width:72px}.ox-cart-pill{font-size:10px!important}.ox-product.has-image{grid-template-columns:96px minmax(0,1fr)!important}.ox-product.has-image .ox-product-thumb{width:96px!important;max-width:96px!important}.ox-add{min-width:62px}}
.ox-category-shell{position:sticky;top:0;z-index:12;width:100%;min-width:0}.ox-category-shell .ox-category-bar{width:100%;margin-right:0;margin-left:0;padding-right:46px;padding-left:46px;overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth;touch-action:pan-x}.ox-category-arrow{position:absolute;top:50%;z-index:3;display:none;width:38px;height:38px;transform:translateY(-50%);place-items:center;border:1px solid var(--ox-line);border-radius:50%;background:#fff;color:#171717;box-shadow:0 6px 18px rgba(25,25,25,.14);font-size:29px;line-height:1;cursor:pointer}.ox-category-arrow.is-visible{display:grid}.ox-category-arrow.is-left{left:4px}.ox-category-arrow.is-right{right:4px}
@media(max-width:700px){.ox-stage{padding-right:12px!important;padding-left:12px!important}.ox-menu-layout,.ox-products,.ox-product{width:100%!important;max-width:100%!important}.ox-category-shell{width:100%;margin:0}.ox-category-shell .ox-category-bar{width:100%!important;margin:0!important;padding-right:44px!important;padding-left:44px!important}.ox-product.has-image{grid-template-columns:108px minmax(0,1fr)!important;margin-right:0!important;margin-left:0!important}.ox-product.has-image .ox-product-thumb{width:108px!important;max-width:108px!important}.ox-product.has-image .ox-product-content,.ox-product-top,.ox-product-bottom{min-width:0;max-width:100%;overflow:hidden}.ox-product-bottom{flex-wrap:wrap}.ox-price-stack{max-width:100%;overflow:hidden}.ox-add,.ox-qty{flex:0 0 auto}}

/* Final phone layout shared by retail pre-order and wholesale. */
@media(max-width:700px){
  html,body{width:100%;max-width:100%;overflow-x:hidden;touch-action:pan-x pan-y}
  .ox-body{overscroll-behavior-x:none}
  .ox-stage{padding:14px 9px calc(90px + env(safe-area-inset-bottom))!important}
  .ox-stage[data-stage="menu"]>.ox-subtitle{margin-bottom:8px;font-size:12px;line-height:1.4}
  .ox-title{margin-bottom:8px;font-size:clamp(1.75rem,8.5vw,2.2rem)!important}
  .ox-category-shell{position:sticky;top:-1px;margin:0 0 8px!important;padding:3px 0;background:var(--ox-bg)}
  .ox-category-shell .ox-category-bar{min-height:55px;padding:7px 45px!important;gap:7px!important}
  .ox-category-chip{min-height:40px;padding:0 13px;font-size:13px}
  .ox-category-arrow{width:36px;height:36px;font-size:25px;background:#fff!important}
  .ox-category-arrow.is-left{left:3px}.ox-category-arrow.is-right{right:3px}
  .ox-products{gap:9px!important}
  .ox-products>[id^="oxCat-"]{padding:7px 2px 0!important}
  .ox-product.has-image{grid-template-columns:104px minmax(0,1fr)!important;min-height:132px!important;border-radius:16px!important}
  .ox-product.has-image .ox-product-thumb{width:104px!important;max-width:104px!important;height:132px!important;min-height:132px!important}
  .ox-product.has-image .ox-product-content{padding:10px!important}
  .ox-product h3{font-size:14px!important;line-height:1.2!important}
  .ox-product-price,.ox-price-stack strong{font-size:14px!important}
  .ox-price-original{font-size:11px!important}.ox-price-stack small{font-size:11px!important}
  .ox-product-meta{margin-top:5px;font-size:10px;line-height:1.35}
  .ox-product-bottom{min-height:43px;padding-top:8px!important;align-items:center!important}
  .ox-add,.ox-qty button{min-height:40px!important;height:40px!important}
  .ox-qty{gap:7px}.ox-qty button{width:40px!important}
}
@media(max-width:370px){
  .ox-product.has-image{grid-template-columns:92px minmax(0,1fr)!important}
  .ox-product.has-image .ox-product-thumb{width:92px!important;max-width:92px!important}
}
.ox-success-account{display:grid;gap:7px;margin:16px auto;max-width:360px}.ox-success-account .ox-next{display:flex;text-decoration:none}.ox-success-account small{color:#777;line-height:1.4}
.ox-success-account.is-signed-in{display:block;max-width:520px;padding:15px 17px;border:1px solid #cce7d5;border-radius:16px;background:#f2fbf5;text-align:center}.ox-success-account strong,.ox-success-account small{display:block}.ox-success-account strong{font-size:15px;line-height:1.35}.ox-success-account small{margin-top:6px;line-height:1.5}.ox-success-actions{display:flex;justify-content:center;gap:10px;margin:16px auto 0;flex-wrap:wrap}.ox-success-primary,.ox-success-secondary,.ox-success-payment{display:inline-flex;min-width:190px;min-height:50px;align-items:center;justify-content:center;padding:12px 22px;border-radius:14px;font:inherit;font-weight:850;text-decoration:none;cursor:pointer}.ox-success-primary{border:1px solid #d7b35d;background:#dfb964;color:#17120a}.ox-success-secondary{border:1px solid #ded8ce;background:#fff;color:#302a22}.ox-success-payment{border:1px solid #111;background:#111;color:#fff}.ox-success-primary:hover,.ox-success-primary:focus-visible{background:#cfa74f;color:#17120a}.ox-success-payment:hover,.ox-success-payment:focus-visible{background:#242424;color:#fff}.ox-success-secondary:hover,.ox-success-secondary:focus-visible{background:#f7f3ec;color:#302a22}
.ox-account-banner{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:center;margin-bottom:18px;padding:14px 16px;border:1px solid #cbe4d2;border-radius:16px;background:#f0faf3}.ox-account-banner strong{font-size:16px}.ox-account-banner span{grid-column:1;color:#5f6962;font-size:13px}.ox-account-banner a{grid-column:2;grid-row:1/3;color:#8d6517;font-weight:800;text-decoration:none}.ox-account-banner.is-guest{border-color:#e5ddcf;background:#faf7f1}.ox-input[readonly]{background:#f5f2ec!important;color:#5e5952}
@media(max-width:700px){.ox-account-banner{grid-template-columns:1fr}.ox-account-banner span,.ox-account-banner a{grid-column:1;grid-row:auto}.ox-success-account{width:100%;max-width:330px}.ox-success-account .ox-next{width:100%;justify-content:center}.ox-success-account.is-signed-in{padding:13px}.ox-success-actions{width:100%;max-width:330px;flex-direction:column}.ox-success-primary,.ox-success-secondary,.ox-success-payment{width:100%;min-width:0}}
