/* ── Global site footer (_Layout, site-footer.jsx) — its own base, so any page that shows it looks right. It used to
   live in homepage-styles.css and shopping-styles.css only: a page loading neither (the coach's roster page) got an
   unstyled footer with a 1000px logo and sideways scrolling. Colours come from the program's brand tokens. ── */
.ft { background:var(--navy, var(--brand-secondary)); padding:60px 36px 32px; color:rgba(251,247,233,.55); }
.ft h4, .ft p, .ft ul { margin-top:0; }
.ft ul { padding-left:0; }
.ft a { text-decoration:none; }
/* Phones: narrower side padding (it was the homepage stylesheet's rule; site-footer.css loads later, so it lives here) */
@media(max-width:640px) { .ft { padding:48px 20px 28px; } }
.ft-in { max-width:1280px; margin:0 auto; }
.ft-top {
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:40px;
  padding-bottom:48px; border-bottom:1px solid rgba(251,247,233,.08); margin-bottom:28px;
}
@media(max-width:840px) { .ft-top { grid-template-columns:1fr 1fr; } }
@media(max-width:480px) { .ft-top { grid-template-columns:1fr; } }
.ft-brand img { height:34px; width:auto; margin-bottom:14px; }
.ft-brand p { font-size:13.5px; line-height:1.65; color:rgba(251,247,233,.42); max-width:28ch; }
.ft-col h4 {
  font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(251,247,233,.35); margin-bottom:14px;
}
/* Each link a 32px row (it was ~17px of text with 10px gaps): easier to hit on a phone, nearly the same column height */
.ft-col ul { list-style:none; display:flex; flex-direction:column; gap:2px; }
.ft-col a { font-size:13.5px; color:rgba(251,247,233,.58); transition:color .15s; display:inline-flex; align-items:center; min-height:32px; }
.ft-col .ft-link-btn { display:inline-flex; align-items:center; min-height:32px; }
.ft-col a:hover { color:var(--cream, var(--brand-text-on-primary)); }
.ft-bot { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.ft-copy { font-size:12.5px; color:rgba(251,247,233,.3); }
.ft-legal { display:flex; gap:20px; }
.ft-legal a { font-size:12.5px; color:rgba(251,247,233,.3); transition:color .15s; }
.ft-legal a:hover { color:rgba(251,247,233,.65); }
.ft-cookie-link { font-family:inherit; font-size:12.5px; color:rgba(251,247,233,.3); background:none; border:none; padding:0; cursor:pointer; transition:color .15s; }
.ft-cookie-link:hover { color:rgba(251,247,233,.65); }
/* ── Additions (the five-column layout, legal links, social, app module) ── */
.ft-top.ft-top-5{grid-template-columns:1.5fr .9fr 1fr .9fr 1.45fr;gap:36px}
.ft-col-legal a,.ft-col-legal .ft-link-btn{font-size:12.5px;line-height:1.45}
.ft-link-btn{font-family:inherit;font-size:13.5px;font-weight:inherit;text-align:left;color:rgba(251,247,233,.58);background:none;border:none;padding:0;cursor:pointer;transition:color .15s}
.ft-link-btn:hover{color:var(--cream)}
.ft-copy-tag{font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:10.5px;color:rgba(251,247,233,.4);margin-right:12px}
.ft-social{display:flex;gap:10px;flex-wrap:wrap}
.ft-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(251,247,233,.16);color:rgba(251,247,233,.55);transition:color .15s,border-color .15s,background .15s}
.ft-social a:hover{color:var(--cream);border-color:rgba(251,247,233,.45)}
/* Reserved "Get the app" module — hidden until FOOTER_FLAGS.app is enabled in site-footer.jsx */
.ft-app{display:flex;align-items:center;gap:28px;flex-wrap:wrap;padding:20px 24px;margin-bottom:28px;border:1px solid rgba(251,247,233,.1);border-radius:14px}
.ft-app-txt h4{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(251,247,233,.35);margin-bottom:5px}
.ft-app-txt p{font-size:13px;color:rgba(251,247,233,.45);line-height:1.5;max-width:34ch}
.ft-app-badges{display:flex;gap:10px;flex-wrap:wrap;margin-left:auto}
.ft-app-badges a{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 16px;border:1px solid rgba(251,247,233,.22);border-radius:10px;font-size:12.5px;font-weight:700;color:rgba(251,247,233,.75);transition:color .15s,border-color .15s}
.ft-app-badges a:hover{color:var(--cream);border-color:rgba(251,247,233,.5)}
.ft-app-qr{display:grid;place-items:center}
.ft-app-qr img{display:block;border-radius:8px;background:#fff;padding:5px}
@media(max-width:720px){.ft-app{flex-direction:column;align-items:flex-start;gap:16px}.ft-app-badges{margin-left:0;width:100%}.ft-app-badges a{flex:1;justify-content:center}.ft-app-qr{display:none}}
@media(max-width:1080px){.ft-top.ft-top-5{grid-template-columns:1fr 1fr 1fr}.ft-top.ft-top-5 .ft-brand{grid-column:1/-1}.ft-top.ft-top-5 .ft-col-legal{grid-column:1/-1}.ft-top.ft-top-5 .ft-col-legal ul{display:block;columns:2;column-gap:32px}.ft-top.ft-top-5 .ft-col-legal li{break-inside:avoid;margin-bottom:2px}}
@media(max-width:680px){.ft-top.ft-top-5{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ft-top.ft-top-5 .ft-col-legal ul{columns:1}}
@media(max-width:480px){.ft-top.ft-top-5{grid-template-columns:1fr}.ft-col ul{gap:12px}.ft-bot{flex-direction:column;align-items:flex-start;gap:18px}.ft-social a{width:44px;height:44px}}
