/* v736 Customer/Public Shell Integrity
   One footer + mobile-nav geometry/color contract for storefront, public content and reservation routes.
   All visible colors resolve only from Admin-owned v691 tokens. */

/* Canonical footer geometry: same treatment on every Customer/Public route. */
body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736{
  box-sizing:border-box!important;
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:25px!important;
  width:100%!important;
  margin:0!important;
  padding:34px clamp(18px,4vw,64px)!important;
  background:var(--tt-footer-bg)!important;
  color:var(--tt-footer-text-safe)!important;
  border-top:1px solid color-mix(in srgb,var(--tt-footer-text-safe) 16%,transparent)!important;
}
body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736>div{
  display:grid!important;
  gap:5px!important;
  min-width:0!important;
}
body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736>nav{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:16px!important;
}
body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736 :is(a:any-link,span,strong,small,p,em){
  color:var(--tt-footer-text-safe)!important;
  text-decoration-color:color-mix(in srgb,var(--tt-footer-text-safe) 64%,transparent)!important;
}
body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736 nav a:any-link{
  font-weight:800!important;
  text-decoration:none!important;
}
@media (hover:hover) and (pointer:fine){
  body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736 a:any-link:hover{
    color:var(--tt-footer-text-safe)!important;
    text-decoration-color:var(--tt-footer-text-safe)!important;
  }
}
body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736 .footer-ownership-v672{
  flex:1 0 100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  padding-top:20px!important;
  border-top:1px solid color-mix(in srgb,var(--tt-footer-text-safe) 18%,transparent)!important;
  color:var(--tt-footer-text-safe)!important;
}
body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736 .technology-credit-v672{
  display:inline-flex!important;
  align-items:center!important;
  gap:9px!important;
  min-height:42px!important;
  padding:6px 10px!important;
  border:1px solid color-mix(in srgb,var(--tt-footer-text-safe) 22%,transparent)!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--tt-footer-text-safe) 9%,transparent)!important;
  color:var(--tt-footer-text-safe)!important;
}

/* One mobile-nav palette across /order, /order/menu, About/Catering/Contact and Reserve.
   Inactive navigation uses Admin Link; the active destination uses Admin Primary. */
@media(max-width:767px){
  /* Older public shell + mobile-nav styles both reserved document-level space.
     That created the cream/blank strip after the footer. Reserve no space on BODY. */
  html body#customer-public-shell-v736.customer-public-shell-v736{
    padding-bottom:0!important;
  }

  /* Put the fixed-nav safe area INSIDE the branded footer, so the page ends in the
     configured Footer Background instead of exposing Page Background below it. */
  html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736{
    display:grid!important;
    gap:18px!important;
    padding:30px clamp(18px,6vw,34px) max(30px,calc(var(--v132-nav-h,76px) + env(safe-area-inset-bottom,0px) + 18px))!important;
    margin-bottom:0!important;
  }
  html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736>nav{
    justify-content:flex-start!important;
    gap:12px 18px!important;
  }
  html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736 .footer-ownership-v672{
    align-items:flex-start!important;
    flex-direction:column!important;
    gap:12px!important;
  }

  html body#customer-public-shell-v736.customer-public-shell-v736 .mobile-bottom-nav-v132{
    background:color-mix(in srgb,var(--tt-card-bg) 97%,transparent)!important;
    color:var(--tt-card-text-safe)!important;
    border-color:color-mix(in srgb,var(--tt-card-text-safe) 14%,transparent)!important;
    box-shadow:0 -18px 44px color-mix(in srgb,var(--tt-card-text-safe) 16%,transparent)!important;
  }
  html body#customer-public-shell-v736.customer-public-shell-v736 .mobile-bottom-nav-v132 a:any-link,
  html body#customer-public-shell-v736.customer-public-shell-v736 .mobile-bottom-nav-v132 a:any-link :is(.label-v132,.icon-v132){
    color:var(--tt-link-safe)!important;
    background:transparent!important;
    opacity:1!important;
  }
  html body#customer-public-shell-v736.customer-public-shell-v736 .mobile-bottom-nav-v132 a.active-v132:any-link,
  html body#customer-public-shell-v736.customer-public-shell-v736 .mobile-bottom-nav-v132 a.active-v132:any-link :is(.label-v132,.icon-v132){
    color:var(--tt-primary)!important;
    background:color-mix(in srgb,var(--tt-primary) 14%,var(--tt-card-bg))!important;
  }
}

/* Standalone installed Customer app: nav still owns its safe area, footer only needs
   a small branded finish because browser chrome is absent. */
@media(max-width:767px) and (display-mode:standalone){
  html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736{
    padding-bottom:max(24px,calc(env(safe-area-inset-bottom,0px) + 18px))!important;
  }
}
