/* v755 Customer Identity + Footer + Auth Route Integrity
   Scope: Customer/public shell only. Admin Customer Branding remains the only color authority.
*/
.customer-brand-mark-v755{display:flex;align-items:center;gap:12px;min-width:0;margin:0 0 18px}
.customer-brand-logo-v755{display:block;width:56px;height:56px;flex:0 0 56px;object-fit:contain;border-radius:14px;background:var(--tt-card-bg,#fff);border:1px solid color-mix(in srgb,var(--tt-card-text-safe,#111827) 12%,transparent)}
.customer-brand-copy-v755{display:grid;gap:2px;min-width:0}
.customer-brand-copy-v755 strong{font-size:1.08rem;line-height:1.15;color:var(--tt-heading-safe,var(--tt-card-heading-safe,#111827))!important}
.customer-brand-copy-v755 small{font-size:.84rem;line-height:1.3;color:var(--tt-muted-safe,var(--tt-card-text-safe,#475569))!important}
.reserve-brand-v49 .customer-brand-mark-v755{margin:0}
.reserve-brand-v49 .customer-brand-logo-v755{width:52px;height:52px;flex-basis:52px}
.reserve-brand-v49 .customer-brand-copy-v755 strong{color:var(--tt-card-heading-safe,#111827)!important}
.reserve-brand-v49 .customer-brand-copy-v755 small{color:var(--tt-card-text-safe,#475569)!important}

/* One exact Admin-owned footer text value on every route and every descendant.
   Use --tt-footer-text (the chosen value), not a route-specific legacy link color. */
html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736{
  background:var(--tt-footer-bg)!important;
  color:var(--tt-footer-text)!important;
  margin:0!important;
  border-bottom:0!important;
}
html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736,
html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736 *{
  -webkit-text-fill-color:currentColor!important;
}
html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736 :is(a,a:link,a:visited,a:hover,a:active,a:focus-visible,span,strong,small,p,em,nav){
  color:var(--tt-footer-text)!important;
  -webkit-text-fill-color:var(--tt-footer-text)!important;
  text-decoration-color:color-mix(in srgb,var(--tt-footer-text) 62%,transparent)!important;
}
html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736 .footer-ownership-v672{
  color:var(--tt-footer-text)!important;
  border-top-color:color-mix(in srgb,var(--tt-footer-text) 18%,transparent)!important;
}
html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736 .technology-credit-v672{
  color:var(--tt-footer-text)!important;
  background:color-mix(in srgb,var(--tt-footer-text) 9%,transparent)!important;
  border-color:color-mix(in srgb,var(--tt-footer-text) 22%,transparent)!important;
}

@media(max-width:767px){
  html,html body#customer-public-shell-v736.customer-public-shell-v736{
    margin-bottom:0!important;
    padding-bottom:0!important;
  }
  /* The fixed nav clearance belongs inside the footer. This removes the page-background
     strip after the footer while keeping every footer line above the fixed nav. */
  html body#customer-public-shell-v736.customer-public-shell-v736 footer.customer-unified-footer-v736{
    margin:0!important;
    padding-bottom:max(24px,calc(var(--customer-bottom-nav-height-v754,var(--v132-nav-h,76px)) + 12px))!important;
  }
}
@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(var(--customer-bottom-nav-height-v754,var(--v132-nav-h,76px)) + 12px))!important;
  }
}

/* v755: do not create a page-colored spacer below the footer. The fixed-nav reserve is part of the footer itself. */
@media(max-width:767px){
  html body#customer-public-shell-v736.customer-public-shell-v736::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:last-of-type{margin-bottom:0!important;}
}
