/* Footer copied from the main APStudy site, with its theme tokens scoped here. */
.site-footer {
  --surface-soft: #edf3f9;
  --line: #d9e3ed;
  --muted: #506479;
  --accent-soft: #dfedfa;
  --ink: #1d2e40;
  --accent: #1766a6;
  --gutter: 16px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
:root[data-theme="dark"] .site-footer { --ink: #f2f6fa; --accent: #8bcaff; }
.site-footer .container { width: min(1200px, calc(100% - var(--gutter) * 2)); margin-inline: auto; }
.site-footer {
  --footer-background: var(--surface-soft);
  --footer-border: var(--line);
  --footer-muted: var(--muted);
  --footer-hover: var(--accent-soft);
  padding-block: 16px 18px;
  border-top: 1px solid var(--footer-border);
  background: var(--footer-background);
  color: var(--ink);
  text-align: center;
}
:root[data-theme="dark"] .site-footer {
  --footer-background: #10151c;
  --footer-border: #303b46;
  --footer-muted: #a6b2c0;
  --footer-hover: #202c3a;
}
.site-footer .footer-inner { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.site-footer .footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 2px 20px; }
.site-footer .footer-links a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; color: inherit; font-size: 14px; font-weight: 500; text-decoration: underline; text-decoration-color: transparent; transition: color .2s ease, text-decoration-color .2s ease, text-underline-offset .2s ease; }
.site-footer .footer-links a:is(:hover, :focus-visible) { color: var(--accent); text-decoration-color: currentColor; text-underline-offset: 6px; }
.site-footer .footer-socials { display: flex; justify-content: center; gap: 8px; }
.site-footer .footer-socials a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: inherit; border-radius: 8px; transition: color .2s ease, background-color .2s ease; }
.site-footer .footer-socials a:is(:hover, :focus-visible) { background: var(--footer-hover); color: var(--accent); }
.site-footer .footer-socials svg { width: 26px; height: 26px; }
.site-footer .footer-discord { fill: currentColor; }
.site-footer :focus-visible { outline-color: var(--accent); }
.site-footer .footer-bottom { display: flex; flex-direction: column; align-items: center; gap: 4px; color: var(--footer-muted); font-size: 12px; line-height: 1.7; }
.site-footer .footer-bottom p { margin: 0; max-width: 92ch; text-wrap: pretty; }
.site-footer .footer-copyright { font-size: 14px; font-weight: 650; }

@media (min-width: 480px) { .site-footer { --gutter: 24px; } }
@media (min-width: 768px) {
  .site-footer { --gutter: 32px; padding-block: 20px 22px; }
  .site-footer .footer-links { column-gap: 28px; }
}
@media (min-width: 1024px) { .site-footer { --gutter: 40px; } }
@media (min-width: 1440px) { .site-footer { --gutter: 48px; } }
