/* v790 Customer Mobile System
   Final authority for customer browser + installed PWA mobile surfaces.
   Goals: compact operating status, Admin-owned bottom navigation, coherent header,
   readable 2-column menu cards, and footer/content geometry without dead gaps. */

:root{
  --customer-mobile-gutter-v790:clamp(10px,3.2vw,16px);
  --customer-mobile-nav-h-v790:74px;
}

/* ---------- Bottom navigation: use the actual Customer Branding navigation tokens ---------- */
@media (max-width:767px){
  html :is(
    body.shop-page,
    body.public-page-v667,
    body.reserve-v49,
    body.customer-page-v115,
    body.customer-account-v115,
    body.customer-order-v115,
    body.notification-page-v720,
    body.track-v42,
    body.confirmation-page-v20,
    body.compliance-page-v228,
    body.gift-store-v705
  ) .mobile-bottom-nav-v132{
    --v132-nav-h:var(--customer-mobile-nav-h-v790);
    height:calc(var(--customer-mobile-nav-h-v790) + env(safe-area-inset-bottom,0px))!important;
    padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px))!important;
    gap:3px!important;
    background:var(--tt-nav-bg)!important;
    color:var(--tt-nav-text-safe,var(--tt-nav-text))!important;
    border-top:1px solid color-mix(in srgb,var(--tt-nav-text-safe,var(--tt-nav-text)) 22%,transparent)!important;
    border-radius:22px 22px 0 0!important;
    box-shadow:0 -12px 34px color-mix(in srgb,var(--tt-nav-bg) 34%,transparent)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  html :is(
    body.shop-page,body.public-page-v667,body.reserve-v49,body.customer-page-v115,
    body.customer-account-v115,body.customer-order-v115,body.notification-page-v720,
    body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.gift-store-v705
  ) .mobile-bottom-nav-v132 a:any-link{
    min-height:56px!important;
    border-radius:16px!important;
    padding:4px 3px!important;
    background:transparent!important;
    color:var(--tt-nav-text-safe,var(--tt-nav-text))!important;
    opacity:1!important;
  }
  html :is(
    body.shop-page,body.public-page-v667,body.reserve-v49,body.customer-page-v115,
    body.customer-account-v115,body.customer-order-v115,body.notification-page-v720,
    body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.gift-store-v705
  ) .mobile-bottom-nav-v132 a:any-link :is(.icon-v132,.label-v132){
    color:inherit!important;
    background:transparent!important;
    -webkit-text-fill-color:currentColor!important;
  }
  html :is(
    body.shop-page,body.public-page-v667,body.reserve-v49,body.customer-page-v115,
    body.customer-account-v115,body.customer-order-v115,body.notification-page-v720,
    body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.gift-store-v705
  ) .mobile-bottom-nav-v132 a.active-v132:any-link{
    background:var(--tt-nav-active-bg)!important;
    color:var(--tt-nav-active-text-safe,var(--tt-nav-active-text))!important;
    box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--tt-nav-active-text-safe,var(--tt-nav-active-text)) 16%,transparent)!important;
  }
  html :is(
    body.shop-page,body.public-page-v667,body.reserve-v49,body.customer-page-v115,
    body.customer-account-v115,body.customer-order-v115,body.notification-page-v720,
    body.track-v42,body.confirmation-page-v20,body.compliance-page-v228,body.gift-store-v705
  ) .mobile-bottom-nav-v132 a.active-v132:any-link :is(.icon-v132,.label-v132){
    color:inherit!important;
    background:transparent!important;
  }
  html .mobile-bottom-nav-v132 .label-v132{
    font-size:11px!important;
    line-height:1.05!important;
    white-space:nowrap!important;
  }
  html .mobile-bottom-nav-v132 .badge-v132,
  html .mobile-bottom-nav-v132 .guest-order-badge-v756{
    border-color:var(--tt-nav-bg)!important;
  }
}

/* ---------- Compact mobile operating status ---------- */
.store-status-mobile-summary-v790,
.store-status-toggle-v790{display:none}

@media (max-width:767px){
  html body .store-status-v290{
    padding:max(4px,env(safe-area-inset-top,0px)) 8px 4px!important;
  }
  html body .store-status-inner-v290{
    padding:8px 10px!important;
    gap:5px!important;
    border-radius:17px!important;
    box-shadow:0 8px 22px color-mix(in srgb,var(--customer-status-primary-v701,#2B1710) 8%,transparent)!important;
  }
  html body .store-status-main-v290{
    display:block!important;
    min-width:0!important;
  }
  html body .store-status-lead-v290{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    min-width:0!important;
    padding:0!important;
  }
  html body .store-status-dot-v290{width:10px!important;height:10px!important}
  html body .store-status-copy-v290{min-width:0!important}
  html body .store-status-copy-v290 strong{
    font-size:15px!important;
    line-height:1.08!important;
  }
  html body .store-status-copy-v290 span{
    display:block!important;
    margin-top:1px!important;
    font-size:11px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  html body .store-status-toggle-v790{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:64px!important;
    min-height:34px!important;
    padding:6px 9px!important;
    border:1px solid var(--customer-status-border-v701,#C79B43)!important;
    border-radius:999px!important;
    background:var(--customer-status-notice-bg-v701,#F7E9C4)!important;
    color:var(--customer-status-notice-text-v701,#4A2F12)!important;
    font:inherit!important;
    font-size:11px!important;
    font-weight:900!important;
    cursor:pointer!important;
  }
  html body .store-status-mobile-summary-v790{
    display:block!important;
    margin:5px 0 0 18px!important;
    min-width:0!important;
    font-size:10.5px!important;
    line-height:1.25!important;
    font-weight:800!important;
    color:var(--customer-status-secondary-v701,#5B463A)!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
  }
  html body .store-status-v290:not(.is-expanded-v790) .store-status-services-v290,
  html body .store-status-v290:not(.is-expanded-v790) .store-status-happy-v290{
    display:none!important;
  }
  html body .store-status-v290.is-expanded-v790 .store-status-mobile-summary-v790{display:none!important}
  html body .store-status-v290.is-expanded-v790 .store-status-services-v290{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(92px,1fr))!important;
    gap:6px!important;
    width:100%!important;
    margin-top:7px!important;
    padding:0!important;
    overflow:visible!important;
  }
  html body .store-status-v290.is-expanded-v790 .store-status-chip-v290{
    width:100%!important;
    min-width:0!important;
    padding:6px 7px!important;
    border-radius:12px!important;
    white-space:normal!important;
    text-align:center!important;
  }
  html body .store-status-v290.is-expanded-v790 .store-status-chip-v290 b{font-size:11px!important;line-height:1.05!important}
  html body .store-status-v290.is-expanded-v790 .store-status-chip-v290 em{font-size:10px!important;line-height:1.15!important;white-space:normal!important;overflow-wrap:anywhere!important}
  html body .store-status-v290.is-expanded-v790 .store-status-happy-v290{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:2px 7px!important;
    margin-top:6px!important;
    padding:7px 9px!important;
    border-radius:12px!important;
  }
  html body .store-status-v290.is-expanded-v790 .store-status-happy-v290 b,
  html body .store-status-v290.is-expanded-v790 .store-status-happy-v290 em{grid-column:2!important}
  html body .store-status-v290.is-expanded-v790 .store-status-happy-v290 b{font-size:11px!important}
  html body .store-status-v290.is-expanded-v790 .store-status-happy-v290 em{font-size:10px!important;line-height:1.2!important}
}

/* ---------- Storefront header: predictable mobile composition ---------- */
@media (max-width:767px){
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .shop-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:"brand" "nav" "mode"!important;
    gap:7px!important;
    padding:9px var(--customer-mobile-gutter-v790)!important;
    background:var(--tt-header-bg)!important;
    color:var(--tt-header-text-safe)!important;
    border-radius:0 0 18px 18px!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .brand-lockup{
    grid-area:brand!important;
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    gap:9px!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .brand-lockup>div{min-width:0!important}
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .brand-lockup img{
    width:44px!important;height:44px!important;min-width:44px!important;border-radius:12px!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .brand-lockup strong{
    color:var(--tt-header-text-safe)!important;
    font-size:18px!important;
    line-height:1.08!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    overflow-wrap:anywhere!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .brand-lockup span{
    color:var(--tt-header-text-safe)!important;
    opacity:.82!important;
    font-size:11px!important;
    line-height:1.15!important;
    display:-webkit-box!important;
    -webkit-line-clamp:1!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-nav-v306{
    grid-area:nav!important;
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(120px,1fr))!important;
    gap:7px!important;
    width:100%!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-nav-v306>.reserve-link-v306{
    width:100%!important;
    min-width:0!important;
    min-height:38px!important;
    padding:7px 10px!important;
    display: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) 18%,transparent)!important;
    border-radius:12px!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .mode-switch{
    grid-area:mode!important;
    min-height:42px!important;
    padding:4px!important;
    gap:5px!important;
    background:color-mix(in srgb,var(--tt-header-bg) 72%,var(--tt-card-bg))!important;
    border-color:color-mix(in srgb,var(--tt-header-text-safe) 18%,transparent)!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .mode-btn{
    min-height:34px!important;
    padding:7px 8px!important;
    font-size:13px!important;
  }
}

/* ---------- Home hero: preserve impact without spending an entire phone screen ---------- */
@media (max-width:767px){
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .premium-hero{
    width:calc(100% - (2 * var(--customer-mobile-gutter-v790)))!important;
    min-height:0!important;
    margin:10px var(--customer-mobile-gutter-v790) 12px!important;
    padding:20px 18px!important;
    border-radius:22px!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .hero-copy h1{
    max-width:12ch!important;
    margin:10px 0 9px!important;
    font-size:clamp(32px,9.5vw,42px)!important;
    line-height:1!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .hero-copy p{
    margin:0!important;
    font-size:14px!important;
    line-height:1.35!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .hero-location-v306{
    margin-top:10px!important;
    padding:8px 9px!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    gap:8px!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .hero-location-v306__map{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:38px!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .hero-actions{
    margin-top:10px!important;
    grid-template-columns:repeat(auto-fit,minmax(128px,1fr))!important;
  }
}

/* ---------- Menu/product cards: 2-column mode stays readable ---------- */
@media (max-width:767px){
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .shop-shell{
    width:calc(100% - (2 * var(--customer-mobile-gutter-v790)))!important;
    max-width:none!important;
    min-height:0!important;
    margin:0 var(--customer-mobile-gutter-v790) 20px!important;
    padding:0!important;
  }
  html body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .menu-column{
    min-height:0!important;
    height:auto!important;
    align-content:start!important;
  }
  html body.shop-page.category-first-v496[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-grid-v494{
    align-items:start!important;
    align-content:start!important;
  }
  html body.shop-page.category-first-v496[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .customer-category-first-v494{
    min-height:0!important;
    height:auto!important;
    margin-bottom:12px!important;
  }
  html[data-tt-product-columns="2"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .menu-grid{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(min(158px,100%),1fr))!important;
    gap:10px!important;
    align-items:start!important;
  }
  html[data-tt-product-columns="2"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .premium-food-card{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    gap:0!important;
    overflow:hidden!important;
    border-radius:18px!important;
  }
  html[data-tt-product-columns="2"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .food-media{
    width:100%!important;
    min-width:0!important;
    height:clamp(118px,34vw,154px)!important;
    border-radius:0!important;
  }
  html[data-tt-product-columns="2"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .food-info{
    min-width:0!important;
    padding:10px 11px 11px!important;
  }
  html[data-tt-product-columns="2"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .food-title-row h3{
    margin:0 0 5px!important;
    font-size:17px!important;
    line-height:1.1!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  html[data-tt-product-columns="2"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .food-info p{
    min-height:0!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.3!important;
    display:-webkit-box!important;
    -webkit-box-orient:vertical!important;
    -webkit-line-clamp:2!important;
    overflow:hidden!important;
    white-space:normal!important;
    text-overflow:clip!important;
  }
  html[data-tt-product-columns="2"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .food-footer{
    margin-top:9px!important;
    padding-top:0!important;
    gap:7px!important;
    flex-wrap:wrap!important;
  }
  html[data-tt-product-columns="2"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .food-footer strong{font-size:18px!important}
  html[data-tt-product-columns="2"] body.shop-page[data-table-order="false"][data-staff-table-order="false"][data-staff-quick-order="false"] .add-btn{
    width:100%!important;
    min-height:38px!important;
    padding:8px 9px!important;
  }
}

/* ---------- Footer: same geometry on Home/Menu/Public pages, no dead strip ---------- */
@media (max-width:767px){
  html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736,
  html body.public-page-v667 footer.public-footer-v662,
  html body.reserve-v49 footer.reservation-public-footer-v692{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    margin:0!important;
    padding:26px var(--customer-mobile-gutter-v790) calc(var(--customer-mobile-nav-h-v790) + env(safe-area-inset-bottom,0px) + 18px)!important;
    gap:16px!important;
    background:var(--tt-footer-bg)!important;
    color:var(--tt-footer-text-safe)!important;
  }
  html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736 :is(div,nav,.footer-ownership-v672){min-width:0!important;max-width:100%!important}
  html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736 :is(span,a,strong,p){overflow-wrap:anywhere!important}
  html body#customer-public-shell-v736.customer-public-shell-v736::after{content:none!important;display:none!important}
  html body#customer-public-shell-v736.customer-public-shell-v736{padding-bottom:0!important;margin-bottom:0!important}
}

/* Public/customer cards should never establish a desktop min-width inside the phone. */
@media (max-width:767px){
  html :is(body.public-page-v667,body.customer-page-v115,body.shop-page,body.reserve-v49) :is(
    main,section,article,.customer-card-v115,.public-section-card-v662,.public-card-v662,.information-grid-v662,
    .customer-category-card-v494,.premium-food-card,.hero-location-v306
  ){
    min-width:0!important;
    max-width:100%!important;
  }
}
