/* ===== Footer v2 (polished) ===== */
.site-footer{
  margin-top:40px;
  margin-bottom: 40px;
  border-top:1px solid var(--border);
  background:linear-gradient(180deg,#f5f7fb 0%, #ffffff 100%);
}

/* Wider footer than legal pages for visual balance */
.site-footer .container{max-width:1040px}

/* Robustly remove bullets inside footer (handles odd resets) */
.site-footer ul{list-style:none; margin:0; padding:0}
.site-footer li{margin:8px 0}
.site-footer li::marker{content:""}

/* Grid + spacing */
.footer-wrap{
  display:grid;
  grid-template-columns:2fr 1fr 1fr;
  gap:32px;
  padding:28px 0 18px;
  align-items:start;
}

.foot-title{
  font-weight:700;
  letter-spacing:.2px;
  color:var(--brand);
  margin:0 0 10px;
}

.foot-brand .brand{font-size:1.125rem}
.foot-brand p{margin:6px 0}

/* Inline link row with dot separators */
.inline-links{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:6px;
}
.inline-links a{
  color:var(--brand);
  text-decoration:none;
}
.inline-links a:hover{text-decoration:underline}
.inline-links a::after{
  content:"·";
  margin-left:14px;
  color:var(--muted);
}
.inline-links a:last-child::after{content:none}

/* Standard link list */
.footer-links a{color:var(--brand); text-decoration:none}
.footer-links a:hover{text-decoration:underline}

/* Bottom bar */
.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  border-top:1px solid var(--border);
  padding:14px 0 20px;
  color:var(--muted);
  font-size:.95rem;
}

/* If you have a fixed/sticky CTA at the bottom, add 'has-sticky-cta' to <body> */
.has-sticky-cta .site-footer{padding-bottom:250px}

/* Mobile */
@media (max-width:900px){
  .footer-wrap{grid-template-columns:1fr; text-align:center}
  .footer-bottom{flex-direction:column; gap:8px; text-align:center}
  .inline-links{justify-content:center}
}

/* === Footer centering fixes === */
.site-footer .container{
  max-width:1100px;          /* a bit wider for balance */
  margin-left:auto;
  margin-right:auto;         /* hard-center, regardless of other .container rules */
  padding:0 20px;
}

.footer-wrap{
  grid-template-columns:1fr 1fr 1fr;  /* equal columns so the layout centers visually */
  justify-items:center;               /* center each column’s content */
}

/* Keep lists readable (not centered) */
.footer-links, .foot-notices{ text-align:left }
.foot-brand{ text-align:center }

/* Make the inline quick-links sit dead-center */
.inline-links{ justify-content:center }

/* ===== Legal page header/nav resets (append to legal.css) ===== */

/* Match site container width */
.container{ max-width:1100px; margin:0 auto; padding:0 16px; }

/* Header look + list reset */
.site-header{
  border-bottom:1px solid var(--border, #e5e7eb);
  background:linear-gradient(180deg,#f5f7fb 0%, #ffffff 100%);
}

/* Kill default bullets inside header, regardless of other styles */
.site-header ul{ list-style:none; margin:0; padding:0; }
.site-header li::marker{ content:""; }

/* Simple, centered nav like the rest of the site */
.nav{
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  gap:6px; padding:12px 0;
}
.nav .brand{
  font-weight:800; color:var(--navy, #0f2e44); text-decoration:none;
}
.nav ul{
  display:flex; gap:14px; flex-wrap:wrap;
}
.nav a{
  color:var(--navy, #0f2e44); font-weight:700; text-decoration:none;
  padding:8px 10px; border-radius:10px;
}
.nav a:hover, .nav a:focus-visible{
  background:var(--cream, #fff7ed); outline:0;
}
