/* Homepage redesign extracted from inline styles */
html, body { height: 100%; min-height: 100%; }
/* Full-bleed background only on Startseite (stylesheet loaded conditionally) */
body {
  background: url("https://bbeblob.blob.core.windows.net/root/mybbe_background.jpg") center center / cover no-repeat fixed;
}

.bbe-home {
  position: relative;
  min-height: calc(100vh - 80px); /* viewport minus footer height */
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
  padding-bottom: 80px; /* reserve space for fixed footer */
}
.bbe-home .bb-hero {
  position: relative;
  min-height: calc(100vh - 80px);
  width: 100%;
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
}
.bbe-home .bb-tiles {
  position: relative;
  z-index: 1;
  display: -webkit-box; display: -ms-flexbox; display: flex;
  -ms-flex-wrap: wrap; flex-wrap: wrap;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
}
.bbe-home .bb-tile {
  display: block;
  width: 270px;
  padding: 36px 28px;
  margin: 10px;
  background: rgba(255, 255, 255, 0.92);
  text-align: center;
  text-decoration: none;
  color: #111;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
  -webkit-transition: -webkit-transform .2s ease, box-shadow .2s ease; transition: transform .2s ease, box-shadow .2s ease;
}
.bbe-home .bb-tile:hover { -webkit-transform: translateY(-4px); transform: translateY(-4px); box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.bbe-home .bb-tile-icon { font-size: 46px; margin-bottom: 16px; color: #0066cc; }
.bbe-home .bb-tile-title { font-size: 18px; font-weight: 700; }
@media (max-width: 991px) {
  .bbe-home .bb-tile { width: 230px; padding: 28px 22px; }
  .bbe-home .bb-tile-icon { font-size: 42px; }
}
@media (max-width: 767px) {
  .bbe-home .bb-tile { width: 205px; padding: 22px 18px; margin: 8px; }
  .bbe-home .bb-tile-icon { font-size: 38px; }
  .bbe-home .bb-tile-title { font-size: 16px; }
  /* push tiles slightly lower below the header on phones */
  .bbe-home .bb-hero { min-height: auto; padding: 48px 0 24px; }
}

/* Footer: fixed, semi-transparent, with backdrop blur (homepage only) */
.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: 13px;
  overflow: visible;
}
/* Ensure cookie banner stays above footer when shown */
#cookieBanner { z-index: 1000; }

@media (max-width: 991px) {
  .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: flex-start; gap: 8px; }
}

/* Mobile adjustments: avoid clipped footer and ensure full visibility */
@media (max-width: 767px) {
  .footer .footer-bottom {
    position: fixed; /* stick to viewport bottom on phones */
    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; }
  /* reserve space so content doesn't hide beneath the fixed footer */
  .bbe-home { padding-bottom: calc(120px + env(safe-area-inset-bottom, 0px)); min-height: auto; }
}
