/* v694 Customer Brand System Enforcement
   Customer/public presentation only. Existing Branding settings are authoritative on every surface.
   Staff Quick Order, Staff Table Order and Table QR are intentionally excluded. */

/* Semantic brand aliases used by all v694 customer components. */
:root{
  --tt-surface-page:var(--tt-page-bg);
  --tt-surface-card:var(--tt-card-bg);
  --tt-surface-header:var(--tt-header-bg);
  --tt-surface-footer:var(--tt-footer-bg);
  --tt-text-page:var(--tt-body-text-safe);
  --tt-text-page-heading:var(--tt-heading-safe);
  --tt-text-card:var(--tt-card-text-safe);
  --tt-text-card-heading:var(--tt-card-heading-safe);
  --tt-text-header:var(--tt-header-text-safe);
  --tt-text-footer:var(--tt-footer-text-safe);
  --tt-action-bg:var(--tt-primary);
  --tt-action-text:var(--tt-on-primary-safe);
  --tt-border-page:color-mix(in srgb,var(--tt-text-page),transparent 86%);
  --tt-border-card:color-mix(in srgb,var(--tt-text-card),transparent 84%);
  --tt-muted-page:color-mix(in srgb,var(--tt-text-page),transparent 30%);
  --tt-muted-card:color-mix(in srgb,var(--tt-text-card),transparent 28%);
  --tt-shadow-card:0 14px 34px color-mix(in srgb,var(--tt-text-page),transparent 88%);
}

/* One typography contract. Legacy route CSS cannot substitute its own font. */
body.public-page-v667,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"],
body.reserve-v49,
body.customer-page-v115{
  font-family:var(--tt-font)!important;
  font-size:var(--tt-base-font-size)!important;
  background:var(--tt-surface-page)!important;
  color:var(--tt-text-page)!important;
}
body.public-page-v667 :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,strong,small,em,span),
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,strong,small,em,span),
body.reserve-v49 :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,strong,small,em,span),
body.customer-page-v115 :is(h1,h2,h3,h4,h5,h6,p,a,button,input,select,textarea,label,strong,small,em,span){font-family:inherit!important}

/* HEADER: the explicit Header background field is always authoritative.
   Header design changes treatment only; it never silently swaps in Primary Button color. */
body.public-page-v667 .public-header-v662,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .shop-header{
  background:var(--tt-surface-header)!important;
  color:var(--tt-text-header)!important;
  border-color:color-mix(in srgb,var(--tt-text-header),transparent 84%)!important;
  box-shadow:0 6px 22px color-mix(in srgb,var(--tt-text-header),transparent 91%)!important;
}
html[data-tt-header-style="brand"] body.public-page-v667 .public-header-v662,
html[data-tt-header-style="brand"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .shop-header{
  background:var(--tt-surface-header)!important;
}
html[data-tt-header-style="glass"] body.public-page-v667 .public-header-v662,
html[data-tt-header-style="glass"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .shop-header{
  background:color-mix(in srgb,var(--tt-surface-header),transparent 8%)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
body.public-page-v667 .public-header-v662 :is(a,strong,span,small),
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .shop-header :is(a,strong,span,small){color:var(--tt-text-header)!important}
body.public-page-v667 .public-header-v662 nav .order,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .shop-header :is(.primary-cta,.order-online,.header-order-button){
  background:var(--tt-action-bg)!important;color:var(--tt-action-text)!important;border-color:var(--tt-action-bg)!important;border-radius:var(--tt-button-radius)!important;
}

/* Page-level headings/copy use page tokens only. */
body.public-page-v667 main :is(h1,h2,h3,h4,h5,h6),
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(.menu-toolbar,.customer-category-heading-v494)>div>:is(h1,h2,h3,h4){color:var(--tt-text-page-heading)!important}
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(.menu-toolbar p,.customer-category-heading-v494 p){color:var(--tt-muted-page)!important}

/* HERO: content surfaces use Card branding. Primary is reserved for actions/accent. */
body.public-page-v667 .public-hero-v662{
  background:var(--tt-surface-card)!important;
  color:var(--tt-text-card)!important;
  border:1px solid var(--tt-border-card)!important;
  border-radius:var(--tt-card-radius)!important;
  box-shadow:var(--tt-shadow-card)!important;
}
body.public-page-v667 .public-hero-v662 :is(h1,h2,h3,strong){color:var(--tt-text-card-heading)!important}
body.public-page-v667 .public-hero-v662 :is(p,span){color:var(--tt-text-card)!important}
body.public-page-v667 .public-hero-v662 .eyebrow{color:var(--tt-card-link-safe)!important}

/* Shared category-card contract: /order and /order/menu render the same visual component. */
body.public-page-v667 .tt-brand-category-card-v694,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-category-card-v694{
  display:grid!important;grid-template-columns:1fr!important;grid-template-rows:150px minmax(0,1fr)!important;min-width:0!important;
  background:var(--tt-surface-card)!important;
  color:var(--tt-text-card)!important;
  border:1px solid var(--tt-border-card)!important;
  border-radius:var(--tt-card-radius)!important;
  box-shadow:var(--tt-shadow-card)!important;
  overflow:hidden!important;
  text-decoration:none!important;
}
body.public-page-v667 .tt-brand-category-card-v694 .tt-category-image-v694,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-category-card-v694 .tt-category-image-v694{
  display:block!important;width:100%!important;height:150px!important;min-height:150px!important;object-fit:cover!important;border-radius:0!important;
}
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-category-card-v694 .tt-category-image-v694 img{width:100%!important;height:100%!important;object-fit:cover!important}

body.public-page-v667 .tt-brand-category-card-v694 .tt-category-info-v694,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-category-card-v694 .tt-category-info-v694{
  display:grid!important;align-content:start!important;gap:7px!important;padding:14px 15px 15px!important;
  background:var(--tt-surface-card)!important;color:var(--tt-text-card)!important;
}
body.public-page-v667 .tt-brand-category-card-v694 strong,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-category-card-v694 .customer-category-info-v494>strong{
  color:var(--tt-text-card-heading)!important;
}
body.public-page-v667 .tt-brand-category-card-v694 small,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-category-card-v694 .customer-category-info-v494>span:not(.customer-category-meta-v494){
  color:var(--tt-muted-card)!important;
}
body.public-page-v667 .tt-category-meta-v694,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-meta-v494{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;margin-top:auto!important;min-width:0!important;padding:0!important;
}
body.public-page-v667 .tt-category-count-v694,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-count-v494{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:var(--tt-secondary)!important;color:var(--tt-on-secondary-safe)!important;
  border:1px solid color-mix(in srgb,var(--tt-on-secondary-safe),transparent 72%)!important;
  border-radius:var(--tt-button-radius)!important;padding:.48rem .7rem!important;font-style:normal!important;font-weight:800!important;
}
body.public-page-v667 .tt-category-action-v694,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-open-v494{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  background:var(--tt-action-bg)!important;color:var(--tt-action-text)!important;
  border:1px solid var(--tt-action-bg)!important;border-radius:var(--tt-button-radius)!important;
  padding:.55rem .78rem!important;font-style:normal!important;font-weight:850!important;white-space:nowrap!important;
}
body.public-page-v667 .tt-brand-category-card-v694:focus-visible,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-category-card-v694:focus-visible{
  outline:3px solid color-mix(in srgb,var(--tt-action-bg),white 24%)!important;outline-offset:3px!important;
}

/* Shared product/card contract across public menu and ordering storefront. */
body.public-page-v667 .tt-brand-product-card-v694,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-product-card-v694{
  background:var(--tt-surface-card)!important;color:var(--tt-text-card)!important;
  border:1px solid var(--tt-border-card)!important;border-radius:var(--tt-card-radius)!important;box-shadow:var(--tt-shadow-card)!important;overflow:hidden!important;
}
body.public-page-v667 .tt-brand-product-card-v694>div,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-product-card-v694 .food-info{
  background:var(--tt-surface-card)!important;color:var(--tt-text-card)!important;
}
body.public-page-v667 .tt-brand-product-card-v694 :is(h2,h3,strong,.price),
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-product-card-v694 :is(h2,h3,strong,.price){color:var(--tt-text-card-heading)!important}
body.public-page-v667 .tt-brand-product-card-v694 p,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-product-card-v694 .food-info>p{color:var(--tt-muted-card)!important}
body.public-page-v667 .tt-brand-product-card-v694 a:not(.button),
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-product-card-v694 a:not(.add-btn){color:var(--tt-card-link-safe)!important}

/* Information/content cards obey the same Card background and readable foreground. */
body.public-page-v667 :is(.information-grid-v662>article,.information-grid-v662>aside,.item-detail-v662,.popular-choices-v668,.seo-link-grid-v665>a){
  background:var(--tt-surface-card)!important;color:var(--tt-text-card)!important;border-color:var(--tt-border-card)!important;border-radius:var(--tt-card-radius)!important;
}
body.public-page-v667 :is(.information-grid-v662>article,.information-grid-v662>aside,.item-detail-v662,.popular-choices-v668,.seo-link-grid-v665>a) :is(h1,h2,h3,h4,strong){color:var(--tt-text-card-heading)!important}
body.public-page-v667 :is(.information-grid-v662>article,.information-grid-v662>aside,.item-detail-v662,.popular-choices-v668,.seo-link-grid-v665>a) :is(p,small,span){color:var(--tt-muted-card)!important}
body.public-page-v667 :is(.information-grid-v662>article,.information-grid-v662>aside,.item-detail-v662,.seo-link-grid-v665>a) a:not(.button){color:var(--tt-card-link-safe)!important}

/* Buttons are one component everywhere. */
body.public-page-v667 :is(.button,.order,.pwa-v321-btn),
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(.primary-cta,.add-btn,.checkout-btn,.place-order,.customer-category-open-v494,.customer-primary-action-v568,.customer-cart-checkout-v568,.pwa-v321-btn),
body.reserve-v49 #reserve-form-v49 button{
  background:var(--tt-action-bg)!important;color:var(--tt-action-text)!important;border-color:var(--tt-action-bg)!important;border-radius:var(--tt-button-radius)!important;
}

/* Footer is exact Branding, never route-derived. */
body.public-page-v667 .public-footer-v662,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-public-footer-v662,
body.reserve-v49 .reservation-public-footer-v692{
  background:var(--tt-surface-footer)!important;color:var(--tt-text-footer)!important;border-color:color-mix(in srgb,var(--tt-text-footer),transparent 82%)!important;
}
body.public-page-v667 .public-footer-v662 *,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-public-footer-v662 *,
body.reserve-v49 .reservation-public-footer-v692 *{color:var(--tt-text-footer)!important}

/* Bottom navigation is a branded card surface on every customer page. */
body.public-page-v667 .mobile-bottom-nav-v132,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .mobile-bottom-nav-v132{
  background:var(--tt-surface-card)!important;color:var(--tt-text-card)!important;border-color:var(--tt-border-card)!important;
}
body.public-page-v667 .mobile-bottom-nav-v132 a,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .mobile-bottom-nav-v132 a{color:var(--tt-text-card)!important;opacity:.76!important}
body.public-page-v667 .mobile-bottom-nav-v132 .active-v132,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .mobile-bottom-nav-v132 .active-v132{
  background:color-mix(in srgb,var(--tt-action-bg),var(--tt-surface-card) 82%)!important;color:var(--tt-card-link-safe)!important;opacity:1!important;border-radius:var(--tt-button-radius)!important;
}

/* The floating install action is also a Primary Button, not its own palette. */
body.public-page-v667 .pwa-v321-btn,
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .pwa-v321-btn{
  background:var(--tt-action-bg)!important;color:var(--tt-action-text)!important;border:1px solid var(--tt-action-bg)!important;border-radius:var(--tt-button-radius)!important;
}

/* Ordering storefront internal white legacy surfaces are normalized only for customer mode. */
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(.customer-menu-nav-v494,.customer-category-context-v497,.customer-search-context-v497,.customer-more-categories-v497){
  background:var(--tt-surface-card)!important;color:var(--tt-text-card)!important;border-color:var(--tt-border-card)!important;
}
body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] :is(.customer-menu-nav-v494,.customer-category-context-v497,.customer-search-context-v497,.customer-more-categories-v497) :is(h1,h2,h3,h4,strong){color:var(--tt-text-card-heading)!important}

/* Keep 2-column setting usable on phones; compact rather than creating a different design. */
@media(max-width:767px){
  html[data-tt-category-columns="2"] body.public-page-v667 .tt-brand-category-card-v694,
  html[data-tt-category-columns="2"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-category-card-v694{grid-template-rows:112px minmax(0,1fr)!important;min-width:0!important}
  html[data-tt-category-columns="2"] body.public-page-v667 .tt-brand-category-card-v694 .tt-category-image-v694,
  html[data-tt-category-columns="2"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-category-card-v694 .tt-category-image-v694{height:112px!important;min-height:112px!important}
  html[data-tt-category-columns="1"] body.public-page-v667 .tt-brand-category-card-v694,
  html[data-tt-category-columns="1"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-category-card-v694{grid-template-rows:160px minmax(0,1fr)!important;min-width:0!important}
  html[data-tt-category-columns="1"] body.public-page-v667 .tt-brand-category-card-v694 .tt-category-image-v694,
  html[data-tt-category-columns="1"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-category-card-v694 .tt-category-image-v694{height:160px!important;min-height:160px!important}
  body.public-page-v667 .tt-category-meta-v694,
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-meta-v494{align-items:stretch!important;flex-direction:column!important}
  body.public-page-v667 .tt-category-count-v694,
  body.public-page-v667 .tt-category-action-v694,
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-count-v494,
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-open-v494{width:100%!important;box-sizing:border-box!important}
}
@media(max-width:359px){
  .public-page-v667 .category-grid-v662,
  body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-grid-v494{grid-template-columns:1fr!important}
}

/* Final specificity fence: legacy route styles use !important too, so the shared brand contract wins explicitly. */
html body.public-page-v667 .public-hero-v662 h1,
html body.public-page-v667 .public-hero-v662 h2,
html body.public-page-v667 .public-hero-v662 h3,
html body.public-page-v667 .public-hero-v662 strong{color:var(--tt-text-card-heading)!important}
html body.public-page-v667 .public-hero-v662 p:not(.eyebrow),
html body.public-page-v667 .public-hero-v662 span{color:var(--tt-text-card)!important}
html body.public-page-v667 .public-hero-v662 .eyebrow{color:var(--tt-card-link-safe)!important}

html body.public-page-v667 .tt-brand-category-card-v694 .tt-category-info-v694 strong,
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-category-card-v694 .tt-category-info-v694 strong{color:var(--tt-text-card-heading)!important}
html body.public-page-v667 .tt-brand-category-card-v694 .tt-category-info-v694 small,
html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .tt-brand-category-card-v694 .tt-category-info-v694>span:not(.customer-category-meta-v494){color:var(--tt-muted-card)!important}
/* v693 used :is(...,.eyebrow,...) which carries an extra class of specificity. Repeat the page class so v694 remains authoritative. */
html body.public-page-v667.public-page-v667 .public-hero-v662 :is(h1,h2,h3,strong){color:var(--tt-text-card-heading)!important}
html body.public-page-v667.public-page-v667 .public-hero-v662 p:not(.eyebrow),
html body.public-page-v667.public-page-v667 .public-hero-v662 span{color:var(--tt-text-card)!important}
html body.public-page-v667.public-page-v667 .public-hero-v662 .eyebrow{color:var(--tt-card-link-safe)!important}
