/* Global footer styling applied across all pages */
html, body { min-height: 100%; }

/* Preserve homepage background image if redesign.css loaded; ensure later theme files don't overwrite */
body.home-background {
  background: url("https://bbeblob.blob.core.windows.net/root/mybbe_background.jpg") center center / cover no-repeat fixed;
}

.footer-bottom {
  border-top: 2px solid #ccc;
}

.footer .footer-bottom {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  height: 80px;
  background: rgba(255,255,255,0.78);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  z-index: 900; /* keep below cookie banner but above content */
  color: #111;
  font-size: 14px;
}

/* Ensure containers take footer height and align center */
.footer .footer-bottom .container,
.footer .footer-bottom .container-fluid { height: 100%; }

/* Compact layout */
.bbe-footer-compact {
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  height: 80px;
  padding: 0; /* flush edges */
  width: 100%;
}
.bbe-footer-left, .bbe-footer-right {
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -ms-flex-wrap: wrap; flex-wrap: wrap;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  column-gap: 12px; row-gap: 6px;
}
/* Left group flush-left */
.bbe-footer-left { justify-content: flex-start; padding-left: 18px; }
/* Right group flush-right */
.bbe-footer-right { margin-left: auto; justify-content: flex-end; text-align: right; padding-right: 18px; }
.footer .footer-bottom a { color: inherit; text-decoration: none; }
.footer .footer-bottom a:hover { text-decoration: underline; }

/* Cookie banner should float above footer */
#cookieBanner { z-index: 1000; }

/* Tablet adjustments */
@media (max-width: 991px) {
  .footer .footer-bottom { height: auto; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); }
  body { padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px)); }
  .bbe-footer-compact { height: auto; padding: 12px 16px; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; align-items: stretch; gap: 8px; }
  .bbe-footer-left { padding: 0; }
  .bbe-footer-left > span { display: block; width: 100%; }
  .bbe-footer-right { margin-left: 0; justify-content: flex-end; text-align: right; align-items: flex-end; }
  .bbe-footer-right > span { display: block; width: 100%; }
}

/* Mobile: pin footer and reserve space */
@media (max-width: 767px) {
  .footer .footer-bottom {
    position: fixed;
    left: 0; right: 0; bottom: 0;
    height: auto;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  }
  .bbe-footer-compact { height: auto; padding: 10px 12px; }
  body { padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px)); }
}
