/* Custom smart-app-banner fallback — served from the ConfigMap at
   /_bochum-app-banner.css, linked from <head> by nginx sub_filter.
   Loaded on every page; the .bab element only exists when banner.js renders it,
   so there is no visual effect on desktop or on Safari/iOS. */
.bab {
  position: sticky; top: 0; left: 0; right: 0;
  z-index: 2147483000;
  display: flex; align-items: center; gap: 12px;
  padding: 8px 10px;
  background: #f2f2f7;
  border-bottom: 1px solid rgba(0, 0, 0, .15);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  box-sizing: border-box;
  cursor: pointer; /* m-5: the whole banner is the tap target */
}
.bab__close {
  flex: 0 0 auto; width: 24px; height: 24px;
  border: 0; background: none; color: #8e8e93;
  font-size: 20px; line-height: 1; padding: 0; cursor: pointer;
}
.bab__icon { flex: 0 0 auto; width: 60px; height: 60px; border-radius: 13px; background: #fff; }
.bab__text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.bab__title { font-size: 15px; font-weight: 600; color: #000; line-height: 1.25; }
.bab__sub, .bab__price { font-size: 11px; color: #8e8e93; line-height: 1.35; }
.bab__cta {
  flex: 0 0 auto; font-size: 15px; font-weight: 600; color: #007aff;
  text-decoration: none; text-transform: uppercase; padding: 6px 10px;
}
@media (prefers-color-scheme: dark) {
  .bab { background: #1c1c1e; border-bottom-color: rgba(255, 255, 255, .15); }
  .bab__title { color: #fff; }
}
