/* Explicit footer layout; independent of generated utility classes. */
.web-app[data-page] .site-footer { width:100%; margin-top:64px; }
.web-app[data-page] .site-footer-inner { box-sizing:border-box; display:flex; flex-direction:column; align-items:stretch; gap:28px; width:100%; padding:40px var(--web-gutter) 24px; }
.web-app[data-page] .site-footer-main { display:grid; grid-template-columns:minmax(130px,1fr) minmax(0,1fr) minmax(0,1fr) minmax(220px,1.4fr); align-items:start; gap:40px; width:100%; }
.web-app[data-page] .site-footer-main > .brand-logo-footer { display:block; width:130px; height:auto; object-fit:contain; }
.web-app[data-page] .footer-columns { display:contents; }
.web-app[data-page] .footer-columns > .footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:10px; width:auto !important; min-width:0; max-width:none; }
.web-app[data-page] .footer-column > p { margin:0; color:var(--web-muted); font:400 15px/1.5 'Inter Tight',sans-serif; white-space:normal; overflow-wrap:anywhere; }
.web-app[data-page] .footer-column > p:first-child { color:white; font:700 20px/1.3 'Clash Display',sans-serif; text-transform:uppercase; overflow-wrap:normal; }
.web-app[data-page] .web-help-footer-link { align-self:flex-start; color:white; font:400 15px/1.5 'Inter Tight',sans-serif; text-align:left; cursor:pointer; }
.web-app[data-page] .web-help-footer-link:hover { color:var(--web-accent); }
.web-app[data-page] .footer-legal { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px 32px; width:100%; padding:24px 0 0; border-top:1px solid #ffffff1a; color:var(--web-muted); font:400 12px/1.5 'Inter Tight',sans-serif; white-space:normal; }
.web-app[data-page] .footer-legal > p { margin:0; }
.web-app[data-page] .web-help-mobile-access { display:none; }

@media (max-width:1024px) {
  .web-app[data-page] .site-footer-main { grid-template-columns:minmax(0,1fr); gap:30px; }
  .web-app[data-page] .footer-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr); gap:24px; width:100%; }
}

@media (max-width:760px) {
  .web-app[data-page] .site-footer { margin-top:40px; }
  .web-app[data-page] .site-footer-inner { padding-block:32px 24px; }
  .web-app[data-page] .footer-columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 16px; }
  .web-app[data-page] .footer-columns > .footer-column:last-child { grid-column:1 / -1; }
  .web-app[data-page] .footer-column > p:first-child { font-size:16px; }
  .web-app[data-page] .footer-columns > .footer-column > p:not(:first-child) { font-size:14px; }
  .web-app[data-page] .footer-legal { flex-direction:column; align-items:flex-start; gap:12px; }
}
