/* FOOTER-01: one responsive footer grid and consistent end-of-page spacing. */
.site-footer{margin-top:40px}
body:has(#page-home:not([hidden])) .site-footer{margin-top:0}
#page-home .home-sec.cs{padding-top:36px;padding-bottom:40px}
#page-home .cs-grid{gap:40px}
#page-home .cs .way-ctas .btn{min-height:44px}
.site-footer .footer-inner{
  max-width:1360px;padding:40px 48px 24px;gap:28px 32px;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.site-footer .footer-links{display:contents}
.site-footer .footer-col .footer-heading,
.site-footer .app-teaser h3{
  margin:0 0 16px;font-size:12px;font-weight:500;line-height:1.5;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink);
}
.site-footer .footer-nav{margin:0;gap:6px}
.site-footer .footer-nav a{font-size:13px;line-height:1.6}
.site-footer .footer-social{gap:2px;margin-left:-12px}
.site-footer .footer-connect-all{margin-top:8px}
.site-footer .app-teaser{
  display:block;min-width:0;width:auto;max-width:none;align-self:start;
  padding:0;margin:0;border:0;
}
.site-footer .app-teaser p{font-size:13px;line-height:1.6;margin:0 0 12px;color:var(--ink-soft)}
.site-footer .app-stores{gap:6px 12px;flex-wrap:wrap;font-size:12px;color:var(--ink-soft)}
.site-footer .app-stores span{padding:0;border:0;line-height:1.8}
.site-footer .app-stores span+span::before{content:'·';margin-right:12px}
.site-footer .app-qr-cover{display:none}
.site-footer .footer-company{
  grid-column:1/-1;grid-template-columns:max-content max-content;
  justify-content:start;gap:6px 28px;padding-top:24px;border-top:1px solid var(--line);
}
.site-footer .footer-company .co-visible{font-size:12px;font-weight:400;line-height:1.7}
.site-footer .co-disclosure{grid-column:1/-1;margin:0;min-width:0}
.site-footer .footer-company .co-disclosure summary.co-heading{
  display:flex;align-items:center;gap:8px;width:fit-content;min-height:44px;
  font-size:12px;padding:0;
}
.site-footer .footer-company .co-disclosure .co-grid{margin:4px 0 12px;max-width:880px}
.site-footer .footer-legal{
  grid-column:1/-1;display:flex;justify-content:flex-start;align-items:center;box-sizing:border-box;padding-right:128px;
  text-align:left;gap:8px 24px;font-size:11px;line-height:1.7;margin:0;
}
.site-footer .fl-links{gap:4px 12px;align-items:center}
.site-footer .fl-links a{display:inline-flex;align-items:center;min-height:32px}
.site-footer a:focus-visible,.site-footer .footer-heading:focus-visible,
.site-footer summary:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
@media(min-width:768px) and (max-width:1199px){
  .site-footer .footer-inner{padding-inline:28px;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
}
@media(max-width:767px){
  .site-footer{margin-top:32px}
  #page-home .home-sec.cs{padding-top:28px;padding-bottom:28px}
  #page-home .cs-grid{gap:24px}
  .site-footer .footer-inner{padding:16px 20px 24px;grid-template-columns:minmax(0,1fr);gap:24px}
  .site-footer .footer-links{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
  .site-footer .footer-col{padding:0;border-top:1px solid var(--line)}
  .site-footer .footer-col:first-child{border-top:0}
  .site-footer .footer-col[data-acc] .footer-heading{
    min-height:52px;margin:0;letter-spacing:.06em;
  }
  .site-footer .footer-col[data-acc] .footer-nav{padding-bottom:12px;gap:0}
  .site-footer .footer-col[data-acc] .footer-nav a{display:flex;align-items:center;min-height:44px}
  .site-footer .footer-contact{padding-top:24px}
  .site-footer .footer-contact .footer-heading{padding:0;margin-bottom:12px}
  .site-footer .footer-social{margin-left:-12px}
  .site-footer .footer-connect-all{margin-top:0}
  .site-footer .footer-connect-all a{display:inline-flex;align-items:center;min-height:44px}
  .site-footer .app-teaser{padding-top:0}
  .site-footer .app-teaser h3{margin-bottom:10px}
  .site-footer .app-teaser p{margin-bottom:6px}
  .site-footer .footer-company{grid-template-columns:minmax(0,1fr);gap:4px;padding-top:20px}
  .site-footer .footer-company .co-visible{overflow-wrap:anywhere}
  .site-footer .footer-legal{gap:4px;align-items:flex-start;flex-direction:column;padding-right:64px}
  .site-footer .fl-links{gap:4px 10px}
  .site-footer .fl-links a{min-height:44px}
}
/* Keep the checkout's existing compact information-only footer. */
body:has(#page-checkout:not([hidden])) .site-footer .footer-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
body:has(#page-checkout:not([hidden])) .site-footer .footer-links,
body:has(#page-checkout:not([hidden])) .site-footer .app-teaser{display:none}
