/* v791 Customer category + status + footer integrity
   Final authority loaded after v790. No device-specific hardcoding: this only
   restores semantic state (categories vs items), removes duplicate status copy,
   and makes the shared footer/nav geometry deterministic. */

/* 1) Category-first really means category-first.
   v790's 2-column product rule used display:grid!important and could override the
   older category gateway's display:none!important. These selectors intentionally
   load last and include the public Customer shell scope. */
html body#customer-public-shell-v736.customer-public-shell-v736.shop-page.category-first-v494:not(.category-selected-v494):not(.category-searching-v494) .menu-grid,
html[data-tt-product-columns="2"] body#customer-public-shell-v736.customer-public-shell-v736.shop-page.category-first-v494:not(.category-selected-v494):not(.category-searching-v494) .menu-grid{
  display:none!important;
  visibility:hidden!important;
}
html body#customer-public-shell-v736.customer-public-shell-v736.shop-page.category-first-v494:not(.category-selected-v494):not(.category-searching-v494) .category-strip{
  display:none!important;
}
html body#customer-public-shell-v736.customer-public-shell-v736.shop-page.category-first-v494:not(.category-selected-v494):not(.category-searching-v494) .customer-category-first-v494{
  display:block!important;
  visibility:visible!important;
}
html body#customer-public-shell-v736.customer-public-shell-v736.shop-page.category-first-v494.category-selected-v494 .customer-category-first-v494,
html body#customer-public-shell-v736.customer-public-shell-v736.shop-page.category-first-v494.category-searching-v494 .customer-category-first-v494{
  display:none!important;
}
html body#customer-public-shell-v736.customer-public-shell-v736.shop-page.category-first-v494.category-selected-v494 .menu-grid,
html body#customer-public-shell-v736.customer-public-shell-v736.shop-page.category-first-v494.category-searching-v494 .menu-grid{
  visibility:visible!important;
}

/* Keep category cards responsive without forcing an item catalogue on the landing state. */
@media (max-width:767px){
  html body#customer-public-shell-v736 .customer-category-grid-v494{
    grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))!important;
    gap:12px!important;
  }
  html body#customer-public-shell-v736 .customer-category-card-v494{
    min-width:0!important;
    max-width:100%!important;
  }
}

/* 2) Status: no duplicate one-line service summary. Details are collapsed until
   the guest explicitly opens them. This also defeats older status CSS with higher
   specificity that could leave the cards visible while the button still said Details. */
html body#customer-public-shell-v736 .store-status-mobile-summary-v790{
  display:none!important;
}
@media (max-width:767px){
  html body#customer-public-shell-v736.customer-public-shell-v736 .store-status-v290:not(.is-expanded-v790) .store-status-services-v290,
  html body#customer-public-shell-v736.customer-public-shell-v736 .store-status-v290:not(.is-expanded-v790) .store-status-happy-v290{
    display:none!important;
    visibility:hidden!important;
  }
  html body#customer-public-shell-v736.customer-public-shell-v736 .store-status-v290:not(.is-expanded-v790) .store-status-inner-v290{
    padding:8px 10px!important;
  }
  html body#customer-public-shell-v736.customer-public-shell-v736 .store-status-v290.is-expanded-v790 .store-status-services-v290{
    display:grid!important;
    visibility:visible!important;
  }
  html body#customer-public-shell-v736.customer-public-shell-v736 .store-status-v290.is-expanded-v790 .store-status-happy-v290{
    display:grid!important;
    visibility:visible!important;
  }
}

/* 3) Footer links are always real visible navigation, not inherited hidden/zero-height
   legacy nav. The color still comes only from Admin Customer Branding. */
html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736>nav,
html body.public-page-v667 footer.customer-unified-footer-v736>nav,
html body.reserve-v49 footer.customer-unified-footer-v736>nav,
html body.customer-page-v115 footer.customer-unified-footer-v736>nav{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px 18px!important;
}
html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736>nav>a:any-link,
html body.public-page-v667 footer.customer-unified-footer-v736>nav>a:any-link,
html body.reserve-v49 footer.customer-unified-footer-v736>nav>a:any-link,
html body.customer-page-v115 footer.customer-unified-footer-v736>nav>a:any-link{
  display:inline-flex!important;
  visibility:visible!important;
  opacity:1!important;
  width:auto!important;
  min-width:0!important;
  min-height:32px!important;
  align-items:center!important;
  padding:4px 0!important;
  color:var(--tt-footer-text-safe,var(--tt-footer-text,#FAF3ED))!important;
  -webkit-text-fill-color:var(--tt-footer-text-safe,var(--tt-footer-text,#FAF3ED))!important;
  font-size:14px!important;
  line-height:1.25!important;
  font-weight:850!important;
  text-decoration:none!important;
  white-space:normal!important;
}

/* 4) Footer is the physical end of the page. Fixed bottom-nav clearance lives INSIDE
   the branded footer; BODY and legacy pseudo spacers are zeroed. */
@media (max-width:767px){
  html,
  html body#customer-public-shell-v736.customer-public-shell-v736,
  html body.public-page-v667,
  html body.reserve-v49,
  html body.customer-page-v115{
    margin-bottom:0!important;
    padding-bottom:0!important;
  }
  html body#customer-public-shell-v736.customer-public-shell-v736::after,
  html body.public-page-v667::after,
  html body.reserve-v49::after,
  html body.customer-page-v115::after{
    content:none!important;
    display:none!important;
    height:0!important;
  }
  html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736,
  html body.public-page-v667 footer.customer-unified-footer-v736,
  html body.reserve-v49 footer.customer-unified-footer-v736,
  html body.customer-page-v115 footer.customer-unified-footer-v736{
    position:relative!important;
    box-sizing:border-box!important;
    width:100%!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    margin-bottom:0!important;
    padding:24px var(--customer-mobile-gutter-v790,14px) calc(var(--customer-mobile-nav-h-v790,74px) + env(safe-area-inset-bottom,0px) + 8px)!important;
    background:var(--tt-footer-bg,#16140D)!important;
    color:var(--tt-footer-text-safe,var(--tt-footer-text,#FAF3ED))!important;
    overflow:visible!important;
  }
  html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736:last-of-type,
  html body.public-page-v667 footer.customer-unified-footer-v736:last-of-type,
  html body.reserve-v49 footer.customer-unified-footer-v736:last-of-type{
    margin-bottom:0!important;
  }
}
