/* Shared footer styles — used on all public user-facing pages */
.global-footer { width: 100%; flex-shrink: 0; box-sizing: border-box; background: #09090b; border-top: 1px solid rgba(255,255,255,0.08); padding: 4rem 1.5rem 2.5rem; color: #71717a; font-size: 0.9rem; line-height: 1.6; font-family: 'Manrope', sans-serif; }
.global-footer *, .global-footer *::before, .global-footer *::after { box-sizing: border-box; }

.gf-inner { max-width: 1200px; margin: 0 auto; }

/* Brand block */
.gf-brand { margin-bottom: 2.5rem; }
.gf-logo { height: 32px; width: auto; object-fit: contain; display: block; margin-bottom: 1rem; }
.gf-tagline { color: #a1a1aa; font-size: 0.92rem; max-width: 460px; margin-bottom: 1.5rem; line-height: 1.5; }
.gf-badge { display: inline-flex; align-items: center; gap: 8px; color: #71717a; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.gf-badge-circle { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border: 1px solid #71717a; border-radius: 50%; font-size: 0.7rem; }

/* 3-column links grid */
.gf-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); gap: 2.5rem; padding: 2.5rem 0; border-top: 1px solid rgba(255,255,255,0.06); border-bottom: 1px solid rgba(255,255,255,0.06); margin-bottom: 2rem; }
.gf-col h4 { color: #fafafa; font-size: 0.9rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 1.25rem; }
.gf-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.gf-col li a { color: #a1a1aa; text-decoration: none; transition: color 0.2s; display: block; }
.gf-col li a:hover { color: #e8d38a; }
.gf-col li a.gf-gold { color: #e8d38a; font-weight: 600; }
.gf-col li a.gf-muted { color: #71717a; }
.gf-soon { display: flex; align-items: center; gap: 6px; color: #52525b; font-size: 0.88rem; cursor: default; user-select: none; }
.gf-soon-badge { font-size: 0.7rem; padding: 2px 6px; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08); border-radius: 4px; color: #71717a; }

/* Bottom bar */
.gf-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; font-size: 0.8rem; color: #52525b; }
.gf-bottom span { color: #71717a; }

/* a11y */
.global-footer a:focus-visible { outline: 2px solid #e8d38a; outline-offset: 4px; border-radius: 2px; }
.global-footer img { display: block; }
