:root {
  --storefront-text: #feb800;
  --page-background: #fff;
  --page-text: #242424;
  --control-border: #d8d8d5;
  --control-hover: #f2f2ef;
  --dot-color: #b8b8b2;
}
:root[data-theme="dark"] {
  --page-background: #000;
  --page-text: var(--storefront-text);
  --control-border: #ffffff30;
  --control-hover: #ffffff18;
  --dot-color: #ffffff50;
}
body {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--page-background);
  color: var(--page-text);
}
body > .site-header,
body > .site-footer {
  flex-shrink: 0;
}
#main {
  display: flow-root;
  flex: 1 0 auto;
  width: 100%;
}
.site-header,
.site-footer,
.dialog,
.drawer {
  color: var(--storefront-text);
}
.promo-arrow,
.promo-pause {
  color: var(--page-text);
  border-color: var(--control-border);
}
.promo-arrow:hover,
.promo-pause:hover {
  background: var(--control-hover);
}
.promo-dot span {
  background: var(--dot-color);
}
:root:not([data-theme="dark"]) .menu-stage {
  background: #fff;
}
:root:not([data-theme="dark"]) .product-card {
  background: #f2f2ef;
  color: #242424;
  border: 1px solid #e2e2dc;
  box-shadow: 0 2px 5px #00000006;
}
:root:not([data-theme="dark"]) .product-card:hover {
  border-color: #d9b75c;
  box-shadow: 0 8px 24px #00000012;
}
:root:not([data-theme="dark"]) .promo-window {
  border-color: #e2e2dc;
  box-shadow: 0 8px 28px #0000000a;
}
:root:not([data-theme="dark"]) .checkout-form-card,
:root:not([data-theme="dark"]) .order-summary,
:root:not([data-theme="dark"]) .order-demo {
  border: 1px solid #e2e2dc;
  box-shadow: 0 4px 20px #00000006;
}
:root:not([data-theme="dark"]) .location-card {
  background: #f6f6f3;
}
:root:not([data-theme="dark"]) .location-toggle small,
:root:not([data-theme="dark"]) .location-detail {
  color: #666660;
}
/* Brand text follows the restaurant setting in both light and dark themes. */
.menu-toolbar,
.category-title,
.toolbar-cart,
.primary,
.promo-card,
.promo-card .promo-eyebrow,
.promo-card .promo-description,
.promo-card .promo-cta,
.menu-toolbar .search-box input {
  color: var(--storefront-text);
}
.menu-toolbar .category-tab.active {
  border-color: currentColor;
}
.menu-toolbar .search-box input::placeholder {
  color: inherit;
  opacity: 0.65;
}
/* The menu section stays readable on its white background. */
:root:not([data-theme="dark"]) .menu-heading {
  color: #242424;
}

/* Add and quantity controls follow the configured restaurant text color. */
.product-add,
.recommendation-add,
.quantity button,
.option-quantity button {
  color: var(--storefront-text);
}
.quantity button,
.option-quantity button {
  background: var(--yellow);
  border-color: var(--yellow);
}

/* The cart keeps the existing layout with a light color palette. */
.cart-drawer {
  background: #fff;
  color: #242424;
}
.cart-drawer .drawer-head .close-modal {
  background: #f2f2ef;
  color: #242424;
  border: 1px solid #deded8;
}
.cart-drawer .cart-row,
.cart-drawer .recommendation {
  background: #f7f7f5;
  color: #242424;
  border-color: #e2e2dc;
}
.cart-drawer .recommendation img {
  background: #fff;
}
.cart-drawer .cart-remove {
  color: #5f5a52;
}
.cart-drawer .recommendations {
  border-color: #e2e2dc;
}
.cart-drawer .cart-bottom .outline {
  color: #242424;
  border-color: #242424;
  background: #fff;
}
.cart-drawer .cart-bottom .outline:hover {
  background: #f2f2ef;
}
