/*
 * BrainX brand footer — canonical CSS.
 * All selectors are namespaced with .bx-footer so this file can drop into any
 * host (Astro landing, Sphinx book/pydata theme) without colliding.
 *
 * Dark mode mirrors header.css: triggers on either `.dark` on <html>
 * (Tailwind / landing convention) or `[data-theme="dark"]` (pydata convention).
 */

.bx-footer {
  --bxf-fg:        var(--bx-bronze, #7a6840);
  --bxf-fg-strong: var(--bx-ink, #1c1610);
  --bxf-bg:        transparent;
  --bxf-border:    var(--bx-rule, #d8cfb8);
  --bxf-link:      var(--bx-ink-soft, #3a2e1f);
  --bxf-link-hov:  var(--bx-coral, #bd5430);

  margin-top: 8rem;
  padding: 3rem 1.5rem;

  font-family: "Inter", "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;
  font-size: 0.875rem;
  color: var(--bxf-fg);
  background: var(--bxf-bg);
  border-top: 1px solid var(--bxf-border);
}

html.dark .bx-footer,
[data-theme="dark"] .bx-footer {
  --bxf-fg:        var(--bx-bronze, #a89368);
  --bxf-fg-strong: var(--bx-ink, #f1e7d2);
  --bxf-border:    var(--bx-rule, #3a2e1f);
  --bxf-link:      var(--bx-ink-soft, #d4c5a8);
  --bxf-link-hov:  var(--bx-coral, #e89466);
}

.bx-footer-inner {
  max-width: 80rem;
  margin: 0 auto;
  display: grid;
  gap: 2rem;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .bx-footer-inner {
    grid-template-columns: repeat(3, 1fr);
  }
}

.bx-footer-col {
  min-width: 0;
}

.bx-footer-heading {
  font-weight: 600;
  color: var(--bxf-fg-strong);
  margin-bottom: 0.5rem;
}

.bx-footer-blurb {
  margin: 0;
  line-height: 1.6;
}

.bx-footer-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.bx-footer-list a {
  color: var(--bxf-link);
  text-decoration: none;
  transition: color 120ms ease;
}

.bx-footer-list a:hover,
.bx-footer-list a:focus-visible {
  color: var(--bxf-link-hov);
}

.bx-footer-copy {
  color: var(--bxf-fg);
}
