/* Fixed footer layout that matches existing site palette (navy + gold + blue) */
:root{
  /* uses variables defined in landing.css; provide safe fallbacks */
  --footer-bg: var(--bbp-navy-900, #052c43);
  --footer-fg: rgba(255,255,255,0.92);
  --footer-fg-dim: rgba(255,255,255,0.75);
  --footer-border: rgba(255,255,255,0.08);
  --footer-pill: rgba(255,255,255,0.08);
  --footer-pill-border: rgba(255,255,255,0.12);
  --footer-accent: var(--bbp-gold-500, #f2b705);
  --footer-accent-dark: var(--bbp-gold-600, #d39d05);
}

.site-footer{ color: var(--footer-fg); background: var(--footer-bg); border-top: 1px solid var(--footer-border); font-size: .9rem; }
.site-footer a{ color: var(--footer-fg); text-decoration: none; }
.site-footer a:hover{ color: var(--footer-accent); }

.site-footer .footer-top{ padding: 1rem 0 .6rem; }
.site-footer .footer-brand{ display: flex; align-items: center; gap: .5rem; margin-bottom: .5rem; }
.site-footer .footer-brand .brand-logo{ height: 18px; }
/* Make footer brand logo circular and responsive */
.site-footer .footer-brand .brand-logo {
  border-radius: 50%;
  width: 56px;
  height: 56px;
  object-fit: cover;
  flex-shrink: 0;
}

@media (max-width: 480.98px) {
  .site-footer .footer-brand .brand-logo {
    width: 48px;
    height: 48px;
  }
}
.site-footer .footer-desc{ color: var(--footer-fg-dim); max-width: 46ch; }

/* Social buttons */
.site-footer .socials{ display: flex; gap: .5rem; margin-top: .5rem; }
.site-footer .socials .social{ width: 22px; height: 22px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; background: var(--footer-pill); border: 1px solid var(--footer-pill-border); color: var(--footer-fg); box-shadow: 0 3px 8px rgba(0,0,0,.2); }
.site-footer .socials .social:hover{ background: var(--bbp-blue-500, #2e86de); color: #fff; border-color: transparent; }

.site-footer h6{ font-weight: 600; margin-bottom: .5rem; }
.site-footer .link-list{ list-style: none; padding: 0; margin: 0; }
.site-footer .link-list li{ margin: .25rem 0; }
.site-footer .link-list a{ color: var(--footer-fg); opacity: .9; }
.site-footer .link-list a:hover{ color: var(--footer-accent); opacity: 1; }

/* Bottom bar */
.site-footer .footer-bar{ background: var(--footer-accent); color: #0b2b40; font-weight: 500; border-top: 1px solid rgba(0,0,0,.05); font-size: .9rem; }
.site-footer .footer-bar .bar-inner{ padding: .5rem 0; }
/* Mobile: add more breathing room in the footer bar */
@media (max-width: 575.98px){
  .site-footer .footer-bar .bar-inner{ padding: .9rem 1rem; }
}
.site-footer .chip{ display: inline-flex; gap: .3rem; align-items: center; padding: .2rem .5rem; border-radius: 999px; background: rgba(0,0,0,.07); color: #0b2b40; font-weight: 600; }
.site-footer .chip svg{ opacity: .8; }

/* Fixed positioning */
.site-footer-fixed{ position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; box-shadow: 0 -10px 25px rgba(0,0,0,.25); }

/* Reserve space when fixed */
/* CSS fallback padding; JS will override with exact footer height */
body.has-fixed-footer{ padding-bottom: 200px; }
@media (max-width: 991.98px){ body.has-fixed-footer{ padding-bottom: 240px; } }
