/* xf-footer.css: the ONE footer for every XF web surface (xfclubs.com and play.xfclubs.com).
   Proposed by Nova + Cassian 15 Oct 2026. Brand Guide 2.0 s6.11: xf-black, hairline top rule, wordmark, category line,
   link groups in Register 03, legal in Register 02 at 13px grey-300, green only in one slash separator. Guard: tools/strip-check.mjs (footer block). */
.xff{--xff-black:#0A0A0A;--xff-off:#F5F5F3;--xff-g200:#C7C7C5;--xff-g300:#8E8E8C;--xff-green:#00B62E;--xff-hair:rgba(255,255,255,.14);
  display:block;box-sizing:border-box;margin:0;background:var(--xff-black);color:var(--xff-g200);border-top:1px solid var(--xff-hair);
  font-family:InterV,Inter,"Helvetica Neue",Arial,sans-serif;font-size:15px;font-weight:400;line-height:1.5;font-style:normal;letter-spacing:0;text-transform:none;text-align:left}
.xff *,.xff *::before,.xff *::after{box-sizing:border-box}
.xff-wrap{width:100%;max-width:1160px;margin:0 auto;padding:40px clamp(20px,4vw,40px) calc(28px + env(safe-area-inset-bottom,0px))}
.xff-brand{display:flex;flex-direction:column;gap:14px;padding-bottom:32px;border-bottom:1px solid var(--xff-hair)}
.xff-logo{display:block;flex:none;align-self:flex-start;height:26px;width:auto;color:#fff}
.xff-cat{margin:0;font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--xff-g300)}
.xff-cat .xff-slash{color:var(--xff-green)}
.xff-groups{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;padding:32px 0}
.xff-group{min-width:0}
.xff-group--clubs,.xff-group--follow{grid-column:1/-1}
.xff-h{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--xff-g300)}
.xff ul{list-style:none;margin:0;padding:0}
.xff a,.xff button.xff-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0;margin:0;border:0;background:none;font:inherit;font-weight:500;color:var(--xff-off);text-decoration:none;cursor:pointer}
.xff a:hover,.xff button.xff-link:hover{color:var(--xff-green)}
.xff a:focus-visible,.xff button.xff-link:focus-visible{outline:2px solid var(--xff-green);outline-offset:3px;border-radius:2px}
.xff-join a.xff-primary{color:var(--xff-off)}
.xff-club a{flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:6px 0}
.xff-club small{display:block;font-size:13px;font-weight:400;color:var(--xff-g300)}
.xff-ico{flex:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.xff-ico .dot{fill:currentColor;stroke:none}
.xff-legal{display:flex;flex-direction:column;gap:14px;padding-top:24px;border-top:1px solid var(--xff-hair);font-size:13px;color:var(--xff-g300)}
.xff-legal ul{display:flex;flex-wrap:wrap;gap:0 20px}
.xff-legal a,.xff-legal button.xff-link{font-size:13px;font-weight:500;color:var(--xff-g200)}
.xff-legal p{margin:0;max-width:760px}
.xff-legal .xff-copy{color:var(--xff-g200)}
@media (min-width:820px){
  .xff-wrap{padding-top:56px;padding-bottom:36px}
  .xff-brand{flex-direction:row;align-items:center;justify-content:space-between;padding-bottom:36px}
  .xff-groups{grid-template-columns:repeat(2,minmax(120px,.8fr)) minmax(220px,1.5fr) repeat(2,minmax(120px,.8fr)) minmax(150px,1fr);gap:0 28px;padding:40px 0}
  .xff-group--clubs,.xff-group--follow{grid-column:auto}
  .xff a,.xff button.xff-link{min-height:36px}
  .xff-club a{min-height:48px}
  .xff-legal{padding-top:28px}
}
@media (prefers-reduced-motion:no-preference){.xff a,.xff button.xff-link{transition:color .2s}}
