/* Site footer. Source: "Footer" in app/globals.css. */

.ftr { background: var(--cc-footer-bg, var(--night)); color: var(--cc-footer-text, var(--fog)); border-top: 1.5px solid var(--ink); }
.ftr-in { max-width: var(--cc-content-width, 1300px); margin: 0 auto; padding: 44px 16px 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 32px; }
.ftr-col { display: flex; flex-direction: column; gap: 8px; }
.ftr-col .eyebrow { color: var(--cc-footer-heading, var(--fog2)); }
.ftr-col a { font-size: 13.5px; color: var(--cc-footer-text, var(--fog)); }
.ftr-col a:hover { color: var(--cc-footer-heading, var(--card)); }
.ftr-legal { max-width: var(--cc-content-width, 1300px); margin: 0 auto; padding: 18px 16px 40px; border-top: 1px solid var(--slate); }
.ftr-legal p { margin: 0; font-size: 12px; line-height: 1.55; color: var(--cc-footer-muted, var(--mute)); max-width: 100ch; }
/* 1.15.3: age notice above the legal text. */
.ftr-legal p.ftr-age { margin-bottom: 8px; font-size: 13px; font-weight: 700; color: var(--cc-footer-heading, var(--fog2)); }

/* Former inline styles in components/Footer.tsx. */
.ftr-col.ftr-brand { gap: 10px; }
.ftr-logo { display: flex; align-items: baseline; gap: 6px; }
.ftr-logo .w { font-size: calc(24px * var(--cc-wide-scale, 1)); color: var(--cc-footer-heading, var(--card)); }
.ftr-logo .o { font-size: calc(24px * var(--cc-wide-scale, 1)); color: var(--cc-footer-accent, var(--orange)); }
.ftr-dot { width: 7px; height: 7px; border-radius: 999px; background: var(--orange); display: inline-block; }
.ftr-tag { font-size: 13px; }
