html { min-height: 100%; }
body { min-height: 100vh; min-height: 100dvh; }

@supports (padding: max(0px)) {
  body { padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
  .bp-mobile-nav { bottom: max(10px, env(safe-area-inset-bottom)) !important; }
}

.bp-pwa-install {
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: max(14px, env(safe-area-inset-bottom));
  z-index: 1250;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(93,95,239,.18);
  border-radius: 18px;
  padding: 9px 13px 9px 9px;
  background: rgba(255,255,255,.97);
  color: #1E1E2F;
  font: inherit;
  box-shadow: 0 16px 40px rgba(30,30,47,.22);
  backdrop-filter: blur(16px);
}
.bp-pwa-install img { width: 42px; height: 42px; border-radius: 12px; }
.bp-pwa-install span { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.1; }
.bp-pwa-install strong { font-size: 13px; font-weight: 800; }
.bp-pwa-install small { margin-top: 4px; color: #5D5FEF; font-size: 12px; font-weight: 800; }
.bp-pwa-install:hover { transform: translateY(-2px); box-shadow: 0 20px 46px rgba(30,30,47,.26); }

[data-buddy-scope="walker"] .bp-pwa-install {
  bottom: max(92px, calc(env(safe-area-inset-bottom) + 82px));
}

@media (max-width: 768px) {
  input, select, textarea { font-size: 16px !important; }
  .modal-dialog { margin: .75rem; }
  .modal-content { max-height: calc(100dvh - 1.5rem); overflow: auto; }
  .container { max-width: 100%; }
  .bp-pwa-install { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); }
}

@media (display-mode: standalone) {
  .bp-pwa-install { display: none !important; }
}
