/* PWA install modal — на всех страницах, включая главную без шапки */
.km-pwa-ios-ov {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100070 !important;
  background: rgba(20, 40, 22, 0.55) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px 16px !important;
  box-sizing: border-box !important;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
.km-pwa-ios-ov[hidden] {
  display: none !important;
}
body.km-pwa-ios-open {
  overflow: hidden !important;
}
.km-pwa-ios {
  width: min(380px, 100%) !important;
  max-height: min(85vh, 520px) !important;
  overflow: auto !important;
  background: #fff !important;
  border-radius: 18px !important;
  padding: 22px 20px 18px !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28) !important;
  font-family: var(--km-font-body, Nunito, system-ui, sans-serif) !important;
  position: relative !important;
  margin: 0 !important;
  animation: km-pwa-pop 0.22s ease-out;
}
@keyframes km-pwa-pop {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: none;
  }
}
.km-pwa-ios__close {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  width: 36px !important;
  height: 36px !important;
  border: none !important;
  border-radius: 50% !important;
  background: #f0f0f0 !important;
  font-size: 20px !important;
  color: #666 !important;
  cursor: pointer !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.km-pwa-ios__close:hover {
  background: #e4e4e4 !important;
  color: #222 !important;
}
.km-pwa-ios__title {
  margin: 0 40px 12px 0 !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  color: #1a1a1a !important;
  line-height: 1.25 !important;
}
.km-pwa-ios__text {
  margin: 0 0 12px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #444 !important;
  line-height: 1.45 !important;
}
.km-pwa-ios__steps {
  margin: 0 0 18px !important;
  padding-left: 22px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #333 !important;
  line-height: 1.55 !important;
}
.km-pwa-ios__steps li {
  margin-bottom: 8px !important;
}
.km-pwa-ios__ok {
  width: 100% !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 13px !important;
  background: var(--km-primary, #388e3c) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  font-family: inherit !important;
  cursor: pointer !important;
}
.km-pwa-ios__ok:hover {
  background: var(--km-primary-hover, #4caf50) !important;
}
