/* v720 customer-surface integrity contract.
   Shared, presentation-only guardrails for customer/public pages that consume the v691 brand tokens.
   It intentionally does not change ordering, payment, account, notification, reservation, or tracking logic. */

/* v693 made legacy customer headers use the configured header background but did not move h1/p
   onto the contrast-safe header foreground. Fix the missing descendants globally. */
body.customer-page-v115 .customer-top-v115 h1,
body.customer-page-v115 .customer-top-v115 h2,
body.customer-page-v115 .customer-top-v115 h3,
body.customer-page-v115 .customer-top-v115 p{
  color:var(--tt-header-text-safe)!important;
}

/* Long customer values and localized text must never create horizontal page overflow. */
body.customer-page-v115,
body.compliance-page-v228{
  overflow-x:hidden!important;
  max-width:100%!important;
}
body.customer-page-v115 :is(.customer-shell-v115,.customer-card-v115,.customer-top-v115,.actions-v115),
body.compliance-page-v228 :is(.compliance-shell-v228,.compliance-card-v228,.compliance-header-v228,.compliance-actions-v228){
  min-width:0;
}
body.customer-page-v115 :is(h1,h2,h3,p,strong,span,a,button),
body.compliance-page-v228 :is(h1,h2,h3,p,li,a,button){
  overflow-wrap:anywhere;
}

/* Keep compliance screens on the same contrast-safe token pairs as the rest of the Customer app. */
body.compliance-page-v228{
  background:var(--tt-page-bg,var(--customer-bg,#f8fafc))!important;
  color:var(--tt-body-text-safe,var(--customer-text,#111827))!important;
}
body.compliance-page-v228 .compliance-card-v228{
  background:var(--tt-card-bg,var(--customer-card-bg,#fff))!important;
  color:var(--tt-card-text-safe,var(--customer-text,#111827))!important;
  border-color:color-mix(in srgb,var(--tt-card-text-safe,var(--customer-text,#111827)),transparent 86%)!important;
  border-radius:var(--tt-card-radius,24px)!important;
}
body.compliance-page-v228 .compliance-card-v228 :is(h2,h3){color:var(--tt-card-heading-safe,var(--customer-text,#111827))!important}
body.compliance-page-v228 .compliance-card-v228 :is(p,li,label){color:color-mix(in srgb,var(--tt-card-text-safe,var(--customer-text,#111827)),transparent 24%)!important}
body.compliance-page-v228 .compliance-btn-primary-v228{
  background:var(--tt-primary,var(--customer-primary,#ea580c))!important;
  color:var(--tt-on-primary-safe,#fff)!important;
  border-color:var(--tt-primary,var(--customer-primary,#ea580c))!important;
}

@media(max-width:767px){
  body.customer-page-v115 .customer-shell-v115{
    width:100%!important;
    max-width:100%!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  body.customer-page-v115 .customer-top-v115 h1{
    font-size:clamp(28px,9vw,36px)!important;
    line-height:1.05!important;
    letter-spacing:-.035em!important;
  }
  body.customer-page-v115 .customer-top-v115 p{line-height:1.4!important}
  body.compliance-page-v228 .compliance-shell-v228{width:calc(100% - 24px)!important}
}

@media(max-width:767px){
  html body.compliance-page-v228.customer-compliance-app-v720{padding-bottom:0!important}
  body.compliance-page-v228.customer-compliance-app-v720 .compliance-shell-v228{
    padding-bottom:calc(var(--v132-nav-h,76px) + env(safe-area-inset-bottom,0px) + 12px)!important;
  }
}
