.app-store-footer {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 40;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 8px 12px max(8px, env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.94);
  border-top: 1px solid #E3E5EE;
  box-shadow: 0 -8px 24px rgba(20, 20, 43, 0.06);
}
.app-store-footer a,
.app-store-footer span {
  display: block;
  line-height: 0;
}
.app-store-footer img {
  display: block;
  height: 40px;
  width: auto;
}
body.has-store-bar { padding-bottom: 72px; }
body.map-page.has-store-bar { padding-bottom: 0; }
body.map-page .app-store-footer {
  z-index: 530;
  gap: 8px;
  padding: 4px 10px max(4px, env(safe-area-inset-bottom));
}
body.map-page .app-store-footer img { height: 26px; }
body.map-page.has-store-bar .leaflet-bottom { bottom: 40px; }
body.auth.has-store-bar .auth-hero { height: clamp(128px, 20dvh, 200px); padding-bottom: 36px; }
body.auth.has-store-bar .auth-scroll { padding-bottom: 88px; }
body.has-store-bar .toast { bottom: 78px; }
@media (max-width: 1023px) {
  body.has-store-bar .drawer {
    bottom: 76px;
    max-height: calc(52% - 64px);
  }
}
@media (max-width: 380px) {
  .app-store-footer { gap: 6px; }
  .app-store-footer img { height: 34px; }
}
